@slickgrid-universal/vanilla-force-bundle 5.12.1 → 5.13.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.
@@ -1,20 +1,20 @@
1
1
  (function(Fe,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(Fe=typeof globalThis<"u"?globalThis:Fe||self,oe(Fe.Slicker={}))})(this,function(Fe){"use strict";var oe;(function(r){r.local="local",r.remote="remote"})(oe||(oe={}));class no{constructor(e){this.rxjs=e,this._infiniteScrollBottomHit=!1}addRxJsResource(e){this.rxjs=e}executeBackendProcessesCallback(e,t,i,s){var o;const n=new Date;t&&i.service.postProcess&&i.service.postProcess(t),t&&(i!=null&&i.internalPostProcess)&&i.internalPostProcess(t),i.postProcess!==void 0&&(t instanceof Object&&(t.metrics={startTime:e,endTime:n,executionTime:n.valueOf()-e.valueOf(),itemCount:s,totalItemCount:s},(o=i.service.options)!=null&&o.infiniteScroll&&(t.infiniteScrollBottomHit=this._infiniteScrollBottomHit,delete t.itemCount)),i.postProcess(t),this.setInfiniteScrollBottomHit(!1))}onBackendError(e,t){if(typeof(t==null?void 0:t.onError)=="function")t.onError(e);else throw e}executeBackendCallback(e,t,i,s,n,o){var l;if(e){i&&!i.clearFilterTriggered&&!i.clearSortTriggered&&(o!=null&&o.emitActionChangedCallback)&&o.emitActionChangedCallback.call(this,oe.remote);const a=e.process(t);if(a instanceof Promise&&a.then)a.then(h=>{var d;this.executeBackendProcessesCallback(s,h,e,n),(d=o==null?void 0:o.successCallback)==null||d.call(this,i)}).catch(h=>{var d;(d=o==null?void 0:o.errorCallback)==null||d.call(this,i),this.onBackendError(h,e)});else if((l=this.rxjs)!=null&&l.isObservable(a)){const h=this.rxjs;h.isObservable(o==null?void 0:o.httpCancelRequestSubject)&&(o==null||o.httpCancelRequestSubject.next()),a.pipe(h.takeUntil(h.iif(()=>h.isObservable(o==null?void 0:o.httpCancelRequestSubject),o==null?void 0:o.httpCancelRequestSubject,h.EMPTY))).subscribe(d=>{var c;this.executeBackendProcessesCallback(s,d,e,n),(c=o==null?void 0:o.successCallback)==null||c.call(this,i)},d=>{var c;(c=o==null?void 0:o.errorCallback)==null||c.call(this,i),this.onBackendError(d,e)})}}}refreshBackendDataset(e){var s;let t="";const i=e==null?void 0:e.backendServiceApi;if(!i||!i.service||!i.process)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');if(i.service&&(t=i.service.buildQuery()),t&&t!==""){const n=new Date;i.preProcess&&i.preProcess();const o=((s=e==null?void 0:e.pagination)==null?void 0:s.totalItems)??0;this.executeBackendCallback(i,t,null,n,o)}}setInfiniteScrollBottomHit(e){this._infiniteScrollBottomHit=e}}const uh=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:no},Symbol.toStringTag,{value:"Module"}));function ci(r,e){if(Array.isArray(r)){const t=["pop","push","reverse","shift","unshift","splice","sort"],i=[];return t.forEach(n=>{r[n]=(...o)=>{const l=Array.prototype[n].apply(r,o);return i.push({method:n,action:l}),e.apply(r,[r,o]),l}}),{disconnect:()=>t.forEach(n=>{r[n]=()=>i[n].action})}}return null}function hs(r,e,t){let i=r[e];Object.defineProperty(r,e,{configurable:!0,get(){return i},set(s){i=s,t.apply(r,[s,r[e]])}})}const ph=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:ci,propertyObserver:hs},Symbol.toStringTag,{value:"Module"})),mh=r=>r;function fh(r,e,t=mh,i=()=>{}){const s=r&&r.length?[{pointer:r,offset:0}]:[],n=[];let o;for(;s.length;)for(o=s.pop();o.offset<o.pointer.length;){const l=o.pointer[o.offset],a=i(l),h=e(l);n.push(t(l,o.node,a,o.nodeId)),o.offset+=1,h&&(s.push(o),o={pointer:h,offset:0,node:l,nodeId:a})}return n}class R{}R.locales={TEXT_ALL_SELECTED:"All Selected",TEXT_ALL_X_RECORDS_SELECTED:"All {{x}} records selected",TEXT_APPLY_MASS_UPDATE:"Apply Mass Update",TEXT_APPLY_TO_SELECTION:"Update Selection",TEXT_CANCEL:"Cancel",TEXT_CLEAR_ALL_FILTERS:"Clear all Filters",TEXT_CLEAR_ALL_GROUPING:"Clear all Grouping",TEXT_CLEAR_ALL_SORTING:"Clear all Sorting",TEXT_CLEAR_PINNING:"Unfreeze Columns/Rows",TEXT_CLONE:"Clone",TEXT_COLLAPSE_ALL_GROUPS:"Collapse all Groups",TEXT_CONTAINS:"Contains",TEXT_COLUMNS:"Columns",TEXT_COLUMN_RESIZE_BY_CONTENT:"Resize by Content",TEXT_COMMANDS:"Commands",TEXT_COPY:"Copy",TEXT_DROP_COLUMN_HEADER_TO_GROUP_BY:"Drop a column header here to group by the column",TEXT_EQUALS:"Equals",TEXT_EQUAL_TO:"Equal to",TEXT_ENDS_WITH:"Ends With",TEXT_ERROR_EDITABLE_GRID_REQUIRED:"Your grid must be editable in order to use the Composite Editor Modal.",TEXT_ERROR_ENABLE_CELL_NAVIGATION_REQUIRED:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.',TEXT_ERROR_NO_CHANGES_DETECTED:"Sorry we could not detect any changes.",TEXT_ERROR_NO_EDITOR_FOUND:"We could not find any Editor in your Column Definition.",TEXT_ERROR_NO_RECORD_FOUND:"No records selected for edit or clone operation.",TEXT_ERROR_ROW_NOT_EDITABLE:"Current row is not editable.",TEXT_ERROR_ROW_SELECTION_REQUIRED:"You must select some rows before trying to apply new value(s).",TEXT_EXPAND_ALL_GROUPS:"Expand all Groups",TEXT_EXPORT_TO_CSV:"Export in CSV format",TEXT_EXPORT_TO_TEXT_FORMAT:"Export in Text format (Tab delimited)",TEXT_EXPORT_TO_EXCEL:"Export to Excel",TEXT_EXPORT_TO_TAB_DELIMITED:"Export in Text format (Tab delimited)",TEXT_FORCE_FIT_COLUMNS:"Force fit columns",TEXT_FILTER_SHORTCUTS:"Filter Shortcuts",TEXT_FREEZE_COLUMNS:"Freeze Columns",TEXT_GREATER_THAN:"Greater than",TEXT_GREATER_THAN_OR_EQUAL_TO:"Greater than or equal to",TEXT_GROUP_BY:"Group By",TEXT_HIDE_COLUMN:"Hide Column",TEXT_ITEMS:"items",TEXT_ITEMS_PER_PAGE:"items per page",TEXT_ITEMS_SELECTED:"items selected",TEXT_OF:"of",TEXT_OK:"OK",TEXT_LAST_UPDATE:"Last Update",TEXT_LESS_THAN:"Less than",TEXT_LESS_THAN_OR_EQUAL_TO:"Less than or equal to",TEXT_NOT_CONTAINS:"Not contains",TEXT_NOT_EQUAL_TO:"Not equal to",TEXT_PAGE:"Page",TEXT_RECORDS_SELECTED:"records selected",TEXT_REFRESH_DATASET:"Refresh Dataset",TEXT_REMOVE_FILTER:"Remove Filter",TEXT_REMOVE_SORT:"Remove Sort",TEXT_RESET_INPUT_VALUE:"Reset Input Value",TEXT_RESET_FORM:"Reset Form",TEXT_SAVE:"Save",TEXT_SELECT_ALL:"Select All",TEXT_SYNCHRONOUS_RESIZE:"Synchronous resize",TEXT_SORT_ASCENDING:"Sort Ascending",TEXT_SORT_DESCENDING:"Sort Descending",TEXT_STARTS_WITH:"Starts With",TEXT_TOGGLE_ALL_GROUPS:"Toggle all Groups",TEXT_TOGGLE_DARK_MODE:"Toggle Dark Mode",TEXT_TOGGLE_FILTER_ROW:"Toggle Filter Row",TEXT_TOGGLE_PRE_HEADER_ROW:"Toggle Pre-Header Row",TEXT_UNFREEZE_COLUMNS:"Unfreeze Columns",TEXT_X_OF_Y_SELECTED:"# of % selected",TEXT_X_OF_Y_MASS_SELECTED:"{{x}} of {{y}} selected"},R.treeDataProperties={CHILDREN_PROP:"children",COLLAPSED_PROP:"__collapsed",HAS_CHILDREN_PROP:"__hasChildren",TREE_LEVEL_PROP:"__treeLevel",PARENT_PROP:"__parentId"},R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL=4,R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL=void 0,R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL=void 0,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR=".",R.DEFAULT_NUMBER_THOUSAND_SEPARATOR="",R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET=!1,R.SLIDER_DEFAULT_MIN_VALUE=0,R.SLIDER_DEFAULT_MAX_VALUE=100,R.SLIDER_DEFAULT_STEP=1,R.VALIDATION_REQUIRED_FIELD="Field is required",R.VALIDATION_EDITOR_VALID_NUMBER="Please enter a valid number",R.VALIDATION_EDITOR_VALID_INTEGER="Please enter a valid integer number",R.VALIDATION_EDITOR_INTEGER_BETWEEN="Please enter a valid integer number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX="Please enter a valid integer number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE="Please enter a valid integer number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MIN="Please enter a valid integer number that is greater than {{minValue}}",R.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE="Please enter a valid integer number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_NUMBER_BETWEEN="Please enter a valid number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX="Please enter a valid number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE="Please enter a valid number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MIN="Please enter a valid number that is greater than {{minValue}}",R.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE="Please enter a valid number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_DECIMAL_BETWEEN="Please enter a valid number with a maximum of {{maxDecimal}} decimals",R.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN="Please make sure your text length is between {{minLength}} and {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH="Please make sure your text is less than {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE="Please make sure your text is less than or equal to {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH="Please make sure your text is more than {{minLength}} character(s)",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE="Please make sure your text is at least {{minLength}} character(s)";var Cn;(function(r){r[r.camelCase=0]="camelCase",r[r.pascalCase=1]="pascalCase",r[r.snakeCase=2]="snakeCase",r[r.kebabCase=3]="kebabCase"})(Cn||(Cn={}));var Ot;(function(r){r.colon=":",r.comma=",",r.equalSign="=",r.pipe="|",r.semicolon=";",r.space=" ",r.tab=" ",r.doubleColon="::",r.doublePipe="||",r.doubleSemicolon=";;"})(Ot||(Ot={}));var G;(function(r){r.autoTooltip="autoTooltip",r.cellExternalCopyManager="cellExternalCopyManager",r.cellMenu="cellMenu",r.checkboxSelector="checkboxSelector",r.columnPicker="columnPicker",r.contextMenu="contextMenu",r.customTooltip="customTooltip",r.draggableGrouping="draggableGrouping",r.groupItemMetaProvider="groupItemMetaProvider",r.gridMenu="gridMenu",r.headerButton="headerButton",r.headerMenu="headerMenu",r.rowBasedEdit="rowBasedEdit",r.rowDetailView="rowDetailView",r.rowMoveManager="rowMoveManager",r.rowSelection="rowSelection"})(G||(G={}));const w={unknown:"unknown",string:"string",boolean:"boolean",integer:"integer",float:"float",number:"number",date:"date",dateIso:"dateIso",dateUtc:"dateUtc",dateTime:"dateTime",dateTimeIso:"dateTimeIso",dateTimeIsoAmPm:"dateTimeIsoAmPm",dateTimeIsoAM_PM:"dateTimeIsoAM_PM",dateTimeShortIso:"dateTimeShortIso",dateEuro:"dateEuro",dateEuroShort:"dateEuroShort",dateTimeShortEuro:"dateTimeShortEuro",dateTimeEuro:"dateTimeEuro",dateTimeEuroAmPm:"dateTimeEuroAmPm",dateTimeEuroAM_PM:"dateTimeEuroAM_PM",dateTimeEuroShort:"dateTimeEuroShort",dateTimeEuroShortAmPm:"dateTimeEuroShortAmPm",dateTimeEuroShortAM_PM:"dateTimeEuroShortAM_PM",dateUs:"dateUs",dateUsShort:"dateUsShort",dateTimeShortUs:"dateTimeShortUs",dateTimeUs:"dateTimeUs",dateTimeUsAmPm:"dateTimeUsAmPm",dateTimeUsAM_PM:"dateTimeUsAM_PM",dateTimeUsShort:"dateTimeUsShort",dateTimeUsShortAmPm:"dateTimeUsShortAmPm",dateTimeUsShortAM_PM:"dateTimeUsShortAM_PM",object:"object",password:"password",text:"text",readonly:"readonly"};var ve;(function(r){r.csv="csv",r.txt="txt",r.xls="xls",r.xlsx="xlsx"})(ve||(ve={}));var ui;(function(r){r.merge="merge",r.chain="chain"})(ui||(ui={}));var $e;(function(r){r.columns="columns",r.filter="filter",r.pagination="pagination",r.pinning="pinning",r.rowSelection="rowSelection",r.sorter="sorter",r.treeData="treeData"})($e||($e={}));var H;(function(r){r.empty="",r.custom="Custom",r.contains="Contains",r.notContains="Not_Contains",r.lessThan="LT",r.lessThanOrEqual="LE",r.greaterThan="GT",r.greaterThanOrEqual="GE",r.notEqual="NE",r.equal="EQ",r.endsWith="EndsWith",r.rangeInclusive="RangeInclusive",r.rangeExclusive="RangeExclusive",r.startsWith="StartsWith",r.startsWithEndsWith="StartsWithEndsWith",r.in="IN",r.notIn="NOT_IN",r.inContains="IN_CONTAINS",r.notInContains="NOT_IN_CONTAINS",r.inCollection="IN_COLLECTION",r.notInCollection="NOT_IN_COLLECTION"})(H||(H={}));var ut;(function(r){r.asc="asc",r.ASC="ASC",r.desc="desc",r.DESC="DESC"})(ut||(ut={}));var ae;(function(r){r[r.asc=1]="asc",r[r.desc=-1]="desc",r[r.neutral=0]="neutral"})(ae||(ae={}));var xt;(function(r){r.toggleCollapse="toggle-collapse",r.fullExpand="full-expand",r.fullCollapse="full-collapse",r.toggleExpand="toggle-expand"})(xt||(xt={}));const vn=Object.freeze(Object.defineProperty({__proto__:null,get CaseType(){return Cn},get DelimiterType(){return Ot},get EmitterType(){return oe},get ExtensionName(){return G},FieldType:w,get FileType(){return ve},get FilterMultiplePassType(){return ui},get GridStateType(){return $e},get OperatorType(){return H},get SortDirection(){return ut},get SortDirectionNumber(){return ae},get ToggleStateChangeType(){return xt}},Symbol.toStringTag,{value:"Module"}));class Di extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Di.prototype)}}function ro(r){let e=!1;return r instanceof Promise?{promise:r.then(t=>{if(e)throw new Di("Cancelled Promise");return t}),cancel:()=>e=!0}:r}function oo(r,e,t=""){let i=e;if(e instanceof Promise)return e;if(r.isObservable(e)&&(i=r.firstValueFrom(e)),!(i instanceof Promise))throw new Error(`Something went wrong, Slickgrid-Universal ${t} is not able to convert the Observable into a Promise.`);return i}function ds(r,e,t=0){const i=Ae(e,"childrenPropName");Array.isArray(r)&&r.forEach(s=>{s&&(Array.isArray(s[i])&&s[i].length>0&&(t++,ds(s[i],e,t),t--),s[e.levelPropName]=t)})}function Mi(r,e,t=0,i=null){const s=Ae(e,"childrenPropName"),{aggregator:n}=e;Array.isArray(r)&&r.forEach(o=>{if(o){const l=Array.isArray(o[s]);Array.isArray(o[s])&&o[s].length>0&&(n.init(o,!0),t++,Mi(o[s],e,t,o),t--),i&&n.isInitialized&&typeof n.accumulate=="function"&&!(o!=null&&o.__filteredOut)&&(n.accumulate(o,l),n.storeResult(i.__treeTotals)),o[e.levelPropName]=t}})}function lo(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"hasChildrenPropName"),n=Ae(e,"parentPropName"),o=Ae(e,"levelPropName");return e!=null&&e.shouldAddTreeLevelNumber&&(Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(a=>{Mi(r,{childrenPropName:i,levelPropName:o,aggregator:a})}):ds(r,{childrenPropName:i,levelPropName:o})),fh(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...ho(a,i)}))}function Ae(r,e,t="id"){let i="";switch(e){case"childrenPropName":i=(r==null?void 0:r.childrenPropName)??R.treeDataProperties.CHILDREN_PROP;break;case"collapsedPropName":i=(r==null?void 0:r.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP;break;case"hasChildrenPropName":i=(r==null?void 0:r.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP;break;case"identifierPropName":i=(r==null?void 0:r.identifierPropName)??t;break;case"levelPropName":i=(r==null?void 0:r.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;break;case"parentPropName":i=(r==null?void 0:r.parentPropName)??R.treeDataProperties.PARENT_PROP;break}return i}function ao(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"parentPropName"),n=Ae(e,"levelPropName"),o=Ae(e,"collapsedPropName"),l=r||[],a=[],h={};return l.forEach(d=>{h[d[t]]=d,delete d[i]}),Object.keys(h).forEach(d=>{const c=h[d];if(!(s in c)||c[s]===null||c[s]===void 0||c[s]==="")a.push(c);else if(c[s]in h){const u=h[c[s]];i in u||(u[i]=[]),u[i].push(c),u[o]===void 0&&(u[o]=(e==null?void 0:e.initiallyCollapsed)??!1)}}),Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(d=>{Mi(a,{childrenPropName:i,levelPropName:n,aggregator:d},0)}):ds(a,{childrenPropName:i,levelPropName:n},0),a}function Li(r,e,t){if(!t)throw new Error('findItemInTreeStructure requires parameter "childrenPropertyName"');const i=r.find(e),s=r.filter(n=>t in n&&n[t]);if(i)return i;if(s.length){const n=[];for(const o of s)t in o&&n.push(...o[t]);return Li(n,e,t)}}function Vt(r,e,t,i=".",s=""){if(isNaN(+r))return r;const n=e===void 0?2:e,o=t===void 0?2:t;let l=String(Math.round(+r*Math.pow(10,o))/Math.pow(10,o));for(l.indexOf(".")<0&&n>0&&(l+=".");l.length-l.indexOf(".")<=n;)l+="0";const a=l.split(".");let h,d;s?h=a.length>=1?Rt(a[0],s):void 0:h=a.length>=1?a[0]:l,a.length>1&&(d=a[1]);let c="";return h!==void 0&&d!==void 0?c=`${h}${i}${d}`:h!=null&&(c=h),c}function Ie(r,e,t,i,s="",n="",o=".",l=""){if(isNaN(+r))return r;const a=Math.round(parseFloat(r)*1e6)/1e6;if(a<0){const h=Math.abs(a);if(i){if(!isNaN(e)||!isNaN(t))return`(${s}${Vt(h,e,t,o,l)}${n})`;const d=Rt(`${h}`,l);return`(${s}${d}${n})`}else{if(!isNaN(e)||!isNaN(t))return`-${s}${Vt(h,e,t,o,l)}${n}`;const d=Rt(`${h}`,l);return`-${s}${d}${n}`}}else{if(!isNaN(e)||!isNaN(t))return`${s}${Vt(r,e,t,o,l)}${n}`;const h=Rt(`${r}`,l);return`${s}${h}${n}`}}function Ni(r,e,t){if(typeof r.queryFieldNameGetterFn=="function"){const i=r.queryFieldNameGetterFn(e);(i==null?void 0:i.indexOf("."))>=0?t=Ee(e,i):t=e.hasOwnProperty(i)?e[i]:t}return t}function Ee(r,e){return!r||!e?r:e.split(".").reduce((t,i)=>t&&t[i],r)}function lt(r){return r&&r.translationNamespace?r.translationNamespace+(r.translationNamespaceSeparator||""):""}function Hi(r){return r.outputType||r.type||w.string}function It(r){switch(r){case w.date:case w.dateTime:case w.dateIso:case w.dateTimeIso:case w.dateTimeShortIso:case w.dateTimeIsoAmPm:case w.dateTimeIsoAM_PM:case w.dateEuro:case w.dateEuroShort:case w.dateTimeEuro:case w.dateTimeShortEuro:case w.dateTimeEuroAmPm:case w.dateTimeEuroAM_PM:case w.dateTimeEuroShort:case w.dateTimeEuroShortAmPm:case w.dateTimeEuroShortAM_PM:case w.dateUs:case w.dateUsShort:case w.dateTimeUs:case w.dateTimeShortUs:case w.dateTimeUsAmPm:case w.dateTimeUsAM_PM:case w.dateTimeUsShort:case w.dateTimeUsShortAmPm:case w.dateTimeUsShortAM_PM:case w.dateUtc:return!0;default:return!1}}function gh(r){let e;switch(r){case"<":case"LT":e=H.lessThan;break;case"<=":case"LE":e=H.lessThanOrEqual;break;case">":case"GT":e=H.greaterThan;break;case">=":case"GE":e=H.greaterThanOrEqual;break;case"!=":case"NE":e=H.notEqual;break;case"*":case"a*":case"StartsWith":e=H.startsWith;break;case"*z":case"EndsWith":e=H.endsWith;break;case"=":case"==":case"EQ":e=H.equal;break;case"IN":e=H.in;break;case"NIN":case"NOT_IN":e=H.notIn;break;case"<>":case"Not_Contains":case"NOT_CONTAINS":e=H.notContains;break;case"Contains":case"CONTAINS":default:e=H.contains;break}return e}function pi(r){let e="";switch(r){case H.greaterThan:case">":e=">";break;case H.greaterThanOrEqual:case">=":e=">=";break;case H.lessThan:case"<":e="<";break;case H.lessThanOrEqual:case"<=":e="<=";break;case H.notEqual:case"<>":e="<>";break;case H.equal:case"=":case"==":case"EQ":e="=";break;case H.startsWith:case"a*":case"*":e="a*";break;case H.endsWith:case"*z":e="*z";break;default:e=r;break}return e}function bn(r){let e;if(It(r))e=H.equal;else switch(r){case w.unknown:case w.string:case w.text:case w.password:case w.readonly:e=H.contains;break;case w.float:case w.number:default:e=H.equal;break}return e}function ho(r,e){return Object.keys(r).reduce((t,i)=>(i!==e&&(t[i]=r[i]),t),{})}function Rt(r,e=","){if(r!=null){const t=`${r}`,i=t.split(".");return i.length===2?`${i[0].replace(/\B(?=(\d{3})+(?!\d))/g,e)}.${i[1]}`:t.replace(/\B(?=(\d{3})+(?!\d))/g,e)}return r}function At(r,e,t={}){return Array.isArray(r)?r.find(e)||t:r}function cs(r){if(Array.isArray(r))for(;r.length>0;){const e=r.pop();e!=null&&e.unsubscribe&&e.unsubscribe()}return r}const _h=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:Di,addTreeLevelAndAggregatorsByMutation:Mi,addTreeLevelByMutation:ds,cancellablePromise:ro,castObservableToPromise:oo,decimalFormatted:Vt,findItemInTreeStructure:Li,findOrDefault:At,flattenToParentChildArray:lo,formatNumber:Ie,getCellValueFromQueryFieldGetter:Ni,getColumnFieldType:Hi,getDescendantProperty:Ee,getTranslationPrefix:lt,getTreeDataOptionPropName:Ae,isColumnDateType:It,mapOperatorByFieldType:bn,mapOperatorToShorthandDesignation:pi,mapOperatorType:gh,objectWithoutKey:ho,thousandSeparatorFormatted:Rt,unflattenParentChildArrayToTree:ao,unsubscribeAll:cs},Symbol.toStringTag,{value:"Module"})),Ch=(r,e,t=ae.neutral)=>{let i=0;return r===e?i=0:r===null?i=-1:e===null?i=1:t?i=r<e?-1:1:i=r<e?1:-1,t*i},vh=(r,e,t=ae.neutral,i,s)=>{if(!i||!i.dataKey)throw new Error('Sorting a "FieldType.object" requires you to provide the "dataKey" (object property name) of the object so that we can use it to sort correctly');const n=r!=null&&r.hasOwnProperty(i.dataKey)?r[i.dataKey]:r,o=e!=null&&e.hasOwnProperty(i.dataKey)?e[i.dataKey]:e,l=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;let a=0;return typeof r!="object"?a=-1/0:typeof e!="object"?a=1/0:n===null||l&&n===void 0?a=-1:o===null||l&&o===void 0?a=1:n===o?a=0:t?a=n<o?-1:1:a=n<o?1:-1,t*a};function Vi(r){let e=0,t=0,i=0,s=0;const n=window.innerHeight||0,o=window.innerWidth||0,l=yn(),a=l.top,h=l.left,d=ge(r);if(d){const c=d.top,u=d.left;t=c-a,i=u-h,e=n-(c-a+r.clientHeight),s=o-(u-h+r.clientWidth)}return{top:t,bottom:e,left:i,right:s}}function v(r,e,t){const i=document.createElement(r);return e&&Object.keys(e).forEach(s=>{s==="innerHTML"&&console.warn(`[Slickgrid-Universal] For better CSP (Content Security Policy) support, do not use "innerHTML" directly in "createDomElement('${r}', { innerHTML: 'some html'})", it is better as separate assignment: "const elm = createDomElement('span'); elm.innerHTML = 'some html';"`);const n=e[s];typeof n=="object"?Object.assign(i[s],n):i[s]=e[s]}),t!=null&&t.appendChild&&t.appendChild(i),i}function he(r=""){return r.split(" ").filter(e=>e)}function Sn(r){typeof r=="object"&&Object.keys(r).forEach(e=>{Array.isArray(r[e])&&Sn(r[e]),r[e]instanceof HTMLElement&&(r[e]=null)})}function ee(r){for(;r!=null&&r.firstChild;)r.removeChild(r.firstChild);return r}function _t(r,e="innerHTML"){return r instanceof DocumentFragment?[].map.call(r.childNodes,t=>t[e]).join("")||r.textContent||"":r instanceof HTMLElement?r[e]:String(r??"")}function co(r,e){if(!r||!e)return;const t=r.getBoundingClientRect(),i=e.getBoundingClientRect();return{top:i.top-t.top,right:i.right-t.right,bottom:i.bottom-t.bottom,left:i.left-t.left}}function ge(r){let e=0,t=0,i=0,s=0;if(!r||!r.getBoundingClientRect)return{top:e,bottom:i,left:t,right:s};const n=r.getBoundingClientRect(),o=document.documentElement;return(n==null?void 0:n.top)!==void 0&&n.left!==void 0&&(e=n.top+window.pageYOffset-o.clientTop,t=n.left+window.pageXOffset-o.clientLeft,s=n.right,i=n.bottom),{top:e,left:t,bottom:i,right:s}}function us(r,e){let t=0;if(r){const i=e==="height"?"clientHeight":"clientWidth",s=e==="height"?["top","bottom"]:["left","right"];t=r[i];for(const n of s){const o=parseFloat(uo(r,`padding-${n}`)||"")||0;t-=o}}return t}function uo(r,e){return r?window.getComputedStyle(r).getPropertyValue(e):null}function Bi(r,e){if(r)for(const t of e){const i=r.getAttribute(t);if(i)return i}return null}function Pt(r,e="auto"){return(/^[0-9]+$/i.test(`${r}`)?`${+r}px`:r)||e}function po(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function mo(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function fo(r,e){const t=r.length;let i=po(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function go(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function yn(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}const ps=Object.prototype.hasOwnProperty,_o=Object.prototype.toString,Co=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,bo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):_o.call(e)==="[object Array]"},So=function(e){if(!e||_o.call(e)!=="[object Object]")return!1;const t=ps.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&ps.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;let s;for(s in e);return typeof s>"u"||ps.call(e,s)},yo=function(e,t){Co&&t.name==="__proto__"?Co(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Eo=function(e,t){if(t==="__proto__")if(ps.call(e,t)){if(vo)return vo(e,t).value}else return;return e[t]};function de(...r){let e,t,i,s,n,o,l=r[0],a=1;const h=r.length;let d=!1;for(typeof l=="boolean"&&(d=l,l=r[1]||{},a=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});a<h;++a)if(e=r[a],e!=null)for(t in e)i=Eo(l,t),s=Eo(e,t),l!==s&&(d&&s&&(So(s)||(n=bo(s)))?(n?(n=!1,o=i&&bo(i)?i:[]):o=i&&So(i)?i:{},yo(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&yo(l,{name:t,newValue:s}));return l}function bh(r,e,t="id"){let i=-1;e&&typeof e=="object"&&t in e?i=r.findIndex(s=>s[t]===e[t]):i=r.findIndex(s=>s===e),i<0&&r.push(e)}function zi(r,e=" "){let t="";for(let i=0;i<r;i++)t+=e;return t}function En(r,e){return r.filter((t,i)=>e!==i)}function Sh(r){if(!Array.isArray(r)&&!Bt(r))return r;const e=Array.isArray(r)?[]:{};return de(!0,e,r)}function Zt(r,...e){if(!e.length)return r;const t=e.shift();return r=!Bt(r)&&Bt(t)?{}:r,Bt(r)&&Bt(t)&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&(i in r?typeof r[i]!="object"||typeof t[i]!="object"?r[i]=t[i]:r[i].concat&&t[i].concat?r[i]=r[i].concat(t[i]):r[i]=Zt(r[i],t[i]):r[i]=t[i])}),Zt(r,...e)}function wo(r){return Bt(r)&&Object.keys(r).forEach(e=>{r.hasOwnProperty(e)&&delete r[e]}),r=null,r={},r}function wn(r,e=!0){let t=!1;const i=n=>{const o=n.toString();if(t=o.includes("async "),o.replaceAll(" ","").includes("=>({")){const h=o.match(/(({.*}))/g)||[];return h.length>=1?`return ${h[0].trimStart()}`:o}const l=!o.includes("{")&&o.includes("=>"),a=o.substring(o.indexOf("{")+1||o.indexOf("=>")+2,o.includes("}")?o.lastIndexOf("}"):o.length);return e&&l&&!a.startsWith("return")?"return "+a.trimStart():a};return{params:(n=>{const o=/(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,)]*))/gm,l=/([^\s,]+)/g,a=n.toString().replace(o,"");return a.slice(a.indexOf("(")+1,a.indexOf(")")).match(l)??[]})(r),body:i(r),isAsync:t}}function Tn(r){return r==null?!0:Object.entries(r).length===0}function q(r){return r!=null&&r!==""}function Jt(r){return r!==null&&!isNaN(r)&&r!==""}function Bt(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)}function $i(r){return typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r===null||r===void 0}function ei(r){return r instanceof HTMLElement||r instanceof DocumentFragment||$i(r)}function U(r,e=!1){return e?r==null||typeof r=="string"?!1:!isNaN(r):r==null||r===""?!1:!isNaN(+r)}function To(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function ms(r){return/(true|1)/i.test(r+"")}function mi(r,e=!1){const t=typeof r.normalize=="function"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):r;return e?t.toLowerCase():t}function We(r,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length>1){const i=e.shift();r&&i!==void 0&&We(r[i]=q(r[i])&&(Array.isArray(r[i])||Object.prototype.toString.call(r[i])==="[object Object]")?r[i]:{},e,t)}else r&&e[0]&&(r[e[0]]=t)}function ti(r,e=!1){return typeof r=="string"?e?r.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()):r.charAt(0).toUpperCase()+r.slice(1):r}function On(r){return typeof r=="string"?r.replace(/(?:^\w|[A-Z]|\b\w|[\s+\-_/])/g,(e,t)=>/[\s+\-_/]/.test(e)?"":t===0?e.toLowerCase():e.toUpperCase()):r}function fi(r){return typeof r=="string"?On(r).replace(/([A-Z])|([-_])/g,"-$1").toLowerCase():r}function Ct(r){if(typeof r=="string"){const e=r.replace(/([A-Z])|([-_])/g," $1").replace(/\s+/g," ").trim();return e.charAt(0).toUpperCase()+e.slice(1)}return r}function yh(r){return typeof r=="string"?On(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function Oo(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function Eh(r,e="id"){if(Array.isArray(r)&&r.length>0){const t=[],i=new Map;for(const s of r)s&&!i.has(s[e])&&(i.set(s[e],!0),t.push({id:s[e],name:s.name}));return t}return r}const Wi=Symbol("plaintext"),xo=Symbol("html"),Io=Symbol("comment"),wh=/<(\w*)>/g,Th=/<\/?([^\s/>]+)/;function we(r,e,t){function i(a,h,d){if(typeof a!="string"&&(U(a)||typeof a=="boolean"))return String(a);if(a instanceof HTMLElement&&(a=a.innerHTML),typeof a!="string"&&a!==void 0&&a!==null)throw new TypeError("'html' parameter must be a string");return n(a||"",s(h||"",d||""))}function s(a,h){return{allowable_tags:o(a),tag_replacement:h,state:Wi,tag_buffer:"",depth:0,in_quote_char:""}}function n(a,h){const d=h.allowable_tags,c=h.tag_replacement;let u=h.state,p=h.tag_buffer,m=h.depth,f=h.in_quote_char,g="";for(let _=0,C=a.length;_<C;_++){const b=a[_];if(u===Wi)switch(b){case"<":u=xo,p+=b;break;default:g+=b;break}else if(u===xo)switch(b){case"<":if(f)break;m++;break;case">":if(f)break;if(m){m--;break}f="",u=Wi,p+=">",d.has(l(p))?g+=p:g+=c,p="";break;case'"':case"'":b===f?f="":f=f||b,p+=b;break;case"-":p==="<!-"&&(u=Io),p+=b;break;case" ":case`
2
- `:if(p==="<"){u=Wi,g+="< ",p="";break}p+=b;break;default:p+=b;break}else if(u===Io)switch(b){case">":p.slice(-2)==="--"&&(u=Wi),p="";break;default:p+=b;break}}return h.state=u,h.tag_buffer=p,h.depth=m,h.in_quote_char=f,g}function o(a){let h=new Set;if(typeof a=="string"){let d;for(;d=wh.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Th.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const Oh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:bh,addWhiteSpaces:zi,arrayRemoveItemByIndex:En,calculateAvailableSpace:Vi,classNameToList:he,createDomElement:v,deepCopy:Sh,deepMerge:Zt,destroyAllElementProps:Sn,emptyElement:ee,emptyObject:wo,extend:de,findFirstAttribute:Bi,findWidthOrDefault:Pt,getFunctionDetails:wn,getHtmlStringOutput:_t,getInnerSize:us,getOffset:ge,getOffsetRelativeToParent:co,getStyleProp:uo,htmlEncode:po,htmlEncodeWithPadding:fo,htmlEntityDecode:mo,insertAfterElement:go,isDefined:q,isDefinedNumber:Jt,isEmptyObject:Tn,isNumber:U,isObject:Bt,isObjectEmpty:To,isPrimitiveOrHTML:ei,isPrimitiveValue:$i,parseBoolean:ms,removeAccentFromText:mi,setDeepValue:We,stripTags:we,titleCase:ti,toCamelCase:On,toKebabCase:fi,toSentenceCase:Ct,toSnakeCase:yh,uniqueArray:Oo,uniqueObjectArray:Eh,windowScrollPosition:yn},Symbol.toStringTag,{value:"Module"})),xh=(r,e,t=ae.neutral,i,s)=>{let n=0;const o=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;return r===e?n=0:r===null||o&&r===void 0?n=-1:e===null||o&&e===void 0?n=1:(s!=null&&s.ignoreAccentOnStringFilterAndSort&&(r=mi(r,!1),e=mi(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Ro=(r,e,t=ae.neutral,i,s)=>{const n=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1,o=isNaN(r)||r===""||r===null||n&&r===void 0?-1/0:parseFloat(r),l=isNaN(e)||e===""||e===null||n&&e===void 0?-1/0:parseFloat(e);return t*(o===l?0:o>l?1:-1)};var Ao=/^([0-9]{4})-([0-1][0-9])(?:-([0-3][0-9]))?(?:[T ]?([0-2][0-9])(?::([0-5][0-9]))?(?::([0-5][0-9]))?)?(?:\.[0-9]+)?(Z|(?:\+|\-)[0-9]{2}:?[0-9]{2})?$/;function Ih(r){const e=r.match(Ao);if(e){const t=Number(e[2]);if(t<1||t>12)return!1;if(typeof e[3]!==void 0){const i=Number(e[3]);if(i<1||i>31)return!1}if(typeof e[4]!==void 0){const i=Number(e[4]);if(i<0||i>23)return!1}return!0}return!1}function Rh(r){const e=r.match(Ao);return e&&typeof e[4]>"u"?r+="T00:00:00":r}function zt(r){if(r||(r=new Date),r instanceof Date){const e=new Date(r);return e.setMilliseconds(0),e}if(r=r.trim(),Ih(r))return new Date(Rh(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ah(r){const e=zt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function Ph(r){return Ah(r).getDate()}var xn="1999-03-04T02:05:01.000Z",In=new Map,Rn=[["YYYY",{year:"numeric"}],["YY",{year:"2-digit"}],["MMMM",{month:"long"}],["MMM",{month:"short"}],["MM",{month:"2-digit"}],["M",{month:"numeric"}],["DD",{day:"2-digit"}],["D",{day:"numeric"}],["dddd",{weekday:"long"}],["ddd",{weekday:"short"}],["d",{weekday:"narrow"}],["mm",{minute:"2-digit"}],["m",{minute:"numeric"}],["ss",{second:"2-digit"}],["s",{second:"numeric"}],["ZZ",{timeZoneName:"long"}],["Z",{timeZoneName:"short"}]],An=[["HH",{hour:"2-digit"}],["H",{hour:"numeric"}]],Pn=[["hh",{hour:"2-digit"}],["h",{hour:"numeric"}],["a",{dayPeriod:"narrow"}],["A",{dayPeriod:"narrow"}]],fs={DD:2,HH:2,MM:2,YY:2,YYYY:4,hh:2,mm:2,ss:2};function Po(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var kh=["MMMM","MMM","dddd","ddd"],Te=new Map([...Rn,...An,...Pn].map(r=>[r[0],r])),ko=new Map,Fo=["full","long","medium","short"],$t=r=>String(r).padStart(2,"0"),kn=r=>String(r).padStart(2,"0");function kt(r){return r.type==="literal"&&(r.value=r.value.normalize("NFKC")),r}function Fh(r,e,t,i=!1,s=null){const n=Dh(r,e,t,i),o=zt(r);function l({partName:a,partValue:h,token:d}){if(a==="literal")return h;const c=n[a];if(a==="hour"&&d==="H")return c.replace(/^0/,"")||"0";if(["mm","ss","MM"].includes(d)&&c.length===1)return`0${c}`;if(a==="dayPeriod"){const u=gi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Do(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function Dh(r,e,t,i=!1){const s=zt(r),n=e.filter(d=>d.hour12),o=e.filter(d=>!d.hour12),l=[],a=[];function h(d,c=!1){const u=`${t}-u-hc-${c?"h12":"h23"}`;if(l.push(...new Intl.DateTimeFormat(u,d.reduce((p,m)=>m.partName==="literal"?p:(i&&kh.includes(m.token)&&a.push(m),Object.assign(p,m.option)),{timeZone:"UTC"})).formatToParts(s).map(kt)),i&&a.length)for(const p of a){let m=[];switch(p.token){case"MMMM":m=new Intl.DateTimeFormat(u,{dateStyle:"long",timeZone:"UTC"}).formatToParts(s).map(kt);break;case"MMM":m=new Intl.DateTimeFormat(u,{dateStyle:"medium",timeZone:"UTC"}).formatToParts(s).map(kt);break}const f=m.find(_=>_.type===p.partName),g=l.findIndex(_=>_.type===p.partName);f&&g>-1&&(l[g]=f)}}return n.length&&h(n,!0),o.length&&h(o),l.reduce((d,c)=>(d[c.type]=c.value,d),{})}function Do(r,e="Z"){const t=String(Math.floor(Math.abs(r/60))).padStart(2,"0"),i=String(Math.abs(r%60)).padStart(2,"0"),s=r<0?"-":"+";return e==="ZZ"?`${s}${t}${i}`:`${s}${t}:${i}`}function Mh(r,e){Mo(r,e);const[t,i,s,n]=r.match(/([+-])([0-3][0-9]):?([0-6][0-9])/),o=Number(s)*60+Number(n);return i==="+"?o:-o}function Mo(r,e="Z"){if(!(i=>{switch(i){case"Z":return/^([+-])[0-3][0-9]:[0-6][0-9]$/.test(r);case"ZZ":return/^([+-])[0-3][0-9][0-6][0-9]$/.test(r)}})(e))throw new Error(`Invalid offset: ${r}`);return r}function Lh(r){return Rn.concat(An).concat(Pn).sort((e,t)=>e[0].length>t[0].length?1:-1).reduce((e,t)=>e.replace(t[0],`\\${t[0]}`),r)}function Nh(r){return["numeric","2-digit"].includes(r.partValue)}function Hh(r){let e;for(const t of r){if(t.partName==="literal"&&!isNaN(parseFloat(t.partValue)))throw new Error(`Numbers in format (${t.partValue}).`);if(e&&e.partName!=="literal"&&t.partName!=="literal"&&!(e.token in fs)&&!(t.token in fs)&&!(Nh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Vh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function gi(r,e){const t=ko.get(e);if(t&&t[r])return t[r];const i=new Date(xn);i.setUTCHours(r==="am"?5:20);const n=new Intl.DateTimeFormat(e,{timeStyle:"full",timeZone:"UTC",hour12:!0}).formatToParts(i).map(kt).find(o=>o.type==="dayPeriod");if(n){const o=t||{};return ko.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function Bh(r,e="+00:00"){const t=zt(r),i=(()=>{switch(Po(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Mh(e,i);return new Date(t.getTime()+s*1e3*60)}function Lo(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function No(r,e){const t=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZone:e,hourCycle:"h23"}).formatToParts(r).map(kt),i={};return t.forEach(s=>{i[s.type]=s.value}),new Date(`${i.year}-${i.month}-${i.day}T${i.hour}:${i.minute}:${i.second}Z`)}function Fn(r,e="UTC",t="device",i="Z"){var s;t=t==="device"?(s=Lo())!=null?s:"utc":t;const n=zt(r),o=No(n,e),l=No(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Do(a,i)}function Ho(r){const e=zt(r);return e.setHours(0,0,0),e}function Dn(r,e){if(Fo.includes(r)||typeof r=="object")return zh(r,e);let t=r,i=0;const s=d=>{if(d[2]||(d[2]=new RegExp(`(.)?(${d[0]})`,"g")),d[2].test(t)){let c=0;return t=t.replace(d[2],(u,p,m)=>p==="\\"?m:`${typeof p=="string"?p:""}{!${c++?i:i++}!}`),!!c}return!1};function n(d){const c=d.map(p=>p.partName),u=new Set(c);if(c.length>u.size)throw new Error("Cannot reuse format tokens.");return d}function o(d,[c,u,p]){const m=Object.keys(u)[0],f=u[m];return{option:u,partName:m,partValue:f,token:c,pattern:p,hour12:d}}const l=Rn.filter(s).concat(An.filter(s)).map(o.bind(null,!1)),a=n(l.concat(Pn.filter(s).map(o.bind(null,!0)))),h=/^\{!(\d+)!\}$/;return t.split(/(\{!\d+!\})/).map(d=>{const c=d.match(h);return c?a[Number(c[1])]:{option:{literal:d},partName:"literal",partValue:d,token:d,pattern:new RegExp(""),hour12:!1}}).filter(d=>!(d.partName==="literal"&&d.partValue===""))}function zh(r,e){const t={timeZone:"UTC"};typeof r=="string"?t.dateStyle=r:("date"in r&&(t.dateStyle=r.date),"time"in r&&(t.timeStyle=r.time));const i=new Intl.DateTimeFormat(e,t),s=i.formatToParts(new Date(xn)).map(kt),o=i.formatToParts(new Date("1999-04-05T23:05:01.000Z")).map(kt).find(a=>a.type==="hour"),l=o&&o.value==="23"?24:12;return s.map(a=>{const h=a.type,d=$h(a.type,a.value,e,a.type==="hour"?l:void 0,t);if(d===void 0)return;const c=d[1][h];if(c)return d[2]||(d[2]=new RegExp(`${d[0]}`,"g")),{option:{[h]:c},partName:h,partValue:c,token:d[0],pattern:d[2],hour12:l===12}}).filter(a=>!!a)}function $h(r,e,t,i,s){const n=e.length,o=!isNaN(Number(e));let l;switch(r){case"year":return n===2?Te.get("YY"):Te.get("YYYY");case"month":if(o)return n===1?Te.get("M"):Te.get("MM");switch(l=Vo(t,r,e),l){case"long":return Te.get("MMMM");default:return Te.get("MMM")}case"day":return n===1?Te.get("D"):Te.get("DD");case"weekday":switch(l=Vo(t,r,e),l){case"narrow":return Te.get("d");case"short":return Te.get("ddd");default:return Te.get("dddd")}case"hour":return i===12?n===1?Te.get("h"):Te.get("hh"):n===1?Te.get("H"):Te.get("HH");case"minute":return n===1?Te.get("m"):Te.get("mm");case"second":return n===1?Te.get("s"):Te.get("ss");case"dayPeriod":return/^[A-Z]+$/u.test(e)?Te.get("A"):Te.get("a");case"literal":return[e,{literal:e},new RegExp("")];case"timeZoneName":return s.timeStyle==="full"?Te.get("Z"):Te.get("ZZ");default:return}}function Vo(r,e,t){if(!In.has(r)){const s=new Date(xn),n=[3,8,9,7,6,4,3],o=["weekday","month","dayPeriod"],l=["long","short","narrow"],a={};for(let h=0;h<12;h++){s.setMonth(0+h),h in n&&s.setDate(n[h]),s.setUTCHours(8+h);for(const d of l){const c=new Intl.DateTimeFormat(r,o.reduce((u,p)=>Object.assign(u,{[p]:d}),{hour12:!0,timeZone:"UTC"})).formatToParts(s).map(kt);if(d==="long"||d==="short"){const p=new Intl.DateTimeFormat(r,{dateStyle:d==="short"?"medium":"long",timeZone:"UTC"}).formatToParts(s).map(kt).find(f=>f.type==="month"),m=c.findIndex(f=>f.type==="month");m>-1&&p&&(c[m]=p)}c.forEach(u=>{if(u.type==="literal")return;const p=u.type;a[p]=Object.assign(a[p]||{},{[u.value]:d})})}}In.set(r,a)}const i=In.get(r);return i?i[e][t]:void 0}function Bo(r,e="+00:00"){const t=e.slice(0,1)==="+";return Bh(r,e.replace(t?"+":"-",t?"-":"+"))}function Wh(){return Intl.DateTimeFormat().resolvedOptions().locale}function et(r,e="long",t="device",i=!1,s){let n,o;return typeof r=="object"&&!(r instanceof Date)&&({date:r,format:e,locale:t,genitive:i,partFilter:s,tz:n}=r),e==="ISO8601"?zt(r).toISOString():(n&&(o=Fn(r,"utc",n,Vh(e))),n??(n=Lo()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Bo(r,Fn(r,n,"utc"))),(!t||t==="device")&&(t=Wh()),Fh(r,Dn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function Gh(r,e="en",t=!1,i=()=>!0){return Dn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Lh(n.token):n.token,"").normalize("NFKC")}function Uh(r){const e=new Date().getFullYear(),t=e%100,i=Math.floor(e/100),s=Number(r);return(i+(s>t+20?-1:0))*100+s}function zo(r,e="en",t=!1){const i=(s,n)=>Array(s).fill("").map((o,l)=>`${n(l)}`);if(r==="M")return i(12,s=>s+1);if(r==="MM")return i(12,s=>{const n=s+1;return n<10?`0${n}`:n});if(r.startsWith("M"))return zo("MM").map(s=>et(`2000-${s}-05`,r,e,t));if(r.startsWith("d"))return i(7,s=>`0${s+2}`).map(s=>et(`2022-10-${s}`,r,e));if(r==="a")return[gi("am",e).toLowerCase(),gi("pm",e).toLowerCase()];if(r==="A")return[gi("am",e).toUpperCase(),gi("pm",e).toUpperCase()];if(r.startsWith("Y")){const s=new Date().getFullYear();return i(120,n=>n+1).reduce((n,o)=>(o!=="120"&&n.push(et(`${s+Number(o)}-06-06`,r,e)),n.unshift(et(`${s-Number(o)}-06-06`,r,e)),n),[et(`${s}-06-06`,r,e)])}return r.startsWith("D")?i(31,s=>`${r==="DD"&&s<9?"0":""}${s+1}`):r.startsWith("H")?i(24,s=>`${r==="HH"&&s<10?"0":""}${s}`):r.startsWith("h")?i(12,s=>`${r==="hh"&&s<9?"0":""}${s+1}`):r.startsWith("m")||r.startsWith("s")?i(60,s=>`${r.length>1&&s<10?"0":""}${s}`):[]}function gs(r,e="ISO8601",t="device"){let i=()=>!0,s,n="backward";if(typeof r=="object"?{date:s,format:e="ISO8601",locale:t="device",dateOverflow:n="backward",partFilter:i=()=>!0}=r:s=r,!s)throw new Error("parse() requires a date string.");const o=()=>{throw new Error(`Date (${s}) does not match format (${Gh(e,t)})`)};if(e==="ISO8601")return zt(s);const l=Fo.includes(e)||typeof e=="object",a=Hh(Dn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=jh(s,a)}catch{return o()}const d=new Date,c=new Map([["YYYY",d.getFullYear()],["MM",d.getMonth()+1],["DD",d.getDate()],["HH",0],["mm",0],["ss",0]]);let u=null,p="";h.forEach(O=>{if(O.partName==="literal")return;if(O.token===O.value)return o();const I=Number(O.value);if(c.has(O.token))c.set(O.token,I);else if(O.token==="YY")c.set("YYYY",Uh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",I);else if(A==="H"||A.startsWith("h"))c.set("HH",I);else if(A==="M")c.set("MM",I);else if(A==="a"||A==="A")u=O.value.toLowerCase()===gi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Mo(O.value,A);else{const M=zo(A,t,l).indexOf(O.value);if(M!==-1)switch(A){case"MMM":case"MMMM":c.set("MM",M+1);break}}}});let m=c.get("HH")||0;u===!1?(m+=m===12?0:12,c.set("HH",m===24?0:m)):u===!0&&m===12&&c.set("HH",0),c.set("MM",(c.get("MM")||1)-1);let[f,g,_,C,b,S]=Array.from(c.values());const E=Ph(new Date(`${kn(f)}-${$t(g+1)}-10`));if(E<_&&n==="throw")throw new Error(`Invalid date ${kn(f)}-${$t(g+1)}-${$t(_)}`);_=n==="backward"?Math.min(_,E):_;const y=`${kn(f)}-${$t(g+1)}-${$t(_)}T${$t(C)}:${$t(b)}:${$t(S)}${p}`,x=new Date(y);return isFinite(+x)?x:o()}function jh(r,e){let t=0;const i=l=>[l[t++],l[t]];let s=0;const n=[];let o;do{const[l,a]=i(e);o=a;let h=1;if(l.partName==="literal")h=l.partValue.length;else if(l.partName==="timeZoneName")h=Po(r.substring(s));else if(l.token in fs)h=fs[l.token];else if(a)if(a.partName==="literal"){if(h=r.indexOf(a.partValue,s)-s,h<0)throw new Error}else if(a.partName==="dayPeriod"){for(let d=1;d<=4;d++)if(isNaN(Number(r.charAt(s+d)))){h=d;break}}else{const d=r.substring(s).search(/\d/);d!==-1&&(h=s+d)}else h=r.length;n.push({...l,value:r.substring(s,s+h)}),s+=h}while(o);return n}function Ke(r,e){let t;const i=(e==null?void 0:e.withZeroPadding)??!1;switch(r){case w.dateTime:case w.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case w.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case w.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case w.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case w.dateEuro:t="DD/MM/YYYY";break;case w.dateEuroShort:t=i?"DD/MM/YY":"D/M/YY";break;case w.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case w.dateTimeShortEuro:t=i?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case w.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case w.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case w.dateTimeEuroShort:t=i?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case w.dateTimeEuroShortAmPm:t=i?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case w.dateTimeEuroShortAM_PM:t=i?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case w.dateUs:t="MM/DD/YYYY";break;case w.dateUsShort:t=i?"MM/DD/YY":"M/D/YY";break;case w.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case w.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case w.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case w.dateTimeUsShort:t=i?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case w.dateTimeUsShortAmPm:t=i?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case w.dateTimeUsShortAM_PM:t=i?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case w.dateTimeShortUs:t=i?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case w.dateUtc:t="ISO8601";break;case w.date:case w.dateIso:default:t=e!=null&&e.withDefaultIso8601?"ISO8601":"YYYY-MM-DD";break}return t}function vt(r,e,t){const i=e?Ke(e):void 0,s=Ke(t),n=r instanceof Date?r:bt(r,i);return n&&r!==void 0?t===w.dateUtc?n.toISOString():et(n,s,"en-US"):""}function bt(r,e,t=!1){try{return r?r instanceof Date?r:gs({date:r,format:e,dateOverflow:t?"throw":"backward",locale:"en-US"}):!1}catch{return!1}}function Yh(r){return Bo(r,Fn(r,"utc"))}function $o(r,e,t,i,s){let n=0;if(r===e)n=0;else{let o=bt(r,i,s),l=bt(e,i,s);o||(o=new Date(1001,1,1)),l||(l=new Date(1001,1,1)),n=o.valueOf()-l.valueOf()}return t*n}function ue(r){const e=r===w.date?void 0:Ke(r);return(t,i,s)=>e===void 0?$o(t,i,s,e,!1):$o(t,i,s,e,!0)}const ii={boolean:Ch,date:ue(w.date),dateIso:ue(w.dateIso),dateUtc:ue(w.dateUtc),dateTime:ue(w.dateTime),dateTimeIso:ue(w.dateTimeIso),dateTimeIsoAmPm:ue(w.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(w.dateTimeIsoAM_PM),dateTimeShortIso:ue(w.dateTimeShortIso),dateEuro:ue(w.dateEuro),dateEuroShort:ue(w.dateEuroShort),dateTimeShortEuro:ue(w.dateTimeShortEuro),dateTimeEuro:ue(w.dateTimeEuro),dateTimeEuroAmPm:ue(w.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(w.dateTimeEuroAM_PM),dateTimeEuroShort:ue(w.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(w.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(w.dateTimeEuroShortAM_PM),dateUs:ue(w.dateUs),dateUsShort:ue(w.dateUsShort),dateTimeShortUs:ue(w.dateTimeShortUs),dateTimeUs:ue(w.dateTimeUs),dateTimeUsAmPm:ue(w.dateTimeUsAmPm),dateTimeUsAM_PM:ue(w.dateTimeUsAM_PM),dateTimeUsShort:ue(w.dateTimeUsShort),dateTimeUsShortAmPm:ue(w.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(w.dateTimeUsShortAM_PM),numeric:Ro,objectString:vh,string:xh};function _i(r,e,t,i,s,n){let o=0;if(It(r))o=ue(r).call(this,e,t,i,s,n);else switch(r){case w.boolean:o=ii.boolean(e,t,i,s,n);break;case w.float:case w.integer:case w.number:o=ii.numeric(e,t,i,s,n);break;case w.object:o=ii.objectString(e,t,i,s,n);break;case w.string:case w.text:case w.password:case w.readonly:default:o=ii.string(e,t,i,s,n);break}return o}const qh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:_i},Symbol.toStringTag,{value:"Module"}));var at;(function(r){r.camelCase="camelCase",r.camelCaseWithExtraOnPrefix="camelCaseWithExtraOnPrefix",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(at||(at={}));class Wo{get elementSource(){return this._elementSource}set elementSource(e){this._elementSource=e}get subscribedEvents(){return this._subscribedEvents}get subscribedEventNames(){return this._subscribedEvents.map(e=>e.name)}constructor(e){this._subscribedEvents=[],this.eventNamingStyle=at.camelCase,this._elementSource=e||document.createElement("div")}dispose(){var e;this.unsubscribeAll(),this._subscribedEvents=[],window.clearTimeout(this._timer),(e=this._elementSource)==null||e.remove(),this._elementSource=null}dispatchCustomEvent(e,t,i=!0,s=!0,n){var a;const o={bubbles:i,cancelable:s};t&&(o.detail=t);const l=new CustomEvent(e,o);return typeof n=="function"&&n(l),(a=this._elementSource)==null?void 0:a.dispatchEvent(l)}getEventNameByNamingConvention(e,t){let i="";switch(this.eventNamingStyle===at.lowerCaseWithoutOnPrefix?i=`${t}${e.replace(/^on/,"")}`:this.eventNamingStyle===at.camelCaseWithExtraOnPrefix&&(i=`${t}${e.replace(/^on/,"onOn")}`),this.eventNamingStyle){case at.camelCase:i=t!==""?`${t}${ti(e)}`:e;break;case at.kebabCase:i=t!==""?`${t}-${fi(e)}`:fi(e);break;case at.lowerCase:i=`${t}${e}`.toLowerCase();break}return i}publish(e,t,i,s){const n=this.getEventNameByNamingConvention(e,"");return i?new Promise(o=>{window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>o(this.dispatchCustomEvent(n,t,!0,!0,s)),i)}):this.dispatchCustomEvent(n,t,!0,!0,s)}subscribe(e,t){e=Array.isArray(e)?e:[e];const i=[];return e.forEach(s=>{const n=this.getEventNameByNamingConvention(s,"");this._elementSource.addEventListener(n,o=>t.call(null,o.detail)),this._subscribedEvents.push({name:n,listener:t}),i.push(()=>this.unsubscribe(n,t))}),{unsubscribe:()=>i.forEach(s=>s())}}subscribeEvent(e,t){const i=this.getEventNameByNamingConvention(e,"");return this._elementSource.addEventListener(i,t),this._subscribedEvents.push({name:i,listener:t}),{unsubscribe:()=>this.unsubscribe(i,t)}}unsubscribe(e,t,i=!0){const s=this.getEventNameByNamingConvention(e,"");this._elementSource.removeEventListener(s,t),i&&this.removeSubscribedEventWhenFound(e,t)}unsubscribeAll(e){if(Array.isArray(e)){let t;do t=e.pop(),t!=null&&t.dispose?t.dispose():t!=null&&t.unsubscribe&&t.unsubscribe();while(t)}else{let t=this._subscribedEvents.pop();for(;t;)this.unsubscribe(t.name,t.listener,!1),t=this._subscribedEvents.pop()}}removeSubscribedEventWhenFound(e,t){const i=this._subscribedEvents.findIndex(s=>s.name===e&&s.listener===t);i>=0&&this._subscribedEvents.splice(i,1)}}function _s(r){var e=document,t=r.container||e.createElement("div"),i=r.preventSubmit||0;t.id=t.id||"autocomplete-"+C();var s=t.style,n=r.debounceWaitMs||0,o=r.disableAutoSelect||!1,l=t.parentElement,a=[],h="",d=2,c=r.showOnFocus,u,p=0,m,f=!1,g=!1;if(r.minLength!==void 0&&(d=r.minLength),!r.input)throw new Error("input undefined");var _=r.input;t.className=[t.className,"autocomplete",r.className||""].join(" ").trim(),t.setAttribute("role","listbox"),_.setAttribute("role","combobox"),_.setAttribute("aria-expanded","false"),_.setAttribute("aria-autocomplete","list"),_.setAttribute("aria-controls",t.id),_.setAttribute("aria-owns",t.id),_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-haspopup","listbox"),s.position="absolute";function C(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function b(){var N=t.parentNode;N&&N.removeChild(t)}function S(){m&&window.clearTimeout(m)}function E(){t.parentNode||(l||e.body).appendChild(t)}function y(){return!!t.parentNode}function x(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),b()}function O(){if(!y())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var N=0,se;function Ne(){var je=e.documentElement,rt=je.clientTop||e.body.clientTop||0,ot=je.clientLeft||e.body.clientLeft||0,Fi=window.pageYOffset||je.scrollTop,Ht=window.pageXOffset||je.scrollLeft;se=_.getBoundingClientRect();var Je=se.top+_.offsetHeight+Fi-rt,as=se.left+Ht-ot;s.top=Je+"px",s.left=as+"px",N=window.innerHeight-(se.top+_.offsetHeight),N<0&&(N=0),s.top=Je+"px",s.bottom="",s.left=as+"px",s.maxHeight=N+"px"}Ne(),Ne(),r.customize&&se&&r.customize(_,se,t,N)}function I(){t.textContent="",_.setAttribute("aria-activedescendant","");var N=function(ot,Fi,Ht){var Je=e.createElement("div");return Je.textContent=ot.label||"",Je};r.render&&(N=r.render);var se=function(ot,Fi){var Ht=e.createElement("div");return Ht.textContent=ot,Ht};r.renderGroup&&(se=r.renderGroup);var Ne=e.createDocumentFragment(),je=C();if(a.forEach(function(ot,Fi){if(ot.group&&ot.group!==je){je=ot.group;var Ht=se(ot.group,h);Ht&&(Ht.className+=" group",Ne.appendChild(Ht))}var Je=N(ot,h,Fi);Je&&(Je.id=t.id+"_"+Fi,Je.setAttribute("role","option"),Je.addEventListener("click",function(as){g=!0;try{r.onSelect(ot,_)}finally{g=!1}x(),as.preventDefault(),as.stopPropagation()}),ot===u&&(Je.className+=" selected",Je.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",Je.id)),Ne.appendChild(Je))}),t.appendChild(Ne),a.length<1)if(r.emptyMsg){var rt=e.createElement("div");rt.id=t.id+"_"+C(),rt.className="empty",rt.textContent=r.emptyMsg,t.appendChild(rt),_.setAttribute("aria-activedescendant",rt.id)}else{x();return}E(),O(),W()}function A(){y()&&I()}function D(){A()}function M(N){N.target!==t?A():N.preventDefault()}function L(){g||Le(0)}function W(){var N=t.getElementsByClassName("selected");if(N.length>0){var se=N[0],Ne=se.previousElementSibling;if(Ne&&Ne.className.indexOf("group")!==-1&&!Ne.previousElementSibling&&(se=Ne),se.offsetTop<t.scrollTop)t.scrollTop=se.offsetTop;else{var je=se.offsetTop+se.offsetHeight,rt=t.scrollTop+t.offsetHeight;je>rt&&(t.scrollTop+=je-rt)}}}function K(){var N=a.indexOf(u);u=N===-1?void 0:a[(N+a.length-1)%a.length],X(N)}function J(){var N=a.indexOf(u);u=a.length<1?void 0:N===-1?a[0]:a[(N+1)%a.length],X(N)}function X(N){a.length>0&&(ze(N),ie(a.indexOf(u)),W())}function ie(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.add("selected"),se.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",se.id))}function ze(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.remove("selected"),se.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function nt(N,se){var Ne=y();if(se==="Escape")x();else{if(!Ne||a.length<1)return;se==="ArrowUp"?K():J()}N.preventDefault(),Ne&&N.stopPropagation()}function fe(N){if(u){i===2&&N.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}x()}i===1&&N.preventDefault()}function xe(N){var se=N.key;switch(se){case"ArrowUp":case"ArrowDown":case"Escape":nt(N,se);break;case"Enter":fe(N);break}}function qe(){c&&Le(1)}function Le(N){_.value.length>=d||N===1?(S(),m=window.setTimeout(function(){return ke(_.value,N,_.selectionStart||0)},N===0||N===2?n:0)):x()}function ke(N,se,Ne){if(!f){var je=++p;r.fetch(N,function(rt){p===je&&rt&&(a=rt,h=N,u=a.length<1||o?void 0:a[0],I())},se,Ne)}}function Q(N){if(r.keyup){r.keyup({event:N,fetch:function(){return Le(0)}});return}!y()&&N.key==="ArrowDown"&&Le(0)}function ce(N){r.click&&r.click({event:N,fetch:function(){return Le(2)}})}function ct(){setTimeout(function(){e.activeElement!==_&&x()},200)}function hi(){ke(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(N){N.stopPropagation(),N.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),b();function Nt(){_.removeEventListener("focus",qe),_.removeEventListener("keyup",Q),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",L),_.removeEventListener("blur",ct),window.removeEventListener("resize",D),e.removeEventListener("scroll",M,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),S(),x(),f=!0}return _.addEventListener("keyup",Q),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",L),_.addEventListener("blur",ct),_.addEventListener("focus",qe),window.addEventListener("resize",D),e.addEventListener("scroll",M,!0),{destroy:Nt,fetch:hi}}class Cs{constructor(e){this._value=null,this._boundedEventWithListeners=[],this._elementBindings=[],this._binding=e,this._property=e.property||"",this._elementBindings=[],e.property&&e.variable&&(e.variable.hasOwnProperty(e.property)||e.property in e.variable)?this._value=e.variable[e.property]:this._value=e.variable,typeof e.variable=="object"&&Object.defineProperty(e.variable,e.property,{get:this.valueGetter.bind(this),set:this.valueSetter.bind(this)})}get boundedEventWithListeners(){return this._boundedEventWithListeners}get elementBindings(){return this._elementBindings}get property(){return this._property}dispose(){this.unbindAll(),this._boundedEventWithListeners=[],this._elementBindings=[]}valueGetter(){return this._value}valueSetter(e){if(this._value=e,Array.isArray(this._elementBindings))for(const t of this._elementBindings)t!=null&&t.element&&(t!=null&&t.attribute)&&(t.element[t.attribute]=e)}bind(e,t,i,s){return e&&e.forEach?e.forEach(n=>this.bindSingleElement(n,t,i,s)):e&&this.bindSingleElement(e,t,i,s),this}unbind(e,t,i,s,n){if(e){e.removeEventListener(t,i,s);const o=this._boundedEventWithListeners.findIndex(l=>l.uid===n);o>=0&&this._boundedEventWithListeners.splice(o,1)}}unbindAll(){let e=this._boundedEventWithListeners.pop();for(;e;){const{element:t,eventName:i,listener:s,uid:n}=e;this.unbind(t,i,s,void 0,n),e=this._boundedEventWithListeners.pop()}this._boundedEventWithListeners=[]}bindSingleElement(e,t,i,s){const n={element:e,attribute:t};if(e){if(i){const o=()=>{let l=e[t];if(this.hasData(l)&&(e==null?void 0:e.type)==="number"&&(l=+l),this.valueSetter(l),(this._binding.variable.hasOwnProperty(this._binding.property)||this._binding.property in this._binding.variable)&&(this._binding.variable[this._binding.property]=this.valueGetter()),typeof s=="function")return s(this.valueGetter())};n.event=i,n.listener=o,e.addEventListener(i,o),this._boundedEventWithListeners.push({element:e,eventName:i,listener:o,uid:this.generateUuidV4()})}this._elementBindings.push(n),e[t]=this._value}}generateUuidV4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}hasData(e){return e!=null&&e!==""}}class Go{constructor(){this._observers=[],this._querySelectorPrefix=""}get querySelectorPrefix(){return this._querySelectorPrefix||""}set querySelectorPrefix(e){this._querySelectorPrefix=e}get observers(){return this._observers}dispose(){let e=this._observers.pop();for(;e;)e.dispose(),e=this._observers.pop();this._observers=[]}addElementBinding(e,t,i,s,n,o){const l=document.querySelectorAll(`${this.querySelectorPrefix}${i}`);let a=this._observers.find(h=>h.property===e);a||(a=new Cs({variable:e,property:t})),Array.isArray(n)?n.forEach(h=>a==null?void 0:a.bind(l,s,h,o)):a==null||a.bind(l,s,n,o),this._observers.push(a)}bindEventHandler(e,t,i,s){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(o=>{o!=null&&o.addEventListener&&o.addEventListener(t,i,s)})}setElementAttributeValue(e,t,i){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(n=>{n.textContent="",n&&t in n&&(n[t]=i)})}}class Pe{constructor(){this._boundedEvents=[]}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(e,t,i,s,n=""){const o=Array.isArray(t)?t:[t];if(e!=null&&e.forEach)e.forEach(l=>{for(const a of o)l.addEventListener(a,i,s),this._boundedEvents.push({element:l,eventName:a,listener:i,groupName:n})});else if(e)for(const l of o)e.addEventListener(l,i,s),this._boundedEvents.push({element:e,eventName:l,listener:i,groupName:n})}unbind(e,t,i){const s=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t];for(const o of n)for(const l of s)typeof(l==null?void 0:l.removeEventListener)=="function"&&l.removeEventListener(o,i)}unbindByEventName(e,t){const i=this._boundedEvents.find(s=>s.element===e&&s.eventName===t);i&&this.unbind(i.element,i.eventName,i.listener)}unbindAll(e){if(e){const t=Array.isArray(e)?e:[e];for(let i=this._boundedEvents.length-1;i>=0;--i){const s=this._boundedEvents[i];if(t.some(n=>n===s.groupName)){const{element:n,eventName:o,listener:l}=s;this.unbind(n,o,l),this._boundedEvents.splice(i,1)}}}else for(;this._boundedEvents.length>0;){const t=this._boundedEvents.pop(),{element:i,eventName:s,listener:n}=t;this.unbind(i,s,n)}}}var Uo=Object.prototype.hasOwnProperty;function pt(r,e){var t,i;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((i=r.length)===e.length)for(;i--&&pt(r[i],e[i]););return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(Uo.call(r,t)&&++i&&!Uo.call(e,t)||!(t in e)||!pt(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}function jo(r,e){const t=e.fetch;t&&(e.fetch=(i,s,n,o)=>{r.classList.add("slick-autocomplete-loading");const l=s;t(i,h=>{l(h),r.classList.remove("slick-autocomplete-loading")},n,o)})}function Mn(r){const e=new Date;r.settings.selected={dates:[],month:e.getMonth(),year:e.getFullYear()};const t=r.HTMLInputElement;t&&(t.value=""),r.update({dates:!0,month:!0,year:!0,time:!0})}function Gi(r,e,t,i){var h,d;const{oldVal:s,newVal:n,columnDef:o,selectedSettings:l,updatePickerUI:a}=i;if(s!==n){const c=r.type||o.type,u=o.outputType||r.type||o.type||w.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Ke(w.dateIso),g=c?Ke(c):void 0;for(const C of p){const b=C instanceof Date?C:bt(C,g);b&&m.push(b)}const _=l??{dates:[m.map(C=>et(C,f)).join(":")],month:(h=m[0])==null?void 0:h.getMonth(),year:(d=m[0])==null?void 0:d.getFullYear(),time:g==="ISO8601"||(g||"").toLowerCase().includes("h")?et(m[0],"HH:mm"):void 0};pt(t.settings.selected,_)||(t.settings.selected=_,a&&(t!=null&&t.update)&&t.update({dates:!0,month:!0,year:!0,time:!0})),e.value=p.length?m.map(C=>vt(C,void 0,u)).join(" — "):""}}function Ln(r,e){const t=v("select",{className:"form-control"});for(const i of r){const s=document.createElement("option");s.value=i.operator,e.applyHtmlCode(s,`${fo(i.operatorAlt||i.operator,3)}${i.descAlt||i.desc}`),t.appendChild(s)}return t}function Kh(r,e,t){const i=(e==null?void 0:e.filter)??{},s=(i==null?void 0:i.collectionOptions)??{};if(s&&s.collectionInsideObjectProperty){const n=s.collectionInsideObjectProperty;r=Ee(r,n)}if(!Array.isArray(r))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');i.collection=r,t(r)}async function Yo(r,e,t,i,s){const n=(e==null?void 0:e.filter)??{},o=(n==null?void 0:n.collectionOptions)??{};let l=null;if(r){const a=(i==null?void 0:i.isObservable(r))??!1;a&&i&&(l=await oo(i,r));const h=await r;if(Array.isArray(h)?l=h:(h==null?void 0:h.status)>=200&&h.status<300&&typeof h.json=="function"?l=await h.json():h&&h.content&&(l=h.content),!Array.isArray(l)&&(o!=null&&o.collectionInsideObjectProperty)){const d=l||h,c=o.collectionInsideObjectProperty;l=Ee(d,c||"")}if(!Array.isArray(l))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');n.collection=l,t(l),a&&Xh(e,t,i,s)}return l}function Xh(r,e,t,i){const s=(r==null?void 0:r.filter)??{},n=t==null?void 0:t.createSubject();s.collectionAsync=n,i&&n&&i.push(n.subscribe(o=>Kh(o,r,e)))}function ht(r,e,t,i,s){if(i!=null&&i.enableTranslate&&(s!=null&&s.translate)){const o=lt(i);return s.translate(`${o}${r}`)}const n=i.locales||R.locales;return(n==null?void 0:n[e])??t}function Qh(r,e){return[{operator:"",desc:ht("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:ht("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:ht("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:ht("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:ht("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Nn(r,e){return[{operator:"",desc:""},{operator:"=",desc:ht("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:ht("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:ht("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:ht("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:ht("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)}]}function Hn(r,e,t){if(r.compoundOperatorAltTexts){for(const i of e)if(r.compoundOperatorAltTexts.hasOwnProperty(t)){const s=r.compoundOperatorAltTexts[t][i.operator];i.operatorAlt=(s==null?void 0:s.operatorAlt)||"",i.descAlt=(s==null?void 0:s.descAlt)||""}}}class le{get defaultPrevented(){return this._isDefaultPrevented}constructor(e,t){this.event=e,this.args=t,this._isPropagationStopped=!1,this._isImmediatePropagationStopped=!1,this._isDefaultPrevented=!1,this.returnValue=void 0,this.nativeEvent=e,this._arguments=t,e&&["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","target","type","which","x","y"].forEach(i=>this[i]=e[i]),this._eventTarget=this.nativeEvent?this.nativeEvent.target:void 0}stopPropagation(){var e;this._isPropagationStopped=!0,(e=this.nativeEvent)==null||e.stopPropagation()}isPropagationStopped(){return this._isPropagationStopped}stopImmediatePropagation(){this._isImmediatePropagationStopped=!0,this.nativeEvent&&this.nativeEvent.stopImmediatePropagation()}isImmediatePropagationStopped(){return this._isImmediatePropagationStopped}getNativeEvent(){return this.nativeEvent}preventDefault(){this.nativeEvent&&this.nativeEvent.preventDefault(),this._isDefaultPrevented=!0}isDefaultPrevented(){return this.nativeEvent?this.nativeEvent.defaultPrevented:this._isDefaultPrevented}addReturnValue(e){this.returnValue===void 0&&e!==void 0&&(this.returnValue=e)}getReturnValue(){return this.returnValue}getArguments(){return this._arguments}resetReturnValue(){this.returnValue=void 0}}class P{get subscriberCount(){return this._handlers.length}constructor(e,t){this.eventName=e,this.pubSub=t,this._handlers=[],this._pubSubService=t}subscribe(e){this._handlers.push(e)}unsubscribe(e){for(let t=this._handlers.length-1;t>=0;t--)this._handlers[t]===e&&this._handlers.splice(t,1)}notify(e,t,i,s=!1){var o;const n=t instanceof le?t:new le(t,e);s&&n.resetReturnValue(),i=i||this;for(let l=0;l<this._handlers.length&&!(n.isPropagationStopped()||n.isImmediatePropagationStopped());l++){const a=this._handlers[l].call(i,n,e);n.addReturnValue(a)}if(typeof((o=this._pubSubService)==null?void 0:o.publish)=="function"&&this.eventName){const l=this._pubSubService.publish(this.eventName,{args:e,eventData:n},void 0,a=>n.nativeEvent??(n.nativeEvent=a));n.addReturnValue(l)}return n}setPubSubService(e){this._pubSubService=e}}class pe{constructor(){this.handlers=[]}get subscriberCount(){return this.handlers.length}subscribe(e,t){return this.handlers.push({event:e,handler:t}),e.subscribe(t),this}unsubscribe(e,t){let i=this.handlers.length;for(;i--;)if(this.handlers[i].event===e&&this.handlers[i].handler===t){this.handlers.splice(i,1),e.unsubscribe(t);return}return this}unsubscribeAll(){let e=this.handlers.length;for(;e--;)this.handlers[e].event.unsubscribe(this.handlers[e].handler);return this.handlers=[],this}}class tt{constructor(e,t,i,s){i===void 0&&s===void 0&&(i=e,s=t),this.fromRow=Math.min(e,i),this.fromCell=Math.min(t,s),this.toRow=Math.max(e,i),this.toCell=Math.max(t,s)}isSingleCell(){return this.fromRow===this.toRow&&this.fromCell===this.toCell}isSingleRow(){return this.fromRow===this.toRow}contains(e,t){return e>=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell}toString(){return this.isSingleCell()?`(${this.fromRow}:${this.fromCell})`:`(${this.fromRow}:${this.fromCell} - ${this.toRow}:${this.toCell})`}}class qo{constructor(){this.__nonDataRow=!0}}class vs extends qo{constructor(){super(),this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=""}equals(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title}}class Zh extends qo{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class Jh{constructor(){this.activeEditController=null}isActive(e){return e?this.activeEditController===e:this.activeEditController!==null}activate(e){if(e!==this.activeEditController){if(this.activeEditController!==null)throw new Error("SlickEditorLock.activate: an editController is still active, can't activate another editController");if(!e.commitCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .commitCurrentEdit()");if(!e.cancelCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .cancelCurrentEdit()");this.activeEditController=e}}deactivate(e){if(this.activeEditController){if(this.activeEditController!==e)throw new Error("SlickEditorLock.deactivate: specified editController is not the currently active one");this.activeEditController=null}}commitCurrentEdit(){return this.activeEditController?this.activeEditController.commitCurrentEdit():!0}cancelCurrentEdit(){return this.activeEditController?this.activeEditController.cancelCurrentEdit():!0}}class T{static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;T.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;T.setStyleSize(e,"width",t)}}static setStyleSize(e,t,i){typeof i=="function"&&(i=i()),e.style[t]=typeof i=="string"?i:`${i}px`}static isHidden(e){return e.offsetWidth===0&&e.offsetHeight===0}static parents(e,t){const i=[],s=t===":visible",n=t===":hidden";for(;(e=e.parentNode)&&e!==document&&!(!e||!e.parentNode);)n?T.isHidden(e)&&i.push(e):s?T.isHidden(e)||i.push(e):(!t||e.matches(t))&&i.push(e);return i}static toFloat(e){const t=parseFloat(e);return isNaN(t)?0:t}static show(e,t=""){Array.isArray(e)?e.forEach(i=>i.style.display=t):e.style.display=t}static hide(e){Array.isArray(e)?e.forEach(t=>t.style.display="none"):e.style.display="none"}static applyDefaults(e,t){typeof t=="object"&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])})}static addSlickEventPubSubWhenDefined(e,t){if(e)for(const i in t)t[i]instanceof P&&typeof t[i].setPubSubService=="function"&&t[i].setPubSubService(e)}}T.storage={_storage:new WeakMap,put:function(r,e,t){this._storage.has(r)||this._storage.set(r,new Map),this._storage.get(r).set(e,t)},get:function(r,e){const t=this._storage.get(r);return t?t.get(e):null},remove:function(r,e){const t=this._storage.get(r).delete(e);return this._storage.get(r).size!==0&&this._storage.delete(r),t}};const Ui=new Jh,ed="slick-edit-preclick";class Ko{constructor(e){this.pluginName="GroupItemMetadataProvider",this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new pe,this._options=de(!0,{},this._defaults,e)}get eventHandler(){return this._eventHandler}get dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}init(e,t){this._grid=e,this._options={...this._defaults,...t},this._eventHandler.subscribe(e.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(e.onKeyDown,this.handleGridKeyDown.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}getOptions(){return this._options}setOptions(e){this._options={...this._options,...e}}getGroupRowMetadata(e,t){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(e==null?void 0:e.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter||void 0,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editorClass:null}}}}getTotalsRowMetadata(e,t){var i;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((i=e==null?void 0:e.group)==null?void 0:i.level)||0}`,formatter:this._options.totalsFormatter,editorClass:null}}defaultGroupCellFormatter(e,t,i,s,n){var u,p;if(!this._options.enableExpandCollapse)return n.title;const o=n.level||0,l=((u=this._options)==null?void 0:u.indentation)??15,a=`${o*l}px`,h=n.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass,d=(p=this.gridOptions)!=null&&p.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;d.appendChild(v("span",{className:`${this._options.toggleCssClass} ${h}`,ariaExpanded:String(!n.collapsed),style:{marginLeft:a}}));const c=v("span",{className:this._options.groupTitleCssClass||""});return c.setAttribute("level",o),n.title instanceof HTMLElement||n.title instanceof DocumentFragment?c.appendChild(n.title):this._grid.applyHtmlCode(c,n.title??""),d.appendChild(c),d}defaultTotalsCellFormatter(e,t,i,s,n,o){var l;return((l=s==null?void 0:s.groupTotalsFormatter)==null?void 0:l.call(s,n,s,o))??""}handleGridClick(e,t){var n;const i=e.target,s=(n=this._grid)==null?void 0:n.getDataItem(t.row);s instanceof vs&&i.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}handleGridKeyDown(e){var t;if(this._options.enableExpandCollapse&&e.key===" "){const i=(t=this._grid)==null?void 0:t.getActiveCell();if(i){const s=this._grid.getDataItem(i.row);s instanceof vs&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}}}handleDataViewExpandOrCollapse(e){var i;const t=(i=this._grid)==null?void 0:i.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),e.collapsed?this.dataView.expandGroup(e.groupingKey):this.dataView.collapseGroup(e.groupingKey)}}class td{constructor(e,t){this.externalPubSub=t,this.defaults={globalItemMetadataProvider:null,groupItemMetadataProvider:null,inlineFilters:!1,useCSPSafeFilter:!1},this.idProperty="id",this.items=[],this.rows=[],this.idxById=new Map,this.rowsById=void 0,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.suspend=!1,this.isBulkSuspend=!1,this.bulkDeleteIds=new Map,this.sortAsc=!0,this.refreshHints={},this.prevRefreshHints={},this.filteredItems=[],this.filterCache=[],this.groupingInfoDefaults={getter:void 0,formatter:void 0,comparer:(i,s)=>i.value===s.value?0:i.value>s.value?1:-1,predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},this.groupingInfos=[],this.groups=[],this.toggledGroupsByLevel=[],this.groupingDelimiter=":|:",this.selectedRowIds=[],this.pagesize=0,this.pagenum=0,this.totalRows=0,this.onBeforePagingInfoChanged=new P("onBeforePagingInfoChanged",t),this.onGroupExpanded=new P("onGroupExpanded",t),this.onGroupCollapsed=new P("onGroupCollapsed",t),this.onPagingInfoChanged=new P("onPagingInfoChanged",t),this.onRowCountChanged=new P("onRowCountChanged",t),this.onRowsChanged=new P("onRowsChanged",t),this.onRowsOrCountChanged=new P("onRowsOrCountChanged",t),this.onSelectedRowIdsChanged=new P("onSelectedRowIdsChanged",t),this.onSetItemsCalled=new P("onSetItemsCalled",t),this._options=de(!0,{},this.defaults,e)}beginUpdate(e){this.suspend=!0,this.isBulkSuspend=e===!0}endUpdate(){const e=this.isBulkSuspend;this.isBulkSuspend=!1,this.suspend=!1,e&&(this.processBulkDelete(),this.ensureIdUniqueness()),this.refresh()}destroy(){var e,t,i;this.items=[],this.idProperty="id",this.idxById=null,this.rowsById=null,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.sortComparer=null,this.filterCache=[],this.filteredItems=[],this.compiledFilter=null,this.compiledFilterCSPSafe=null,this.compiledFilterWithCaching=null,this.compiledFilterWithCachingCSPSafe=null,this._grid&&((e=this._grid.onSelectedRowsChanged)==null||e.unsubscribe(),(t=this._grid.onCellCssStylesChanged)==null||t.unsubscribe()),(i=this.onRowsOrCountChanged)==null||i.unsubscribe()}setRefreshHints(e){this.refreshHints=e}getFilterArgs(){return this.filterArgs}setFilterArgs(e){this.filterArgs=e}processBulkDelete(){if(!this.idxById)return;let e,t,i=0;for(let s=0,n=this.items.length;s<n;s++){if(t=this.items[s],e=t[this.idProperty],e===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.bulkDeleteIds.has(e)?this.idxById.delete(e):(this.items[i]=t,this.idxById.set(e,i),++i)}this.items.length=i,this.bulkDeleteIds=new Map}updateIdxById(e){if(this.isBulkSuspend||!this.idxById)return;e=e||0;let t;for(let i=e,s=this.items.length;i<s;i++){if(t=this.items[i][this.idProperty],t===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.idxById.set(t,i)}}ensureIdUniqueness(){if(this.isBulkSuspend||!this.idxById)return;let e;for(let t=0,i=this.items.length;t<i;t++)if(e=this.items[t][this.idProperty],e===void 0||this.idxById.get(e)!==t)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property")}getItems(){return this.items}getIdPropertyName(){return this.idProperty}setItems(e,t){t!==void 0&&(this.idProperty=t),this.items=this.filteredItems=e,this.onSetItemsCalled.notify({idProperty:this.idProperty,itemCount:this.items.length},null,this),this.idxById=new Map,this.updateIdxById(),this.ensureIdUniqueness(),this.refresh()}setPagingOptions(e){this.onBeforePagingInfoChanged.notify(this.getPagingInfo(),null,this).getReturnValue()!==!1&&(q(e.pageSize)&&(this.pagesize=e.pageSize,this.pagenum=this.pagesize?Math.min(this.pagenum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1)):0),q(e.pageNum)&&(this.pagenum=Math.min(e.pageNum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1))),this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),this.refresh())}getPagingInfo(){const e=this.pagesize?Math.max(1,Math.ceil(this.totalRows/this.pagesize)):1;return{pageSize:this.pagesize,pageNum:this.pagenum,totalRows:this.totalRows,totalPages:e,dataView:this}}sort(e,t){this.sortAsc=t,this.sortComparer=e,t===!1&&this.items.reverse(),this.items.sort(e),t===!1&&this.items.reverse(),this.idxById=new Map,this.updateIdxById(),this.refresh()}reSort(){this.sortComparer&&this.sort(this.sortComparer,this.sortAsc)}getFilteredItems(){return this.filteredItems}getFilteredItemCount(){return this.filteredItems.length}getFilter(){return this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter}setFilter(e){this.filterCSPSafe=e,this.filter=e,this._options.inlineFilters&&(this.compiledFilterCSPSafe=this.compileFilterCSPSafe,this.compiledFilterWithCachingCSPSafe=this.compileFilterWithCachingCSPSafe,this.compiledFilter=this.compileFilter(this._options.useCSPSafeFilter),this.compiledFilterWithCaching=this.compileFilterWithCaching(this._options.useCSPSafeFilter)),this.refresh()}getGrouping(){return this.groupingInfos}setGrouping(e){this._options.groupItemMetadataProvider||(this._options.groupItemMetadataProvider=new Ko),this.groups=[],this.toggledGroupsByLevel=[],e=e||[],this.groupingInfos=e instanceof Array?e:[e];for(let t=0;t<this.groupingInfos.length;t++){const i=this.groupingInfos[t]=de(!0,{},this.groupingInfoDefaults,this.groupingInfos[t]);i.getterIsAFn=typeof i.getter=="function",i.compiledAccumulators=[];let s=i.aggregators.length;for(;s--;)i.compiledAccumulators[s]=this.compileAccumulatorLoopCSPSafe(i.aggregators[s]);this.toggledGroupsByLevel[t]={}}this.refresh()}getItemByIdx(e){return this.items[e]}getIdxById(e){var t;return(t=this.idxById)==null?void 0:t.get(e)}ensureRowsByIdCache(){if(!this.rowsById){this.rowsById={};for(let e=0,t=this.rows.length;e<t;e++)this.rowsById[this.rows[e][this.idProperty]]=e}}getRowByItem(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e[this.idProperty]]}getRowById(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e]}getItemById(e){return this.items[this.idxById.get(e)]}mapItemsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s][this.idProperty]];q(o)&&(t[t.length]=o)}return t}mapIdsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s]];q(o)&&(t[t.length]=o)}return t}mapRowsToIds(e){const t=[];for(let i=0,s=e.length;i<s;i++)if(e[i]<this.rows.length){const n=this.rows[e[i]];t[t.length]=n[this.idProperty]}return t}updateSingleItem(e,t){var i;if(this.idxById){if(!this.idxById.has(e))throw new Error("[SlickGrid DataView] Invalid id");if(e!==t[this.idProperty]){const s=t[this.idProperty];if(!q(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a null id");if(this.idxById.has(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a non-unique id");this.idxById.set(s,this.idxById.get(e)),this.idxById.delete(e),(i=this.updated)!=null&&i[e]&&delete this.updated[e],e=s}this.items[this.idxById.get(e)]=t,this.updated||(this.updated={}),this.updated[e]=!0}}updateItem(e,t){this.updateSingleItem(e,t),this.refresh()}updateItems(e,t){if(e.length!==t.length)throw new Error("[SlickGrid DataView] Mismatch on the length of ids and items provided to update");for(let i=0,s=t.length;i<s;i++)this.updateSingleItem(e[i],t[i]);this.refresh()}insertItem(e,t){this.items.splice(e,0,t),this.updateIdxById(e),this.refresh()}insertItems(e,t){Array.prototype.splice.apply(this.items,[e,0].concat(t)),this.updateIdxById(e),this.refresh()}addItem(e){this.items.push(e),this.updateIdxById(this.items.length-1),this.refresh()}addItems(e){this.items=this.items.concat(e),this.updateIdxById(this.items.length-e.length),this.refresh()}deleteItem(e){if(this.idxById)if(this.isBulkSuspend)this.bulkDeleteIds.set(e,!0);else{const t=this.idxById.get(e);if(t===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(e),this.items.splice(t,1),this.updateIdxById(t),this.refresh()}}deleteItems(e){if(!(e.length===0||!this.idxById))if(this.isBulkSuspend)for(let t=0,i=e.length;t<i;t++){const s=e[t];if(this.idxById.get(s)===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.bulkDeleteIds.set(s,!0)}else{const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i],o=this.idxById.get(n);if(o===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(n),t.push(o)}t.sort();for(let i=t.length-1;i>=0;--i)this.items.splice(t[i],1);this.updateIdxById(t[0]),this.refresh()}}sortedAddItem(e){if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedAddItem() requires a sort comparer, use sort()");this.insertItem(this.sortedIndex(e),e)}sortedUpdateItem(e,t){if(!this.idxById)return;if(!this.idxById.has(e)||e!==t[this.idProperty])throw new Error(`[SlickGrid DataView] Invalid or non-matching id ${e}`);if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedUpdateItem() requires a sort comparer, use sort()");const i=this.getItemById(e);this.sortComparer(i,t)!==0?(this.deleteItem(e),this.sortedAddItem(t)):this.updateItem(e,t)}sortedIndex(e){let t=0,i=this.items.length;for(;t<i;){const s=t+i>>>1;this.sortComparer(this.items[s],e)===-1?t=s+1:i=s}return t}getItemCount(){return this.items.length}getLength(){return this.rows.length}getItem(e){var i;const t=this.rows[e];if(t!=null&&t.__group&&t.totals&&!((i=t.totals)!=null&&i.initialized)){const s=this.groupingInfos[t.level];s.displayTotalsRow||(this.calculateTotals(t.totals),t.title=s.formatter?s.formatter(t):t.value)}else t!=null&&t.__groupTotals&&!t.initialized&&this.calculateTotals(t);return t}getItemMetadata(e){var i,s,n;const t=this.rows[e];return t===void 0?null:(i=this._options.globalItemMetadataProvider)!=null&&i.getRowMetadata?this._options.globalItemMetadataProvider.getRowMetadata(t,e):t.__group&&((s=this._options.groupItemMetadataProvider)!=null&&s.getGroupRowMetadata)?this._options.groupItemMetadataProvider.getGroupRowMetadata(t,e):t.__groupTotals&&((n=this._options.groupItemMetadataProvider)!=null&&n.getTotalsRowMetadata)?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t,e):null}expandCollapseAllGroups(e,t){if(q(e))this.toggledGroupsByLevel[e]={},this.groupingInfos[e].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:e,groupingKey:null}):this.onGroupExpanded.notify({level:e,groupingKey:null});else for(let i=0;i<this.groupingInfos.length;i++)this.toggledGroupsByLevel[i]={},this.groupingInfos[i].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:i,groupingKey:null}):this.onGroupExpanded.notify({level:i,groupingKey:null});this.refresh()}collapseAllGroups(e){this.expandCollapseAllGroups(e,!0)}expandAllGroups(e){this.expandCollapseAllGroups(e,!1)}expandCollapseGroup(e,t,i){this.toggledGroupsByLevel[e]&&(this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed^i),this.refresh()}collapseGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(s=i,n=i.split(this.groupingDelimiter).length-1):(s=e.join(this.groupingDelimiter),n=e.length-1),this.expandCollapseGroup(n,s,!0),this.onGroupCollapsed.notify({level:n,groupingKey:s})}expandGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(n=i.split(this.groupingDelimiter).length-1,s=i):(n=e.length-1,s=e.join(this.groupingDelimiter)),this.expandCollapseGroup(n,s,!1),this.onGroupExpanded.notify({level:n,groupingKey:s})}getGroups(){return this.groups}extractGroups(e,t){var d,c;let i,s;const n=[],o={};let l;const a=t?t.level+1:0,h=this.groupingInfos[a];for(let u=0,p=((d=h.predefinedValues)==null?void 0:d.length)??0;u<p;u++)s=(c=h.predefinedValues)==null?void 0:c[u],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i);for(let u=0,p=e.length;u<p;u++)l=e[u],s=h.getterIsAFn?h.getter(l):l[h.getter],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i),i.rows[i.count++]=l;if(a<this.groupingInfos.length-1)for(let u=0;u<n.length;u++)i=n[u],i.groups=this.extractGroups(i.rows,i);return n.length&&this.addTotals(n,a),n.sort(this.groupingInfos[a].comparer),n}calculateTotals(e){var l;const t=e.group,i=this.groupingInfos[(t==null?void 0:t.level)??0],s=t.level===this.groupingInfos.length;let n,o=i.aggregators.length;if(!s&&i.aggregateChildGroups){let a=((l=t.groups)==null?void 0:l.length)??0;for(;a--;)t.groups[a].totals.initialized||this.calculateTotals(t.groups[a].totals)}for(;o--;)n=i.aggregators[o],n.init(),!s&&i.aggregateChildGroups?i.compiledAccumulators[o].call(n,t.groups):i.compiledAccumulators[o].call(n,t.rows),n.storeResult(e);e.initialized=!0}addGroupTotals(e){const t=this.groupingInfos[e.level],i=new Zh;i.group=e,e.totals=i,t.lazyTotalsCalculation||this.calculateTotals(i)}addTotals(e,t){var a,h;t=t||0;const i=this.groupingInfos[t],s=i.collapsed,n=this.toggledGroupsByLevel[t];let o=e.length,l;for(;o--;)l=e[o],!(l.collapsed&&!i.aggregateCollapsed)&&(l.groups&&this.addTotals(l.groups,t+1),(a=i.aggregators)!=null&&a.length&&(i.aggregateEmpty||l.rows.length||(h=l.groups)!=null&&h.length)&&this.addGroupTotals(l),l.collapsed=s^n[l.groupingKey],l.title=i.formatter?i.formatter(l):l.value)}flattenGroupedRows(e,t){t=t||0;const i=this.groupingInfos[t],s=[];let n,o=0,l;for(let a=0,h=e.length;a<h;a++){if(l=e[a],s[o++]=l,!l.collapsed){n=l.groups?this.flattenGroupedRows(l.groups,t+1):l.rows;for(let d=0,c=n.length;d<c;d++)s[o++]=n[d]}l.totals&&i.displayTotalsRow&&(!l.collapsed||i.aggregateCollapsed)&&(s[o++]=l.totals)}return s}compileAccumulatorLoopCSPSafe(e){return e.accumulate?function(t){let i;if(Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];i=e.accumulate.call(e,n)}return i}:function(){}}compileFilterCSPSafe(e,t){if(typeof this.filterCSPSafe!="function")return[];const i=[],s=e.length;for(let n=0;n<s;n++)this.filterCSPSafe(e[n],t)&&i.push(e[n]);return i}compileFilter(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args",o),a="compiledFilter";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCaching(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args,_cache",o),a="compiledFilterWithCaching";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCachingCSPSafe(e,t,i){if(typeof this.filterCSPSafe!="function")return[];const s=[],n=e.length;for(let o=0;o<n;o++)(i[o]||this.filterCSPSafe(e[o],t))&&s.push(e[o]);return s}setFunctionName(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch{e.name=t}}uncompiledFilter(e,t){var n;const i=[];let s=0;for(let o=0,l=e.length;o<l;o++)(n=this.filter)!=null&&n.call(this,e[o],t)&&(i[s++]=e[o]);return i}uncompiledFilterWithCaching(e,t,i){var l;const s=[];let n=0,o;for(let a=0,h=e.length;a<h;a++)o=e[a],i[a]?s[n++]=o:(l=this.filter)!=null&&l.call(this,o,t)&&(s[n++]=o,i[a]=!0);return s}getFilteredAndPagedItems(e){if(this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter){let i,s;this._options.useCSPSafeFilter?(i=this._options.inlineFilters?this.compiledFilterCSPSafe:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCachingCSPSafe:this.uncompiledFilterWithCaching):(i=this._options.inlineFilters?this.compiledFilter:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCaching:this.uncompiledFilterWithCaching),this.refreshHints.isFilterNarrowing?this.filteredItems=i.call(this,this.filteredItems,this.filterArgs):this.refreshHints.isFilterExpanding?this.filteredItems=s.call(this,e,this.filterArgs,this.filterCache):this.refreshHints.isFilterUnchanged||(this.filteredItems=i.call(this,e,this.filterArgs))}else this.filteredItems=this.pagesize?e:e.concat();let t;return this.pagesize?(this.filteredItems.length<=this.pagenum*this.pagesize&&(this.filteredItems.length===0?this.pagenum=0:this.pagenum=Math.floor((this.filteredItems.length-1)/this.pagesize)),t=this.filteredItems.slice(this.pagesize*this.pagenum,this.pagesize*this.pagenum+this.pagesize)):t=this.filteredItems,{totalRows:this.filteredItems.length,rows:t}}getRowDiffs(e,t){var h,d,c;let i,s,n;const o=[];let l=0,a=Math.max(t.length,e.length);(h=this.refreshHints)!=null&&h.ignoreDiffsBefore&&(l=Math.max(0,Math.min(t.length,this.refreshHints.ignoreDiffsBefore))),(d=this.refreshHints)!=null&&d.ignoreDiffsAfter&&(a=Math.min(t.length,Math.max(0,this.refreshHints.ignoreDiffsAfter)));for(let u=l,p=e.length;u<a;u++)u>=p?o[o.length]=u:(i=t[u],s=e[u],(!i||this.groupingInfos.length&&(n=i.__nonDataRow||s.__nonDataRow)&&i.__group!==s.__group||i.__group&&!i.equals(s)||n&&(i.__groupTotals||s.__groupTotals)||i[this.idProperty]!==s[this.idProperty]||(c=this.updated)!=null&&c[i[this.idProperty]])&&(o[o.length]=u));return o}recalc(e){this.rowsById=void 0,(this.refreshHints.isFilterNarrowing!==this.prevRefreshHints.isFilterNarrowing||this.refreshHints.isFilterExpanding!==this.prevRefreshHints.isFilterExpanding)&&(this.filterCache=[]);const t=this.getFilteredAndPagedItems(e);this.totalRows=t.totalRows;let i=t.rows;this.groups=[],this.groupingInfos.length&&(this.groups=this.extractGroups(i),this.groups.length&&(i=this.flattenGroupedRows(this.groups)));const s=this.getRowDiffs(this.rows,i);return this.rows=i,s}refresh(){if(this.suspend)return;const e=de(!0,{},this.getPagingInfo()),t=this.rows.length,i=this.totalRows;let s=this.recalc(this.items);this.pagesize&&this.totalRows<this.pagenum*this.pagesize&&(this.pagenum=Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1),s=this.recalc(this.items)),this.updated=null,this.prevRefreshHints=this.refreshHints,this.refreshHints={},i!==this.totalRows&&this.onBeforePagingInfoChanged.notify(e,null,this).getReturnValue()!==!1&&this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),t!==this.rows.length&&this.onRowCountChanged.notify({previous:t,current:this.rows.length,itemCount:this.items.length,dataView:this,callingOnRowsChanged:s.length>0},null,this),s.length>0&&this.onRowsChanged.notify({rows:s,itemCount:this.items.length,dataView:this,calledOnRowCountChanged:t!==this.rows.length},null,this),(t!==this.rows.length||s.length>0)&&this.onRowsOrCountChanged.notify({rowsDiff:s,previousRowCount:t,currentRowCount:this.rows.length,itemCount:this.items.length,rowCountChanged:t!==this.rows.length,rowsChanged:s.length>0,dataView:this},null,this)}syncGridSelection(e,t,i){this._grid=e;let s;this.selectedRowIds=this.mapRowsToIds(e.getSelectedRows());const n=e.getOptions(),o=a=>{a===!1?this.selectedRowIds=[]:this.selectedRowIds.sort().join(",")!==a.sort().join(",")&&(this.selectedRowIds=a)},l=()=>{if((this.selectedRowIds||[]).length>0&&!s){s=!0;const a=this.mapIdsToRows(this.selectedRowIds||[]);if(!t){const h={grid:this._grid,ids:this.mapRowsToIds(a),rows:a,dataView:this};this.preSelectedRowIdsChangeFn(h),this.onSelectedRowIdsChanged.notify(Object.assign(h,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}e.setSelectedRows(a),s=!1}};return e.onSelectedRowsChanged.subscribe((a,h)=>{if(!s){const d=this.mapRowsToIds(h.rows),c={grid:this._grid,ids:d,rows:h.rows,added:!0,dataView:this};this.preSelectedRowIdsChangeFn(c),this.onSelectedRowIdsChanged.notify(Object.assign(c,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}}),this.preSelectedRowIdsChangeFn=a=>{var h,d;if(!s){if(s=!0,typeof a.added>"u")o(a.ids);else{let u;if(a.added)i&&n.multiSelect?u=((h=this.selectedRowIds)==null?void 0:h.filter(m=>this.getRowById(m)===void 0)).concat(a.ids):u=a.ids;else if(i&&n.multiSelect){const p=new Set(a.ids);u=(d=this.selectedRowIds)==null?void 0:d.filter(m=>!p.has(m))}else u=[];o(u)}s=!1}},this.onRowsOrCountChanged.subscribe(l.bind(this)),this.onSelectedRowIdsChanged}getAllSelectedIds(){return this.selectedRowIds}getAllSelectedFilteredIds(){return this.getAllSelectedFilteredItems().map(e=>e[this.idProperty])}setSelectedIds(e,t){var a;let i=t==null?void 0:t.isRowBeingAdded;const s=t==null?void 0:t.shouldTriggerEvent,n=t==null?void 0:t.applyRowSelectionToGrid;i!==!1&&(i=!0);const o=this.mapIdsToRows(e),l={grid:this._grid,ids:e,rows:o,added:i,dataView:this};(a=this.preSelectedRowIdsChangeFn)==null||a.call(this,l),s!==!1&&this.onSelectedRowIdsChanged.notify(Object.assign(l,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this),n!==!1&&this._grid&&this._grid.setSelectedRows(o)}getAllSelectedItems(){const e=[];return this.getAllSelectedIds().forEach(i=>{e.push(this.getItemById(i))}),e}getAllSelectedFilteredItems(){if(!Array.isArray(this.selectedRowIds))return[];const e=new Set(this.selectedRowIds);return this.filteredItems.filter(i=>e.has(i[this.idProperty]))||[]}syncGridCellCssStyles(e,t){let i,s;const n=l=>{i={},typeof l=="object"&&Object.keys(l).forEach(a=>{if(l&&this.rows[a]){const h=this.rows[a][this.idProperty];i[h]=l[a]}})};n(e.getCellCssStyles(t));const o=()=>{if(typeof i=="object"){s=!0,this.ensureRowsByIdCache();const l={};Object.keys(i).forEach(a=>{var d;const h=(d=this.rowsById)==null?void 0:d[a];q(h)&&(l[h]=i[a])}),e.setCellCssStyles(t,l),s=!1}};e.onCellCssStylesChanged.subscribe((l,a)=>{s||t!==a.key||(a.hash?n(a.hash):(e.onCellCssStylesChanged.unsubscribe(),this.onRowsOrCountChanged.unsubscribe(o)))}),this.onRowsOrCountChanged.subscribe(o.bind(this))}}/**!
2
+ `:if(p==="<"){u=Wi,g+="< ",p="";break}p+=b;break;default:p+=b;break}else if(u===Io)switch(b){case">":p.slice(-2)==="--"&&(u=Wi),p="";break;default:p+=b;break}}return h.state=u,h.tag_buffer=p,h.depth=m,h.in_quote_char=f,g}function o(a){let h=new Set;if(typeof a=="string"){let d;for(;d=wh.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Th.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const Oh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:bh,addWhiteSpaces:zi,arrayRemoveItemByIndex:En,calculateAvailableSpace:Vi,classNameToList:he,createDomElement:v,deepCopy:Sh,deepMerge:Zt,destroyAllElementProps:Sn,emptyElement:ee,emptyObject:wo,extend:de,findFirstAttribute:Bi,findWidthOrDefault:Pt,getFunctionDetails:wn,getHtmlStringOutput:_t,getInnerSize:us,getOffset:ge,getOffsetRelativeToParent:co,getStyleProp:uo,htmlEncode:po,htmlEncodeWithPadding:fo,htmlEntityDecode:mo,insertAfterElement:go,isDefined:q,isDefinedNumber:Jt,isEmptyObject:Tn,isNumber:U,isObject:Bt,isObjectEmpty:To,isPrimitiveOrHTML:ei,isPrimitiveValue:$i,parseBoolean:ms,removeAccentFromText:mi,setDeepValue:We,stripTags:we,titleCase:ti,toCamelCase:On,toKebabCase:fi,toSentenceCase:Ct,toSnakeCase:yh,uniqueArray:Oo,uniqueObjectArray:Eh,windowScrollPosition:yn},Symbol.toStringTag,{value:"Module"})),xh=(r,e,t=ae.neutral,i,s)=>{let n=0;const o=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;return r===e?n=0:r===null||o&&r===void 0?n=-1:e===null||o&&e===void 0?n=1:(s!=null&&s.ignoreAccentOnStringFilterAndSort&&(r=mi(r,!1),e=mi(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Ro=(r,e,t=ae.neutral,i,s)=>{const n=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1,o=isNaN(r)||r===""||r===null||n&&r===void 0?-1/0:parseFloat(r),l=isNaN(e)||e===""||e===null||n&&e===void 0?-1/0:parseFloat(e);return t*(o===l?0:o>l?1:-1)};var Ao=/^([0-9]{4})-([0-1][0-9])(?:-([0-3][0-9]))?(?:[T ]?([0-2][0-9])(?::([0-5][0-9]))?(?::([0-5][0-9]))?)?(?:\.[0-9]+)?(Z|(?:\+|\-)[0-9]{2}:?[0-9]{2})?$/;function Ih(r){const e=r.match(Ao);if(e){const t=Number(e[2]);if(t<1||t>12)return!1;if(typeof e[3]!==void 0){const i=Number(e[3]);if(i<1||i>31)return!1}if(typeof e[4]!==void 0){const i=Number(e[4]);if(i<0||i>23)return!1}return!0}return!1}function Rh(r){const e=r.match(Ao);return e&&typeof e[4]>"u"?r+="T00:00:00":r}function zt(r){if(r||(r=new Date),r instanceof Date){const e=new Date(r);return e.setMilliseconds(0),e}if(r=r.trim(),Ih(r))return new Date(Rh(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ah(r){const e=zt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function Ph(r){return Ah(r).getDate()}var xn="1999-03-04T02:05:01.000Z",In=new Map,Rn=[["YYYY",{year:"numeric"}],["YY",{year:"2-digit"}],["MMMM",{month:"long"}],["MMM",{month:"short"}],["MM",{month:"2-digit"}],["M",{month:"numeric"}],["DD",{day:"2-digit"}],["D",{day:"numeric"}],["dddd",{weekday:"long"}],["ddd",{weekday:"short"}],["d",{weekday:"narrow"}],["mm",{minute:"2-digit"}],["m",{minute:"numeric"}],["ss",{second:"2-digit"}],["s",{second:"numeric"}],["ZZ",{timeZoneName:"long"}],["Z",{timeZoneName:"short"}]],An=[["HH",{hour:"2-digit"}],["H",{hour:"numeric"}]],Pn=[["hh",{hour:"2-digit"}],["h",{hour:"numeric"}],["a",{dayPeriod:"narrow"}],["A",{dayPeriod:"narrow"}]],fs={DD:2,HH:2,MM:2,YY:2,YYYY:4,hh:2,mm:2,ss:2};function Po(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var kh=["MMMM","MMM","dddd","ddd"],Te=new Map([...Rn,...An,...Pn].map(r=>[r[0],r])),ko=new Map,Fo=["full","long","medium","short"],$t=r=>String(r).padStart(2,"0"),kn=r=>String(r).padStart(2,"0");function kt(r){return r.type==="literal"&&(r.value=r.value.normalize("NFKC")),r}function Fh(r,e,t,i=!1,s=null){const n=Dh(r,e,t,i),o=zt(r);function l({partName:a,partValue:h,token:d}){if(a==="literal")return h;const c=n[a];if(a==="hour"&&d==="H")return c.replace(/^0/,"")||"0";if(["mm","ss","MM"].includes(d)&&c.length===1)return`0${c}`;if(a==="dayPeriod"){const u=gi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Do(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function Dh(r,e,t,i=!1){const s=zt(r),n=e.filter(d=>d.hour12),o=e.filter(d=>!d.hour12),l=[],a=[];function h(d,c=!1){const u=`${t}-u-hc-${c?"h12":"h23"}`;if(l.push(...new Intl.DateTimeFormat(u,d.reduce((p,m)=>m.partName==="literal"?p:(i&&kh.includes(m.token)&&a.push(m),Object.assign(p,m.option)),{timeZone:"UTC"})).formatToParts(s).map(kt)),i&&a.length)for(const p of a){let m=[];switch(p.token){case"MMMM":m=new Intl.DateTimeFormat(u,{dateStyle:"long",timeZone:"UTC"}).formatToParts(s).map(kt);break;case"MMM":m=new Intl.DateTimeFormat(u,{dateStyle:"medium",timeZone:"UTC"}).formatToParts(s).map(kt);break}const f=m.find(_=>_.type===p.partName),g=l.findIndex(_=>_.type===p.partName);f&&g>-1&&(l[g]=f)}}return n.length&&h(n,!0),o.length&&h(o),l.reduce((d,c)=>(d[c.type]=c.value,d),{})}function Do(r,e="Z"){const t=String(Math.floor(Math.abs(r/60))).padStart(2,"0"),i=String(Math.abs(r%60)).padStart(2,"0"),s=r<0?"-":"+";return e==="ZZ"?`${s}${t}${i}`:`${s}${t}:${i}`}function Mh(r,e){Mo(r,e);const[t,i,s,n]=r.match(/([+-])([0-3][0-9]):?([0-6][0-9])/),o=Number(s)*60+Number(n);return i==="+"?o:-o}function Mo(r,e="Z"){if(!(i=>{switch(i){case"Z":return/^([+-])[0-3][0-9]:[0-6][0-9]$/.test(r);case"ZZ":return/^([+-])[0-3][0-9][0-6][0-9]$/.test(r)}})(e))throw new Error(`Invalid offset: ${r}`);return r}function Lh(r){return Rn.concat(An).concat(Pn).sort((e,t)=>e[0].length>t[0].length?1:-1).reduce((e,t)=>e.replace(t[0],`\\${t[0]}`),r)}function Nh(r){return["numeric","2-digit"].includes(r.partValue)}function Hh(r){let e;for(const t of r){if(t.partName==="literal"&&!isNaN(parseFloat(t.partValue)))throw new Error(`Numbers in format (${t.partValue}).`);if(e&&e.partName!=="literal"&&t.partName!=="literal"&&!(e.token in fs)&&!(t.token in fs)&&!(Nh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Vh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function gi(r,e){const t=ko.get(e);if(t&&t[r])return t[r];const i=new Date(xn);i.setUTCHours(r==="am"?5:20);const n=new Intl.DateTimeFormat(e,{timeStyle:"full",timeZone:"UTC",hour12:!0}).formatToParts(i).map(kt).find(o=>o.type==="dayPeriod");if(n){const o=t||{};return ko.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function Bh(r,e="+00:00"){const t=zt(r),i=(()=>{switch(Po(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Mh(e,i);return new Date(t.getTime()+s*1e3*60)}function Lo(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function No(r,e){const t=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZone:e,hourCycle:"h23"}).formatToParts(r).map(kt),i={};return t.forEach(s=>{i[s.type]=s.value}),new Date(`${i.year}-${i.month}-${i.day}T${i.hour}:${i.minute}:${i.second}Z`)}function Fn(r,e="UTC",t="device",i="Z"){var s;t=t==="device"?(s=Lo())!=null?s:"utc":t;const n=zt(r),o=No(n,e),l=No(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Do(a,i)}function Ho(r){const e=zt(r);return e.setHours(0,0,0),e}function Dn(r,e){if(Fo.includes(r)||typeof r=="object")return zh(r,e);let t=r,i=0;const s=d=>{if(d[2]||(d[2]=new RegExp(`(.)?(${d[0]})`,"g")),d[2].test(t)){let c=0;return t=t.replace(d[2],(u,p,m)=>p==="\\"?m:`${typeof p=="string"?p:""}{!${c++?i:i++}!}`),!!c}return!1};function n(d){const c=d.map(p=>p.partName),u=new Set(c);if(c.length>u.size)throw new Error("Cannot reuse format tokens.");return d}function o(d,[c,u,p]){const m=Object.keys(u)[0],f=u[m];return{option:u,partName:m,partValue:f,token:c,pattern:p,hour12:d}}const l=Rn.filter(s).concat(An.filter(s)).map(o.bind(null,!1)),a=n(l.concat(Pn.filter(s).map(o.bind(null,!0)))),h=/^\{!(\d+)!\}$/;return t.split(/(\{!\d+!\})/).map(d=>{const c=d.match(h);return c?a[Number(c[1])]:{option:{literal:d},partName:"literal",partValue:d,token:d,pattern:new RegExp(""),hour12:!1}}).filter(d=>!(d.partName==="literal"&&d.partValue===""))}function zh(r,e){const t={timeZone:"UTC"};typeof r=="string"?t.dateStyle=r:("date"in r&&(t.dateStyle=r.date),"time"in r&&(t.timeStyle=r.time));const i=new Intl.DateTimeFormat(e,t),s=i.formatToParts(new Date(xn)).map(kt),o=i.formatToParts(new Date("1999-04-05T23:05:01.000Z")).map(kt).find(a=>a.type==="hour"),l=o&&o.value==="23"?24:12;return s.map(a=>{const h=a.type,d=$h(a.type,a.value,e,a.type==="hour"?l:void 0,t);if(d===void 0)return;const c=d[1][h];if(c)return d[2]||(d[2]=new RegExp(`${d[0]}`,"g")),{option:{[h]:c},partName:h,partValue:c,token:d[0],pattern:d[2],hour12:l===12}}).filter(a=>!!a)}function $h(r,e,t,i,s){const n=e.length,o=!isNaN(Number(e));let l;switch(r){case"year":return n===2?Te.get("YY"):Te.get("YYYY");case"month":if(o)return n===1?Te.get("M"):Te.get("MM");switch(l=Vo(t,r,e),l){case"long":return Te.get("MMMM");default:return Te.get("MMM")}case"day":return n===1?Te.get("D"):Te.get("DD");case"weekday":switch(l=Vo(t,r,e),l){case"narrow":return Te.get("d");case"short":return Te.get("ddd");default:return Te.get("dddd")}case"hour":return i===12?n===1?Te.get("h"):Te.get("hh"):n===1?Te.get("H"):Te.get("HH");case"minute":return n===1?Te.get("m"):Te.get("mm");case"second":return n===1?Te.get("s"):Te.get("ss");case"dayPeriod":return/^[A-Z]+$/u.test(e)?Te.get("A"):Te.get("a");case"literal":return[e,{literal:e},new RegExp("")];case"timeZoneName":return s.timeStyle==="full"?Te.get("Z"):Te.get("ZZ");default:return}}function Vo(r,e,t){if(!In.has(r)){const s=new Date(xn),n=[3,8,9,7,6,4,3],o=["weekday","month","dayPeriod"],l=["long","short","narrow"],a={};for(let h=0;h<12;h++){s.setMonth(0+h),h in n&&s.setDate(n[h]),s.setUTCHours(8+h);for(const d of l){const c=new Intl.DateTimeFormat(r,o.reduce((u,p)=>Object.assign(u,{[p]:d}),{hour12:!0,timeZone:"UTC"})).formatToParts(s).map(kt);if(d==="long"||d==="short"){const p=new Intl.DateTimeFormat(r,{dateStyle:d==="short"?"medium":"long",timeZone:"UTC"}).formatToParts(s).map(kt).find(f=>f.type==="month"),m=c.findIndex(f=>f.type==="month");m>-1&&p&&(c[m]=p)}c.forEach(u=>{if(u.type==="literal")return;const p=u.type;a[p]=Object.assign(a[p]||{},{[u.value]:d})})}}In.set(r,a)}const i=In.get(r);return i?i[e][t]:void 0}function Bo(r,e="+00:00"){const t=e.slice(0,1)==="+";return Bh(r,e.replace(t?"+":"-",t?"-":"+"))}function Wh(){return Intl.DateTimeFormat().resolvedOptions().locale}function et(r,e="long",t="device",i=!1,s){let n,o;return typeof r=="object"&&!(r instanceof Date)&&({date:r,format:e,locale:t,genitive:i,partFilter:s,tz:n}=r),e==="ISO8601"?zt(r).toISOString():(n&&(o=Fn(r,"utc",n,Vh(e))),n??(n=Lo()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Bo(r,Fn(r,n,"utc"))),(!t||t==="device")&&(t=Wh()),Fh(r,Dn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function Gh(r,e="en",t=!1,i=()=>!0){return Dn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Lh(n.token):n.token,"").normalize("NFKC")}function Uh(r){const e=new Date().getFullYear(),t=e%100,i=Math.floor(e/100),s=Number(r);return(i+(s>t+20?-1:0))*100+s}function zo(r,e="en",t=!1){const i=(s,n)=>Array(s).fill("").map((o,l)=>`${n(l)}`);if(r==="M")return i(12,s=>s+1);if(r==="MM")return i(12,s=>{const n=s+1;return n<10?`0${n}`:n});if(r.startsWith("M"))return zo("MM").map(s=>et(`2000-${s}-05`,r,e,t));if(r.startsWith("d"))return i(7,s=>`0${s+2}`).map(s=>et(`2022-10-${s}`,r,e));if(r==="a")return[gi("am",e).toLowerCase(),gi("pm",e).toLowerCase()];if(r==="A")return[gi("am",e).toUpperCase(),gi("pm",e).toUpperCase()];if(r.startsWith("Y")){const s=new Date().getFullYear();return i(120,n=>n+1).reduce((n,o)=>(o!=="120"&&n.push(et(`${s+Number(o)}-06-06`,r,e)),n.unshift(et(`${s-Number(o)}-06-06`,r,e)),n),[et(`${s}-06-06`,r,e)])}return r.startsWith("D")?i(31,s=>`${r==="DD"&&s<9?"0":""}${s+1}`):r.startsWith("H")?i(24,s=>`${r==="HH"&&s<10?"0":""}${s}`):r.startsWith("h")?i(12,s=>`${r==="hh"&&s<9?"0":""}${s+1}`):r.startsWith("m")||r.startsWith("s")?i(60,s=>`${r.length>1&&s<10?"0":""}${s}`):[]}function gs(r,e="ISO8601",t="device"){let i=()=>!0,s,n="backward";if(typeof r=="object"?{date:s,format:e="ISO8601",locale:t="device",dateOverflow:n="backward",partFilter:i=()=>!0}=r:s=r,!s)throw new Error("parse() requires a date string.");const o=()=>{throw new Error(`Date (${s}) does not match format (${Gh(e,t)})`)};if(e==="ISO8601")return zt(s);const l=Fo.includes(e)||typeof e=="object",a=Hh(Dn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=jh(s,a)}catch{return o()}const d=new Date,c=new Map([["YYYY",d.getFullYear()],["MM",d.getMonth()+1],["DD",d.getDate()],["HH",0],["mm",0],["ss",0]]);let u=null,p="";h.forEach(O=>{if(O.partName==="literal")return;if(O.token===O.value)return o();const I=Number(O.value);if(c.has(O.token))c.set(O.token,I);else if(O.token==="YY")c.set("YYYY",Uh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",I);else if(A==="H"||A.startsWith("h"))c.set("HH",I);else if(A==="M")c.set("MM",I);else if(A==="a"||A==="A")u=O.value.toLowerCase()===gi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Mo(O.value,A);else{const L=zo(A,t,l).indexOf(O.value);if(L!==-1)switch(A){case"MMM":case"MMMM":c.set("MM",L+1);break}}}});let m=c.get("HH")||0;u===!1?(m+=m===12?0:12,c.set("HH",m===24?0:m)):u===!0&&m===12&&c.set("HH",0),c.set("MM",(c.get("MM")||1)-1);let[f,g,_,C,b,S]=Array.from(c.values());const E=Ph(new Date(`${kn(f)}-${$t(g+1)}-10`));if(E<_&&n==="throw")throw new Error(`Invalid date ${kn(f)}-${$t(g+1)}-${$t(_)}`);_=n==="backward"?Math.min(_,E):_;const y=`${kn(f)}-${$t(g+1)}-${$t(_)}T${$t(C)}:${$t(b)}:${$t(S)}${p}`,x=new Date(y);return isFinite(+x)?x:o()}function jh(r,e){let t=0;const i=l=>[l[t++],l[t]];let s=0;const n=[];let o;do{const[l,a]=i(e);o=a;let h=1;if(l.partName==="literal")h=l.partValue.length;else if(l.partName==="timeZoneName")h=Po(r.substring(s));else if(l.token in fs)h=fs[l.token];else if(a)if(a.partName==="literal"){if(h=r.indexOf(a.partValue,s)-s,h<0)throw new Error}else if(a.partName==="dayPeriod"){for(let d=1;d<=4;d++)if(isNaN(Number(r.charAt(s+d)))){h=d;break}}else{const d=r.substring(s).search(/\d/);d!==-1&&(h=s+d)}else h=r.length;n.push({...l,value:r.substring(s,s+h)}),s+=h}while(o);return n}function Ke(r,e){let t;const i=(e==null?void 0:e.withZeroPadding)??!1;switch(r){case w.dateTime:case w.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case w.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case w.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case w.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case w.dateEuro:t="DD/MM/YYYY";break;case w.dateEuroShort:t=i?"DD/MM/YY":"D/M/YY";break;case w.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case w.dateTimeShortEuro:t=i?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case w.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case w.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case w.dateTimeEuroShort:t=i?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case w.dateTimeEuroShortAmPm:t=i?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case w.dateTimeEuroShortAM_PM:t=i?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case w.dateUs:t="MM/DD/YYYY";break;case w.dateUsShort:t=i?"MM/DD/YY":"M/D/YY";break;case w.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case w.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case w.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case w.dateTimeUsShort:t=i?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case w.dateTimeUsShortAmPm:t=i?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case w.dateTimeUsShortAM_PM:t=i?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case w.dateTimeShortUs:t=i?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case w.dateUtc:t="ISO8601";break;case w.date:case w.dateIso:default:t=e!=null&&e.withDefaultIso8601?"ISO8601":"YYYY-MM-DD";break}return t}function vt(r,e,t){const i=e?Ke(e):void 0,s=Ke(t),n=r instanceof Date?r:bt(r,i);return n&&r!==void 0?t===w.dateUtc?n.toISOString():et(n,s,"en-US"):""}function bt(r,e,t=!1){try{return r?r instanceof Date?r:gs({date:r,format:e,dateOverflow:t?"throw":"backward",locale:"en-US"}):!1}catch{return!1}}function Yh(r){return Bo(r,Fn(r,"utc"))}function $o(r,e,t,i,s){let n=0;if(r===e)n=0;else{let o=bt(r,i,s),l=bt(e,i,s);o||(o=new Date(1001,1,1)),l||(l=new Date(1001,1,1)),n=o.valueOf()-l.valueOf()}return t*n}function ue(r){const e=r===w.date?void 0:Ke(r);return(t,i,s)=>e===void 0?$o(t,i,s,e,!1):$o(t,i,s,e,!0)}const ii={boolean:Ch,date:ue(w.date),dateIso:ue(w.dateIso),dateUtc:ue(w.dateUtc),dateTime:ue(w.dateTime),dateTimeIso:ue(w.dateTimeIso),dateTimeIsoAmPm:ue(w.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(w.dateTimeIsoAM_PM),dateTimeShortIso:ue(w.dateTimeShortIso),dateEuro:ue(w.dateEuro),dateEuroShort:ue(w.dateEuroShort),dateTimeShortEuro:ue(w.dateTimeShortEuro),dateTimeEuro:ue(w.dateTimeEuro),dateTimeEuroAmPm:ue(w.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(w.dateTimeEuroAM_PM),dateTimeEuroShort:ue(w.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(w.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(w.dateTimeEuroShortAM_PM),dateUs:ue(w.dateUs),dateUsShort:ue(w.dateUsShort),dateTimeShortUs:ue(w.dateTimeShortUs),dateTimeUs:ue(w.dateTimeUs),dateTimeUsAmPm:ue(w.dateTimeUsAmPm),dateTimeUsAM_PM:ue(w.dateTimeUsAM_PM),dateTimeUsShort:ue(w.dateTimeUsShort),dateTimeUsShortAmPm:ue(w.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(w.dateTimeUsShortAM_PM),numeric:Ro,objectString:vh,string:xh};function _i(r,e,t,i,s,n){let o=0;if(It(r))o=ue(r).call(this,e,t,i,s,n);else switch(r){case w.boolean:o=ii.boolean(e,t,i,s,n);break;case w.float:case w.integer:case w.number:o=ii.numeric(e,t,i,s,n);break;case w.object:o=ii.objectString(e,t,i,s,n);break;case w.string:case w.text:case w.password:case w.readonly:default:o=ii.string(e,t,i,s,n);break}return o}const qh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:_i},Symbol.toStringTag,{value:"Module"}));var at;(function(r){r.camelCase="camelCase",r.camelCaseWithExtraOnPrefix="camelCaseWithExtraOnPrefix",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(at||(at={}));class Wo{get elementSource(){return this._elementSource}set elementSource(e){this._elementSource=e}get subscribedEvents(){return this._subscribedEvents}get subscribedEventNames(){return this._subscribedEvents.map(e=>e.name)}constructor(e){this._subscribedEvents=[],this.eventNamingStyle=at.camelCase,this._elementSource=e||document.createElement("div")}dispose(){var e;this.unsubscribeAll(),this._subscribedEvents=[],window.clearTimeout(this._timer),(e=this._elementSource)==null||e.remove(),this._elementSource=null}dispatchCustomEvent(e,t,i=!0,s=!0,n){var a;const o={bubbles:i,cancelable:s};t&&(o.detail=t);const l=new CustomEvent(e,o);return typeof n=="function"&&n(l),(a=this._elementSource)==null?void 0:a.dispatchEvent(l)}getEventNameByNamingConvention(e,t){let i="";switch(this.eventNamingStyle===at.lowerCaseWithoutOnPrefix?i=`${t}${e.replace(/^on/,"")}`:this.eventNamingStyle===at.camelCaseWithExtraOnPrefix&&(i=`${t}${e.replace(/^on/,"onOn")}`),this.eventNamingStyle){case at.camelCase:i=t!==""?`${t}${ti(e)}`:e;break;case at.kebabCase:i=t!==""?`${t}-${fi(e)}`:fi(e);break;case at.lowerCase:i=`${t}${e}`.toLowerCase();break}return i}publish(e,t,i,s){const n=this.getEventNameByNamingConvention(e,"");return i?new Promise(o=>{window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>o(this.dispatchCustomEvent(n,t,!1,!0,s)),i)}):this.dispatchCustomEvent(n,t,!1,!0,s)}subscribe(e,t){e=Array.isArray(e)?e:[e];const i=[];return e.forEach(s=>{const n=this.getEventNameByNamingConvention(s,"");this._elementSource.addEventListener(n,o=>t.call(null,o.detail)),this._subscribedEvents.push({name:n,listener:t}),i.push(()=>this.unsubscribe(n,t))}),{unsubscribe:()=>i.forEach(s=>s())}}subscribeEvent(e,t){const i=this.getEventNameByNamingConvention(e,"");return this._elementSource.addEventListener(i,t),this._subscribedEvents.push({name:i,listener:t}),{unsubscribe:()=>this.unsubscribe(i,t)}}unsubscribe(e,t,i=!0){const s=this.getEventNameByNamingConvention(e,"");this._elementSource.removeEventListener(s,t),i&&this.removeSubscribedEventWhenFound(e,t)}unsubscribeAll(e){if(Array.isArray(e)){let t;do t=e.pop(),t!=null&&t.dispose?t.dispose():t!=null&&t.unsubscribe&&t.unsubscribe();while(t)}else{let t=this._subscribedEvents.pop();for(;t;)this.unsubscribe(t.name,t.listener,!1),t=this._subscribedEvents.pop()}}removeSubscribedEventWhenFound(e,t){const i=this._subscribedEvents.findIndex(s=>s.name===e&&s.listener===t);i>=0&&this._subscribedEvents.splice(i,1)}}function _s(r){var e=document,t=r.container||e.createElement("div"),i=r.preventSubmit||0;t.id=t.id||"autocomplete-"+C();var s=t.style,n=r.debounceWaitMs||0,o=r.disableAutoSelect||!1,l=t.parentElement,a=[],h="",d=2,c=r.showOnFocus,u,p=0,m,f=!1,g=!1;if(r.minLength!==void 0&&(d=r.minLength),!r.input)throw new Error("input undefined");var _=r.input;t.className=[t.className,"autocomplete",r.className||""].join(" ").trim(),t.setAttribute("role","listbox"),_.setAttribute("role","combobox"),_.setAttribute("aria-expanded","false"),_.setAttribute("aria-autocomplete","list"),_.setAttribute("aria-controls",t.id),_.setAttribute("aria-owns",t.id),_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-haspopup","listbox"),s.position="absolute";function C(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function b(){var N=t.parentNode;N&&N.removeChild(t)}function S(){m&&window.clearTimeout(m)}function E(){t.parentNode||(l||e.body).appendChild(t)}function y(){return!!t.parentNode}function x(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),b()}function O(){if(!y())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var N=0,se;function Ne(){var je=e.documentElement,rt=je.clientTop||e.body.clientTop||0,ot=je.clientLeft||e.body.clientLeft||0,Fi=window.pageYOffset||je.scrollTop,Ht=window.pageXOffset||je.scrollLeft;se=_.getBoundingClientRect();var Je=se.top+_.offsetHeight+Fi-rt,as=se.left+Ht-ot;s.top=Je+"px",s.left=as+"px",N=window.innerHeight-(se.top+_.offsetHeight),N<0&&(N=0),s.top=Je+"px",s.bottom="",s.left=as+"px",s.maxHeight=N+"px"}Ne(),Ne(),r.customize&&se&&r.customize(_,se,t,N)}function I(){t.textContent="",_.setAttribute("aria-activedescendant","");var N=function(ot,Fi,Ht){var Je=e.createElement("div");return Je.textContent=ot.label||"",Je};r.render&&(N=r.render);var se=function(ot,Fi){var Ht=e.createElement("div");return Ht.textContent=ot,Ht};r.renderGroup&&(se=r.renderGroup);var Ne=e.createDocumentFragment(),je=C();if(a.forEach(function(ot,Fi){if(ot.group&&ot.group!==je){je=ot.group;var Ht=se(ot.group,h);Ht&&(Ht.className+=" group",Ne.appendChild(Ht))}var Je=N(ot,h,Fi);Je&&(Je.id=t.id+"_"+Fi,Je.setAttribute("role","option"),Je.addEventListener("click",function(as){g=!0;try{r.onSelect(ot,_)}finally{g=!1}x(),as.preventDefault(),as.stopPropagation()}),ot===u&&(Je.className+=" selected",Je.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",Je.id)),Ne.appendChild(Je))}),t.appendChild(Ne),a.length<1)if(r.emptyMsg){var rt=e.createElement("div");rt.id=t.id+"_"+C(),rt.className="empty",rt.textContent=r.emptyMsg,t.appendChild(rt),_.setAttribute("aria-activedescendant",rt.id)}else{x();return}E(),O(),W()}function A(){y()&&I()}function D(){A()}function L(N){N.target!==t?A():N.preventDefault()}function M(){g||Le(0)}function W(){var N=t.getElementsByClassName("selected");if(N.length>0){var se=N[0],Ne=se.previousElementSibling;if(Ne&&Ne.className.indexOf("group")!==-1&&!Ne.previousElementSibling&&(se=Ne),se.offsetTop<t.scrollTop)t.scrollTop=se.offsetTop;else{var je=se.offsetTop+se.offsetHeight,rt=t.scrollTop+t.offsetHeight;je>rt&&(t.scrollTop+=je-rt)}}}function K(){var N=a.indexOf(u);u=N===-1?void 0:a[(N+a.length-1)%a.length],X(N)}function J(){var N=a.indexOf(u);u=a.length<1?void 0:N===-1?a[0]:a[(N+1)%a.length],X(N)}function X(N){a.length>0&&(ze(N),ie(a.indexOf(u)),W())}function ie(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.add("selected"),se.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",se.id))}function ze(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.remove("selected"),se.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function nt(N,se){var Ne=y();if(se==="Escape")x();else{if(!Ne||a.length<1)return;se==="ArrowUp"?K():J()}N.preventDefault(),Ne&&N.stopPropagation()}function fe(N){if(u){i===2&&N.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}x()}i===1&&N.preventDefault()}function xe(N){var se=N.key;switch(se){case"ArrowUp":case"ArrowDown":case"Escape":nt(N,se);break;case"Enter":fe(N);break}}function qe(){c&&Le(1)}function Le(N){_.value.length>=d||N===1?(S(),m=window.setTimeout(function(){return ke(_.value,N,_.selectionStart||0)},N===0||N===2?n:0)):x()}function ke(N,se,Ne){if(!f){var je=++p;r.fetch(N,function(rt){p===je&&rt&&(a=rt,h=N,u=a.length<1||o?void 0:a[0],I())},se,Ne)}}function Q(N){if(r.keyup){r.keyup({event:N,fetch:function(){return Le(0)}});return}!y()&&N.key==="ArrowDown"&&Le(0)}function ce(N){r.click&&r.click({event:N,fetch:function(){return Le(2)}})}function ct(){setTimeout(function(){e.activeElement!==_&&x()},200)}function hi(){ke(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(N){N.stopPropagation(),N.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),b();function Nt(){_.removeEventListener("focus",qe),_.removeEventListener("keyup",Q),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",M),_.removeEventListener("blur",ct),window.removeEventListener("resize",D),e.removeEventListener("scroll",L,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),S(),x(),f=!0}return _.addEventListener("keyup",Q),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",M),_.addEventListener("blur",ct),_.addEventListener("focus",qe),window.addEventListener("resize",D),e.addEventListener("scroll",L,!0),{destroy:Nt,fetch:hi}}class Cs{constructor(e){this._value=null,this._boundedEventWithListeners=[],this._elementBindings=[],this._binding=e,this._property=e.property||"",this._elementBindings=[],e.property&&e.variable&&(e.variable.hasOwnProperty(e.property)||e.property in e.variable)?this._value=e.variable[e.property]:this._value=e.variable,typeof e.variable=="object"&&Object.defineProperty(e.variable,e.property,{get:this.valueGetter.bind(this),set:this.valueSetter.bind(this)})}get boundedEventWithListeners(){return this._boundedEventWithListeners}get elementBindings(){return this._elementBindings}get property(){return this._property}dispose(){this.unbindAll(),this._boundedEventWithListeners=[],this._elementBindings=[]}valueGetter(){return this._value}valueSetter(e){if(this._value=e,Array.isArray(this._elementBindings))for(const t of this._elementBindings)t!=null&&t.element&&(t!=null&&t.attribute)&&(t.element[t.attribute]=e)}bind(e,t,i,s){return e&&e.forEach?e.forEach(n=>this.bindSingleElement(n,t,i,s)):e&&this.bindSingleElement(e,t,i,s),this}unbind(e,t,i,s,n){if(e){e.removeEventListener(t,i,s);const o=this._boundedEventWithListeners.findIndex(l=>l.uid===n);o>=0&&this._boundedEventWithListeners.splice(o,1)}}unbindAll(){let e=this._boundedEventWithListeners.pop();for(;e;){const{element:t,eventName:i,listener:s,uid:n}=e;this.unbind(t,i,s,void 0,n),e=this._boundedEventWithListeners.pop()}this._boundedEventWithListeners=[]}bindSingleElement(e,t,i,s){const n={element:e,attribute:t};if(e){if(i){const o=()=>{let l=e[t];if(this.hasData(l)&&(e==null?void 0:e.type)==="number"&&(l=+l),this.valueSetter(l),(this._binding.variable.hasOwnProperty(this._binding.property)||this._binding.property in this._binding.variable)&&(this._binding.variable[this._binding.property]=this.valueGetter()),typeof s=="function")return s(this.valueGetter())};n.event=i,n.listener=o,e.addEventListener(i,o),this._boundedEventWithListeners.push({element:e,eventName:i,listener:o,uid:this.generateUuidV4()})}this._elementBindings.push(n),e[t]=this._value}}generateUuidV4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}hasData(e){return e!=null&&e!==""}}class Go{constructor(){this._observers=[],this._querySelectorPrefix=""}get querySelectorPrefix(){return this._querySelectorPrefix||""}set querySelectorPrefix(e){this._querySelectorPrefix=e}get observers(){return this._observers}dispose(){let e=this._observers.pop();for(;e;)e.dispose(),e=this._observers.pop();this._observers=[]}addElementBinding(e,t,i,s,n,o){const l=document.querySelectorAll(`${this.querySelectorPrefix}${i}`);let a=this._observers.find(h=>h.property===e);a||(a=new Cs({variable:e,property:t})),Array.isArray(n)?n.forEach(h=>a==null?void 0:a.bind(l,s,h,o)):a==null||a.bind(l,s,n,o),this._observers.push(a)}bindEventHandler(e,t,i,s){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(o=>{o!=null&&o.addEventListener&&o.addEventListener(t,i,s)})}setElementAttributeValue(e,t,i){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(n=>{n.textContent="",n&&t in n&&(n[t]=i)})}}class Pe{constructor(){this._boundedEvents=[]}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(e,t,i,s,n=""){const o=Array.isArray(t)?t:[t];if(!(e instanceof HTMLElement||e instanceof DocumentFragment)&&(e!=null&&e.forEach))e.forEach(l=>{for(const a of o)l.addEventListener(a,i,s),this._boundedEvents.push({element:l,eventName:a,listener:i,groupName:n})});else if(e)for(const l of o)e.addEventListener(l,i,s),this._boundedEvents.push({element:e,eventName:l,listener:i,groupName:n})}unbind(e,t,i){const s=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t];for(const o of n)for(const l of s)typeof(l==null?void 0:l.removeEventListener)=="function"&&l.removeEventListener(o,i)}unbindByEventName(e,t){const i=this._boundedEvents.find(s=>s.element===e&&s.eventName===t);i&&this.unbind(i.element,i.eventName,i.listener)}unbindAll(e){if(e){const t=Array.isArray(e)?e:[e];for(let i=this._boundedEvents.length-1;i>=0;--i){const s=this._boundedEvents[i];if(t.some(n=>n===s.groupName)){const{element:n,eventName:o,listener:l}=s;this.unbind(n,o,l),this._boundedEvents.splice(i,1)}}}else for(;this._boundedEvents.length>0;){const t=this._boundedEvents.pop(),{element:i,eventName:s,listener:n}=t;this.unbind(i,s,n)}}}var Uo=Object.prototype.hasOwnProperty;function pt(r,e){var t,i;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((i=r.length)===e.length)for(;i--&&pt(r[i],e[i]););return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(Uo.call(r,t)&&++i&&!Uo.call(e,t)||!(t in e)||!pt(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}function jo(r,e){const t=e.fetch;t&&(e.fetch=(i,s,n,o)=>{r.classList.add("slick-autocomplete-loading");const l=s;t(i,h=>{l(h),r.classList.remove("slick-autocomplete-loading")},n,o)})}function Mn(r){const e=new Date;r.settings.selected={dates:[],month:e.getMonth(),year:e.getFullYear()};const t=r.HTMLInputElement;t&&(t.value=""),r.update({dates:!0,month:!0,year:!0,time:!0})}function Gi(r,e,t,i){var h,d;const{oldVal:s,newVal:n,columnDef:o,selectedSettings:l,updatePickerUI:a}=i;if(s!==n){const c=r.type||o.type,u=o.outputType||r.type||o.type||w.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Ke(w.dateIso),g=c?Ke(c):void 0;for(const C of p){const b=C instanceof Date?C:bt(C,g);b&&m.push(b)}const _=l??{dates:[m.map(C=>et(C,f)).join(":")],month:(h=m[0])==null?void 0:h.getMonth(),year:(d=m[0])==null?void 0:d.getFullYear(),time:g==="ISO8601"||(g||"").toLowerCase().includes("h")?et(m[0],"HH:mm"):void 0};pt(t.settings.selected,_)||(t.settings.selected=_,a&&(t!=null&&t.update)&&t.update({dates:!0,month:!0,year:!0,time:!0})),e.value=p.length?m.map(C=>vt(C,void 0,u)).join(" — "):""}}function Ln(r,e){const t=v("select",{className:"form-control"});for(const i of r){const s=document.createElement("option");s.value=i.operator,e.applyHtmlCode(s,`${fo(i.operatorAlt||i.operator,3)}${i.descAlt||i.desc}`),t.appendChild(s)}return t}function Kh(r,e,t){const i=(e==null?void 0:e.filter)??{},s=(i==null?void 0:i.collectionOptions)??{};if(s&&s.collectionInsideObjectProperty){const n=s.collectionInsideObjectProperty;r=Ee(r,n)}if(!Array.isArray(r))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');i.collection=r,t(r)}async function Yo(r,e,t,i,s){const n=(e==null?void 0:e.filter)??{},o=(n==null?void 0:n.collectionOptions)??{};let l=null;if(r){const a=(i==null?void 0:i.isObservable(r))??!1;a&&i&&(l=await oo(i,r));const h=await r;if(Array.isArray(h)?l=h:(h==null?void 0:h.status)>=200&&h.status<300&&typeof h.json=="function"?l=await h.json():h&&h.content&&(l=h.content),!Array.isArray(l)&&(o!=null&&o.collectionInsideObjectProperty)){const d=l||h,c=o.collectionInsideObjectProperty;l=Ee(d,c||"")}if(!Array.isArray(l))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');n.collection=l,t(l),a&&Xh(e,t,i,s)}return l}function Xh(r,e,t,i){const s=(r==null?void 0:r.filter)??{},n=t==null?void 0:t.createSubject();s.collectionAsync=n,i&&n&&i.push(n.subscribe(o=>Kh(o,r,e)))}function ht(r,e,t,i,s){if(i!=null&&i.enableTranslate&&(s!=null&&s.translate)){const o=lt(i);return s.translate(`${o}${r}`)}const n=i.locales||R.locales;return(n==null?void 0:n[e])??t}function Qh(r,e){return[{operator:"",desc:ht("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:ht("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:ht("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:ht("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:ht("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Nn(r,e){return[{operator:"",desc:""},{operator:"=",desc:ht("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:ht("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:ht("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:ht("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:ht("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)}]}function Hn(r,e,t){if(r.compoundOperatorAltTexts){for(const i of e)if(r.compoundOperatorAltTexts.hasOwnProperty(t)){const s=r.compoundOperatorAltTexts[t][i.operator];i.operatorAlt=(s==null?void 0:s.operatorAlt)||"",i.descAlt=(s==null?void 0:s.descAlt)||""}}}class le{get defaultPrevented(){return this._isDefaultPrevented}constructor(e,t){this.event=e,this.args=t,this._isPropagationStopped=!1,this._isImmediatePropagationStopped=!1,this._isDefaultPrevented=!1,this.returnValue=void 0,this.nativeEvent=e,this._arguments=t,e&&["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","target","type","which","x","y"].forEach(i=>this[i]=e[i]),this._eventTarget=this.nativeEvent?this.nativeEvent.target:void 0}stopPropagation(){var e;this._isPropagationStopped=!0,(e=this.nativeEvent)==null||e.stopPropagation()}isPropagationStopped(){return this._isPropagationStopped}stopImmediatePropagation(){this._isImmediatePropagationStopped=!0,this.nativeEvent&&this.nativeEvent.stopImmediatePropagation()}isImmediatePropagationStopped(){return this._isImmediatePropagationStopped}getNativeEvent(){return this.nativeEvent}preventDefault(){this.nativeEvent&&this.nativeEvent.preventDefault(),this._isDefaultPrevented=!0}isDefaultPrevented(){return this.nativeEvent?this.nativeEvent.defaultPrevented:this._isDefaultPrevented}addReturnValue(e){this.returnValue===void 0&&e!==void 0&&(this.returnValue=e)}getReturnValue(){return this.returnValue}getArguments(){return this._arguments}resetReturnValue(){this.returnValue=void 0}}class P{get subscriberCount(){return this._handlers.length}constructor(e,t){this.eventName=e,this.pubSub=t,this._handlers=[],this._pubSubService=t}subscribe(e){this._handlers.push(e)}unsubscribe(e){for(let t=this._handlers.length-1;t>=0;t--)this._handlers[t]===e&&this._handlers.splice(t,1)}notify(e,t,i,s=!1){var o;const n=t instanceof le?t:new le(t,e);s&&n.resetReturnValue(),i=i||this;for(let l=0;l<this._handlers.length&&!(n.isPropagationStopped()||n.isImmediatePropagationStopped());l++){const a=this._handlers[l].call(i,n,e);n.addReturnValue(a)}if(typeof((o=this._pubSubService)==null?void 0:o.publish)=="function"&&this.eventName){const l=this._pubSubService.publish(this.eventName,{args:e,eventData:n},void 0,a=>n.nativeEvent??(n.nativeEvent=a));n.addReturnValue(l)}return n}setPubSubService(e){this._pubSubService=e}}class pe{constructor(){this.handlers=[]}get subscriberCount(){return this.handlers.length}subscribe(e,t){return this.handlers.push({event:e,handler:t}),e.subscribe(t),this}unsubscribe(e,t){let i=this.handlers.length;for(;i--;)if(this.handlers[i].event===e&&this.handlers[i].handler===t){this.handlers.splice(i,1),e.unsubscribe(t);return}return this}unsubscribeAll(){let e=this.handlers.length;for(;e--;)this.handlers[e].event.unsubscribe(this.handlers[e].handler);return this.handlers=[],this}}class tt{constructor(e,t,i,s){i===void 0&&s===void 0&&(i=e,s=t),this.fromRow=Math.min(e,i),this.fromCell=Math.min(t,s),this.toRow=Math.max(e,i),this.toCell=Math.max(t,s)}isSingleCell(){return this.fromRow===this.toRow&&this.fromCell===this.toCell}isSingleRow(){return this.fromRow===this.toRow}contains(e,t){return e>=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell}toString(){return this.isSingleCell()?`(${this.fromRow}:${this.fromCell})`:`(${this.fromRow}:${this.fromCell} - ${this.toRow}:${this.toCell})`}}class qo{constructor(){this.__nonDataRow=!0}}class vs extends qo{constructor(){super(),this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=""}equals(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title}}class Zh extends qo{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class Jh{constructor(){this.activeEditController=null}isActive(e){return e?this.activeEditController===e:this.activeEditController!==null}activate(e){if(e!==this.activeEditController){if(this.activeEditController!==null)throw new Error("SlickEditorLock.activate: an editController is still active, can't activate another editController");if(!e.commitCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .commitCurrentEdit()");if(!e.cancelCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .cancelCurrentEdit()");this.activeEditController=e}}deactivate(e){if(this.activeEditController){if(this.activeEditController!==e)throw new Error("SlickEditorLock.deactivate: specified editController is not the currently active one");this.activeEditController=null}}commitCurrentEdit(){return this.activeEditController?this.activeEditController.commitCurrentEdit():!0}cancelCurrentEdit(){return this.activeEditController?this.activeEditController.cancelCurrentEdit():!0}}class T{static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;T.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;T.setStyleSize(e,"width",t)}}static setStyleSize(e,t,i){typeof i=="function"&&(i=i()),e.style[t]=typeof i=="string"?i:`${i}px`}static isHidden(e){return e.offsetWidth===0&&e.offsetHeight===0}static parents(e,t){const i=[],s=t===":visible",n=t===":hidden";for(;(e=e.parentNode)&&e!==document&&!(!e||!e.parentNode);)n?T.isHidden(e)&&i.push(e):s?T.isHidden(e)||i.push(e):(!t||e.matches(t))&&i.push(e);return i}static toFloat(e){const t=parseFloat(e);return isNaN(t)?0:t}static show(e,t=""){Array.isArray(e)?e.forEach(i=>i.style.display=t):e.style.display=t}static hide(e){Array.isArray(e)?e.forEach(t=>t.style.display="none"):e.style.display="none"}static applyDefaults(e,t){typeof t=="object"&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])})}static addSlickEventPubSubWhenDefined(e,t){if(e)for(const i in t)t[i]instanceof P&&typeof t[i].setPubSubService=="function"&&t[i].setPubSubService(e)}}T.storage={_storage:new WeakMap,put:function(r,e,t){this._storage.has(r)||this._storage.set(r,new Map),this._storage.get(r).set(e,t)},get:function(r,e){const t=this._storage.get(r);return t?t.get(e):null},remove:function(r,e){const t=this._storage.get(r).delete(e);return this._storage.get(r).size!==0&&this._storage.delete(r),t}};const Ui=new Jh,ed="slick-edit-preclick";class Ko{constructor(e){this.pluginName="GroupItemMetadataProvider",this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new pe,this._options=de(!0,{},this._defaults,e)}get eventHandler(){return this._eventHandler}get dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}init(e,t){this._grid=e,this._options={...this._defaults,...t},this._eventHandler.subscribe(e.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(e.onKeyDown,this.handleGridKeyDown.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}getOptions(){return this._options}setOptions(e){this._options={...this._options,...e}}getGroupRowMetadata(e,t){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(e==null?void 0:e.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter||void 0,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editorClass:null}}}}getTotalsRowMetadata(e,t){var i;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((i=e==null?void 0:e.group)==null?void 0:i.level)||0}`,formatter:this._options.totalsFormatter,editorClass:null}}defaultGroupCellFormatter(e,t,i,s,n){var u,p;if(!this._options.enableExpandCollapse)return n.title;const o=n.level||0,l=((u=this._options)==null?void 0:u.indentation)??15,a=`${o*l}px`,h=n.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass,d=(p=this.gridOptions)!=null&&p.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;d.appendChild(v("span",{className:`${this._options.toggleCssClass} ${h}`,ariaExpanded:String(!n.collapsed),style:{marginLeft:a}}));const c=v("span",{className:this._options.groupTitleCssClass||""});return c.setAttribute("level",o),n.title instanceof HTMLElement||n.title instanceof DocumentFragment?c.appendChild(n.title):this._grid.applyHtmlCode(c,n.title??""),d.appendChild(c),d}defaultTotalsCellFormatter(e,t,i,s,n,o){var l;return((l=s==null?void 0:s.groupTotalsFormatter)==null?void 0:l.call(s,n,s,o))??""}handleGridClick(e,t){var n;const i=e.target,s=(n=this._grid)==null?void 0:n.getDataItem(t.row);s instanceof vs&&i.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}handleGridKeyDown(e){var t;if(this._options.enableExpandCollapse&&e.key===" "){const i=(t=this._grid)==null?void 0:t.getActiveCell();if(i){const s=this._grid.getDataItem(i.row);s instanceof vs&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}}}handleDataViewExpandOrCollapse(e){var i;const t=(i=this._grid)==null?void 0:i.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),e.collapsed?this.dataView.expandGroup(e.groupingKey):this.dataView.collapseGroup(e.groupingKey)}}class td{constructor(e,t){this.externalPubSub=t,this.defaults={globalItemMetadataProvider:null,groupItemMetadataProvider:null,inlineFilters:!1,useCSPSafeFilter:!1},this.idProperty="id",this.items=[],this.rows=[],this.idxById=new Map,this.rowsById=void 0,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.suspend=!1,this.isBulkSuspend=!1,this.bulkDeleteIds=new Map,this.sortAsc=!0,this.refreshHints={},this.prevRefreshHints={},this.filteredItems=[],this.filterCache=[],this.groupingInfoDefaults={getter:void 0,formatter:void 0,comparer:(i,s)=>i.value===s.value?0:i.value>s.value?1:-1,predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},this.groupingInfos=[],this.groups=[],this.toggledGroupsByLevel=[],this.groupingDelimiter=":|:",this.selectedRowIds=[],this.pagesize=0,this.pagenum=0,this.totalRows=0,this.onBeforePagingInfoChanged=new P("onBeforePagingInfoChanged",t),this.onGroupExpanded=new P("onGroupExpanded",t),this.onGroupCollapsed=new P("onGroupCollapsed",t),this.onPagingInfoChanged=new P("onPagingInfoChanged",t),this.onRowCountChanged=new P("onRowCountChanged",t),this.onRowsChanged=new P("onRowsChanged",t),this.onRowsOrCountChanged=new P("onRowsOrCountChanged",t),this.onSelectedRowIdsChanged=new P("onSelectedRowIdsChanged",t),this.onSetItemsCalled=new P("onSetItemsCalled",t),this._options=de(!0,{},this.defaults,e)}beginUpdate(e){this.suspend=!0,this.isBulkSuspend=e===!0}endUpdate(){const e=this.isBulkSuspend;this.isBulkSuspend=!1,this.suspend=!1,e&&(this.processBulkDelete(),this.ensureIdUniqueness()),this.refresh()}destroy(){var e,t,i;this.items=[],this.idProperty="id",this.idxById=null,this.rowsById=null,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.sortComparer=null,this.filterCache=[],this.filteredItems=[],this.compiledFilter=null,this.compiledFilterCSPSafe=null,this.compiledFilterWithCaching=null,this.compiledFilterWithCachingCSPSafe=null,this._grid&&((e=this._grid.onSelectedRowsChanged)==null||e.unsubscribe(),(t=this._grid.onCellCssStylesChanged)==null||t.unsubscribe()),(i=this.onRowsOrCountChanged)==null||i.unsubscribe()}setRefreshHints(e){this.refreshHints=e}getFilterArgs(){return this.filterArgs}setFilterArgs(e){this.filterArgs=e}processBulkDelete(){if(!this.idxById)return;let e,t,i=0;for(let s=0,n=this.items.length;s<n;s++){if(t=this.items[s],e=t[this.idProperty],e===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.bulkDeleteIds.has(e)?this.idxById.delete(e):(this.items[i]=t,this.idxById.set(e,i),++i)}this.items.length=i,this.bulkDeleteIds=new Map}updateIdxById(e){if(this.isBulkSuspend||!this.idxById)return;e=e||0;let t;for(let i=e,s=this.items.length;i<s;i++){if(t=this.items[i][this.idProperty],t===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.idxById.set(t,i)}}ensureIdUniqueness(){if(this.isBulkSuspend||!this.idxById)return;let e;for(let t=0,i=this.items.length;t<i;t++)if(e=this.items[t][this.idProperty],e===void 0||this.idxById.get(e)!==t)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property")}getItems(){return this.items}getIdPropertyName(){return this.idProperty}setItems(e,t){t!==void 0&&(this.idProperty=t),this.items=this.filteredItems=e,this.onSetItemsCalled.notify({idProperty:this.idProperty,itemCount:this.items.length},null,this),this.idxById=new Map,this.updateIdxById(),this.ensureIdUniqueness(),this.refresh()}setPagingOptions(e){this.onBeforePagingInfoChanged.notify(this.getPagingInfo(),null,this).getReturnValue()!==!1&&(q(e.pageSize)&&(this.pagesize=e.pageSize,this.pagenum=this.pagesize?Math.min(this.pagenum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1)):0),q(e.pageNum)&&(this.pagenum=Math.min(e.pageNum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1))),this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),this.refresh())}getPagingInfo(){const e=this.pagesize?Math.max(1,Math.ceil(this.totalRows/this.pagesize)):1;return{pageSize:this.pagesize,pageNum:this.pagenum,totalRows:this.totalRows,totalPages:e,dataView:this}}sort(e,t){this.sortAsc=t,this.sortComparer=e,t===!1&&this.items.reverse(),this.items.sort(e),t===!1&&this.items.reverse(),this.idxById=new Map,this.updateIdxById(),this.refresh()}reSort(){this.sortComparer&&this.sort(this.sortComparer,this.sortAsc)}getFilteredItems(){return this.filteredItems}getFilteredItemCount(){return this.filteredItems.length}getFilter(){return this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter}setFilter(e){this.filterCSPSafe=e,this.filter=e,this._options.inlineFilters&&(this.compiledFilterCSPSafe=this.compileFilterCSPSafe,this.compiledFilterWithCachingCSPSafe=this.compileFilterWithCachingCSPSafe,this.compiledFilter=this.compileFilter(this._options.useCSPSafeFilter),this.compiledFilterWithCaching=this.compileFilterWithCaching(this._options.useCSPSafeFilter)),this.refresh()}getGrouping(){return this.groupingInfos}setGrouping(e){this._options.groupItemMetadataProvider||(this._options.groupItemMetadataProvider=new Ko),this.groups=[],this.toggledGroupsByLevel=[],e=e||[],this.groupingInfos=e instanceof Array?e:[e];for(let t=0;t<this.groupingInfos.length;t++){const i=this.groupingInfos[t]=de(!0,{},this.groupingInfoDefaults,this.groupingInfos[t]);i.getterIsAFn=typeof i.getter=="function",i.compiledAccumulators=[];let s=i.aggregators.length;for(;s--;)i.compiledAccumulators[s]=this.compileAccumulatorLoopCSPSafe(i.aggregators[s]);this.toggledGroupsByLevel[t]={}}this.refresh()}getItemByIdx(e){return this.items[e]}getIdxById(e){var t;return(t=this.idxById)==null?void 0:t.get(e)}ensureRowsByIdCache(){if(!this.rowsById){this.rowsById={};for(let e=0,t=this.rows.length;e<t;e++)this.rowsById[this.rows[e][this.idProperty]]=e}}getRowByItem(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e[this.idProperty]]}getRowById(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e]}getItemById(e){return this.items[this.idxById.get(e)]}mapItemsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s][this.idProperty]];q(o)&&(t[t.length]=o)}return t}mapIdsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s]];q(o)&&(t[t.length]=o)}return t}mapRowsToIds(e){const t=[];for(let i=0,s=e.length;i<s;i++)if(e[i]<this.rows.length){const n=this.rows[e[i]];t[t.length]=n[this.idProperty]}return t}updateSingleItem(e,t){var i;if(this.idxById){if(!this.idxById.has(e))throw new Error("[SlickGrid DataView] Invalid id");if(e!==t[this.idProperty]){const s=t[this.idProperty];if(!q(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a null id");if(this.idxById.has(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a non-unique id");this.idxById.set(s,this.idxById.get(e)),this.idxById.delete(e),(i=this.updated)!=null&&i[e]&&delete this.updated[e],e=s}this.items[this.idxById.get(e)]=t,this.updated||(this.updated={}),this.updated[e]=!0}}updateItem(e,t){this.updateSingleItem(e,t),this.refresh()}updateItems(e,t){if(e.length!==t.length)throw new Error("[SlickGrid DataView] Mismatch on the length of ids and items provided to update");for(let i=0,s=t.length;i<s;i++)this.updateSingleItem(e[i],t[i]);this.refresh()}insertItem(e,t){this.items.splice(e,0,t),this.updateIdxById(e),this.refresh()}insertItems(e,t){Array.prototype.splice.apply(this.items,[e,0].concat(t)),this.updateIdxById(e),this.refresh()}addItem(e){this.items.push(e),this.updateIdxById(this.items.length-1),this.refresh()}addItems(e){this.items=this.items.concat(e),this.updateIdxById(this.items.length-e.length),this.refresh()}deleteItem(e){if(this.idxById)if(this.isBulkSuspend)this.bulkDeleteIds.set(e,!0);else{const t=this.idxById.get(e);if(t===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(e),this.items.splice(t,1),this.updateIdxById(t),this.refresh()}}deleteItems(e){if(!(e.length===0||!this.idxById))if(this.isBulkSuspend)for(let t=0,i=e.length;t<i;t++){const s=e[t];if(this.idxById.get(s)===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.bulkDeleteIds.set(s,!0)}else{const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i],o=this.idxById.get(n);if(o===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(n),t.push(o)}t.sort();for(let i=t.length-1;i>=0;--i)this.items.splice(t[i],1);this.updateIdxById(t[0]),this.refresh()}}sortedAddItem(e){if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedAddItem() requires a sort comparer, use sort()");this.insertItem(this.sortedIndex(e),e)}sortedUpdateItem(e,t){if(!this.idxById)return;if(!this.idxById.has(e)||e!==t[this.idProperty])throw new Error(`[SlickGrid DataView] Invalid or non-matching id ${e}`);if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedUpdateItem() requires a sort comparer, use sort()");const i=this.getItemById(e);this.sortComparer(i,t)!==0?(this.deleteItem(e),this.sortedAddItem(t)):this.updateItem(e,t)}sortedIndex(e){let t=0,i=this.items.length;for(;t<i;){const s=t+i>>>1;this.sortComparer(this.items[s],e)===-1?t=s+1:i=s}return t}getItemCount(){return this.items.length}getLength(){return this.rows.length}getItem(e){var i;const t=this.rows[e];if(t!=null&&t.__group&&t.totals&&!((i=t.totals)!=null&&i.initialized)){const s=this.groupingInfos[t.level];s.displayTotalsRow||(this.calculateTotals(t.totals),t.title=s.formatter?s.formatter(t):t.value)}else t!=null&&t.__groupTotals&&!t.initialized&&this.calculateTotals(t);return t}getItemMetadata(e){var i,s,n;const t=this.rows[e];return t===void 0?null:(i=this._options.globalItemMetadataProvider)!=null&&i.getRowMetadata?this._options.globalItemMetadataProvider.getRowMetadata(t,e):t.__group&&((s=this._options.groupItemMetadataProvider)!=null&&s.getGroupRowMetadata)?this._options.groupItemMetadataProvider.getGroupRowMetadata(t,e):t.__groupTotals&&((n=this._options.groupItemMetadataProvider)!=null&&n.getTotalsRowMetadata)?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t,e):null}expandCollapseAllGroups(e,t){if(q(e))this.toggledGroupsByLevel[e]={},this.groupingInfos[e].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:e,groupingKey:null}):this.onGroupExpanded.notify({level:e,groupingKey:null});else for(let i=0;i<this.groupingInfos.length;i++)this.toggledGroupsByLevel[i]={},this.groupingInfos[i].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:i,groupingKey:null}):this.onGroupExpanded.notify({level:i,groupingKey:null});this.refresh()}collapseAllGroups(e){this.expandCollapseAllGroups(e,!0)}expandAllGroups(e){this.expandCollapseAllGroups(e,!1)}expandCollapseGroup(e,t,i){this.toggledGroupsByLevel[e]&&(this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed^i),this.refresh()}collapseGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(s=i,n=i.split(this.groupingDelimiter).length-1):(s=e.join(this.groupingDelimiter),n=e.length-1),this.expandCollapseGroup(n,s,!0),this.onGroupCollapsed.notify({level:n,groupingKey:s})}expandGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(n=i.split(this.groupingDelimiter).length-1,s=i):(n=e.length-1,s=e.join(this.groupingDelimiter)),this.expandCollapseGroup(n,s,!1),this.onGroupExpanded.notify({level:n,groupingKey:s})}getGroups(){return this.groups}extractGroups(e,t){var d,c;let i,s;const n=[],o={};let l;const a=t?t.level+1:0,h=this.groupingInfos[a];for(let u=0,p=((d=h.predefinedValues)==null?void 0:d.length)??0;u<p;u++)s=(c=h.predefinedValues)==null?void 0:c[u],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i);for(let u=0,p=e.length;u<p;u++)l=e[u],s=h.getterIsAFn?h.getter(l):l[h.getter],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i),i.rows[i.count++]=l;if(a<this.groupingInfos.length-1)for(let u=0;u<n.length;u++)i=n[u],i.groups=this.extractGroups(i.rows,i);return n.length&&this.addTotals(n,a),n.sort(this.groupingInfos[a].comparer),n}calculateTotals(e){var l;const t=e.group,i=this.groupingInfos[(t==null?void 0:t.level)??0],s=t.level===this.groupingInfos.length;let n,o=i.aggregators.length;if(!s&&i.aggregateChildGroups){let a=((l=t.groups)==null?void 0:l.length)??0;for(;a--;)t.groups[a].totals.initialized||this.calculateTotals(t.groups[a].totals)}for(;o--;)n=i.aggregators[o],n.init(),!s&&i.aggregateChildGroups?i.compiledAccumulators[o].call(n,t.groups):i.compiledAccumulators[o].call(n,t.rows),n.storeResult(e);e.initialized=!0}addGroupTotals(e){const t=this.groupingInfos[e.level],i=new Zh;i.group=e,e.totals=i,t.lazyTotalsCalculation||this.calculateTotals(i)}addTotals(e,t){var a,h;t=t||0;const i=this.groupingInfos[t],s=i.collapsed,n=this.toggledGroupsByLevel[t];let o=e.length,l;for(;o--;)l=e[o],!(l.collapsed&&!i.aggregateCollapsed)&&(l.groups&&this.addTotals(l.groups,t+1),(a=i.aggregators)!=null&&a.length&&(i.aggregateEmpty||l.rows.length||(h=l.groups)!=null&&h.length)&&this.addGroupTotals(l),l.collapsed=s^n[l.groupingKey],l.title=i.formatter?i.formatter(l):l.value)}flattenGroupedRows(e,t){t=t||0;const i=this.groupingInfos[t],s=[];let n,o=0,l;for(let a=0,h=e.length;a<h;a++){if(l=e[a],s[o++]=l,!l.collapsed){n=l.groups?this.flattenGroupedRows(l.groups,t+1):l.rows;for(let d=0,c=n.length;d<c;d++)s[o++]=n[d]}l.totals&&i.displayTotalsRow&&(!l.collapsed||i.aggregateCollapsed)&&(s[o++]=l.totals)}return s}compileAccumulatorLoopCSPSafe(e){return e.accumulate?function(t){let i;if(Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];i=e.accumulate.call(e,n)}return i}:function(){}}compileFilterCSPSafe(e,t){if(typeof this.filterCSPSafe!="function")return[];const i=[],s=e.length;for(let n=0;n<s;n++)this.filterCSPSafe(e[n],t)&&i.push(e[n]);return i}compileFilter(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args",o),a="compiledFilter";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCaching(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args,_cache",o),a="compiledFilterWithCaching";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCachingCSPSafe(e,t,i){if(typeof this.filterCSPSafe!="function")return[];const s=[],n=e.length;for(let o=0;o<n;o++)(i[o]||this.filterCSPSafe(e[o],t))&&s.push(e[o]);return s}setFunctionName(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch{e.name=t}}uncompiledFilter(e,t){var n;const i=[];let s=0;for(let o=0,l=e.length;o<l;o++)(n=this.filter)!=null&&n.call(this,e[o],t)&&(i[s++]=e[o]);return i}uncompiledFilterWithCaching(e,t,i){var l;const s=[];let n=0,o;for(let a=0,h=e.length;a<h;a++)o=e[a],i[a]?s[n++]=o:(l=this.filter)!=null&&l.call(this,o,t)&&(s[n++]=o,i[a]=!0);return s}getFilteredAndPagedItems(e){if(this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter){let i,s;this._options.useCSPSafeFilter?(i=this._options.inlineFilters?this.compiledFilterCSPSafe:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCachingCSPSafe:this.uncompiledFilterWithCaching):(i=this._options.inlineFilters?this.compiledFilter:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCaching:this.uncompiledFilterWithCaching),this.refreshHints.isFilterNarrowing?this.filteredItems=i.call(this,this.filteredItems,this.filterArgs):this.refreshHints.isFilterExpanding?this.filteredItems=s.call(this,e,this.filterArgs,this.filterCache):this.refreshHints.isFilterUnchanged||(this.filteredItems=i.call(this,e,this.filterArgs))}else this.filteredItems=this.pagesize?e:e.concat();let t;return this.pagesize?(this.filteredItems.length<=this.pagenum*this.pagesize&&(this.filteredItems.length===0?this.pagenum=0:this.pagenum=Math.floor((this.filteredItems.length-1)/this.pagesize)),t=this.filteredItems.slice(this.pagesize*this.pagenum,this.pagesize*this.pagenum+this.pagesize)):t=this.filteredItems,{totalRows:this.filteredItems.length,rows:t}}getRowDiffs(e,t){var h,d,c;let i,s,n;const o=[];let l=0,a=Math.max(t.length,e.length);(h=this.refreshHints)!=null&&h.ignoreDiffsBefore&&(l=Math.max(0,Math.min(t.length,this.refreshHints.ignoreDiffsBefore))),(d=this.refreshHints)!=null&&d.ignoreDiffsAfter&&(a=Math.min(t.length,Math.max(0,this.refreshHints.ignoreDiffsAfter)));for(let u=l,p=e.length;u<a;u++)u>=p?o[o.length]=u:(i=t[u],s=e[u],(!i||this.groupingInfos.length&&(n=i.__nonDataRow||s.__nonDataRow)&&i.__group!==s.__group||i.__group&&!i.equals(s)||n&&(i.__groupTotals||s.__groupTotals)||i[this.idProperty]!==s[this.idProperty]||(c=this.updated)!=null&&c[i[this.idProperty]])&&(o[o.length]=u));return o}recalc(e){this.rowsById=void 0,(this.refreshHints.isFilterNarrowing!==this.prevRefreshHints.isFilterNarrowing||this.refreshHints.isFilterExpanding!==this.prevRefreshHints.isFilterExpanding)&&(this.filterCache=[]);const t=this.getFilteredAndPagedItems(e);this.totalRows=t.totalRows;let i=t.rows;this.groups=[],this.groupingInfos.length&&(this.groups=this.extractGroups(i),this.groups.length&&(i=this.flattenGroupedRows(this.groups)));const s=this.getRowDiffs(this.rows,i);return this.rows=i,s}refresh(){if(this.suspend)return;const e=de(!0,{},this.getPagingInfo()),t=this.rows.length,i=this.totalRows;let s=this.recalc(this.items);this.pagesize&&this.totalRows<this.pagenum*this.pagesize&&(this.pagenum=Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1),s=this.recalc(this.items)),this.updated=null,this.prevRefreshHints=this.refreshHints,this.refreshHints={},i!==this.totalRows&&this.onBeforePagingInfoChanged.notify(e,null,this).getReturnValue()!==!1&&this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),t!==this.rows.length&&this.onRowCountChanged.notify({previous:t,current:this.rows.length,itemCount:this.items.length,dataView:this,changedRows:s,callingOnRowsChanged:s.length>0},null,this),s.length>0&&this.onRowsChanged.notify({rows:s,itemCount:this.items.length,dataView:this,calledOnRowCountChanged:t!==this.rows.length},null,this),(t!==this.rows.length||s.length>0)&&this.onRowsOrCountChanged.notify({rowsDiff:s,previousRowCount:t,currentRowCount:this.rows.length,itemCount:this.items.length,rowCountChanged:t!==this.rows.length,rowsChanged:s.length>0,dataView:this},null,this)}syncGridSelection(e,t,i){this._grid=e;let s;this.selectedRowIds=this.mapRowsToIds(e.getSelectedRows());const n=e.getOptions(),o=a=>{a===!1?this.selectedRowIds=[]:this.selectedRowIds.sort().join(",")!==a.sort().join(",")&&(this.selectedRowIds=a)},l=()=>{if((this.selectedRowIds||[]).length>0&&!s){s=!0;const a=this.mapIdsToRows(this.selectedRowIds||[]);if(!t){const h={grid:this._grid,ids:this.mapRowsToIds(a),rows:a,dataView:this};this.preSelectedRowIdsChangeFn(h),this.onSelectedRowIdsChanged.notify(Object.assign(h,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}e.setSelectedRows(a),s=!1}};return e.onSelectedRowsChanged.subscribe((a,h)=>{if(!s){const d=this.mapRowsToIds(h.rows),c={grid:this._grid,ids:d,rows:h.rows,added:!0,dataView:this};this.preSelectedRowIdsChangeFn(c),this.onSelectedRowIdsChanged.notify(Object.assign(c,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}}),this.preSelectedRowIdsChangeFn=a=>{var h,d;if(!s){if(s=!0,typeof a.added>"u")o(a.ids);else{let u;if(a.added)i&&n.multiSelect?u=((h=this.selectedRowIds)==null?void 0:h.filter(m=>this.getRowById(m)===void 0)).concat(a.ids):u=a.ids;else if(i&&n.multiSelect){const p=new Set(a.ids);u=(d=this.selectedRowIds)==null?void 0:d.filter(m=>!p.has(m))}else u=[];o(u)}s=!1}},this.onRowsOrCountChanged.subscribe(l.bind(this)),this.onSelectedRowIdsChanged}getAllSelectedIds(){return this.selectedRowIds}getAllSelectedFilteredIds(){return this.getAllSelectedFilteredItems().map(e=>e[this.idProperty])}setSelectedIds(e,t){var a;let i=t==null?void 0:t.isRowBeingAdded;const s=t==null?void 0:t.shouldTriggerEvent,n=t==null?void 0:t.applyRowSelectionToGrid;i!==!1&&(i=!0);const o=this.mapIdsToRows(e),l={grid:this._grid,ids:e,rows:o,added:i,dataView:this};(a=this.preSelectedRowIdsChangeFn)==null||a.call(this,l),s!==!1&&this.onSelectedRowIdsChanged.notify(Object.assign(l,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this),n!==!1&&this._grid&&this._grid.setSelectedRows(o)}getAllSelectedItems(){const e=[];return this.getAllSelectedIds().forEach(i=>{e.push(this.getItemById(i))}),e}getAllSelectedFilteredItems(){if(!Array.isArray(this.selectedRowIds))return[];const e=new Set(this.selectedRowIds);return this.filteredItems.filter(i=>e.has(i[this.idProperty]))||[]}syncGridCellCssStyles(e,t){let i,s;const n=l=>{i={},typeof l=="object"&&Object.keys(l).forEach(a=>{if(l&&this.rows[a]){const h=this.rows[a][this.idProperty];i[h]=l[a]}})};n(e.getCellCssStyles(t));const o=()=>{if(typeof i=="object"){s=!0,this.ensureRowsByIdCache();const l={};Object.keys(i).forEach(a=>{var d;const h=(d=this.rowsById)==null?void 0:d[a];q(h)&&(l[h]=i[a])}),e.setCellCssStyles(t,l),s=!1}};e.onCellCssStylesChanged.subscribe((l,a)=>{s||t!==a.key||(a.hash?n(a.hash):(e.onCellCssStylesChanged.unsubscribe(),this.onRowsOrCountChanged.unsubscribe(o)))}),this.onRowsOrCountChanged.subscribe(o.bind(this))}}/**!
3
3
  * Sortable 1.15.6
4
4
  * @author RubaXa <trash@rubaxa.org>
5
5
  * @author owenm <owen23355@gmail.com>
6
6
  * @license MIT
7
- */function Xo(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xo(Object(t),!0).forEach(function(i){id(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Xo(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function bs(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?bs=function(e){return typeof e}:bs=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(r)}function id(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ft(){return Ft=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Ft.apply(this,arguments)}function sd(r,e){if(r==null)return{};var t={},i=Object.keys(r),s,n;for(n=0;n<i.length;n++)s=i[n],!(e.indexOf(s)>=0)&&(t[s]=r[s]);return t}function nd(r,e){if(r==null)return{};var t=sd(r,e),i,s;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(t[i]=r[i])}return t}var rd="1.15.6";function Dt(r){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(r)}var Mt=Dt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),ji=Dt(/Edge/i),Qo=Dt(/firefox/i),Yi=Dt(/safari/i)&&!Dt(/chrome/i)&&!Dt(/android/i),Vn=Dt(/iP(ad|od|hone)/i),Zo=Dt(/chrome/i)&&Dt(/android/i),Jo={capture:!1,passive:!1};function ne(r,e,t){r.addEventListener(e,t,!Mt&&Jo)}function te(r,e,t){r.removeEventListener(e,t,!Mt&&Jo)}function Ss(r,e){if(e){if(e[0]===">"&&(e=e.substring(1)),r)try{if(r.matches)return r.matches(e);if(r.msMatchesSelector)return r.msMatchesSelector(e);if(r.webkitMatchesSelector)return r.webkitMatchesSelector(e)}catch{return!1}return!1}}function el(r){return r.host&&r!==document&&r.host.nodeType?r.host:r.parentNode}function mt(r,e,t,i){if(r){t=t||document;do{if(e!=null&&(e[0]===">"?r.parentNode===t&&Ss(r,e):Ss(r,e))||i&&r===t)return r;if(r===t)break}while(r=el(r))}return null}var tl=/\s+/g;function it(r,e,t){if(r&&e)if(r.classList)r.classList[t?"add":"remove"](e);else{var i=(" "+r.className+" ").replace(tl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(tl," ")}}function $(r,e,t){var i=r&&r.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(r,""):r.currentStyle&&(t=r.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function Ci(r,e){var t="";if(typeof r=="string")t=r;else do{var i=$(r,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(r=r.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function il(r,e,t){if(r){var i=r.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function yt(){var r=document.scrollingElement;return r||document.documentElement}function De(r,e,t,i,s){if(!(!r.getBoundingClientRect&&r!==window)){var n,o,l,a,h,d,c;if(r!==window&&r.parentNode&&r!==yt()?(n=r.getBoundingClientRect(),o=n.top,l=n.left,a=n.bottom,h=n.right,d=n.height,c=n.width):(o=0,l=0,a=window.innerHeight,h=window.innerWidth,d=window.innerHeight,c=window.innerWidth),(e||t)&&r!==window&&(s=s||r.parentNode,!Mt))do if(s&&s.getBoundingClientRect&&($(s,"transform")!=="none"||t&&$(s,"position")!=="static")){var u=s.getBoundingClientRect();o-=u.top+parseInt($(s,"border-top-width")),l-=u.left+parseInt($(s,"border-left-width")),a=o+n.height,h=l+n.width;break}while(s=s.parentNode);if(i&&r!==window){var p=Ci(s||r),m=p&&p.a,f=p&&p.d;p&&(o/=f,l/=m,c/=m,d/=f,a=o+d,h=l+c)}return{top:o,left:l,bottom:a,right:h,width:c,height:d}}}function sl(r,e,t){for(var i=Wt(r,!0),s=De(r)[e];i;){var n=De(i)[t],o=void 0;if(o=s>=n,!o)return i;if(i===yt())break;i=Wt(i,!1)}return!1}function vi(r,e,t,i){for(var s=0,n=0,o=r.children;n<o.length;){if(o[n].style.display!=="none"&&o[n]!==B.ghost&&(i||o[n]!==B.dragged)&&mt(o[n],t.draggable,r,!1)){if(s===e)return o[n];s++}n++}return null}function Bn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Ss(t,e));)t=t.previousElementSibling;return t||null}function dt(r,e){var t=0;if(!r||!r.parentNode)return-1;for(;r=r.previousElementSibling;)r.nodeName.toUpperCase()!=="TEMPLATE"&&r!==B.clone&&(!e||Ss(r,e))&&t++;return t}function nl(r){var e=0,t=0,i=yt();if(r)do{var s=Ci(r),n=s.a,o=s.d;e+=r.scrollLeft*n,t+=r.scrollTop*o}while(r!==i&&(r=r.parentNode));return[e,t]}function od(r,e){for(var t in r)if(r.hasOwnProperty(t)){for(var i in e)if(e.hasOwnProperty(i)&&e[i]===r[t][i])return Number(t)}return-1}function Wt(r,e){if(!r||!r.getBoundingClientRect)return yt();var t=r,i=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var s=$(t);if(t.clientWidth<t.scrollWidth&&(s.overflowX=="auto"||s.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(s.overflowY=="auto"||s.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return yt();if(i||e)return t;i=!0}}while(t=t.parentNode);return yt()}function ld(r,e){if(r&&e)for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r}function zn(r,e){return Math.round(r.top)===Math.round(e.top)&&Math.round(r.left)===Math.round(e.left)&&Math.round(r.height)===Math.round(e.height)&&Math.round(r.width)===Math.round(e.width)}var qi;function rl(r,e){return function(){if(!qi){var t=arguments,i=this;t.length===1?r.call(i,t[0]):r.apply(i,t),qi=setTimeout(function(){qi=void 0},e)}}}function ad(){clearTimeout(qi),qi=void 0}function ol(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function ll(r){var e=window.Polymer,t=window.jQuery||window.Zepto;return e&&e.dom?e.dom(r).cloneNode(!0):t?t(r).clone(!0)[0]:r.cloneNode(!0)}function al(r,e,t){var i={};return Array.from(r.children).forEach(function(s){var n,o,l,a;if(!(!mt(s,e.draggable,r,!1)||s.animated||s===t)){var h=De(s);i.left=Math.min((n=i.left)!==null&&n!==void 0?n:1/0,h.left),i.top=Math.min((o=i.top)!==null&&o!==void 0?o:1/0,h.top),i.right=Math.max((l=i.right)!==null&&l!==void 0?l:-1/0,h.right),i.bottom=Math.max((a=i.bottom)!==null&&a!==void 0?a:-1/0,h.bottom)}}),i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}var Xe="Sortable"+new Date().getTime();function hd(){var r=[],e;return{captureAnimationState:function(){if(r=[],!!this.options.animation){var i=[].slice.call(this.el.children);i.forEach(function(s){if(!($(s,"display")==="none"||s===B.ghost)){r.push({target:s,rect:De(s)});var n=St({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=Ci(s,!0);o&&(n.top-=o.f,n.left-=o.e)}s.fromRect=n}})}},addAnimationState:function(i){r.push(i)},removeAnimationState:function(i){r.splice(od(r,{target:i}),1)},animateAll:function(i){var s=this;if(!this.options.animation){clearTimeout(e),typeof i=="function"&&i();return}var n=!1,o=0;r.forEach(function(l){var a=0,h=l.target,d=h.fromRect,c=De(h),u=h.prevFromRect,p=h.prevToRect,m=l.rect,f=Ci(h,!0);f&&(c.top-=f.f,c.left-=f.e),h.toRect=c,h.thisAnimationDuration&&zn(u,c)&&!zn(d,c)&&(m.top-c.top)/(m.left-c.left)===(d.top-c.top)/(d.left-c.left)&&(a=cd(m,u,p,s.options)),zn(c,d)||(h.prevFromRect=d,h.prevToRect=c,a||(a=s.options.animation),s.animate(h,m,c,a)),a&&(n=!0,o=Math.max(o,a),clearTimeout(h.animationResetTimer),h.animationResetTimer=setTimeout(function(){h.animationTime=0,h.prevFromRect=null,h.fromRect=null,h.prevToRect=null,h.thisAnimationDuration=null},a),h.thisAnimationDuration=a)}),clearTimeout(e),n?e=setTimeout(function(){typeof i=="function"&&i()},o):typeof i=="function"&&i(),r=[]},animate:function(i,s,n,o){if(o){$(i,"transition",""),$(i,"transform","");var l=Ci(this.el),a=l&&l.a,h=l&&l.d,d=(s.left-n.left)/(a||1),c=(s.top-n.top)/(h||1);i.animatingX=!!d,i.animatingY=!!c,$(i,"transform","translate3d("+d+"px,"+c+"px,0)"),this.forRepaintDummy=dd(i),$(i,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),$(i,"transform","translate3d(0,0,0)"),typeof i.animated=="number"&&clearTimeout(i.animated),i.animated=setTimeout(function(){$(i,"transition",""),$(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},o)}}}}function dd(r){return r.offsetWidth}function cd(r,e,t,i){return Math.sqrt(Math.pow(e.top-r.top,2)+Math.pow(e.left-r.left,2))/Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))*i.animation}var bi=[],$n={initializeByDefault:!0},Ki={mount:function(e){for(var t in $n)$n.hasOwnProperty(t)&&!(t in e)&&(e[t]=$n[t]);bi.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),bi.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";bi.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](St({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](St({sortable:t},i)))})},initializePlugins:function(e,t,i,s){bi.forEach(function(l){var a=l.pluginName;if(!(!e.options[a]&&!l.initializeByDefault)){var h=new l(e,t,e.options);h.sortable=e,h.options=e.options,e[a]=h,Ft(i,h.defaults)}});for(var n in e.options)if(e.options.hasOwnProperty(n)){var o=this.modifyOption(e,n,e.options[n]);typeof o<"u"&&(e.options[n]=o)}},getEventProperties:function(e,t){var i={};return bi.forEach(function(s){typeof s.eventProperties=="function"&&Ft(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return bi.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function ud(r){var e=r.sortable,t=r.rootEl,i=r.name,s=r.targetEl,n=r.cloneEl,o=r.toEl,l=r.fromEl,a=r.oldIndex,h=r.newIndex,d=r.oldDraggableIndex,c=r.newDraggableIndex,u=r.originalEvent,p=r.putSortable,m=r.extraEventProperties;if(e=e||t&&t[Xe],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Mt&&!ji?f=new CustomEvent(i,{bubbles:!0,cancelable:!0}):(f=document.createEvent("Event"),f.initEvent(i,!0,!0)),f.to=o||t,f.from=l||t,f.item=s||t,f.clone=n,f.oldIndex=a,f.newIndex=h,f.oldDraggableIndex=d,f.newDraggableIndex=c,f.originalEvent=u,f.pullMode=p?p.lastPutMode:void 0;var C=St(St({},m),Ki.getEventProperties(i,e));for(var b in C)f[b]=C[b];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var pd=["evt"],Qe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=nd(i,pd);Ki.pluginEvent.bind(B)(e,t,St({dragEl:k,parentEl:Re,ghostEl:j,rootEl:be,nextEl:si,lastDownEl:ys,cloneEl:Oe,cloneHidden:Gt,dragStarted:Qi,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:Si,oldDraggableIndex:Xi,newIndex:st,newDraggableIndex:Ut,hideGhostForTarget:fl,unhideGhostForTarget:gl,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(l){Ye({sortable:t,name:l,originalEvent:s})}},n))};function Ye(r){ud(St({putSortable:He,cloneEl:Oe,targetEl:k,rootEl:be,oldIndex:Si,oldDraggableIndex:Xi,newIndex:st,newDraggableIndex:Ut},r))}var k,Re,j,be,si,ys,Oe,Gt,Si,st,Xi,Ut,Es,He,yi=!1,ws=!1,Ts=[],ni,ft,Wn,Gn,hl,dl,Qi,Ei,Zi,Ji=!1,Os=!1,xs,Ge,Un=[],jn=!1,Is=[],Rs=typeof document<"u",As=Vn,cl=ji||Mt?"cssFloat":"float",md=Rs&&!Zo&&!Vn&&"draggable"in document.createElement("div"),ul=function(){if(Rs){if(Mt)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),pl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=vi(e,0,t),o=vi(e,1,t),l=n&&$(n),a=o&&$(o),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+De(n).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+De(o).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return o&&(a.clear==="both"||a.clear===c)?"vertical":"horizontal"}return n&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||h>=s&&i[cl]==="none"||o&&i[cl]==="none"&&h+d>s)?"vertical":"horizontal"},fd=function(e,t,i){var s=i?e.left:e.top,n=i?e.right:e.bottom,o=i?e.width:e.height,l=i?t.left:t.top,a=i?t.right:t.bottom,h=i?t.width:t.height;return s===l||n===a||s+o/2===l+h/2},gd=function(e,t){var i;return Ts.some(function(s){var n=s[Xe].options.emptyInsertThreshold;if(!(!n||Bn(s))){var o=De(s),l=e>=o.left-n&&e<=o.right+n,a=t>=o.top-n&&t<=o.bottom+n;if(l&&a)return i=s}}),i},ml=function(e){function t(n,o){return function(l,a,h,d){var c=l.options.group.name&&a.options.group.name&&l.options.group.name===a.options.group.name;if(n==null&&(o||c))return!0;if(n==null||n===!1)return!1;if(o&&n==="clone")return n;if(typeof n=="function")return t(n(l,a,h,d),o)(l,a,h,d);var u=(o?l:a).options.group.name;return n===!0||typeof n=="string"&&n===u||n.join&&n.indexOf(u)>-1}}var i={},s=e.group;(!s||bs(s)!="object")&&(s={name:s}),i.name=s.name,i.checkPull=t(s.pull,!0),i.checkPut=t(s.put),i.revertClone=s.revertClone,e.group=i},fl=function(){!ul&&j&&$(j,"display","none")},gl=function(){!ul&&j&&$(j,"display","")};Rs&&!Zo&&document.addEventListener("click",function(r){if(ws)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),ws=!1,!1},!0);var ri=function(e){if(k){e=e.touches?e.touches[0]:e;var t=gd(e.clientX,e.clientY);if(t){var i={};for(var s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[Xe]._onDragOver(i)}}},_d=function(e){k&&k.parentNode[Xe]._isOutsideThisEl(e.target)};function B(r,e){if(!(r&&r.nodeType&&r.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(r));this.el=r,this.options=e=Ft({},e),r[Xe]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(r.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return pl(r,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(o,l){o.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:B.supportPointer!==!1&&"PointerEvent"in window&&(!Yi||Vn),emptyInsertThreshold:5};Ki.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);ml(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:md,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?ne(r,"pointerdown",this._onTapStart):(ne(r,"mousedown",this._onTapStart),ne(r,"touchstart",this._onTapStart)),this.nativeDraggable&&(ne(r,"dragover",this),ne(r,"dragenter",this)),Ts.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Ft(this,hd())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Ei=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,k):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,s=this.options,n=s.preventOnFilter,o=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,a=(l||e).target,h=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,d=s.filter;if(Td(i),!k&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Yi&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=mt(a,s.draggable,i,!1),!(a&&a.animated)&&ys!==a)){if(Si=dt(a),Xi=dt(a,s.draggable),typeof d=="function"){if(d.call(this,e,a,this)){Ye({sortable:t,rootEl:h,name:"filter",targetEl:a,toEl:i,fromEl:i}),Qe("filter",t,{evt:e}),n&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=mt(h,c.trim(),i,!1),c)return Ye({sortable:t,rootEl:c,name:"filter",targetEl:a,fromEl:i,toEl:i}),Qe("filter",t,{evt:e}),!0}),d)){n&&e.preventDefault();return}s.handle&&!mt(h,s.handle,i,!1)||this._prepareDragStart(e,l,a)}}},_prepareDragStart:function(e,t,i){var s=this,n=s.el,o=s.options,l=n.ownerDocument,a;if(i&&!k&&i.parentNode===n){var h=De(i);if(be=n,k=i,Re=k.parentNode,si=k.nextSibling,ys=i,Es=o.group,B.dragged=k,ni={target:k,clientX:(t||e).clientX,clientY:(t||e).clientY},hl=ni.clientX-h.left,dl=ni.clientY-h.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,k.style["will-change"]="all",a=function(){if(Qe("delayEnded",s,{evt:e}),B.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!Qo&&s.nativeDraggable&&(k.draggable=!0),s._triggerDragStart(e,t),Ye({sortable:s,name:"choose",originalEvent:e}),it(k,o.chosenClass,!0)},o.ignore.split(",").forEach(function(d){il(k,d.trim(),Yn)}),ne(l,"dragover",ri),ne(l,"mousemove",ri),ne(l,"touchmove",ri),o.supportPointer?(ne(l,"pointerup",s._onDrop),!this.nativeDraggable&&ne(l,"pointercancel",s._onDrop)):(ne(l,"mouseup",s._onDrop),ne(l,"touchend",s._onDrop),ne(l,"touchcancel",s._onDrop)),Qo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,k.draggable=!0),Qe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(ji||Mt))){if(B.eventCanceled){this._onDrop();return}o.supportPointer?(ne(l,"pointerup",s._disableDelayedDrag),ne(l,"pointercancel",s._disableDelayedDrag)):(ne(l,"mouseup",s._disableDelayedDrag),ne(l,"touchend",s._disableDelayedDrag),ne(l,"touchcancel",s._disableDelayedDrag)),ne(l,"mousemove",s._delayedDragTouchMoveHandler),ne(l,"touchmove",s._delayedDragTouchMoveHandler),o.supportPointer&&ne(l,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(a,o.delay)}else a()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){k&&Yn(k),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;te(e,"mouseup",this._disableDelayedDrag),te(e,"touchend",this._disableDelayedDrag),te(e,"touchcancel",this._disableDelayedDrag),te(e,"pointerup",this._disableDelayedDrag),te(e,"pointercancel",this._disableDelayedDrag),te(e,"mousemove",this._delayedDragTouchMoveHandler),te(e,"touchmove",this._delayedDragTouchMoveHandler),te(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?ne(document,"pointermove",this._onTouchMove):t?ne(document,"touchmove",this._onTouchMove):ne(document,"mousemove",this._onTouchMove):(ne(k,"dragend",this),ne(be,"dragstart",this._onDragStart));try{document.selection?ks(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(yi=!1,be&&k){Qe("dragStarted",this,{evt:t}),this.nativeDraggable&&ne(document,"dragover",_d);var i=this.options;!e&&it(k,i.dragClass,!1),it(k,i.ghostClass,!0),B.active=this,e&&this._appendGhost(),Ye({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ft){this._lastX=ft.clientX,this._lastY=ft.clientY,fl();for(var e=document.elementFromPoint(ft.clientX,ft.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ft.clientX,ft.clientY),e!==t);)t=e;if(k.parentNode[Xe]._isOutsideThisEl(e),t)do{if(t[Xe]){var i=void 0;if(i=t[Xe]._onDragOver({clientX:ft.clientX,clientY:ft.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=el(t));gl()}},_onTouchMove:function(e){if(ni){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&Ci(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=As&&Ge&&nl(Ge),d=(n.clientX-ni.clientX+s.x)/(l||1)+(h?h[0]-Un[0]:0)/(l||1),c=(n.clientY-ni.clientY+s.y)/(a||1)+(h?h[1]-Un[1]:0)/(a||1);if(!B.active&&!yi){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(j){o?(o.e+=d-(Wn||0),o.f+=c-(Gn||0)):o={a:1,b:0,c:0,d:1,e:d,f:c};var u="matrix(".concat(o.a,",").concat(o.b,",").concat(o.c,",").concat(o.d,",").concat(o.e,",").concat(o.f,")");$(j,"webkitTransform",u),$(j,"mozTransform",u),$(j,"msTransform",u),$(j,"transform",u),Wn=d,Gn=c,ft=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=De(k,!0,As,!0,e),i=this.options;if(As){for(Ge=e;$(Ge,"position")==="static"&&$(Ge,"transform")==="none"&&Ge!==document;)Ge=Ge.parentNode;Ge!==document.body&&Ge!==document.documentElement?(Ge===document&&(Ge=yt()),t.top+=Ge.scrollTop,t.left+=Ge.scrollLeft):Ge=yt(),Un=nl(Ge)}j=k.cloneNode(!0),it(j,i.ghostClass,!1),it(j,i.fallbackClass,!0),it(j,i.dragClass,!0),$(j,"transition",""),$(j,"transform",""),$(j,"box-sizing","border-box"),$(j,"margin",0),$(j,"top",t.top),$(j,"left",t.left),$(j,"width",t.width),$(j,"height",t.height),$(j,"opacity","0.8"),$(j,"position",As?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",hl/parseInt(j.style.width)*100+"% "+dl/parseInt(j.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(Qe("dragStart",this,{evt:e}),B.eventCanceled){this._onDrop();return}Qe("setupClone",this),B.eventCanceled||(Oe=ll(k),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),it(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=ks(function(){Qe("clone",i),!B.eventCanceled&&(i.options.removeCloneOnHide||be.insertBefore(Oe,k),i._hideClone(),Ye({sortable:i,name:"clone"}))}),!t&&it(k,n.dragClass,!0),t?(ws=!0,i._loopId=setInterval(i._emulateDragOver,50)):(te(document,"mouseup",i._onDrop),te(document,"touchend",i._onDrop),te(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,k)),ne(document,"drop",i),$(k,"transform","translateZ(0)")),yi=!0,i._dragStartId=ks(i._dragStarted.bind(i,t,e)),ne(document,"selectstart",i),Qi=!0,window.getSelection().removeAllRanges(),Yi&&$(document.body,"user-select","none")},_onDragOver:function(e){var t=this.el,i=e.target,s,n,o,l=this.options,a=l.group,h=B.active,d=Es===a,c=l.sort,u=He||h,p,m=this,f=!1;if(jn)return;function g(ie,ze){Qe(ie,m,St({evt:e,isOwner:d,axis:p?"vertical":"horizontal",revert:o,dragRect:s,targetRect:n,canSort:c,fromSortable:u,target:i,completed:C,onMove:function(fe,xe){return Ps(be,t,k,s,fe,De(fe),e,xe)},changed:b},ze))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function C(ie){return g("dragOverCompleted",{insertion:ie}),ie&&(d?h._hideClone():h._showClone(m),m!==u&&(it(k,He?He.options.ghostClass:h.options.ghostClass,!1),it(k,l.ghostClass,!0)),He!==m&&m!==B.active?He=m:m===B.active&&He&&(He=null),u===m&&(m._ignoreWhileAnimating=i),m.animateAll(function(){g("dragOverAnimationComplete"),m._ignoreWhileAnimating=null}),m!==u&&(u.animateAll(),u._ignoreWhileAnimating=null)),(i===k&&!k.animated||i===t&&!i.animated)&&(Ei=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(k.parentNode[Xe]._isOutsideThisEl(e.target),!ie&&ri(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function b(){st=dt(k),Ut=dt(k,l.draggable),Ye({sortable:m,name:"change",toEl:t,newIndex:st,newDraggableIndex:Ut,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=mt(i,l.draggable,t,!0),g("dragOver"),B.eventCanceled)return f;if(k.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||m._ignoreWhileAnimating===i)return C(!1);if(ws=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Es.checkPull(this,h,k,e))&&a.checkPut(this,h,k,e))){if(p=this._getDirection(e,i)==="vertical",s=De(k),g("dragOverValid"),B.eventCanceled)return f;if(o)return Re=be,_(),this._hideClone(),g("revert"),B.eventCanceled||(si?be.insertBefore(k,si):be.appendChild(k)),C(!0);var S=Bn(t,l.draggable);if(!S||Sd(e,p,this)&&!S.animated){if(S===k)return C(!1);if(S&&t===e.target&&(i=S),i&&(n=De(i)),Ps(be,t,k,s,i,n,e,!!i)!==!1)return _(),S&&S.nextSibling?t.insertBefore(k,S.nextSibling):t.appendChild(k),Re=t,b(),C(!0)}else if(S&&bd(e,p,this)){var E=vi(t,0,l,!0);if(E===k)return C(!1);if(i=E,n=De(i),Ps(be,t,k,s,i,n,e,!1)!==!1)return _(),t.insertBefore(k,E),Re=t,b(),C(!0)}else if(i.parentNode===t){n=De(i);var y=0,x,O=k.parentNode!==t,I=!fd(k.animated&&k.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",D=sl(i,"top","top")||sl(k,"top","top"),M=D?D.scrollTop:void 0;Ei!==i&&(x=n[A],Ji=!1,Os=!I&&l.invertSwap||O),y=yd(e,i,n,p,I?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Os,Ei===i);var L;if(y!==0){var W=dt(k);do W-=y,L=Re.children[W];while(L&&($(L,"display")==="none"||L===j))}if(y===0||L===i)return C(!1);Ei=i,Zi=y;var K=i.nextElementSibling,J=!1;J=y===1;var X=Ps(be,t,k,s,i,n,e,J);if(X!==!1)return(X===1||X===-1)&&(J=X===1),jn=!0,setTimeout(vd,30),_(),J&&!K?t.appendChild(k):i.parentNode.insertBefore(k,J?K:i),D&&ol(D,0,M-D.scrollTop),Re=k.parentNode,x!==void 0&&!Os&&(xs=Math.abs(x-De(i)[A])),b(),C(!0)}if(t.contains(k))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){te(document,"mousemove",this._onTouchMove),te(document,"touchmove",this._onTouchMove),te(document,"pointermove",this._onTouchMove),te(document,"dragover",ri),te(document,"mousemove",ri),te(document,"touchmove",ri)},_offUpEvents:function(){var e=this.el.ownerDocument;te(e,"mouseup",this._onDrop),te(e,"touchend",this._onDrop),te(e,"pointerup",this._onDrop),te(e,"pointercancel",this._onDrop),te(e,"touchcancel",this._onDrop),te(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;if(st=dt(k),Ut=dt(k,i.draggable),Qe("drop",this,{evt:e}),Re=k&&k.parentNode,st=dt(k),Ut=dt(k,i.draggable),B.eventCanceled){this._nulling();return}yi=!1,Os=!1,Ji=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),qn(this.cloneId),qn(this._dragStartId),this.nativeDraggable&&(te(document,"drop",this),te(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Yi&&$(document.body,"user-select",""),$(k,"transform",""),e&&(Qi&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),j&&j.parentNode&&j.parentNode.removeChild(j),(be===Re||He&&He.lastPutMode!=="clone")&&Oe&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),k&&(this.nativeDraggable&&te(k,"dragend",this),Yn(k),k.style["will-change"]="",Qi&&!yi&&it(k,He?He.options.ghostClass:this.options.ghostClass,!1),it(k,this.options.chosenClass,!1),Ye({sortable:this,name:"unchoose",toEl:Re,newIndex:null,newDraggableIndex:null,originalEvent:e}),be!==Re?(st>=0&&(Ye({rootEl:Re,name:"add",toEl:Re,fromEl:be,originalEvent:e}),Ye({sortable:this,name:"remove",toEl:Re,originalEvent:e}),Ye({rootEl:Re,name:"sort",toEl:Re,fromEl:be,originalEvent:e}),Ye({sortable:this,name:"sort",toEl:Re,originalEvent:e})),He&&He.save()):st!==Si&&st>=0&&(Ye({sortable:this,name:"update",toEl:Re,originalEvent:e}),Ye({sortable:this,name:"sort",toEl:Re,originalEvent:e})),B.active&&((st==null||st===-1)&&(st=Si,Ut=Xi),Ye({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Qe("nulling",this),be=k=Re=j=si=Oe=ys=Gt=ni=ft=Qi=st=Ut=Si=Xi=Ei=Zi=He=Es=B.dragged=B.ghost=B.clone=B.active=null,Is.forEach(function(e){e.checked=!0}),Is.length=Wn=Gn=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":k&&(this._onDragOver(e),Cd(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,s=0,n=i.length,o=this.options;s<n;s++)t=i[s],mt(t,o.draggable,this.el,!1)&&e.push(t.getAttribute(o.dataIdAttr)||wd(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,o){var l=s.children[o];mt(l,this.options.draggable,s,!1)&&(i[n]=l)},this),t&&this.captureAnimationState(),e.forEach(function(n){i[n]&&(s.removeChild(i[n]),s.appendChild(i[n]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return mt(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Ki.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&ml(i)},destroy:function(){Qe("destroy",this);var e=this.el;e[Xe]=null,te(e,"mousedown",this._onTapStart),te(e,"touchstart",this._onTapStart),te(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(te(e,"dragover",this),te(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ts.splice(Ts.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!Gt){if(Qe("hideClone",this),B.eventCanceled)return;$(Oe,"display","none"),this.options.removeCloneOnHide&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),Gt=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(Gt){if(Qe("showClone",this),B.eventCanceled)return;k.parentNode==be&&!this.options.group.revertClone?be.insertBefore(Oe,k):si?be.insertBefore(Oe,si):be.appendChild(Oe),this.options.group.revertClone&&this.animate(k,Oe),$(Oe,"display",""),Gt=!1}}};function Cd(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Ps(r,e,t,i,s,n,o,l){var a,h=r[Xe],d=h.options.onMove,c;return window.CustomEvent&&!Mt&&!ji?a=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(a=document.createEvent("Event"),a.initEvent("move",!0,!0)),a.to=e,a.from=r,a.dragged=t,a.draggedRect=i,a.related=s||e,a.relatedRect=n||De(e),a.willInsertAfter=l,a.originalEvent=o,r.dispatchEvent(a),d&&(c=d.call(h,a,o)),c}function Yn(r){r.draggable=!1}function vd(){jn=!1}function bd(r,e,t){var i=De(vi(t.el,0,t.options,!0)),s=al(t.el,t.options,j),n=10;return e?r.clientX<s.left-n||r.clientY<i.top&&r.clientX<i.right:r.clientY<s.top-n||r.clientY<i.bottom&&r.clientX<i.left}function Sd(r,e,t){var i=De(Bn(t.el,t.options.draggable)),s=al(t.el,t.options,j),n=10;return e?r.clientX>s.right+n||r.clientY>i.bottom&&r.clientX>i.left:r.clientY>s.bottom+n||r.clientX>i.right&&r.clientY>i.top}function yd(r,e,t,i,s,n,o,l){var a=i?r.clientY:r.clientX,h=i?t.height:t.width,d=i?t.top:t.left,c=i?t.bottom:t.right,u=!1;if(!o){if(l&&xs<h*s){if(!Ji&&(Zi===1?a>d+h*n/2:a<c-h*n/2)&&(Ji=!0),Ji)u=!0;else if(Zi===1?a<d+xs:a>c-xs)return-Zi}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Ed(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Ed(r){return dt(k)<dt(r)?1:-1}function wd(r){for(var e=r.tagName+r.className+r.src+r.href+r.textContent,t=e.length,i=0;t--;)i+=e.charCodeAt(t);return i.toString(36)}function Td(r){Is.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&Is.push(i)}}function ks(r){return setTimeout(r,0)}function qn(r){return clearTimeout(r)}Rs&&ne(document,"touchmove",function(r){(B.active||yi)&&r.cancelable&&r.preventDefault()}),B.utils={on:ne,off:te,css:$,find:il,is:function(e,t){return!!mt(e,t,e,!1)},extend:ld,throttle:rl,closest:mt,toggleClass:it,clone:ll,index:dt,nextTick:ks,cancelNextTick:qn,detectDirection:pl,getChild:vi,expando:Xe},B.get=function(r){return r[Xe]},B.mount=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];e[0].constructor===Array&&(e=e[0]),e.forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(B.utils=St(St({},B.utils),i.utils)),Ki.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=rd;var Me=[],es,Kn,Xn=!1,Qn,Zn,Fs,ts;function Od(){function r(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return r.prototype={dragStarted:function(t){var i=t.originalEvent;this.sortable.nativeDraggable?ne(document,"dragover",this._handleAutoScroll):this.options.supportPointer?ne(document,"pointermove",this._handleFallbackAutoScroll):i.touches?ne(document,"touchmove",this._handleFallbackAutoScroll):ne(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?te(document,"dragover",this._handleAutoScroll):(te(document,"pointermove",this._handleFallbackAutoScroll),te(document,"touchmove",this._handleFallbackAutoScroll),te(document,"mousemove",this._handleFallbackAutoScroll)),_l(),Ds(),ad()},nulling:function(){Fs=Kn=es=Xn=ts=Qn=Zn=null,Me.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,i){var s=this,n=(t.touches?t.touches[0]:t).clientX,o=(t.touches?t.touches[0]:t).clientY,l=document.elementFromPoint(n,o);if(Fs=t,i||this.options.forceAutoScrollFallback||ji||Mt||Yi){Jn(t,this.options,l,i);var a=Wt(l,!0);Xn&&(!ts||n!==Qn||o!==Zn)&&(ts&&_l(),ts=setInterval(function(){var h=Wt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Ds()),Jn(t,s.options,h,i)},10),Qn=n,Zn=o)}else{if(!this.options.bubbleScroll||Wt(l,!0)===yt()){Ds();return}Jn(t,this.options,Wt(l,!1),!1)}}},Ft(r,{pluginName:"scroll",initializeByDefault:!0})}function Ds(){Me.forEach(function(r){clearInterval(r.pid)}),Me=[]}function _l(){clearInterval(ts)}var Jn=rl(function(r,e,t,i){if(e.scroll){var s=(r.touches?r.touches[0]:r).clientX,n=(r.touches?r.touches[0]:r).clientY,o=e.scrollSensitivity,l=e.scrollSpeed,a=yt(),h=!1,d;Kn!==t&&(Kn=t,Ds(),es=e.scroll,d=e.scrollFn,es===!0&&(es=Wt(t,!0)));var c=0,u=es;do{var p=u,m=De(p),f=m.top,g=m.bottom,_=m.left,C=m.right,b=m.width,S=m.height,E=void 0,y=void 0,x=p.scrollWidth,O=p.scrollHeight,I=$(p),A=p.scrollLeft,D=p.scrollTop;p===a?(E=b<x&&(I.overflowX==="auto"||I.overflowX==="scroll"||I.overflowX==="visible"),y=S<O&&(I.overflowY==="auto"||I.overflowY==="scroll"||I.overflowY==="visible")):(E=b<x&&(I.overflowX==="auto"||I.overflowX==="scroll"),y=S<O&&(I.overflowY==="auto"||I.overflowY==="scroll"));var M=E&&(Math.abs(C-s)<=o&&A+b<x)-(Math.abs(_-s)<=o&&!!A),L=y&&(Math.abs(g-n)<=o&&D+S<O)-(Math.abs(f-n)<=o&&!!D);if(!Me[c])for(var W=0;W<=c;W++)Me[W]||(Me[W]={});(Me[c].vx!=M||Me[c].vy!=L||Me[c].el!==p)&&(Me[c].el=p,Me[c].vx=M,Me[c].vy=L,clearInterval(Me[c].pid),(M!=0||L!=0)&&(h=!0,Me[c].pid=setInterval((function(){i&&this.layer===0&&B.active._onTouchMove(Fs);var K=Me[this.layer].vy?Me[this.layer].vy*l:0,J=Me[this.layer].vx?Me[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[Xe],J,K,r,Fs,Me[this.layer].el)!=="continue"||ol(Me[this.layer].el,J,K)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=Wt(u,!1)));Xn=h}},30),Cl=function(e){var t=e.originalEvent,i=e.putSortable,s=e.dragEl,n=e.activeSortable,o=e.dispatchSortableEvent,l=e.hideGhostForTarget,a=e.unhideGhostForTarget;if(t){var h=i||n;l();var d=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,c=document.elementFromPoint(d.clientX,d.clientY);a(),h&&!h.el.contains(c)&&(o("spill"),this.onSpill({dragEl:s,putSortable:i}))}};function er(){}er.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var s=vi(this.sortable.el,this.startIndex,this.options);s?this.sortable.el.insertBefore(t,s):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:Cl},Ft(er,{pluginName:"revertOnSpill"});function tr(){}tr.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable,s=i||this.sortable;s.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),s.animateAll()},drop:Cl},Ft(tr,{pluginName:"removeOnSpill"}),B.mount(new Od),B.mount(tr,er);function vl(r){let{containerElement:e}=r;const{onDragInit:t,onDragStart:i,onDrag:s,onDragEnd:n,preventDragFromKeys:o}=r;let l,a,h,d,c,u;e||(e=document.body);let p={dragSource:e,dragHandle:null};function m(){e&&(e.addEventListener("mousedown",C),e.addEventListener("touchstart",C))}function f(E,y,x){if(typeof E=="function")return E(y,x)}function g(){e&&(e.removeEventListener("mousedown",C),e.removeEventListener("touchstart",C))}function _(E){let y=!1;return o&&o.forEach(x=>{E[x]&&(y=!0)}),y}function C(E){var y;if(l=E.target,!_(E)){const x=((y=E==null?void 0:E.touches)==null?void 0:y[0])??E,{target:O}=x;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const I=yn();a=I.left+x.clientX,h=I.top+x.clientY,d=x.clientX-x.clientX,c=x.clientY-x.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,E,p)!==!1&&(document.body.addEventListener("mousemove",b),document.body.addEventListener("touchmove",b),document.body.addEventListener("mouseup",S),document.body.addEventListener("touchend",S),document.body.addEventListener("touchcancel",S))}}}function b(E){var x;const y=((x=E==null?void 0:E.touches)==null?void 0:x[0])??E;if(!_(E)){d=y.clientX-a,c=y.clientY-h;const{target:O}=y;u||(p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(i,E,p),u=!0),p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(s,E,p)}}function S(E){if(document.body.removeEventListener("mousemove",b),document.body.removeEventListener("touchmove",b),document.body.removeEventListener("mouseup",S),document.body.removeEventListener("touchend",S),document.body.removeEventListener("touchcancel",S),u){const{target:y}=E;p=Object.assign(p,{target:y}),f(n,E,p),u=!1}}return m(),{destroy:g}}function bl(r){const{element:e,onMouseWheel:t}=r;function i(){e.removeEventListener("wheel",n),e.removeEventListener("mousewheel",n)}function s(){e.addEventListener("wheel",n),e.addEventListener("mousewheel",n)}function n(o){const l=o||window.event;let a=0,h=0,d=0;l.wheelDelta&&(a=l.wheelDelta/120),l.detail&&(a=-l.detail/3),d=a,l.axis!==void 0&&l.axis===l.HORIZONTAL_AXIS&&(d=0,h=-1*a),l.wheelDeltaY!==void 0&&(d=l.wheelDeltaY/120),l.wheelDeltaX!==void 0&&(h=-1*l.wheelDeltaX/120),typeof t=="function"&&t(o,a,h,d)}return s(),{destroy:i}}function xd(r){const{resizeableElement:e,resizeableHandleElement:t,onResizeStart:i,onResize:s,onResizeEnd:n}=r;if(!t||typeof t.addEventListener!="function")throw new Error("[SlickResizable] You did not provide a valid html element that will be used for the handle to resize.");function o(){t.addEventListener("mousedown",h),t.addEventListener("touchstart",h)}function l(){typeof(t==null?void 0:t.removeEventListener)=="function"&&(t.removeEventListener("mousedown",h),t.removeEventListener("touchstart",h))}function a(u,p){if(typeof u=="function")return u(p,{resizeableElement:e,resizeableHandleElement:t})}function h(u){u.preventDefault();const p=u.touches?u.changedTouches[0]:u;a(i,p)!==!1&&(document.body.addEventListener("mousemove",d),document.body.addEventListener("mouseup",c),document.body.addEventListener("touchmove",d),document.body.addEventListener("touchend",c))}function d(u){u.preventDefault&&u.type!=="touchmove"&&u.preventDefault();const p=u.touches?u.changedTouches[0]:u;typeof s=="function"&&s(p,{resizeableElement:e,resizeableHandleElement:t})}function c(u){const p=u.touches?u.changedTouches[0]:u;a(n,p),document.body.removeEventListener("mousemove",d),document.body.removeEventListener("mouseup",c),document.body.removeEventListener("touchmove",d),document.body.removeEventListener("touchend",c)}return o(),{destroy:l}}class Id{constructor(e,t,i,s,n){if(this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.canvas=null,this.canvas_context=null,this._defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableHtmlRendering:!0,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,autoEditNewRow:!0,autoCommitEdit:!1,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,unorderableColumnCssClass:"unorderable",asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,columnResizingDelay:300,nonce:"",editorLock:Ui,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,createTopHeaderPanel:!1,showPreHeaderPanel:!1,showTopHeaderPanel:!1,preHeaderPanelHeight:25,preHeaderPanelWidth:"auto",topHeaderPanelHeight:25,topHeaderPanelWidth:"auto",showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",rowHighlightCssClass:"highlight-animate",rowHighlightDuration:400,selectedCellCssClass:"selected",multiSelect:!0,enableCellRowSpan:!1,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,frozenRightViewportMinWidth:100,throwWhenFrozenNotAllViewable:!1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter:this.defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,preventDragFromKeys:["ctrlKey","metaKey"],showCellSelection:!0,viewportClass:void 0,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,rowTopOffsetRenderType:"top",scrollRenderThrottling:10,suppressCssChangesOnHiddenInit:!1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,maxPartialRowSpanRemap:5e3,sanitizer:void 0,mixinDefaults:!1,shadowRoot:void 0},this._columnDefaults={name:"",headerCssClass:null,defaultSortAsc:!0,focusable:!0,hidden:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,reorderable:!0,resizable:!0,sortable:!1,selectable:!0},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new Pe,this.initialized=!1,this.uid=`slickgrid_${Math.round(1e6*Math.random())}`,this._groupHeaders=[],this._headerScroller=[],this._headers=[],this._boundAncestors=[],this.viewportH=0,this.viewportW=0,this.canvasWidth=0,this.canvasWidthL=0,this.canvasWidthR=0,this.headersWidth=0,this.headersWidthL=0,this.headersWidthR=0,this.viewportHasHScroll=!1,this.viewportHasVScroll=!1,this.headerColumnWidthDiff=0,this.headerColumnHeightDiff=0,this.cellWidthDiff=0,this.cellHeightDiff=0,this.hasFrozenRows=!1,this.frozenRowsHeight=0,this.actualFrozenRow=-1,this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.topPanelH=0,this.headerRowH=0,this.footerRowH=0,this.tabbingDirection=1,this.activeCellNode=null,this.currentEditor=null,this._prevDataLength=0,this._prevInvalidatedRowsCount=0,this._rowSpanIsCached=!1,this._colsWithRowSpanCache={},this.rowsCache={},this.renderedRows=0,this.numVisibleRows=0,this.prevScrollTop=0,this.scrollHeight=0,this.scrollTop=0,this.lastRenderedScrollTop=0,this.lastRenderedScrollLeft=0,this.prevScrollLeft=0,this.scrollLeft=0,this.selectedRows=[],this.plugins=[],this.cellCssClasses={},this.columnsById={},this.sortColumns=[],this.columnPosLeft=[],this.columnPosRight=[],this.pagingActive=!1,this.pagingIsLastPage=!1,this.postProcessedRows={},this.postProcessToRow=null,this.postProcessFromRow=null,this.postProcessedCleanupQueue=[],this.postProcessgroupId=0,this.counter_rows_rendered=0,this.counter_rows_removed=0,this.cssShow={position:"absolute",visibility:"hidden",display:"block"},this._hiddenParents=[],this.oldProps=[],this.enforceFrozenRowHeightRecalc=!1,this.columnResizeDragging=!1,this.slickDraggableInstance=null,this.slickMouseWheelInstances=[],this.slickResizableInstances=[],this._container=typeof this.container=="string"?document.querySelector(this.container):this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);this._pubSubService=n,this.onActiveCellChanged=new P("onActiveCellChanged",n),this.onActiveCellPositionChanged=new P("onActiveCellPositionChanged",n),this.onAddNewRow=new P("onAddNewRow",n),this.onAfterSetColumns=new P("onAfterSetColumns",n),this.onAutosizeColumns=new P("onAutosizeColumns",n),this.onBeforeAppendCell=new P("onBeforeAppendCell",n),this.onBeforeCellEditorDestroy=new P("onBeforeCellEditorDestroy",n),this.onBeforeColumnsResize=new P("onBeforeColumnsResize",n),this.onBeforeDestroy=new P("onBeforeDestroy",n),this.onBeforeEditCell=new P("onBeforeEditCell",n),this.onBeforeFooterRowCellDestroy=new P("onBeforeFooterRowCellDestroy",n),this.onBeforeHeaderCellDestroy=new P("onBeforeHeaderCellDestroy",n),this.onBeforeHeaderRowCellDestroy=new P("onBeforeHeaderRowCellDestroy",n),this.onBeforeSetColumns=new P("onBeforeSetColumns",n),this.onBeforeSort=new P("onBeforeSort",n),this.onBeforeUpdateColumns=new P("onBeforeUpdateColumns",n),this.onCellChange=new P("onCellChange",n),this.onCellCssStylesChanged=new P("onCellCssStylesChanged",n),this.onClick=new P("onClick",n),this.onColumnsReordered=new P("onColumnsReordered",n),this.onColumnsDrag=new P("onColumnsDrag",n),this.onColumnsResized=new P("onColumnsResized",n),this.onColumnsResizeDblClick=new P("onColumnsResizeDblClick",n),this.onCompositeEditorChange=new P("onCompositeEditorChange",n),this.onContextMenu=new P("onContextMenu",n),this.onDblClick=new P("onDblClick",n),this.onDrag=new P("onDrag",n),this.onDragInit=new P("onDragInit",n),this.onDragStart=new P("onDragStart",n),this.onDragEnd=new P("onDragEnd",n),this.onFooterClick=new P("onFooterClick",n),this.onFooterContextMenu=new P("onFooterContextMenu",n),this.onFooterRowCellRendered=new P("onFooterRowCellRendered",n),this.onHeaderCellRendered=new P("onHeaderCellRendered",n),this.onHeaderClick=new P("onHeaderClick",n),this.onHeaderContextMenu=new P("onHeaderContextMenu",n),this.onHeaderMouseEnter=new P("onHeaderMouseEnter",n),this.onHeaderMouseLeave=new P("onHeaderMouseLeave",n),this.onHeaderMouseOver=new P("onHeaderMouseOver",n),this.onHeaderMouseOut=new P("onHeaderMouseOut",n),this.onHeaderRowMouseOver=new P("onHeaderRowMouseOver",n),this.onHeaderRowMouseOut=new P("onHeaderRowMouseOut",n),this.onHeaderRowCellRendered=new P("onHeaderRowCellRendered",n),this.onHeaderRowMouseEnter=new P("onHeaderRowMouseEnter",n),this.onHeaderRowMouseLeave=new P("onHeaderRowMouseLeave",n),this.onKeyDown=new P("onKeyDown",n),this.onMouseEnter=new P("onMouseEnter",n),this.onMouseLeave=new P("onMouseLeave",n),this.onPreHeaderClick=new P("onPreHeaderClick",n),this.onPreHeaderContextMenu=new P("onPreHeaderContextMenu",n),this.onRendered=new P("onRendered",n),this.onScroll=new P("onScroll",n),this.onSelectedRowsChanged=new P("onSelectedRowsChanged",n),this.onSetOptions=new P("onSetOptions",n),this.onActivateChangedOptions=new P("onActivateChangedOptions",n),this.onSort=new P("onSort",n),this.onValidationError=new P("onValidationError",n),this.onViewportChanged=new P("onViewportChanged",n),this.initialize(s)}init(){!this._options.silenceWarnings&&document.body.style.zoom&&document.body.style.zoom!=="100%"&&console.warn("[Slickgrid] Zoom level other than 100% is not supported by the library and will give subpar experience. SlickGrid relies on the `rowHeight` grid option to do row positioning & calculation and when zoom is not 100% then calculation becomes all offset."),this.finishInitialization()}applyHtmlCode(e,t="",i){if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment)(i==null?void 0:i.emptyTarget)!==!1&&ee(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!q(t)&&!e.innerHTML)return;if(typeof t=="number"||typeof t=="boolean")e.textContent=String(t);else{const n=this.sanitizeHtmlString(t);this._options.enableHtmlRendering&&n?e.innerHTML=n:e.textContent=n}}}initialize(e){e!=null&&e.mixinDefaults?(this._options||(this._options=e),T.applyDefaults(this._options,this._defaults)):this._options=de(!0,{},this._defaults,e),this.scrollThrottle=this.actionThrottle(this.render.bind(this),this._options.scrollRenderThrottling),this.maxSupportedCssHeight=this.maxSupportedCssHeight||this.getMaxSupportedCssHeight(),this.validateAndEnforceOptions(),this._columnDefaults.width=this._options.defaultColumnWidth,this._options.suppressCssChangesOnHiddenInit||this.cacheCssForHiddenInit(),this.updateColumnProps(),this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},ee(this._container),this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("slick-widget"),this._container.setAttribute("role","grid");const t=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(t.position)||(this._container.style.position="relative"),this._focusSink=v("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller=v("div",{className:"slick-topheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._container),this._topHeaderPanelScroller.appendChild(document.createElement("div")),this._topHeaderPanel=v("div",null,this._topHeaderPanelScroller),this._topHeaderPanelSpacer=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._topHeaderPanelScroller),this._options.showTopHeaderPanel||T.hide(this._topHeaderPanelScroller)),this._paneHeaderL=v("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=v("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=v("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=v("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=v("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=v("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=v("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=v("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=v("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=v("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(T.hide(this._preHeaderPanelScroller),T.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=v("div",{className:"slick-header slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=v("div",{className:"slick-header slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=v("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=v("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=v("div",{className:"slick-headerrow slick-state-default"},this._paneTopL),this._headerRowScrollerR=v("div",{className:"slick-headerrow slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=v("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=v("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=v("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopL),this._topPanelScrollerR=v("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=v("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=v("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(i=>{T.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{T.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{T.hide(i)}),this._viewportTopL=v("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=v("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=v("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=v("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-right",tabIndex:0},this._paneBottomR),this._viewport=[this._viewportTopL,this._viewportTopR,this._viewportBottomL,this._viewportBottomR],this._options.viewportClass&&this._viewport.forEach(i=>{i.classList.add(...he(this._options.viewportClass))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=v("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=v("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=v("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=v("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-right",tabIndex:0},this._viewportBottomR),this._canvas=[this._canvasTopL,this._canvasTopR,this._canvasBottomL,this._canvasBottomR],this.scrollbarDimensions=this.scrollbarDimensions||this.measureScrollbar(),this._activeCanvasNode=this._canvasTopL,this._topHeaderPanelSpacer&&T.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&T.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{T.width(i,this.getHeadersWidth())}),T.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),T.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=v("div",{className:"slick-footerrow slick-state-default"},this._paneTopR),this._footerRowScrollerL=v("div",{className:"slick-footerrow slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),T.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),T.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=v("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=v("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(i=>{T.hide(i)})),this._focusSink2=this._focusSink.cloneNode(!0),this._container.appendChild(this._focusSink2),this._options.explicitInitialization||this.finishInitialization()}finishInitialization(){this.initialized||(this.initialized=!0,this.getViewportWidth(),this.getViewportHeight(),this.measureCellPaddingAndBorder(),this.disableSelection(this._headers),this._options.enableTextSelectionOnCells||this._viewport.forEach(e=>{this._bindingEventService.bind(e,"selectstart",t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement})}),this.setFrozenOptions(),this.setPaneFrozenClasses(),this.setPaneVisibility(),this.setScroller(),this.setOverflow(),this.updateColumnCaches(),this.createColumnHeaders(),this.createColumnFooter(),this.setupColumnSort(),this.createCssRules(),this.resizeCanvas(),this.bindAncestorScrollEvents(),this._bindingEventService.bind(this._container,"resize",this.resizeCanvas.bind(this)),this._viewport.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(e=>{this.slickMouseWheelInstances.push(bl({element:e,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createTopHeaderPanel&&this._bindingEventService.bind(this._topHeaderPanelScroller,"scroll",this.handleTopHeaderPanelScroll.bind(this)),this._options.createPreHeaderPanel&&(this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"contextmenu",this.handlePreHeaderContextMenu.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"click",this.handlePreHeaderClick.bind(this))),this._bindingEventService.bind(this._focusSink,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(this._focusSink2,"keydown",this.handleKeyDown.bind(this)),this._canvas.forEach(e=>{this._bindingEventService.bind(e,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(e,"click",this.handleClick.bind(this)),this._bindingEventService.bind(e,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(e,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(e,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(e,"mouseout",this.handleCellMouseOut.bind(this))}),vl&&(this.slickDraggableInstance=vl({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",preventDragFromKeys:this._options.preventDragFromKeys,onDragInit:this.handleDragInit.bind(this),onDragStart:this.handleDragStart.bind(this),onDrag:this.handleDrag.bind(this),onDragEnd:this.handleDragEnd.bind(this)})),this._options.suppressCssChangesOnHiddenInit||this.restoreCssFromHiddenInit())}cacheCssForHiddenInit(){this._hiddenParents=T.parents(this._container,":hidden"),this.oldProps=[],this._hiddenParents.forEach(e=>{const t={};Object.keys(this.cssShow).forEach(i=>{this.cssShow&&(t[i]=e.style[i],e.style[i]=this.cssShow[i])}),this.oldProps.push(t)})}restoreCssFromHiddenInit(){let e=0;this._hiddenParents&&(this._hiddenParents.forEach(t=>{const i=this.oldProps[e++];Object.keys(this.cssShow).forEach(s=>{this.cssShow&&(t.style[s]=i[s])})}),this._hiddenParents=[])}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(e){this.plugins.unshift(e),e.init(this)}unregisterPlugin(e){var t;for(let i=this.plugins.length;i>=0;i--)if(this.plugins[i]===e){(t=this.plugins[i])==null||t.destroy(),this.plugins.splice(i,1);break}}getPluginByName(e){var t;for(let i=this.plugins.length-1;i>=0;i--)if(((t=this.plugins[i])==null?void 0:t.pluginName)===e)return this.plugins[i]}getPubSubService(){return this._pubSubService}setSelectionModel(e){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=e,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(e,t){return this._getContainerElement(this.getCanvases(),e,t)}getActiveCanvasNode(e){var t;return e===void 0?this._activeCanvasNode:(e instanceof le&&(e=e.getNativeEvent()),this._activeCanvasNode=(t=e==null?void 0:e.target)==null?void 0:t.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(e,t){return this._getContainerElement(this.getViewports(),e,t)}getViewports(){return this._viewport}getActiveViewportNode(e){return this.setActiveViewportNode(e),this._activeViewportNode}setActiveViewportNode(e){var t;return e instanceof le&&(e=e.getNativeEvent()),this._activeViewportNode=(t=e==null?void 0:e.target)==null?void 0:t.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(e,t,i){if(!e)return;t||(t=0),i||(i=0);const s=typeof t=="number"?t:this.getColumnIndex(t),n=this.hasFrozenRows&&i>=this.actualFrozenRow+(this._options.frozenBottom?0:1),o=this.hasFrozenColumns()&&s>this._options.frozenColumn;return e[(n?2:0)+(o?1:0)]}measureScrollbar(){let e="";this._viewport.forEach(n=>e+=n.className);const t=v("div",{className:e,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),i=v("div",{style:{width:"200px",height:"200px",overflow:"auto"}},t),s={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};return i.remove(),t.remove(),s}getHeadersWidth(){var s,n,o,l;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const e=!this._options.autoHeight;let t=0;const i=this.columns.length;for(t=0;t<i;t++){if(!this.columns[t]||this.columns[t].hidden)continue;const a=this.columns[t].width;this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=a||0:this.headersWidthL+=a||0}return e&&(this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=((s=this.scrollbarDimensions)==null?void 0:s.width)||0:this.headersWidthL+=((n=this.scrollbarDimensions)==null?void 0:n.width)||0),this.hasFrozenColumns()?(this.headersWidthL=this.headersWidthL+1e3,this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.headersWidthL,this.headersWidthR+=((o=this.scrollbarDimensions)==null?void 0:o.width)||0):(this.headersWidthL+=((l=this.scrollbarDimensions)==null?void 0:l.width)||0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidth=this.headersWidthL+this.headersWidthR,Math.max(this.headersWidth,this.viewportW)+1e3}getCanvasWidth(){var s;const e=this.viewportHasVScroll?this.viewportW-(((s=this.scrollbarDimensions)==null?void 0:s.width)||0):this.viewportW;let t=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;t--;)!this.columns[t]||this.columns[t].hidden||(this.hasFrozenColumns()&&t>this._options.frozenColumn?this.canvasWidthR+=this.columns[t].width||0:this.canvasWidthL+=this.columns[t].width||0);let i=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const n=Math.max(i,e)-i;n>0&&(i+=n,this.hasFrozenColumns()?this.canvasWidthR+=n:this.canvasWidthL+=n)}return i}updateCanvasWidth(e){var o,l,a,h,d;const t=this.canvasWidth,i=this.canvasWidthL,s=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth(),this._options.createTopHeaderPanel&&T.width(this._topHeaderPanel,this._options.topHeaderPanelWidth??this.canvasWidth);const n=this.canvasWidth!==t||this.canvasWidthL!==i||this.canvasWidthR!==s;if(n||this.hasFrozenColumns()||this.hasFrozenRows)if(T.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),T.width(this._headerL,this.headersWidthL),T.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const c=T.width(this._container)||0;if(c>0&&this.canvasWidthL>c&&this._options.throwWhenFrozenNotAllViewable)throw new Error("[SlickGrid] Frozen columns cannot be wider than the actual grid container width. Make sure to have less columns freezed or make your grid container wider");T.width(this._canvasTopR,this.canvasWidthR),T.width(this._paneHeaderL,this.canvasWidthL),T.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),T.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),T.width(this._paneTopL,this.canvasWidthL),T.setStyleSize(this._paneTopR,"left",this.canvasWidthL),T.width(this._paneTopR,this.viewportW-this.canvasWidthL),T.width(this._headerRowScrollerL,this.canvasWidthL),T.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),T.width(this._headerRowL,this.canvasWidthL),T.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(T.width(this._footerRowScrollerL,this.canvasWidthL),T.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),T.width(this._footerRowL,this.canvasWidthL),T.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&T.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),T.width(this._viewportTopL,this.canvasWidthL),T.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(T.width(this._paneBottomL,this.canvasWidthL),T.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),T.width(this._viewportBottomL,this.canvasWidthL),T.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),T.width(this._canvasBottomL,this.canvasWidthL),T.width(this._canvasBottomR,this.canvasWidthR))}else T.width(this._paneHeaderL,"100%"),T.width(this._paneTopL,"100%"),T.width(this._headerRowScrollerL,"100%"),T.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(T.width(this._footerRowScrollerL,"100%"),T.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&T.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),T.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(T.width(this._viewportBottomL,"100%"),T.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((o=this.scrollbarDimensions)==null?void 0:o.width)||0),T.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),T.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((a=this.scrollbarDimensions)==null?void 0:a.width)||0)),this._options.createFooterRow&&(T.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((h=this.scrollbarDimensions)==null?void 0:h.width)||0)),T.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((d=this.scrollbarDimensions)==null?void 0:d.width)||0))),(n||e)&&this.applyColumnWidths()}disableSelection(e){e.forEach(t=>{t.setAttribute("unselectable","on"),t.style.mozUserSelect="none",this._bindingEventService.bind(t,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let e=1e6;const t=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,i=v("div",{style:{display:"hidden"}},document.body);let s=!0;for(;s;){const n=e*2;T.height(i,n);const o=T.height(i);if(n>t||o!==n){s=!1;break}else e=n}return i.remove(),e}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var e,t;return{width:this.viewportHasVScroll&&((e=this.scrollbarDimensions)!=null&&e.width)?this.scrollbarDimensions.width:0,height:this.viewportHasHScroll&&((t=this.scrollbarDimensions)!=null&&t.height)?this.scrollbarDimensions.height:0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let e=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(e=e.parentNode)!==document.body&&e;)(e===this._viewportTopL||e.scrollWidth!==e.clientWidth||e.scrollHeight!==e.clientHeight)&&(this._boundAncestors.push(e),this._bindingEventService.bind(e,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(e=>{this._bindingEventService.unbindByEventName(e,"scroll")}),this._boundAncestors=[]}updateColumnHeader(e,t,i){if(this.initialized){const s=this.getColumnIndex(e);if(!q(s))return;const n=this.columns[s],o=this.getColumnByIndex(s);return o&&(t!==void 0&&(this.columns[s].name=t),i!==void 0&&(this.columns[s].toolTip=i),this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:o,column:n,grid:this}),o.setAttribute("title",i||""),t!==void 0&&this.applyHtmlCode(o.children[0],t),this.triggerEvent(this.onHeaderCellRendered,{node:o,column:n,grid:this})),o}}getHeader(e){if(!e)return this.hasFrozenColumns()?this._headers:this._headerL;const t=this.getColumnIndex(e.id);return this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(e){const t=typeof e=="number"?e:this.getColumnIndex(e),i=this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?t<=this._options.frozenColumn?t:t-this._options.frozenColumn-1:t;return i.children[s]}getHeaderRow(){var e;return this.hasFrozenColumns()?this._headerRows:(e=this._headerRows)==null?void 0:e[0]}getFooterRow(){var e;return this.hasFrozenColumns()?this._footerRow:(e=this._footerRow)==null?void 0:e[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getTopHeaderPanel(){return this._topHeaderPanel}getHeaderRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._headerRowL:(i=this._headerRowR,t-=this._options.frozenColumn+1):i=this._headerRowL,i.children[t]}getFooterRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._footerRowL:(i=this._footerRowR,t-=this._options.frozenColumn+1):i=this._footerRowL,i==null?void 0:i.children[t]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(e=>{e.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=T.storage.get(i,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),ee(this._footerRowL),ee(this._footerRowR);for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=v("div",{className:`slick-state-default slick-footerrow-column l${e} r${e}`},this.hasFrozenColumns()&&e>this._options.frozenColumn?this._footerRowR:this._footerRowL),s=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;s&&i.classList.add(s),T.storage.put(i,"column",t),this.triggerEvent(this.onFooterRowCellRendered,{node:i,column:t,grid:this})}}}handleHeaderMouseHoverOn(e){e==null||e.target.classList.add("slick-state-hover")}handleHeaderMouseHoverOff(e){e==null||e.target.classList.remove("slick-state-hover")}createColumnHeaders(){this._headers.forEach(e=>{e.querySelectorAll(".slick-header-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),ee(this._headerL),ee(this._headerR),this.getHeadersWidth(),T.width(this._headerL,this.headersWidthL),T.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),ee(this._headerRowL),ee(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=T.storage.get(t,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),ee(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),ee(this._footerRowR)));for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerRowL:this._headerRowR:this._headerRowL,n=v("div",{id:`${this.uid+t.id}`,dataset:{id:String(t.id)},role:"columnheader",className:"slick-state-default slick-header-column"},i);t.toolTip&&(n.title=t.toolTip),t.reorderable||n.classList.add(this._options.unorderableColumnCssClass);const o=v("span",{className:"slick-column-name"},n);this.applyHtmlCode(o,t.name),T.width(n,t.width-this.headerColumnWidthDiff);let l=t.headerCssClass||null;if(l&&n.classList.add(...he(l)),l=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null,l&&n.classList.add(l),this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseEnter.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseLeave.bind(this)),this._bindingEventService.bind(n,"mouseover",this.handleHeaderMouseOver.bind(this)),this._bindingEventService.bind(n,"mouseout",this.handleHeaderMouseOut.bind(this)),T.storage.put(n,"column",t),(this._options.enableColumnReorder||t.sortable)&&(this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseHoverOn.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseHoverOff.bind(this))),t.hasOwnProperty("headerCellAttrs")&&t.headerCellAttrs instanceof Object&&Object.keys(t.headerCellAttrs).forEach(a=>{t.headerCellAttrs.hasOwnProperty(a)&&n.setAttribute(a,t.headerCellAttrs[a])}),t.sortable&&(n.classList.add("slick-header-sortable"),v("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},n),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&v("div",{className:"slick-sort-indicator-numbered"},n)),this.triggerEvent(this.onHeaderCellRendered,{node:n,column:t,grid:this}),this._options.showHeaderRow){const a=v("div",{className:`slick-state-default slick-headerrow-column l${e} r${e}`},s),h=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;h&&a.classList.add(h),this._bindingEventService.bind(a,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(a,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),this._bindingEventService.bind(a,"mouseover",this.handleHeaderRowMouseOver.bind(this)),this._bindingEventService.bind(a,"mouseout",this.handleHeaderRowMouseOut.bind(this)),T.storage.put(a,"column",t),this.triggerEvent(this.onHeaderRowCellRendered,{node:a,column:t,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const a=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],h=v("div",{className:`slick-state-default slick-footerrow-column l${e} r${e}`},a);T.storage.put(h,"column",t),this.triggerEvent(this.onFooterRowCellRendered,{node:h,column:t,grid:this})}}this.setSortColumns(this.sortColumns),this.setupColumnResize(),this._options.enableColumnReorder&&(typeof this._options.enableColumnReorder=="function"?this._options.enableColumnReorder(this,this._headers,this.headerColumnWidthDiff,this.setColumns,this.setupColumnResize,this.columns,this.getColumnIndex,this.uid,this.triggerEvent):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(e=>{this._bindingEventService.bind(e,"click",t=>{var n;if(this.columnResizeDragging||t.target.classList.contains("slick-resizable-handle"))return;const i=t.target.closest(".slick-header-column");if(!i)return;const s=T.storage.get(i,"column");if(s!=null&&s.sortable){if(!((n=this.getEditorLock())!=null&&n.commitCurrentEdit()))return;const o=this.sortColumns.slice();let l=null,a=0;for(;a<this.sortColumns.length;a++)if(this.sortColumns[a].columnId===s.id){l=this.sortColumns[a],l.sortAsc=!l.sortAsc;break}const h=!!l;this._options.tristateMultiColumnSort?(l||(l={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s}),h&&l.sortAsc&&(this.sortColumns.splice(a,1),l=null),this._options.multiColumnSort||(this.sortColumns=[]),l&&(!h||!this._options.multiColumnSort)&&this.sortColumns.push(l)):t.metaKey&&this._options.multiColumnSort?l&&this.sortColumns.splice(a,1):((!t.shiftKey&&!t.metaKey||!this._options.multiColumnSort)&&(this.sortColumns=[]),l?this.sortColumns.length===0&&this.sortColumns.push(l):(l={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s},this.sortColumns.push(l)));let d;this._options.multiColumnSort?d={multiColumnSort:!0,previousSortColumns:o,sortCols:this.sortColumns.map(c=>{const u=this.columns[this.getColumnIndex(c.columnId)];return u&&!u.hidden?{columnId:u.id,sortCol:u,sortAsc:c.sortAsc}:null}).filter(c=>c)}:d={multiColumnSort:!1,previousSortColumns:o,columnId:this.sortColumns.length>0?s.id:null,sortCol:this.sortColumns.length>0?s:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.triggerEvent(this.onBeforeSort,d,t).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.triggerEvent(this.onSort,d,t))}})})}setupColumnReorder(){var o,l;(o=this.sortableSideLeftInstance)==null||o.destroy(),(l=this.sortableSideRightInstance)==null||l.destroy();let e;const t=()=>this._viewportScrollContainerX.scrollLeft+=10,i=()=>this._viewportScrollContainerX.scrollLeft-=10;let s=!1;const n={animation:50,direction:"horizontal",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),filter:`.${this._options.unorderableColumnCssClass}`,onMove:a=>!a.related.classList.contains(this._options.unorderableColumnCssClass),onStart:a=>{a.item.classList.add("slick-header-column-active"),s=!this.hasFrozenColumns()||ge(a.item).left>ge(this._viewportScrollContainerX).left,s&&a.originalEvent.pageX>this._container.clientWidth?e||(e=window.setInterval(t,100)):s&&a.originalEvent.pageX<ge(this._viewportScrollContainerX).left?e||(e=window.setInterval(i,100)):window.clearInterval(e)},onEnd:a=>{var c,u,p;if(a.item.classList.remove("slick-header-column-active"),window.clearInterval(e),!((c=this.getEditorLock())!=null&&c.commitCurrentEdit()))return;let h=((u=this.sortableSideLeftInstance)==null?void 0:u.toArray())??[];h=h.concat(((p=this.sortableSideRightInstance)==null?void 0:p.toArray())??[]);const d=[];for(let m=0;m<h.length;m++)d.push(this.columns[this.getColumnIndex(h[m])]);this.setColumns(d),this.triggerEvent(this.onColumnsReordered,{impactedColumns:this.columns}),a.stopPropagation(),this.setupColumnResize(),this.activeCellNode&&this.setFocus()}};this.sortableSideLeftInstance=B.create(this._headerL,n),this.sortableSideRightInstance=B.create(this._headerR,n)}getHeaderChildren(){const e=Array.from(this._headers[0].children),t=Array.from(this._headers[1].children);return e.concat(t)}handleResizeableDoubleClick(e){const t=e.target.parentElement.id.replace(this.uid,"");this.triggerEvent(this.onColumnsResizeDblClick,{triggeredByColumn:t})}setupColumnResize(){var u;let e,t,i,s,n,o,l,a=-1,h=0;const d=this.getHeaderChildren(),c=this.getVisibleColumns();for(let p=0;p<d.length;p++)d[p].querySelectorAll(".slick-resizable-handle").forEach(g=>g.remove()),p<c.length&&((u=c[p])!=null&&u.resizable)&&(l===void 0&&(l=p),a=p);if(l!==void 0)for(let p=0;p<d.length;p++){const m=d[p];if(p>=c.length||!c[p]||p<l||this._options.forceFitColumns&&p>=a)continue;const f=v("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},m);this._bindingEventService.bind(f,"dblclick",this.handleResizeableDoubleClick.bind(this)),this.slickResizableInstances.push(xd({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var x;const C=g.touches?g.changedTouches[0]:g;if(!((x=this.getEditorLock())!=null&&x.commitCurrentEdit()))return!1;s=C.pageX,h=0,_.resizeableElement.classList.add("slick-header-column-active");let b=null,S=null;for(let O=0;O<d.length;O++)O<c.length&&c[O]&&(c[O].previousWidth=d[O].offsetWidth);if(this._options.forceFitColumns)for(b=0,S=0,e=p+1;e<c.length;e++)i=c[e],i!=null&&i.resizable&&(S!==null&&(i.maxWidth?S+=i.maxWidth-(i.previousWidth||0):S=null),b+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));let E=0,y=0;for(e=0;e<=p;e++)i=c[e],i!=null&&i.resizable&&(y!==null&&(i.maxWidth?y+=i.maxWidth-(i.previousWidth||0):y=null),E+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));o=s+Math.min(b??1e5,y??1e5),n=s-Math.min(E??1e5,S??1e5)},onResize:(g,_)=>{var A;const C=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let b;const S=C.pageX,E=Math.min(o,Math.max(n,S))-s;let y,x=0,O=0;const I=this.viewportHasVScroll?this.viewportW-(((A=this.scrollbarDimensions)==null?void 0:A.width)||0):this.viewportW;if(E<0){for(y=E,e=p;e>=0;e--)i=c[e],i&&i.resizable&&!i.hidden&&(b=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<b?(y+=(i.previousWidth||0)-b,i.width=b):(i.width=(i.previousWidth||0)+y,y=0));for(t=0;t<=p;t++)i=c[t],i&&!i.hidden&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0))}else{for(y=E,x=0,O=0,e=p;e>=0;e--)if(i=c[e],i&&!i.hidden&&i.resizable)if(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y)y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth;else{const D=(i.previousWidth||0)+y,M=this.canvasWidthL+y;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(D>h&&M<I-this._options.frozenRightViewportMinWidth&&(h=D),i.width=M+this._options.frozenRightViewportMinWidth>I?h:D):i.width=D,y=0}for(t=0;t<=p;t++)i=c[t],i&&!i.hidden&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(b=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<b?(y+=(i.previousWidth||0)-b,i.width=b):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0)}this.hasFrozenColumns()&&x!==this.canvasWidthL&&(T.width(this._headerL,x+1e3),T.setStyleSize(this._paneHeaderR,"left",x)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.triggerEvent(this.onColumnsDrag,{triggeredByColumn:_.resizeableElement,resizeHandle:_.resizeableHandleElement})},onResizeEnd:(g,_)=>{_.resizeableElement.classList.remove("slick-header-column-active");const C=_.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:C}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let b;for(e=0;e<c.length;e++)i=c[e],i&&!i.hidden&&d[e]&&(b=d[e].offsetWidth,i.previousWidth!==b&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.triggerEvent(this.onColumnsResized,{triggeredByColumn:C}),window.clearTimeout(this._columnResizeTimer),this._columnResizeTimer=window.setTimeout(()=>this.columnResizeDragging=!1,this._options.columnResizingDelay)}}))}}getVBoxDelta(e){const t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=getComputedStyle(e);let s=0;return t.forEach(n=>s+=T.toFloat(i[n])),s}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn<this.columns.length?parseInt(this._options.frozenColumn,10):-1,this._options.frozenRow>-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const e=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?e-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneFrozenClasses(){const e=this.hasFrozenColumns()?"add":"remove";for(const t of[this._paneHeaderL,this._paneTopL,this._paneBottomL])t.classList[e]("frozen")}setPaneVisibility(){this.hasFrozenColumns()?(T.show(this._paneHeaderR),T.show(this._paneTopR),this.hasFrozenRows?(T.show(this._paneBottomL),T.show(this._paneBottomR)):(T.hide(this._paneBottomR),T.hide(this._paneBottomL))):(T.hide(this._paneHeaderR),T.hide(this._paneTopR),T.hide(this._paneBottomR),this.hasFrozenRows?T.show(this._paneBottomL):(T.hide(this._paneBottomR),T.hide(this._paneBottomL)))}setOverflow(){if(this._viewportTopL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportTopR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?this.hasFrozenRows?"scroll":"auto":this.hasFrozenRows?"scroll":"auto",this._viewportBottomL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportBottomR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"auto"):(this.hasFrozenRows,"auto"),this._options.viewportClass){const e=he(this._options.viewportClass);this._viewportTopL.classList.add(...e),this._viewportTopR.classList.add(...e),this._viewportBottomL.classList.add(...e),this._viewportBottomR.classList.add(...e)}}setScroller(){this.hasFrozenColumns()?(this._headerScrollContainer=this._headerScrollerR,this._headerRowScrollContainer=this._headerRowScrollerR,this._footerRowScrollContainer=this._footerRowScrollerR,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomR,this._viewportScrollContainerY=this._viewportTopR):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomR:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopR):(this._headerScrollContainer=this._headerScrollerL,this._headerRowScrollContainer=this._headerRowScrollerL,this._footerRowScrollContainer=this._footerRowScrollerL,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomL,this._viewportScrollContainerY=this._viewportTopL):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomL:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopL)}measureCellPaddingAndBorder(){const e=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let s=v("div",{className:"slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),n=getComputedStyle(s);n.boxSizing!=="border-box"&&(e.forEach(l=>this.headerColumnWidthDiff+=T.toFloat(n[l])),t.forEach(l=>this.headerColumnHeightDiff+=T.toFloat(n[l]))),s.remove();const o=v("div",{className:"slick-row"},this._canvas[0]);s=v("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},o),n=getComputedStyle(s),n.boxSizing!=="border-box"&&(e.forEach(l=>this.cellWidthDiff+=T.toFloat(n[l])),t.forEach(l=>this.cellHeightDiff+=T.toFloat(n[l]))),o.remove(),this.absoluteColumnMinWidth=Math.max(this.headerColumnWidthDiff,this.cellWidthDiff)}createCssRules(){this._style=document.createElement("style"),this._style.nonce=this._options.nonce||"",(this._options.shadowRoot||document.head).appendChild(this._style);const e=this._options.rowHeight-this.cellHeightDiff,t=[`.${this.uid} .slick-group-header-column { left: 1000px; }`,`.${this.uid} .slick-header-column { left: 1000px; }`,`.${this.uid} .slick-top-panel { height: ${this._options.topPanelHeight}px; }`,`.${this.uid} .slick-preheader-panel { height: ${this._options.preHeaderPanelHeight}px; }`,`.${this.uid} .slick-topheader-panel { height: ${this._options.topHeaderPanelHeight}px; }`,`.${this.uid} .slick-headerrow-columns { height: ${this._options.headerRowHeight}px; }`,`.${this.uid} .slick-footerrow-columns { height: ${this._options.footerRowHeight}px; }`,`.${this.uid} .slick-cell { height: ${e}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],i=this._style.sheet;if(i){t.forEach(s=>i.insertRule(s));for(let s=0;s<this.columns.length;s++)this.columns[s]&&!this.columns[s].hidden&&(i.insertRule(`.${this.uid} .l${s} { }`),i.insertRule(`.${this.uid} .r${s} { }`))}else this.createCssRulesAlternative(t)}createCssRulesAlternative(e){const t=document.createElement("template");t.innerHTML='<style type="text/css" rel="stylesheet" />',this._style=t.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let i=0;i<this.columns.length;i++)this.columns[i]&&!this.columns[i].hidden&&(e.push(`.${this.uid} .l${i} { }`),e.push(`.${this.uid} .r${i} { }`));this._style.styleSheet?this._style.styleSheet.cssText=e.join(" "):this._style.appendChild(document.createTextNode(e.join(" ")))}getColumnCssRules(e){let t;if(!this.stylesheet){const i=(this._options.shadowRoot||document).styleSheets;for(this._options.devMode&&typeof this._options.devMode.ownerNodeIndex=="number"&&this._options.devMode.ownerNodeIndex>=0&&(i[this._options.devMode.ownerNodeIndex].ownerNode=this._style),t=0;t<i.length;t++){const l=i[t];if((l.ownerNode||l.owningElement)===this._style){this.stylesheet=l;break}}if(!this.stylesheet)throw new Error("SlickGrid Cannot find stylesheet.");this.columnCssRulesL=[],this.columnCssRulesR=[];const s=this.stylesheet.cssRules||this.stylesheet.rules;let n,o;for(t=0;t<s.length;t++){const l=s[t].selectorText;(n=/\.l\d+/.exec(l))?(o=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesL[o]=s[t]):(n=/\.r\d+/.exec(l))&&(o=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesR[o]=s[t])}}return{left:this.columnCssRulesL[e],right:this.columnCssRulesR[e]}}removeCssRules(){var e;(e=this._style)==null||e.remove(),this.stylesheet=null}clearAllTimers(){window.clearTimeout(this._columnResizeTimer),window.clearTimeout(this._executionBlockTimer),window.clearTimeout(this._flashCellTimer),window.clearTimeout(this._highlightRowTimer),window.clearTimeout(this.h_editorLoader)}destroy(e){var n,o,l;this._bindingEventService.unbindAll(),this.slickDraggableInstance=this.destroyAllInstances(this.slickDraggableInstance),this.slickMouseWheelInstances=this.destroyAllInstances(this.slickMouseWheelInstances),this.slickResizableInstances=this.destroyAllInstances(this.slickResizableInstances),(n=this.getEditorLock())==null||n.cancelCurrentEdit(),this.triggerEvent(this.onBeforeDestroy,{});let t=this.plugins.length;for(;t--;)this.unregisterPlugin(this.plugins[t]);this._options.enableColumnReorder&&typeof((o=this.sortableSideLeftInstance)==null?void 0:o.destroy)=="function"&&typeof((l=this.sortableSideRightInstance)==null?void 0:l.destroy)=="function"&&(this.sortableSideLeftInstance.destroy(),this.sortableSideRightInstance.destroy()),this.unbindAncestorScrollEvents(),this._bindingEventService.unbindByEventName(this._container,"resize"),this.removeCssRules(),this._canvas.forEach(a=>{this._bindingEventService.unbindByEventName(a,"keydown"),this._bindingEventService.unbindByEventName(a,"click"),this._bindingEventService.unbindByEventName(a,"dblclick"),this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"mouseover"),this._bindingEventService.unbindByEventName(a,"mouseout")}),this._viewport.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._headerScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"click")}),this._headerRowScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._footerRow&&this._footerRow.forEach(a=>{this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._topHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._topHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const i=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(i,a=>{this._bindingEventService.unbindByEventName(a,"dblclick")});const s=this._container.querySelectorAll(".slick-header-column");[].forEach.call(s,a=>{this._bindingEventService.unbindByEventName(a,"mouseenter"),this._bindingEventService.unbindByEventName(a,"mouseleave"),this._bindingEventService.unbindByEventName(a,"mouseover"),this._bindingEventService.unbindByEventName(a,"mouseout")}),ee(this._container),this._container.classList.remove(this.uid),this.clearAllTimers(),e&&Sn(this)}destroyAllInstances(e){if(e){const t=Array.isArray(e)?e:[e];let i;for(;q(i=t.pop());)i&&typeof i.destroy=="function"&&i.destroy()}return e=Array.isArray(e)?[]:null,e}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){var h;let e,t,i=0,s=0,n=0;const o=[],l=this.viewportHasVScroll?this.viewportW-(((h=this.scrollbarDimensions)==null?void 0:h.width)||0):this.viewportW;for(e=0;e<this.columns.length;e++){if(t=this.columns[e],!t||t.hidden){o.push(0);continue}o.push(t.width||0),s+=t.width||0,t.resizable&&(i+=(t.width||0)-Math.max(t.minWidth||0,this.absoluteColumnMinWidth))}for(n=s;s>l&&i;){const d=(s-l)/i;for(e=0;e<this.columns.length&&s>l;e++)if(t=this.columns[e],t&&!t.hidden){const c=o[e];if(!t.resizable||c<=t.minWidth||c<=this.absoluteColumnMinWidth)continue;const u=Math.max(t.minWidth,this.absoluteColumnMinWidth);let p=Math.floor(d*(c-u))||1;p=Math.min(p,c-u),s-=p,i-=p,o[e]-=p}if(n<=s)break;n=s}for(n=s;s<l;){const d=l/s;for(e=0;e<this.columns.length&&s<l;e++)if(t=this.columns[e],t&&!t.hidden){const c=o[e];let u;!t.resizable||t.maxWidth<=c?u=0:u=Math.min(Math.floor(d*c)-c,t.maxWidth-c||1e6)||1,s+=u,o[e]+=s<=l?u:0}if(n>=s)break;n=s}let a=!1;for(e=0;e<this.columns.length;e++)t&&!t.hidden&&(this.columns[e].rerenderOnResize&&this.columns[e].width!==o[e]&&(a=!0),this.columns[e].width=o[e]);this.reRenderColumns(a)}reRenderColumns(e){this.applyColumnHeaderWidths(),this.updateCanvasWidth(!0),this.triggerEvent(this.onAutosizeColumns,{columns:this.columns}),e&&(this.invalidateAllRows(),this.render())}getVisibleColumns(){return this.columns.filter(e=>!e.hidden)}triggerEvent(e,t,i){const s=i||new le(i,t),n=t||{};return n.grid=this,e.notify(n,s,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(e){return this.columnsById[e]}applyColumnHeaderWidths(){if(this.initialized){let e=0;const t=this.getVisibleColumns();this._headers.forEach(i=>{for(let s=0;s<i.children.length;s++,e++){const n=i.children[s],l=((t[e]||{}).width||0)-this.headerColumnWidthDiff;T.width(n)!==l&&T.width(n,l)}}),this.updateColumnCaches()}}applyColumnWidths(){var s;let e=0,t=0,i;for(let n=0;n<this.columns.length;n++)(s=this.columns[n])!=null&&s.hidden||(t=this.columns[n].width||0,i=this.getColumnCssRules(n),i.left&&(i.left.style.left=`${e}px`),i.right&&(i.right.style.right=(this._options.frozenColumn!==-1&&n>this._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-e-t+"px"),this._options.frozenColumn!==n&&(e+=this.columns[n].width)),this._options.frozenColumn===n&&(e=0)}setSortColumn(e,t){this.setSortColumns([{columnId:e,sortAsc:t}])}getColumnByIndex(e){let t;return this._headers.every(i=>{const s=i.children.length;return e<s?(t=i.children[e],!1):(e-=s,!0)}),t}setSortColumns(e){this.sortColumns=e;const t=this._options.numberedMultiColumnSort&&this.sortColumns.length>1;this._headers.forEach(s=>{let n=s.querySelectorAll(".slick-header-column-sorted");n.forEach(o=>o.classList.remove("slick-header-column-sorted")),n=s.querySelectorAll(".slick-sort-indicator"),n.forEach(o=>o.classList.remove("slick-sort-indicator-asc","slick-sort-indicator-desc")),n=s.querySelectorAll(".slick-sort-indicator-numbered"),n.forEach(o=>o.textContent="")});let i=1;this.sortColumns.forEach(s=>{q(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(q(n)){const o=this.getColumnByIndex(n);if(o){o.classList.add("slick-header-column-sorted");let l=o.querySelector(".slick-sort-indicator");l==null||l.classList.add(s.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),t&&(l=o.querySelector(".slick-sort-indicator-numbered"),l&&(l.textContent=String(i)))}}i++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(e,t){var o;const i=e.getNativeEvent(),s=this.selectedRows.slice(0);this.selectedRows=[];const n={};for(let l=0;l<t.length;l++)for(let a=t[l].fromRow;a<=t[l].toRow;a++){n[a]||(this.selectedRows.push(a),n[a]={});for(let h=t[l].fromCell;h<=t[l].toCell;h++)this.canCellBeSelected(a,h)&&(n[a][this.columns[h].id]=this._options.selectedCellCssClass)}if(this.setCellCssStyles(this._options.selectedCellCssClass||"",n),this.simpleArrayEquals(s,this.selectedRows)){const l=((o=i==null?void 0:i.detail)==null?void 0:o.caller)??"click",a=new Set(this.getSelectedRows()),h=new Set(s),d=Array.from(a).filter(u=>!h.has(u)),c=Array.from(h).filter(u=>!a.has(u));this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:l,changedSelectedRows:d,changedUnselectedRows:c},e)}}simpleArrayEquals(e,t){return Array.isArray(e)&&Array.isArray(t)&&t.sort().toString()!==e.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let e=0;for(let t=0,i=this.columns.length;t<i;t++)this.columns[t]&&!this.columns[t].hidden&&(this.columnPosLeft[t]=e,this.columnPosRight[t]=e+(this.columns[t].width||0),this._options.frozenColumn===t?e=0:e+=this.columns[t].width||0)}updateColumnProps(){this.columnsById={};for(let e=0;e<this.columns.length;e++){let t=this.columns[e]||{};t.width&&(t.widthRequest=t.width),this._options.mixinDefaults?T.applyDefaults(t,this._columnDefaults):t=this.columns[e]=de({},this._columnDefaults,t),this.columnsById[t.id]=e,t.minWidth&&(t.width||0)<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&(t.width||0)>t.maxWidth&&(t.width=t.maxWidth)}}setColumns(e){this.triggerEvent(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:e,grid:this}),this.columns=e,this.updateColumnsInternal(),this.triggerEvent(this.onAfterSetColumns,{newColumns:e,grid:this})}updateColumns(){this.triggerEvent(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var e;this.updateColumnProps(),this.updateColumnCaches(),this.initialized&&(this.setPaneFrozenClasses(),this.setPaneVisibility(),this.setOverflow(),this.invalidateAllRows(),this.createColumnHeaders(),this.createColumnFooter(),this.removeCssRules(),this.createCssRules(),this.resizeCanvas(),this.updateCanvasWidth(),this.applyColumnWidths(),this.handleScroll(),(e=this.getSelectionModel())==null||e.refreshSelections())}getOptions(){return this._options}setOptions(e,t,i,s){this.prepareForOptionsChange(),this._options.enableAddRow!==e.enableAddRow&&this.invalidateRow(this.getDataLength()),e.frozenColumn!==void 0&&e.frozenColumn>=0&&(this.getViewports().forEach(o=>o.scrollLeft=0),this.handleScroll());const n=de(!0,{},this._options);this._options=de(!0,this._options,e),this.triggerEvent(this.onSetOptions,{optionsBefore:n,optionsAfter:this._options}),this.internal_setOptions(t,i,s)}activateChangedOptions(e,t,i){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.triggerEvent(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(e,t,i)}prepareForOptionsChange(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(e,t,i){this._options.showColumnHeader!==void 0&&this.setColumnHeaderVisibility(this._options.showColumnHeader),this.validateAndEnforceOptions(),this.setFrozenOptions(),this._options.frozenBottom!==void 0&&(this.enforceFrozenRowHeightRecalc=!0),this._viewport.forEach(s=>{s.style.overflowY=this._options.autoHeight?"hidden":"auto"}),e||this.render(),this.setScroller(),i||this.setOverflow(),t||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(s=>{this.slickMouseWheelInstances.push(bl({element:s,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(e,t){this.data=e,this.invalidateAllRows(),this.updateRowCount(),t&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var e;return this.data.getLength?this.data.getLength():((e=this.data)==null?void 0:e.length)||0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(e){return this.data.getItem?this.data.getItem(e):this.data[e]}getItemMetadaWhenExists(e){return"getItemMetadata"in this.data?this.data.getItemMetadata(e):null}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(e,t,i){this._options[e]!==i&&(this._options[e]=i,i?T.show(t):T.hide(t),this.resizeCanvas())}setTopPanelVisibility(e){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,e)}setHeaderRowVisibility(e){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,e)}setColumnHeaderVisibility(e){this.togglePanelVisibility("showColumnHeader",this._headerScroller,e)}setFooterRowVisibility(e){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,e)}setPreHeaderPanelVisibility(e){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],e)}setTopHeaderPanelVisibility(e){this.togglePanelVisibility("showTopHeaderPanel",this._topHeaderPanelScroller,e)}getContainerNode(){return this._container}getRowHeight(){return this._options.rowHeight}getRowTop(e){return Math.round(this._options.rowHeight*e-this.offset)}getRowBottom(e){return this.getRowTop(e)+this._options.rowHeight}getRowFromPosition(e){return Math.floor((e+this.offset)/this._options.rowHeight)}scrollTo(e){var s;e=Math.max(e,0),e=Math.min(e,(this.th||0)-T.height(this._viewportScrollContainerY)+((this.viewportHasHScroll||this.hasFrozenColumns())&&((s=this.scrollbarDimensions)==null?void 0:s.height)||0));const t=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(e/(this.ph||0)));const i=e-this.offset;if(this.offset!==t){const n=this.getVisibleRange(i);this.cleanupRows(n),this.updateRowPositions()}this.prevScrollTop!==i&&(this.vScrollDir=this.prevScrollTop+t<i+this.offset?1:-1,this.lastRenderedScrollTop=this.scrollTop=this.prevScrollTop=i,this.hasFrozenColumns()&&(this._viewportTopL.scrollTop=i),this.hasFrozenRows&&(this._viewportBottomL.scrollTop=this._viewportBottomR.scrollTop=i),this._viewportScrollContainerY&&(this._viewportScrollContainerY.scrollTop=i),this.triggerEvent(this.onViewportChanged,{}))}defaultFormatter(e,t,i){return q(i)?(i+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}getFormatter(e,t){var n,o,l;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,e),s=(i==null?void 0:i.columns)&&(i.columns[t.id]||i.columns[this.getColumnIndex(t.id)]);return(s==null?void 0:s.formatter)||(i==null?void 0:i.formatter)||t.formatter||((l=this._options.formatterFactory)==null?void 0:l.getFormatter(t))||this._options.defaultFormatter}getEditor(e,t){var o,l,a,h;const i=this.columns[t],s=this.getItemMetadaWhenExists(e),n=s==null?void 0:s.columns;return((o=n==null?void 0:n[i.id])==null?void 0:o.editorClass)!==void 0?n[i.id].editorClass:((l=n==null?void 0:n[t])==null?void 0:l.editorClass)!==void 0?n[t].editorClass:i.editorClass||((h=(a=this._options)==null?void 0:a.editorFactory)==null?void 0:h.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){const o=this.getDataItem(i),l=i<n&&!o;let a="slick-row"+(this.hasFrozenRows&&i<=this._options.frozenRow?" frozen":"")+(l?" loading":"")+(i===this.activeRow&&this._options.showCellSelection?" active":"")+(i%2===1?" odd":" even");o||(a+=` ${this._options.addNewRowCssClass}`);const h=this.getItemMetadaWhenExists(i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=v("div",{className:`ui-widget-content ${a}`,role:"row",dataset:{row:`${i}`}}),c=this.getFrozenRowOffset(i),u=this.getRowTop(i)-c;this._options.rowTopOffsetRenderType==="transform"?d.style.transform=`translateY(${u}px)`:d.style.top=`${u}px`;let p;e.push(d),this.hasFrozenColumns()&&(p=d.cloneNode(!0),t.push(p));const m=this.columns.length;let f,g,_,C,b=!0;for(let S=0,E=m;S<E;S++)if(b=!0,C=this.columns[S],C&&!C.hidden){g=1,_=1,f=null,h!=null&&h.columns&&(f=h.columns[C.id]||h.columns[S],g=(f==null?void 0:f.colspan)||1,_=(f==null?void 0:f.rowspan)||1,g==="*"&&(g=E-S),_>n-i&&(_=n-i)),!this._options.enableCellRowSpan&&_>1&&console.warn('[SlickGrid] Cell "rowspan" is an opt-in grid option because of its small perf hit, you must enable it via the "enableCellRowSpan" grid option.');const y=g;if(this.getParentRowSpanByCell(i,S))continue;if(this.columnPosRight[Math.min(E-1,S+y-1)]>s.leftPx){if(!C.alwaysRenderColumn&&this.columnPosLeft[S]>s.rightPx&&(b=!1),b){const O=this.hasFrozenColumns()&&S>this._options.frozenColumn?p:d;this.appendCellHtml(O,i,S,y,_,f,o)}}else(C.alwaysRenderColumn||this.hasFrozenColumns()&&S<=this._options.frozenColumn)&&this.appendCellHtml(d,i,S,y,_,f,o);y>1&&(S+=y-1)}}appendCellHtml(e,t,i,s,n,o,l){const a=this.columns[i];let h=`slick-cell l${i} r${Math.min(this.columns.length-1,i+s-1)}`+(a.cssClass?` ${a.cssClass}`:"")+(n>1?" rowspan":"")+(o!=null&&o.cssClass?` ${o.cssClass}`:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(h+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(h+=" active"),Object.keys(this.cellCssClasses).forEach(C=>{var b;(b=this.cellCssClasses[C][t])!=null&&b[a.id]&&(h+=` ${this.cellCssClasses[C][t][a.id]}`)});let d=null,c="";l&&(d=this.getDataItemValueForColumn(l,a),c=this.getFormatter(t,a)(t,i,d,a,l,this),c==null&&(c=""));const p=this.triggerEvent(this.onBeforeAppendCell,{row:t,cell:i,value:d,dataContext:l}).getReturnValue();let m=typeof p=="string"?p:"";c!=null&&c.addClasses&&(m+=he((m?" ":"")+c.addClasses).join(" "));const f=c!=null&&c.toolTip?`${c.toolTip}`:"",g=v("div",{className:he(`${h} ${m||""}`).join(" "),role:"gridcell",tabIndex:-1});g.setAttribute("aria-describedby",this.uid+a.id),f&&g.setAttribute("title",f);const _=this.getCellHeight(t,n);if(n>1&&_!==this._options.rowHeight-this.cellHeightDiff&&(g.style.height=`${_||0}px`),a.hasOwnProperty("cellAttrs")&&a.cellAttrs instanceof Object&&Object.keys(a.cellAttrs).forEach(C=>{a.cellAttrs.hasOwnProperty(C)&&g.setAttribute(C,a.cellAttrs[C])}),l){const C=ei(c)?c:c.html||c.text;this.applyHtmlCode(g,C)}e.appendChild(g),c.insertElementAfterTarget&&go(g,c.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){const t=new Set;if(this._options.enableCellRowSpan)for(let i=e.top,s=e.bottom;i<=s;i++){const n=this.getRowSpanIntersect(i);n!==null&&t.add(n)}Object.keys(this.rowsCache).forEach(i=>{if(this.rowsCache){let s=+i,n=!0;this.hasFrozenRows&&(this._options.frozenBottom&&s>=this.actualFrozenRow||!this._options.frozenBottom&&s<=this.actualFrozenRow)&&(n=!1),(s=parseInt(i,10))!==this.activeRow&&(s<e.top||s>e.bottom)&&n&&!t.has(s)&&this.removeRowFromCache(s)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}getRowSpanColumnIntersects(e){return this.getRowSpanIntersection(e,"columns")}getRowSpanIntersect(e){return this.getRowSpanIntersection(e)}getRowSpanIntersection(e,t){const i=[];let s=null;for(let n=0,o=this.columns.length;n<o;n++){const l=this._colsWithRowSpanCache[n];if(l)for(const a of Array.from(l)){const[h,d]=a.split(":").map(Number);if(e>=h&&e<=d)if(t==="columns")i.push(n);else{s=h;break}}}return t==="columns"?i:s}getParentRowSpanByCell(e,t,i=!0){let s=null;const n=this._colsWithRowSpanCache[t]||new Set;for(const o of Array.from(n)){const[l,a]=o.split(":").map(Number);if((i?e>l:e>=l)&&e<=a){s={start:l,end:a,range:o};break}}return s}remapAllColumnsRowSpan(){const e=this.getDataLength();if(e>0){this._colsWithRowSpanCache={};for(let t=0;t<e;t++)this.remapRowSpanMetadataByRow(t);this._rowSpanIsCached=!0}}remapRowSpanMetadataByRow(e){const t=this.getItemMetadaWhenExists(e);t!=null&&t.columns&&Object.keys(t.columns).forEach(i=>{const s=+i,n=t.columns[s],o=+((n==null?void 0:n.colspan)||1),l=+((n==null?void 0:n.rowspan)||1);this.remapRowSpanMetadata(e,s,o,l)})}remapRowSpanMetadata(e,t,i,s){var n,o,l;if(s>1){const a=`${e}:${e+s-1}`;if((n=this._colsWithRowSpanCache)[t]??(n[t]=new Set),this._colsWithRowSpanCache[t].add(a),i>1)for(let h=1;h<i;h++)(o=this._colsWithRowSpanCache)[l=t+h]??(o[l]=new Set),this._colsWithRowSpanCache[t+h].add(a)}}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal(),typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(e=>{this.rowsCache&&this.removeRowFromCache(+e)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(e){if(!e||!e.length)return;let t;this.vScrollDir=0;const i=e.length,s=new Set,n=new Set,o=e.length>this._options.maxPartialRowSpanRemap||e.length===this.getDataLength()||this._prevInvalidatedRowsCount+e.length===this.getDataLength();for(let l=0;l<i;l++)if(t=e[l],this.currentEditor&&this.activeRow===t&&this.makeActiveCellNormal(),this.rowsCache[t]&&this.removeRowFromCache(t),this._options.enableCellRowSpan&&!o){s.add(t);const a=this.getRowSpanIntersect(t);a!==null&&s.add(a)}if(this._options.enableCellRowSpan&&!o){for(const l of Array.from(s)){const a=this.getRowSpanColumnIntersects(l);for(const h of a){const d=this.getParentRowSpanByCell(l,h);d&&this._colsWithRowSpanCache[h]&&(this._colsWithRowSpanCache[h].delete(d.range),n.add(d.range.split(":").map(Number)[0]))}}for(const l of Array.from(n))this.remapRowSpanMetadataByRow(l)}this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this._prevInvalidatedRowsCount=e.length}invalidateRow(e){if(e>=0){const t=[e];if(this._options.enableCellRowSpan){const i=this.getRowSpanIntersect(e);i!==null&&t.push(i)}this.invalidateRows(t)}}queuePostProcessedRowForCleanup(e,t,i){var s;this.postProcessgroupId++,typeof t=="object"&&Object.keys(t).forEach(n=>{t.hasOwnProperty(n)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e.cellNodesByColumnIdx[+n],columnIdx:+n,rowIdx:i})}),e.rowNode||(e.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:e.rowNode}),(s=e.rowNode)==null||s.forEach(n=>n.remove())}queuePostProcessedCellForCleanup(e,t,i){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e,columnIdx:t,rowIdx:i}),e.remove()}removeRowFromCache(e){var i;const t=this.rowsCache[e];t!=null&&t.rowNode&&(this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[e]?this.queuePostProcessedRowForCleanup(t,this.postProcessedRows[e],e):(i=t.rowNode)==null||i.forEach(s=>{var n;return(n=s.parentElement)==null?void 0:n.removeChild(s)}),delete this.rowsCache[e],delete this.postProcessedRows[e],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(e,t,i){if(e==null&&(e=""),ei(e)){this.applyHtmlCode(t,e);return}const s=e.html||e.text;this.applyHtmlCode(t,s),e.removeClasses&&!i&&t.classList.remove(...he(e.removeClasses)),e.addClasses&&t.classList.add(...he(e.addClasses)),e.toolTip&&t.setAttribute("title",e.toolTip)}updateCell(e,t){const i=this.getCellNode(e,t);if(i){const s=this.columns[t],n=this.getDataItem(e);if(this.currentEditor&&this.activeRow===e&&this.activeCell===t)this.currentEditor.loadValue(n);else{const o=n?this.getFormatter(e,s)(e,t,this.getDataItemValueForColumn(n,s),s,n,this):"";this.applyFormatResultToCellNode(o,i),this.invalidatePostProcessingResults(e)}}}updateRow(e){const t=this.rowsCache[e];if(!t)return;this.ensureCellNodesInRowsCache(e);let i;const s=this.getDataItem(e);Object.keys(t.cellNodesByColumnIdx).forEach(n=>{if(t.cellNodesByColumnIdx.hasOwnProperty(n)){const o=+n,l=this.columns[o],a=t.cellNodesByColumnIdx[o];this.currentEditor&&e===this.activeRow&&o===this.activeCell?this.currentEditor.loadValue(s):s?(i=this.getFormatter(e,l)(e,o,this.getDataItemValueForColumn(s,l),l,s,this),this.applyFormatResultToCellNode(i,a)):ee(a)}}),this.invalidatePostProcessingResults(e)}getCellHeight(e,t){let i=this._options.rowHeight||0;if(t>1){const s=e+t-1;i=this.getRowBottom(s)-this.getRowTop(e)}else{const s=this.getRowHeight();s!==i-this.cellHeightDiff&&(i=s)}return i-=this.cellHeightDiff,Math.ceil(i)}getViewportRowCount(){var i;const e=this.getViewportHeight(),t=((i=this.getScrollbarDimensions())==null?void 0:i.height)||0;return Math.floor((e-t)/this._options.rowHeight)}getViewportHeight(){var e;if((!this._options.autoHeight||this._options.frozenColumn!==-1)&&(this.topPanelH=this._options.showTopPanel?this._options.topPanelHeight+this.getVBoxDelta(this._topPanelScrollers[0]):0,this.headerRowH=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,this.footerRowH=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0),this._options.autoHeight){let t=this._paneHeaderL.offsetHeight;t+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,t+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,t+=this.getCanvasWidth()>this.viewportW&&((e=this.scrollbarDimensions)==null?void 0:e.height)||0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?t:0)}else{const t=this._options.showColumnHeader?T.toFloat(T.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,i=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,s=this._options.createTopHeaderPanel&&this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight+this.getVBoxDelta(this._topHeaderPanelScroller):0,n=getComputedStyle(this._container);this.viewportH=T.toFloat(n.height)-T.toFloat(n.paddingTop)-T.toFloat(n.paddingBottom)-t-this.topPanelH-this.headerRowH-this.footerRowH-i-s}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportWidth(){return this.viewportW=parseFloat(us(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var e,t,i;if(this.initialized){if(this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.getViewportWidth(),this.getViewportHeight(),this.hasFrozenRows?this._options.frozenBottom?(this.paneTopH=this.viewportH-this.frozenRowsHeight-(((e=this.scrollbarDimensions)==null?void 0:e.height)||0),this.paneBottomH=this.frozenRowsHeight+(((t=this.scrollbarDimensions)==null?void 0:t.height)||0)):(this.paneTopH=this.frozenRowsHeight,this.paneBottomH=this.viewportH-this.frozenRowsHeight):this.paneTopH=this.viewportH,this.paneTopH+=this.topPanelH+this.headerRowH+this.footerRowH,this.hasFrozenColumns()&&this._options.autoHeight&&(this.paneTopH+=((i=this.scrollbarDimensions)==null?void 0:i.height)||0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const o=getComputedStyle(this._headerScrollerL);T.height(this._container,this.paneTopH+T.toFloat(o.height))}this._paneTopL.style.position="relative"}let s=T.height(this._paneHeaderL);s?s+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0:s=(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0),T.setStyleSize(this._paneTopL,"top",s||s),T.height(this._paneTopL,this.paneTopH);const n=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||T.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let o=T.height(this._paneHeaderL);o&&(o+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),T.setStyleSize(this._paneTopR,"top",o),T.height(this._paneTopR,this.paneTopH),T.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(T.setStyleSize(this._paneBottomL,"top",n),T.height(this._paneBottomL,this.paneBottomH),T.setStyleSize(this._paneBottomR,"top",n),T.height(this._paneBottomR,this.paneBottomH),T.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(T.width(this._paneBottomL,"100%"),T.height(this._paneBottomL,this.paneBottomH),T.setStyleSize(this._paneBottomL,"top",n));this.hasFrozenRows?(T.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(T.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&T.height(this._canvasBottomR,this.frozenRowsHeight)):(T.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&T.height(this._canvasTopR,this.frozenRowsHeight))):T.height(this._viewportTopR,this.viewportTopH),(!this.scrollbarDimensions||!this.scrollbarDimensions.width)&&(this.scrollbarDimensions=this.measureScrollbar()),this._options.forceFitColumns&&this.legacyAutosizeColumns(),this.updateRowCount(),this.handleScroll(),this.lastRenderedScrollLeft=-1,this.render()}}updatePagingStatusFromView(e){this.pagingActive=e.pageSize!==0,this.pagingIsLastPage=e.pageNum===e.totalPages-1}updateRowCount(){var e,t;if(this.initialized){const i=this.getDataLength();i>0&&i!==this._prevDataLength&&(this._rowSpanIsCached=!1),this._options.enableCellRowSpan&&!this._rowSpanIsCached&&this.remapAllColumnsRowSpan(),this._prevDataLength=i;const s=this.getDataLengthIncludingAddNew();let n=0,o=this.hasFrozenRows&&!this._options.frozenBottom?T.height(this._canvasBottomL):T.height(this._canvasTopL);this.hasFrozenRows?n=this.getDataLength()-this._options.frozenRow:n=s+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const l=T.height(this._viewportScrollContainerY),a=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&n*this._options.rowHeight>l,this.makeActiveCellNormal();const h=i-1;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(c=>{const u=+c;u>h&&this.removeRowFromCache(u)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>h&&this.resetActiveCell(),o=this.h,this._options.autoHeight?this.h=this._options.rowHeight*n:(this.th=Math.max(this._options.rowHeight*n,l-(((e=this.scrollbarDimensions)==null?void 0:e.height)||0)),this.th<this.maxSupportedCssHeight?(this.h=this.ph=this.th,this.n=1,this.cj=0):(this.h=this.maxSupportedCssHeight,this.ph=this.h/100,this.n=Math.floor(this.th/this.ph),this.cj=(this.th-this.h)/(this.n-1))),(this.h!==o||this.enforceFrozenRowHeightRecalc)&&(this.hasFrozenRows&&!this._options.frozenBottom?(T.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&T.height(this._canvasBottomR,this.h)):(T.height(this._canvasTopL,this.h),T.height(this._canvasTopR,this.h)),this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollHeight=this._viewportScrollContainerY.scrollHeight,this.enforceFrozenRowHeightRecalc=!1);const d=this.scrollTop+this.offset<=this.th-l;this.th===0||this.scrollTop===0?this.page=this.offset=0:d?this.scrollTo(this.scrollTop+this.offset):this.scrollTo(this.th-l+(((t=this.scrollbarDimensions)==null?void 0:t.height)||0)),this.h!==o&&this._options.autoHeight&&this.resizeCanvas(),this._options.forceFitColumns&&a!==this.viewportHasVScroll&&this.legacyAutosizeColumns(),this.updateCanvasWidth(!1)}}getViewport(e,t){return this.getVisibleRange(e,t)}getVisibleRange(e,t){return e??(e=this.scrollTop),t??(t=this.scrollLeft),{top:this.getRowFromPosition(e),bottom:this.getRowFromPosition(e+this.viewportH)+1,leftPx:t,rightPx:t+this.viewportW}}getRenderedRange(e,t){const i=this.getVisibleRange(e,t),s=Math.round(this.viewportH/this._options.rowHeight),n=this._options.minRowBuffer;return this.vScrollDir===-1?(i.top-=s,i.bottom+=n):this.vScrollDir===1?(i.top-=n,i.bottom+=s):(i.top-=n,i.bottom+=n),i.top=Math.max(0,i.top),i.bottom=Math.min(this.getDataLengthIncludingAddNew()-1,i.bottom),i.leftPx-=this.viewportW,i.rightPx+=this.viewportW,i.leftPx=Math.max(0,i.leftPx),i.rightPx=Math.min(this.canvasWidth,i.rightPx),i}ensureCellNodesInRowsCache(e){var i;const t=this.rowsCache[e];if(t!=null&&t.cellRenderQueue.length&&((i=t.rowNode)!=null&&i.length)){const s=t.rowNode;let n=Array.from(s[0].children);s.length>1&&(n=n.concat(Array.from(s[1].children)));let o=n.length-1;for(;t.cellRenderQueue.length;){const l=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[l]=n[o--]}}}cleanUpCells(e,t){var l,a;if(this.hasFrozenRows&&(this._options.frozenBottom&&t>this.actualFrozenRow||t<=this.actualFrozenRow))return;const i=this.rowsCache[t],s=[];Object.keys(i.cellNodesByColumnIdx).forEach(h=>{var u;if(!i.cellNodesByColumnIdx.hasOwnProperty(h))return;const d=+h;if(d<=this._options.frozenColumn||Array.isArray(this.columns)&&((u=this.columns[d])!=null&&u.alwaysRenderColumn))return;const c=i.cellColSpans[d];(this.columnPosLeft[d]>e.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(d||0)+c-1)]<e.leftPx)&&(t===this.activeRow&&Number(d)===this.activeCell||s.push(d))});let n,o;for(;q(n=s.pop());)o=i.cellNodesByColumnIdx[n],this._options.enableAsyncPostRenderCleanup&&((l=this.postProcessedRows[t])!=null&&l[n])?this.queuePostProcessedCellForCleanup(o,n,t):(a=o.parentElement)==null||a.removeChild(o),delete i.cellColSpans[n],delete i.cellNodesByColumnIdx[n],this.postProcessedRows[t]&&delete this.postProcessedRows[t][n]}cleanUpAndRenderCells(e){let t;const i=document.createElement("div"),s=[];let n,o,l;const a=this.columns.length;for(let c=e.top,u=e.bottom;c<=u;c++)if(t=this.rowsCache[c],t){this.ensureCellNodesInRowsCache(c),(!this._options.enableCellRowSpan||this.getRowSpanIntersect(c)===null)&&this.cleanUpCells(e,c),n=0;let p=this.getItemMetadaWhenExists(c);p=p==null?void 0:p.columns;const m=this.getDataItem(c);for(let f=0,g=a;f<g;f++)if(this.columns[f]&&!this.columns[f].hidden){if(this.columnPosLeft[f]>e.rightPx)break;if(q(o=t.cellColSpans[f])){f+=o>1?o-1:0;continue}o=1,l=null,p&&(l=p[this.columns[f].id]||p[f],o=(l==null?void 0:l.colspan)??1,o==="*"&&(o=g-f));const _=o;if(this.getParentRowSpanByCell(c,f))continue;if(this.columnPosRight[Math.min(g-1,f+_-1)]>e.leftPx){const b=this.getRowspan(c,f);this.appendCellHtml(i,c,f,_,b,l,m),n++}f+=_>1?_-1:0}n&&s.push(c)}if(!i.children.length)return;let h,d;for(;q(h=s.pop());){t=this.rowsCache[h];let c;for(;q(c=t.cellRenderQueue.pop());)d=i.lastChild,d&&(this.hasFrozenColumns()&&c>this._options.frozenColumn?t.rowNode[1].appendChild(d):t.rowNode[0].appendChild(d),t.cellNodesByColumnIdx[c]=d)}}createEmptyCachingRow(){return{rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]}}renderRows(e){var d,c,u,p;const t=[],i=[],s=[];let n=!1;const o=this.getDataLength(),l=new Set,a=new Set;for(let m=e.top,f=e.bottom;m<=f;m++)if(!(this.rowsCache[m]||this.hasFrozenRows&&this._options.frozenBottom&&m===this.getDataLength())){if(this.renderedRows++,s.push(m),a.add(m),this.rowsCache[m]=this.createEmptyCachingRow(),this._options.enableCellRowSpan){const g=this.getRowSpanIntersect(m);g!==null&&a.add(g)}this.appendRowHtml(t,i,m,e,o),l.add(m),this.activeCellNode&&this.activeRow===m&&(n=!0),this.counter_rows_rendered++}const h=this.setDifference(a,l);if(h.size>0&&h.forEach(m=>{this.removeRowFromCache(m),s.push(m),this.rowsCache[m]=this.createEmptyCachingRow(),this.appendRowHtml(t,i,m,e,o)}),s.length){const m=document.createElement("div"),f=document.createElement("div");t.forEach(g=>m.appendChild(g)),i.forEach(g=>f.appendChild(g));for(let g=0,_=s.length;g<_;g++)this.hasFrozenRows&&s[g]>=this.actualFrozenRow?this.hasFrozenColumns()?(d=this.rowsCache)!=null&&d.hasOwnProperty(s[g])&&m.firstChild&&f.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild,f.firstChild],this._canvasBottomL.appendChild(m.firstChild),this._canvasBottomR.appendChild(f.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(s[g])&&m.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild],this._canvasBottomL.appendChild(m.firstChild)):this.hasFrozenColumns()?(u=this.rowsCache)!=null&&u.hasOwnProperty(s[g])&&m.firstChild&&f.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild,f.firstChild],this._canvasTopL.appendChild(m.firstChild),this._canvasTopR.appendChild(f.firstChild)):(p=this.rowsCache)!=null&&p.hasOwnProperty(s[g])&&m.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild],this._canvasTopL.appendChild(m.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}}setDifference(e,t){return new Set(Array.from(e).filter(i=>!t.has(i)))}startPostProcessing(){this._options.enableAsyncPostRender&&(window.clearTimeout(this.h_postrender),this.h_postrender=window.setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(window.clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=window.setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay))}invalidatePostProcessingResults(e){typeof this.postProcessedRows[e]=="object"&&Object.keys(this.postProcessedRows[e]).forEach(t=>{this.postProcessedRows[e].hasOwnProperty(t)&&(this.postProcessedRows[e][t]="C")}),this.postProcessFromRow=Math.min(this.postProcessFromRow,e),this.postProcessToRow=Math.max(this.postProcessToRow,e),this.startPostProcessing()}updateRowPositions(){this.rowsCache&&typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(e=>{const t=e?parseInt(e,10):0,i=this.rowsCache[t].rowNode[0];this._options.rowTopOffsetRenderType==="transform"?i.style.transform=`translateY(${this.getRowTop(t)}px)`:i.style.top=`${this.getRowTop(t)}px`})}render(){if(this.initialized){this.scrollThrottle.dequeue();const e=this.getVisibleRange(),t=this.getRenderedRange();if(this.cleanupRows(t),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const i=de(!0,{},t);this._options.frozenBottom?(i.top=this.actualFrozenRow,i.bottom=this.getDataLength()):(i.top=0,i.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(i)}this.cleanUpAndRenderCells(t)}this.renderRows(t),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:t.leftPx,rightPx:t.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:t.leftPx,rightPx:t.rightPx})),this.postProcessFromRow=e.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,e.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.triggerEvent(this.onRendered,{startRow:e.top,endRow:e.bottom,grid:this})}}handleHeaderRowScroll(){const e=this._headerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleFooterRowScroll(){const e=this._footerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleTopHeaderPanelScroll(){this.handleElementScroll(this._topHeaderPanelScroller)}handleElementScroll(e){const t=e.scrollLeft;t!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=t)}handleScroll(e){return this.scrollHeight=this._viewportScrollContainerY.scrollHeight,this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(e?"scroll":"system")}_handleScroll(e="system"){let t=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,i=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;t=Math.max(0,t),i=Math.max(0,i),this.scrollTop>t&&(this.scrollTop=t,this.scrollHeight=t),this.scrollLeft>i&&(this.scrollLeft=i);const s=Math.abs(this.scrollTop-this.prevScrollTop),n=Math.abs(this.scrollLeft-this.prevScrollLeft);if(n&&(this.prevScrollLeft=this.scrollLeft,this._viewportScrollContainerX.scrollLeft=this.scrollLeft,this._headerScrollContainer.scrollLeft=this.scrollLeft,this._topPanelScrollers[0].scrollLeft=this.scrollLeft,this._options.createFooterRow&&(this._footerRowScrollContainer.scrollLeft=this.scrollLeft),this._options.createPreHeaderPanel&&(this.hasFrozenColumns()?this._preHeaderPanelScrollerR.scrollLeft=this.scrollLeft:this._preHeaderPanelScroller.scrollLeft=this.scrollLeft),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller.scrollLeft=this.scrollLeft),this.hasFrozenColumns()?(this.hasFrozenRows&&(this._viewportTopR.scrollLeft=this.scrollLeft),this._headerRowScrollerR.scrollLeft=this.scrollLeft):(this.hasFrozenRows&&(this._viewportTopL.scrollLeft=this.scrollLeft),this._headerRowScrollerL.scrollLeft=this.scrollLeft)),s&&!this._options.autoHeight)if(this.vScrollDir=this.prevScrollTop<this.scrollTop?1:-1,this.prevScrollTop=this.scrollTop,e==="mousewheel"&&(this._viewportScrollContainerY.scrollTop=this.scrollTop),this.hasFrozenColumns()&&(this.hasFrozenRows&&!this._options.frozenBottom?this._viewportBottomL.scrollTop=this.scrollTop:this._viewportTopL.scrollTop=this.scrollTop),s<this.viewportH)this.scrollTo(this.scrollTop+this.offset);else{const o=this.offset;this.h===this.viewportH?this.page=0:this.page=Math.min(this.n-1,Math.floor(this.scrollTop*((this.th-this.viewportH)/(this.h-this.viewportH))*(1/this.ph))),this.offset=Math.round(this.page*this.cj),o!==this.offset&&this.invalidateAllRows()}if(n||s){const o=Math.abs(this.lastRenderedScrollLeft-this.scrollLeft),l=Math.abs(this.lastRenderedScrollTop-this.scrollTop);(o>20||l>20)&&(this._options.forceSyncScrolling||l<this.viewportH&&o<this.viewportW?this.render():this.scrollThrottle.enqueue(),this.triggerEvent(this.onViewportChanged,{}))}return this.triggerEvent(this.onScroll,{triggeredBy:e,scrollHeight:this.scrollHeight,scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}),!!(n||s)}actionThrottle(e,t){let i=!1,s=!1;const n=()=>{i?s=!0:l()},o=()=>{s=!1},l=()=>{i=!0,window.clearTimeout(this._executionBlockTimer),this._executionBlockTimer=window.setTimeout(a,t),e.call(this)},a=()=>{s?(o(),l()):i=!1};return{enqueue:n.bind(this),dequeue:o.bind(this)}}asyncPostProcessRows(){const e=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const t=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,i=this.rowsCache[t];if(!(!i||t>=e)){this.postProcessedRows[t]||(this.postProcessedRows[t]={}),this.ensureCellNodesInRowsCache(t),Object.keys(i.cellNodesByColumnIdx).forEach(s=>{if(i.cellNodesByColumnIdx.hasOwnProperty(s)){const n=+s,o=this.columns[n],l=this.postProcessedRows[t][n];if(o.asyncPostRender&&l!=="R"){const a=i.cellNodesByColumnIdx[n];a&&o.asyncPostRender(a,t,this.getDataItem(t),o,l==="C"),this.postProcessedRows[t][n]="R"}}}),this.h_postrender=window.setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const e=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===e;){const t=this.postProcessedCleanupQueue.shift();if((t==null?void 0:t.actionType)==="R"&&t.node.forEach(i=>{i.remove()}),(t==null?void 0:t.actionType)==="C"){const i=this.columns[t.columnIdx];i.asyncPostRenderCleanup&&t.node&&i.asyncPostRenderCleanup(t.node,t.rowIdx,i)}}this.h_postrenderCleanup=window.setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(e,t){let i,s,n;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(o=>{this.rowsCache&&(n=t==null?void 0:t[o],s=e==null?void 0:e[o],n&&Object.keys(n).forEach(l=>{(!s||n[l]!==s[l])&&(i=this.getCellNode(+o,this.getColumnIndex(l)),i&&i.classList.remove(n[l]))}),s&&Object.keys(s).forEach(l=>{(!n||n[l]!==s[l])&&(i=this.getCellNode(+o,this.getColumnIndex(l)),i&&i.classList.add(s[l]))}))})}addCellCssStyles(e,t){if(this.cellCssClasses[e])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${e}" already exists.`);this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,null),this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}removeCellCssStyles(e){this.cellCssClasses[e]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[e]),delete this.cellCssClasses[e],this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:null,grid:this}))}setCellCssStyles(e,t){const i=this.cellCssClasses[e];this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,i),this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}getCellCssStyles(e){return this.cellCssClasses[e]}flashCell(e,t,i=250){const s=(n,o)=>{o>0&&(window.clearTimeout(this._flashCellTimer),this._flashCellTimer=window.setTimeout(()=>{o%2===0?n.classList.add(this._options.cellFlashingCssClass||""):n.classList.remove(this._options.cellFlashingCssClass||""),s(n,o-1)},i))};if(this.rowsCache[e]){const n=this.getCellNode(e,t);n&&s(n,5)}}highlightRow(e,t){const i=this.rowsCache[e];t||(t=this._options.rowHighlightDuration),Array.isArray(i==null?void 0:i.rowNode)&&this._options.rowHighlightCssClass&&(i.rowNode.forEach(s=>s.classList.add(...he(this._options.rowHighlightCssClass))),window.clearTimeout(this._highlightRowTimer),this._highlightRowTimer=window.setTimeout(()=>{var s;(s=i.rowNode)==null||s.forEach(n=>n.classList.remove(...he(this._options.rowHighlightCssClass)))},t))}handleMouseWheel(e,t,i,s){this.scrollHeight=this._viewportScrollContainerY.scrollHeight,e.shiftKey?this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10:(this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10),this._handleScroll("mousewheel")&&e.preventDefault()}handleDragInit(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.triggerEvent(this.onDragInit,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDragStart(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.triggerEvent(this.onDragStart,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDrag(e,t){return this.triggerEvent(this.onDrag,t,e).getReturnValue()}handleDragEnd(e,t){this.triggerEvent(this.onDragEnd,t,e)}handleKeyDown(e){var s,n,o;let i=this.triggerEvent(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},e).isImmediatePropagationStopped();if(!i&&!e.shiftKey&&!e.altKey){if(this._options.editable&&((s=this.currentEditor)!=null&&s.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(e.which)>-1)return;e.ctrlKey&&e.key==="Home"?this.navigateTopStart():e.ctrlKey&&e.key==="End"?this.navigateBottomEnd():e.ctrlKey&&e.key==="ArrowUp"?this.navigateTop():e.ctrlKey&&e.key==="ArrowDown"?this.navigateBottom():e.ctrlKey&&e.key==="ArrowLeft"||!e.ctrlKey&&e.key==="Home"?this.navigateRowStart():(e.ctrlKey&&e.key==="ArrowRight"||!e.ctrlKey&&e.key==="End")&&this.navigateRowEnd()}if(!i)if(!e.shiftKey&&!e.altKey&&!e.ctrlKey)if(e.key==="Escape"){if(!((n=this.getEditorLock())!=null&&n.isActive()))return;this.cancelEditAndSetFocus()}else e.key==="PageDown"?(this.navigatePageDown(),i=!0):e.key==="PageUp"?(this.navigatePageUp(),i=!0):e.key==="ArrowLeft"?i=this.navigateLeft():e.key==="ArrowRight"?i=this.navigateRight():e.key==="ArrowUp"?i=this.navigateUp():e.key==="ArrowDown"?i=this.navigateDown():e.key==="Tab"?i=this.navigateNext():e.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(o=this.getEditorLock())!=null&&o.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,e)),i=!0);else e.key==="Tab"&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&(i=this.navigatePrev());i&&(e.stopPropagation(),e.preventDefault())}handleClick(e){var s,n,o;const t=e instanceof le?e.getNativeEvent():e;if(!this.currentEditor&&(t.target!==document.activeElement||t.target.classList.contains("slick-cell"))){const l=this.getTextSelection();this.setFocus(),this.setTextSelection(l)}const i=this.getCellFromEvent(t);if(!(!i||this.currentEditor!==null&&this.activeRow===i.row&&this.activeCell===i.cell)&&(e=this.triggerEvent(this.onClick,{row:i.row,cell:i.cell},e||t),!(e.isImmediatePropagationStopped()||t.defaultPrevented)&&this.canCellBeActive(i.row,i.cell)&&(!((s=this.getEditorLock())!=null&&s.isActive())||(n=this.getEditorLock())!=null&&n.commitCurrentEdit()))){this.scrollRowIntoView(i.row,!1);const l=((o=t.target)==null?void 0:o.className)===ed,a=this.columns[i.cell],h=!!(this._options.editable&&(a!=null&&a.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(i.row,i.cell),null,l,h,t)}}handleContextMenu(e){const t=e.target.closest(".slick-cell");t&&(this.activeCellNode===t&&this.currentEditor!==null||this.triggerEvent(this.onContextMenu,{},e))}handleDblClick(e){const t=this.getCellFromEvent(e);!t||this.currentEditor!==null&&this.activeRow===t.row&&this.activeCell===t.cell||(this.triggerEvent(this.onDblClick,{row:t.row,cell:t.cell},e),!e.defaultPrevented&&this._options.editable&&this.gotoCell(t.row,t.cell,!0,e))}handleHeaderMouseEnter(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseOver(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOver,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderMouseOut(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOut,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseOver(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOver,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseOut(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOut,{column:t,grid:this},e)}handleHeaderContextMenu(e){const t=e.target.closest(".slick-header-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onHeaderContextMenu,{column:i},e)}handleHeaderClick(e){if(!this.columnResizeDragging){const t=e.target.closest(".slick-header-column"),i=t&&T.storage.get(t,"column");i&&this.triggerEvent(this.onHeaderClick,{column:i},e)}}handlePreHeaderContextMenu(e){this.triggerEvent(this.onPreHeaderContextMenu,{node:e.target},e)}handlePreHeaderClick(e){this.columnResizeDragging||this.triggerEvent(this.onPreHeaderClick,{node:e.target},e)}handleFooterContextMenu(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onFooterClick,{column:i},e)}handleCellMouseOver(e){this.triggerEvent(this.onMouseEnter,{},e)}handleCellMouseOut(e){this.triggerEvent(this.onMouseLeave,{},e)}cellExists(e,t){return!(e<0||e>=this.getDataLength()||t<0||t>=this.columns.length)}getCellFromPoint(e,t){let i=this.getRowFromPosition(t),s=0,n=0;for(let o=0;o<this.columns.length&&n<=e;o++)this.columns[o]&&(n+=this.columns[o].width,s++);return s-=1,i<-1&&(i=-1),{row:i,cell:s}}getCellFromNode(e){const t=/l\d+/.exec(e.className);if(!t)throw new Error(`SlickGrid getCellFromNode: cannot get cell - ${e.className}`);return parseInt(t[0].substr(1,t[0].length-1),10)}getRowFromNode(e){var t;for(const i in this.rowsCache)if(this.rowsCache){for(const s in this.rowsCache[i].rowNode)if(((t=this.rowsCache[i].rowNode)==null?void 0:t[+s])===e)return i?parseInt(i,10):0}return null}getFrozenRowOffset(e){let t=0;return this.hasFrozenRows?this._options.frozenBottom?e>=this.actualFrozenRow?this.h<this.viewportTopH?t=this.actualFrozenRow*this._options.rowHeight:t=this.h:t=0:e>=this.actualFrozenRow?t=this.frozenRowsHeight:t=0:t=0,t}getCellFromEvent(e){const t=e instanceof le?e.getNativeEvent():e;if(!t)return null;const i=t.touches?t.touches[0]:t,s=t.target.closest(".slick-cell");if(!s)return null;let n=this.getRowFromNode(s.parentNode);if(this.hasFrozenRows){let l=0;const a=ge(T.parents(s,".grid-canvas")[0]);T.parents(s,".grid-canvas-bottom").length&&(l=this._options.frozenBottom?T.height(this._canvasTopL):this.frozenRowsHeight);const d=i.clientX-a.left,c=i.clientY-a.top+l+document.documentElement.scrollTop;n=this.getCellFromPoint(d,c).row}const o=this.getCellFromNode(s);return!Jt(n)||!Jt(o)?null:{row:n,cell:o}}getCellNodeBox(e,t){var a;if(!this.cellExists(e,t))return null;const i=this.getFrozenRowOffset(e),s=this.getRowTop(e)-i,n=s+this._options.rowHeight-1;let o=0;for(let h=0;h<t;h++)this.columns[h]&&!this.columns[h].hidden&&(o+=this.columns[h].width||0,this._options.frozenColumn===h&&(o=0));const l=o+(((a=this.columns[t])==null?void 0:a.width)||0);return{top:s,left:o,bottom:n,right:l}}resetActiveCell(){this.setActiveCellInternal(null,!1)}unsetActiveCell(){var e,t;q(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(t=(e=this.rowsCache[this.activeRow])==null?void 0:e.rowNode)==null||t.forEach(i=>i.classList.remove("active")))}focus(){this.setFocus()}setFocus(){this.tabbingDirection===-1?this._focusSink.focus():this._focusSink2.focus()}scrollCellIntoView(e,t,i){if(this.scrollRowIntoView(e,i),t>this._options.frozenColumn){const s=this.getColspan(e,t);this.internalScrollColumnIntoView(this.columnPosLeft[t],this.columnPosRight[t+(s>1?s-1:0)])}}internalScrollColumnIntoView(e,t){var s;const i=this.scrollLeft+T.width(this._viewportScrollContainerX)-(this.viewportHasVScroll&&((s=this.scrollbarDimensions)==null?void 0:s.width)||0);e<this.scrollLeft?(this._viewportScrollContainerX.scrollLeft=e,this.handleScroll(),this.render()):t>i&&(this._viewportScrollContainerX.scrollLeft=Math.min(e,t-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(e){this.internalScrollColumnIntoView(this.columnPosLeft[e],this.columnPosRight[e])}setActiveCellInternal(e,t,i,s,n){var o,l;if(this.unsetActiveCell(),this.activeCellNode=e,q(this.activeCellNode)){const a=ge(this.activeCellNode);let h=Math.floor(ge(T.parents(this.activeCellNode,".grid-canvas")[0]).top);const d=T.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&d&&(h-=this._options.frozenBottom?T.height(this._canvasTopL):this.frozenRowsHeight);const c=this.getCellFromPoint(a.left,Math.ceil(a.top)-h);this.activeRow=c.row,this.activePosY=c.row,this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!q(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(document.querySelectorAll(".slick-cell.active").forEach(u=>u.classList.remove("active")),this.activeCellNode.classList.add("active"),(l=(o=this.rowsCache[this.activeRow])==null?void 0:o.rowNode)==null||l.forEach(u=>u.classList.add("active"))),this._options.editable&&t&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(this._options.asyncEditorLoading?(window.clearTimeout(this.h_editorLoader),this.h_editorLoader=window.setTimeout(()=>{this.makeActiveCellEditable(void 0,i,n)},this._options.asyncEditorLoadDelay)):this.makeActiveCellEditable(void 0,i,n))}else this.activeRow=this.activeCell=null;s||this.triggerEvent(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var e;if((e=document.selection)!=null&&e.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const t=window.getSelection();t!=null&&t.removeAllRanges&&t.removeAllRanges()}}isCellPotentiallyEditable(e,t){const i=this.getDataLength();return!(e<i&&!this.getDataItem(e)||this.columns[t].cannotTriggerInsert&&e>=i||!this.columns[t]||this.columns[t].hidden||!this.getEditor(e,t))}makeActiveCellNormal(e=!1){var t;if(this.currentEditor){if(this.triggerEvent(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const i=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),i){const s=this.columns[this.activeCell],o=this.getFormatter(this.activeRow,s)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(i,s),s,i,this);this.applyFormatResultToCellNode(o,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}e&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(t=this.getEditorLock())==null||t.deactivate(this.editController)}}editActiveCell(e,t,i){this.makeActiveCellEditable(e,t,i)}makeActiveCellEditable(e,t,i){var l,a,h,d;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when grid options.editable is false");if(window.clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const s=this.columns[this.activeCell],n=this.getDataItem(this.activeRow);if(this.triggerEvent(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:n,column:s,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(l=this.getEditorLock())==null||l.activate(this.editController),this.activeCellNode.classList.add("editable");const o=e||this.getEditor(this.activeRow,this.activeCell);if(typeof o=="function"){!e&&!o.suppressClearOnEdit&&ee(this.activeCellNode);let c=this.getItemMetadaWhenExists(this.activeRow);c=c==null?void 0:c.columns;const u=c&&(c[s.id]||c[this.activeCell]),p={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:u,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new o(p),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&typeof((a=this.currentEditor)==null?void 0:a.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(h=this.currentEditor)==null?void 0:h.serializeValue(),(d=this.currentEditor)!=null&&d.position&&this.handleActiveCellPositionChange()}}commitEditAndSetFocus(e=!0){var t;(t=this.getEditorLock())!=null&&t.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&e&&this.navigateDown())}cancelEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.cancelCurrentEdit()&&this.setFocus()}absBox(e){const t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:e.offsetWidth,height:e.offsetWidth,visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;let i=e.offsetParent;for(;(e=e.parentNode)!==document.body&&!(!e||!e.parentNode);){const s=getComputedStyle(e);t.visible&&e.scrollHeight!==e.offsetHeight&&s.overflowY!=="visible"&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!==e.offsetWidth&&s.overflowX!=="visible"&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===i&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,i=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width}return t}getActiveCellPosition(){return this.absBox(this.activeCellNode)}getGridPosition(){return this.absBox(this._container)}handleActiveCellPositionChange(){if(this.activeCellNode&&(this.triggerEvent(this.onActiveCellPositionChanged,{}),this.currentEditor)){const e=this.getActiveCellPosition();this.currentEditor.show&&this.currentEditor.hide&&(e.visible?this.currentEditor.show():this.currentEditor.hide()),this.currentEditor.position&&this.currentEditor.position(e)}}getCellEditor(){return this.currentEditor}getActiveCell(){return this.activeCellNode?{row:this.activeRow,cell:this.activeCell}:null}getActiveCellNode(){return this.activeCellNode}getTextSelection(){let e=null;if(window.getSelection){const t=window.getSelection();((t==null?void 0:t.rangeCount)||0)>0&&(e=t.getRangeAt(0))}return e}setTextSelection(e){if(window.getSelection&&e){const t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}}scrollRowIntoView(e,t){var i;if(!this.hasFrozenRows||!this._options.frozenBottom&&e>this.actualFrozenRow-1||this._options.frozenBottom&&e<this.actualFrozenRow-1){const s=T.height(this._viewportScrollContainerY),n=this.hasFrozenRows&&!this._options.frozenBottom?e-this._options.frozenRow:e,o=n*this._options.rowHeight,l=(n+1)*this._options.rowHeight-s+(this.viewportHasHScroll&&((i=this.scrollbarDimensions)==null?void 0:i.height)||0);(n+1)*this._options.rowHeight>this.scrollTop+s+this.offset?(this.scrollTo(t?o:l),this.render()):n*this._options.rowHeight<this.scrollTop+this.offset&&(this.scrollTo(t?l:o),this.render())}}scrollRowToTop(e){this.scrollTo(e*this._options.rowHeight),this.render()}scrollPage(e){const t=e*this.numVisibleRows,i=this.scrollTop+this._options.rowHeight-1;if(this.scrollTo((this.getRowFromPosition(i)+t)*this._options.rowHeight),this.render(),this._options.enableCellNavigation&&q(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);const o=e===1?this.gotoDown(s-1||0,this.activeCell,this.activePosY,this.activePosX):this.gotoUp(s+1,this.activeCell,this.activePosY,this.activePosX);this.navigateToPos(o)}}navigatePageDown(){this.unsetActiveCell(),this.scrollPage(1)}navigatePageUp(){this.unsetActiveCell(),this.scrollPage(-1)}navigateTop(){this.unsetActiveCell(),this.navigateToRow(0)}navigateBottom(){var i;const e=this.getDataLength()-1;let t=((i=this.getParentRowSpanByCell(e,this.activeCell))==null?void 0:i.start)??e;do if(this._options.enableCellRowSpan&&this.setActiveRow(t),this.navigateToRow(t)&&this.activeCell===this.activePosX||!q(this.activeCell))break;while(--t>0)}navigateToRow(e){const t=this.getDataLength();if(!t)return!1;e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0);let i=!q(this.activeCell)||!q(this.activeRow);if(this._options.enableCellNavigation&&q(this.activeRow)){let s=0,n=null;const o=this.activePosX;for(;s<=this.activePosX;)this.canCellBeActive(e,s)&&(n=s,(!q(this.activeCell)||s===this.activeCell)&&(i=!0)),s+=this.getColspan(e,s);n!==null?(this.setActiveCellInternal(this.getCellNode(e,n)),this.activePosX=o):this.resetActiveCell()}return i}getColspan(e,t){const i=this.getItemMetadaWhenExists(e);if(!i||!i.columns)return 1;t>=this.columns.length&&(t=this.columns.length-1);const s=i.columns[this.columns[t].id]||i.columns[t];let n=s==null?void 0:s.colspan;return n==="*"?n=this.columns.length-t:n=n||1,n}getRowspan(e,t){let i=1;const s=this.getItemMetadaWhenExists(e);return s!=null&&s.columns&&Object.keys(s.columns).forEach(n=>{const o=Number(n);if(o===t){const l=s.columns[o];i=Number((l==null?void 0:l.rowspan)||1)}}),i}findFocusableRow(e,t,i){let s=e;const n=this._colsWithRowSpanCache[t]||new Set;let o=!1;return Array.from(n).forEach(l=>{const[a,h]=l.split(":").map(Number);!o&&e>=a&&e<=h&&(s=i==="up"?a:h,this.canCellBeActive(s,t)&&(o=!0))}),s}findFirstFocusableCell(e){let t=0,i=e,s=-1;for(;t<this.columns.length;){const n=this.getParentRowSpanByCell(e,t);if(i=n!==null&&n.start!==e?n.start:e,this.canCellBeActive(i,t)){s=t;break}t+=this.getColspan(i,t)}return{cell:s,row:i}}findLastFocusableCell(e){let t=0,i=e,s=-1;for(;t<this.columns.length;){const n=this.getParentRowSpanByCell(e,t);i=n!==null&&n.start!==e?n.start:e,this.canCellBeActive(i,t)&&(s=t),t+=this.getColspan(i,t)}return{cell:s,row:i}}findSpanStartingCell(e,t){const i=this.getParentRowSpanByCell(e,t),s=i!==null&&i.start!==e?i.start:e;let n=0,o=0;for(;n<this.columns.length;){if(n+=this.getColspan(s,n),n>t)return n=o,{cell:n,row:s};o=n}return{cell:n,row:s}}gotoRight(e,t,i,s){if(t>=this.columns.length)return null;let n=t+1,o=i;do{const l=this.findSpanStartingCell(i,n);if(o=l.row,n=l.cell,this.canCellBeActive(o,n)&&n>t)break;n+=this.getColspan(o,l.cell)}while(n<this.columns.length);return n<this.columns.length?{row:o,cell:n,posX:n,posY:i}:null}gotoLeft(e,t,i,s){if(t<=0)return null;const n=this.findFirstFocusableCell(e);if(n.cell===null||n.cell>=t)return null;let o,l={row:e,cell:n.cell,posX:n.cell,posY:i};for(;;){if(o=this.gotoRight(l.row,l.cell,l.posY,l.posX),!o)return null;if(o.cell>=t){const a=this.findFocusableRow(i,l.cell,"up");return a!==l.row&&(l.row=a),l}l=o}}gotoDown(e,t,i,s){let n;const o=this.getDataLengthIncludingAddNew();do for(e+=this.getRowspan(e,s),n=t=0;t<=s;)n=t,t+=this.getColspan(e,t);while(e<=o&&!this.canCellBeActive(e,n));return e<=o?{row:e,cell:n,posX:s,posY:e}:null}gotoUp(e,t,i,s){let n;if(e<=0)return null;do for(e=this.findFocusableRow(e-1,s,"up"),n=t=0;t<=s;)n=t,t+=this.getColspan(e,t);while(e>=0&&!this.canCellBeActive(e,n));return t<=this.columns.length?{row:e,cell:n,posX:s,posY:e}:null}gotoNext(e,t,i,s){var o;if(!Jt(e)&&!Jt(t)&&(e=t=i=s=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t,posY:i};let n=this.gotoRight(e,t,i,s);if(!n){let l;for(;!n&&++i<this.getDataLength()+(this._options.enableAddRow?1:0);)l=this.findFirstFocusableCell(i),l.cell!==null&&(e=((o=this.getParentRowSpanByCell(i,l.cell))==null?void 0:o.start)??i,n={row:e,cell:l.cell,posX:l.cell,posY:i})}return n}gotoPrev(e,t,i,s){var o;if(!Jt(e)&&!Jt(t)&&(e=i=this.getDataLengthIncludingAddNew()-1,t=s=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t,posY:i};let n=this.gotoLeft(e,t,i,s);if(!n){let l;for(;!n&&--i>=0;)l=this.findLastFocusableCell(i),l.cell>-1&&(e=((o=this.getParentRowSpanByCell(i,l.cell))==null?void 0:o.start)??i,n={row:e,cell:l.cell,posX:l.cell,posY:i})}return n}gotoRowStart(e,t,i,s){const n=this.findFirstFocusableCell(e);return n.cell===null?null:{row:n.row,cell:n.cell,posX:n.cell,posY:e}}gotoRowEnd(e,t,i,s){const n=this.findLastFocusableCell(e);return n.cell===-1?null:{row:n.row,cell:n.cell,posX:n.cell,posY:e}}navigateRight(){return this.navigate("right")}navigateLeft(){return this.navigate("left")}navigateDown(){return this.navigate("down")}navigateUp(){return this.navigate("up")}navigateNext(){return this.navigate("next")}navigatePrev(){return this.navigate("prev")}navigateRowStart(){return this.navigate("home")}navigateRowEnd(){return this.navigate("end")}navigateTopStart(){return this.unsetActiveCell(),this.navigateToRow(0),this.navigate("home")}navigateBottomEnd(){return this.navigateBottom(),this.navigate("end")}navigate(e){var o;if(!this._options.enableCellNavigation||!this.activeCellNode&&e!=="prev"&&e!=="next")return!1;if(!((o=this.getEditorLock())!=null&&o.commitCurrentEdit()))return!0;this.setFocus(),this.unsetActiveCell();const t={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1};this.tabbingDirection=t[e];const n={up:this.gotoUp,down:this.gotoDown,left:this.gotoLeft,right:this.gotoRight,prev:this.gotoPrev,next:this.gotoNext,home:this.gotoRowStart,end:this.gotoRowEnd}[e].call(this,this.activeRow,this.activeCell,this.activePosY,this.activePosX);return this.navigateToPos(n)}navigateToPos(e){if(e){if(this.hasFrozenRows&&this._options.frozenBottom&&e.row===this.getDataLength())return;const t=e.row===this.getDataLength();return(!this._options.frozenBottom&&e.row>=this.actualFrozenRow||this._options.frozenBottom&&e.row<this.actualFrozenRow)&&this.scrollCellIntoView(e.row,e.cell,!t&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(e.row,e.cell)),this.activePosX=e.posX,this.activePosY=e.posY,!0}else return this.setActiveCellInternal(this.getCellNode(this.activeRow,this.activeCell)),!1}getCellNode(e,t){if(this.rowsCache[e]){this.ensureCellNodesInRowsCache(e);try{return this.rowsCache[e].cellNodesByColumnIdx.length>t?this.rowsCache[e].cellNodesByColumnIdx[t]:null}catch{return this.rowsCache[e].cellNodesByColumnIdx[t]}}return null}setActiveCell(e,t,i,s,n){!this.initialized||!this._options.enableCellNavigation||e>this.getDataLength()||e<0||t>=this.columns.length||t<0||(this.scrollCellIntoView(e,t,!1),this.setActiveCellInternal(this.getCellNode(e,t),i,s,n))}setActiveRow(e,t,i){t??(t=0),!(!this.initialized||e>this.getDataLength()||e<0||t>=this.columns.length||t<0)&&(this.activeRow=e,i||this.scrollCellIntoView(e,t,!1))}canCellBeActive(e,t){var o,l,a;if(!this._options.enableCellNavigation||e>=this.getDataLengthIncludingAddNew()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden||(((o=this.getParentRowSpanByCell(e,t))==null?void 0:o.start)??e)!==e)return!1;const s=this.getItemMetadaWhenExists(e);if((s==null?void 0:s.focusable)!==void 0)return!!s.focusable;const n=s==null?void 0:s.columns;return((l=n==null?void 0:n[this.columns[t].id])==null?void 0:l.focusable)!==void 0?!!n[this.columns[t].id].focusable:((a=n==null?void 0:n[t])==null?void 0:a.focusable)!==void 0?!!n[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=this.getItemMetadaWhenExists(e);if((i==null?void 0:i.selectable)!==void 0)return!!i.selectable;const s=(i==null?void 0:i.columns)&&(i.columns[this.columns[t].id]||i.columns[t]);return(s==null?void 0:s.selectable)!==void 0?!!s.selectable:!!this.columns[t].selectable}gotoCell(e,t,i,s){var n;if(this.initialized&&this.canCellBeActive(e,t)&&((n=this.getEditorLock())!=null&&n.commitCurrentEdit())){this.scrollCellIntoView(e,t,!1);const o=this.getCellNode(e,t),l=this.columns[t],a=!!(this._options.editable&&(l!=null&&l.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(o,i||e===this.getDataLength()||this._options.autoEdit,null,a,s),this.currentEditor||this.setFocus()}}commitCurrentEdit(){var s;const e=this,t=e.getDataItem(e.activeRow),i=e.columns[e.activeCell];if(e.currentEditor){if(e.currentEditor.isValueChanged()){const n=e.currentEditor.validate();if(n.valid){const o=e.activeRow,l=e.activeCell,a=e.currentEditor,h=e.currentEditor.serializeValue(),d=e.serializedEditorValue;if(e.activeRow<e.getDataLength()){const c={row:o,cell:l,editor:a,serializedValue:h,prevSerializedValue:d,execute:()=>{a.applyValue(t,h),e.updateRow(o),e.triggerEvent(e.onCellChange,{command:"execute",row:o,cell:l,item:t,column:i})},undo:()=>{a.applyValue(t,d),e.updateRow(o),e.triggerEvent(e.onCellChange,{command:"undo",row:o,cell:l,item:t,column:i})}};e._options.editCommandHandler?(e.makeActiveCellNormal(!0),e._options.editCommandHandler(t,i,c)):(c.execute(),e.makeActiveCellNormal(!0))}else{const c={};e.currentEditor.applyValue(c,e.currentEditor.serializeValue()),e.makeActiveCellNormal(!0),e.triggerEvent(e.onAddNewRow,{item:c,column:i})}return!((s=e.getEditorLock())!=null&&s.isActive())}else return e.activeCellNode&&(e.activeCellNode.classList.remove("invalid"),T.width(e.activeCellNode),e.activeCellNode.classList.add("invalid")),e.triggerEvent(e.onValidationError,{editor:e.currentEditor,cellNode:e.activeCellNode,validationResults:n,row:e.activeRow,cell:e.activeCell,column:i}),e.currentEditor.focus(),!1}e.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(e){const t=[],i=this.columns.length-1;for(let s=0;s<e.length;s++)t.push(new tt(e[s],0,e[s],i));return t}getSelectedRows(){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");return this.selectedRows.slice(0)}setSelectedRows(e,t){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");const i=this.getEditorLock();typeof(i==null?void 0:i.isActive)=="function"&&!i.isActive()&&this.selectionModel.setSelectedRanges(this.rowsToRanges(e),t||"SlickGrid.setSelectedRows")}sanitizeHtmlString(e){var t;return typeof((t=this._options)==null?void 0:t.sanitizer)!="function"||!e||typeof e!="string"?e:this._options.sanitizer(e)}}class Rd{constructor(e,t,i){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._clearFilterTriggered=!1,this._collectionObservers=[],this._shouldTriggerQuery=!0,this.searchTerms=[],this.isFilled=!1,this.isItemSelected=!1,this.valueName="label",this.enableTranslateLabel=!1,this.subscriptions=[],this._bindEventService=new Pe}get autocompleterOptions(){return this._autocompleterOptions||{}}get collectionOptions(){var e,t;return((t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.collectionOptions)??{}}get collection(){return this._collection}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)||{}}get filterDomElement(){return this._filterElm}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.autocompleter,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get customStructure(){var i,s,n,o,l;let e=(i=this.columnFilter)==null?void 0:i.customStructure;const t=((s=this.columnFilter)==null?void 0:s.type)??((n=this.columnDef)==null?void 0:n.type);return!e&&t===w.object&&((o=this.columnDef)!=null&&o.dataKey)&&((l=this.columnDef)!=null&&l.labelKey)&&(e={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),e}get defaultOperator(){return H.equal}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get instance(){return this._instance}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}init(e){var i,s,n,o,l,a;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this.filterContainerElm=e.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync&&!this.columnFilter.filterOptions)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the AutoComplete Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.autocompleter, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);this.enableTranslateLabel=((i=this.columnFilter)==null?void 0:i.enableTranslateLabel)??!1,this.labelName=((s=this.customStructure)==null?void 0:s.label)??"label",this.valueName=((n=this.customStructure)==null?void 0:n.value)??"value",this.labelPrefixName=((o=this.customStructure)==null?void 0:o.labelPrefix)??"labelPrefix",this.labelSuffixName=((l=this.customStructure)==null?void 0:l.labelSuffix)??"labelSuffix",this._locales=((a=this.gridOptions)==null?void 0:a.locales)??R.locales;const t=this.columnFilter.collection;return this._collection=t,this.renderDomElement(t),new Promise(async(h,d)=>{try{const c=this.columnFilter.collectionAsync;let u;c&&!this.columnFilter.collection?(u=Yo(c,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),h(u)):(u=t,h(t)),(c||this.columnFilter.enableCollectionWatch)&&(await(u??c),this.watchCollectionChanges())}catch(c){d(c)}})}clear(e=!0){this._filterElm&&(this._clearFilterTriggered=!0,this._shouldTriggerQuery=e,this.searchTerms=[],this._filterElm.value="",this._filterElm.dispatchEvent(new CustomEvent("input")),this.updateFilterStyle(!1))}destroy(){var e,t,i;typeof((e=this._instance)==null?void 0:e.destroy)=="function"&&this._instance.destroy(),this._filterElm,(i=(t=this._filterElm)==null?void 0:t.remove)==null||i.call(t),this._collection=void 0,this._bindEventService.unbindAll(),this._collectionObservers.forEach(s=>s==null?void 0:s.disconnect()),cs(this.subscriptions)}getValues(){var e;return((e=this._filterElm)==null?void 0:e.value)||""}setValues(e,t,i=!1){e&&this._filterElm&&(this._filterElm.value=e),this.updateFilterStyle(this.getValues()!==""),this.operator=t||this.defaultOperator,i&&this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:[this.getValues()],shouldTriggerQuery:!0})}filterCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const s=this.columnFilter.collectionFilterBy,n=this.columnFilter.collectionOptions&&this.columnFilter.collectionOptions.filterResultAfterEachPass||null;t=((i=this.collectionService)==null?void 0:i.filterCollection(t,s,n))||[]}return t}sortCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionSortBy){const s=this.columnFilter.collectionSortBy;t=((i=this.collectionService)==null?void 0:i.sortCollection(this.columnDef,t,s,this.enableTranslateLabel))||[]}return t}watchCollectionChanges(){var e;(e=this.columnFilter)!=null&&e.collection&&(this._collectionObservers.push(ci(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])})),hs(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&this._collectionObservers.push(ci(this.columnFilter.collection,i=>{this.renderDomElement(this.columnFilter.collection||i||[])}))}))}renderDomElement(e){var s;if(!Array.isArray(e)&&((s=this.collectionOptions)!=null&&s.collectionInsideObjectProperty)){const n=this.collectionOptions.collectionInsideObjectProperty;e=Ee(e,n||"")}let t=e;t&&(t=this.filterCollection(t),t=this.sortCollection(t));const i=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this._collection=t,this._filterElm=this.createFilterElement(t,i),this._bindEventService.bind(this._filterElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._filterElm,"blur",()=>{this.isItemSelected||this.clear()})}createFilterElement(e,t){var l,a,h,d,c,u,p,m,f,g,_;this._collection=e;const i=((l=this.columnDef)==null?void 0:l.id)??"";ee(this.filterContainerElm);let s=((a=this.gridOptions)==null?void 0:a.defaultFilterPlaceholder)??"";(h=this.columnFilter)!=null&&h.placeholder&&(s=this.columnFilter.placeholder),this._filterElm=v("input",{type:"text",ariaLabel:((d=this.columnFilter)==null?void 0:d.ariaLabel)??`${Ct(i+"")} Search Filter`,autocomplete:"off",ariaAutoComplete:"none",placeholder:s,className:`form-control search-filter slick-filter filter-${i} slick-autocomplete-container`,value:t??"",dataset:{columnid:`${i}`}});const n=t;Array.isArray(e)&&(e.every(C=>$i(C))?e=e.map(C=>({label:C,value:C})):e=e.map(C=>({label:C==null?void 0:C[this.labelName],value:C==null?void 0:C[this.valueName],labelPrefix:(C==null?void 0:C[this.labelPrefixName])??"",labelSuffix:(C==null?void 0:C[this.labelSuffixName])??""}))),this._autocompleterOptions={input:this._filterElm,debounceWaitMs:200,className:`slick-autocomplete ${((c=this.filterOptions)==null?void 0:c.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((u=this.translaterService)!=null&&u.translate)?this.translaterService.translate("NO_ELEMENTS_FOUND"):((p=this._locales)==null?void 0:p.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(C,b,S)=>{S.style.width=""},onSelect:C=>{this.isItemSelected=!0,this.handleSelect(C)},...this.filterOptions},(m=this.gridOptions)!=null&&m.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=he(this.autocompleterOptions.className).join(" "),(f=this._autocompleterOptions.renderItem)!=null&&f.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${fi(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(e)?this._autocompleterOptions.render=((g=this._autocompleterOptions.render)==null?void 0:g.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(_=this.filterOptions)!=null&&_.fetch?(jo(this._filterElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(C,b)=>{e&&b(e.filter(S=>((typeof S=="string"?S:S==null?void 0:S.label)||"").toLowerCase().includes(C.toLowerCase())))}}),this._filterElm.value=n??"";const o=v("div",{className:"autocomplete-filter-container"});return o.appendChild(this._filterElm),o.appendChild(v("span")),t&&this._filterElm.classList.add("filled"),this.filterContainerElm.appendChild(o),this.filterContainerElm.appendChild(document.createElement("span")),this._filterElm}handleSelect(e){var t;if(e!==void 0){const s=((t=this.filterOptions)==null?void 0:t.renderItem)??!1,n=typeof e=="string"?e:s?e[this.labelName]:e.label;let o=typeof e=="string"?e:s?e[this.valueName]:e.value;o=this.trimWhitespaceWhenEnabled(o),this.updateFilterStyle(o!==""),this.setValues(n),this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:[o],shouldTriggerQuery:this._shouldTriggerQuery}),this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}return!1}handleOnInputChange(e){var s;let t=((s=e==null?void 0:e.target)==null?void 0:s.value)??"";const i=this.filterOptions.triggerOnEveryKeyStroke??!1;if(t=this.trimWhitespaceWhenEnabled(t),this._clearFilterTriggered||t===""||i){const n={columnDef:this.columnDef,shouldTriggerQuery:this._shouldTriggerQuery};this._clearFilterTriggered?n.clearFilterTriggered=this._clearFilterTriggered:(n.operator=this.operator,n.searchTerms=[t]),this.updateFilterStyle(t!==""),this.callback(e,n)}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}renderRegularItem(e){const t=typeof e=="string"?e:(e==null?void 0:e.label)??"";return v("div",{textContent:t||""})}renderCustomItem(e){var s,n;const t=((n=(s=this._autocompleterOptions)==null?void 0:s.renderItem)==null?void 0:n.templateCallback(e))??"",i=document.createElement("div");return this.grid.applyHtmlCode(i,t),i}renderCollectionItem(e){var h;const t=((h=this.columnFilter)==null?void 0:h.enableRenderHtml)??!1,i=e.labelPrefix||"",s=e.label||"",n=e.labelSuffix||"",o=i+s+n,l=this.grid.sanitizeHtmlString(o)||"",a=document.createElement("div");return a[t?"innerHTML":"textContent"]=l,a}trimWhitespaceWhenEnabled(e){let t=e;const i=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;return typeof e=="string"&&i&&(t=e.trim()),t}updateFilterStyle(e){this.isItemSelected=e,e?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled")}}/*! name: vanilla-calendar-pro v2.9.10 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */var Ad=Object.defineProperty,Sl=Object.getOwnPropertySymbols,Pd=Object.prototype.hasOwnProperty,kd=Object.prototype.propertyIsEnumerable,ir=(r,e,t)=>e in r?Ad(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,yl=(r,e)=>{for(var t in e||(e={}))Pd.call(e,t)&&ir(r,t,e[t]);if(Sl)for(var t of Sl(e))kd.call(e,t)&&ir(r,t,e[t]);return r},Y=(r,e,t)=>(ir(r,typeof e!="symbol"?e+"":e,t),t);const Fd={calendar:"vanilla-calendar",calendarDefault:"vanilla-calendar_default",calendarMultiple:"vanilla-calendar_multiple",calendarMonth:"vanilla-calendar_month",calendarYear:"vanilla-calendar_year",calendarHidden:"vanilla-calendar_hidden",calendarToInput:"vanilla-calendar_to-input",calendarToInputTop:"vanilla-calendar_to-input_top",calendarToInputBottom:"vanilla-calendar_to-input_bottom",controls:"vanilla-calendar-controls",grid:"vanilla-calendar-grid",gridDisabled:"vanilla-calendar-grid_disabled",column:"vanilla-calendar-column",columnMonth:"vanilla-calendar-column_month",columnYear:"vanilla-calendar-column_year",header:"vanilla-calendar-header",headerContent:"vanilla-calendar-header__content",month:"vanilla-calendar-month",monthDisabled:"vanilla-calendar-month_disabled",year:"vanilla-calendar-year",yearDisabled:"vanilla-calendar-year_disabled",arrow:"vanilla-calendar-arrow",arrowPrev:"vanilla-calendar-arrow_prev",arrowNext:"vanilla-calendar-arrow_next",wrapper:"vanilla-calendar-wrapper",content:"vanilla-calendar-content",week:"vanilla-calendar-week",weekDay:"vanilla-calendar-week__day",weekDayWeekend:"vanilla-calendar-week__day_weekend",days:"vanilla-calendar-days",daysSelecting:"vanilla-calendar-days_selecting",months:"vanilla-calendar-months",monthsSelecting:"vanilla-calendar-months_selecting",monthsMonth:"vanilla-calendar-months__month",monthsMonthSelected:"vanilla-calendar-months__month_selected",monthsMonthDisabled:"vanilla-calendar-months__month_disabled",years:"vanilla-calendar-years",yearsSelecting:"vanilla-calendar-years_selecting",yearsYear:"vanilla-calendar-years__year",yearsYearSelected:"vanilla-calendar-years__year_selected",yearsYearDisabled:"vanilla-calendar-years__year_disabled",time:"vanilla-calendar-time",timeContent:"vanilla-calendar-time__content",timeHours:"vanilla-calendar-time__hours",timeMinutes:"vanilla-calendar-time__minutes",timeKeeping:"vanilla-calendar-time__keeping",timeRanges:"vanilla-calendar-time__ranges",timeRange:"vanilla-calendar-time__range",day:"vanilla-calendar-day",dayHoverFirst:"vanilla-calendar-day_hover-first",dayHoverLast:"vanilla-calendar-day_hover-last",dayHoverIntermediate:"vanilla-calendar-day_hover-intermediate",daySelectedFirst:"vanilla-calendar-day_selected-first",daySelectedLast:"vanilla-calendar-day_selected-last",daySelectedIntermediate:"vanilla-calendar-day_selected-intermediate",dayPopup:"vanilla-calendar-day__popup",dayBtn:"vanilla-calendar-day__btn",dayBtnPrev:"vanilla-calendar-day__btn_prev",dayBtnNext:"vanilla-calendar-day__btn_next",dayBtnToday:"vanilla-calendar-day__btn_today",dayBtnSelected:"vanilla-calendar-day__btn_selected",dayBtnHover:"vanilla-calendar-day__btn_hover",dayBtnDisabled:"vanilla-calendar-day__btn_disabled",dayBtnWeekend:"vanilla-calendar-day__btn_weekend",dayBtnHoliday:"vanilla-calendar-day__btn_holiday",weekNumbers:"vanilla-calendar-week-numbers",weekNumbersTitle:"vanilla-calendar-week-numbers__title",weekNumbersContent:"vanilla-calendar-week-numbers__content",weekNumber:"vanilla-calendar-week-number",isFocus:"vanilla-calendar-is-focus"},Dd=r=>`<div class="${r.controls}"><#ArrowPrev /><#ArrowNext /></div><div class="${r.grid}"><#Multiple><div class="${r.column}"><div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><#WeekNumbers /><div class="${r.content}"><#Week /><#Days /></div></div></div><#/Multiple></div><#ControlTime />`,Md=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,Ld=r=>`<div class="${r.header}"><#ArrowPrev /><div class="${r.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${r.wrapper}"><div class="${r.content}"><#Years /></div></div>`;class Nd{constructor(){var e;Y(this,"isInit",!1),Y(this,"isInputInit",!1),Y(this,"input",!1),Y(this,"type","default"),Y(this,"months",2),Y(this,"jumpMonths",1),Y(this,"jumpToSelectedDate",!1),Y(this,"toggleSelected",!0),Y(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),Y(this,"settings",{lang:"en",iso8601:!0,range:{min:void 0,max:void 0,disablePast:!1,disableGaps:!1,edgesOnly:!1,disableAllDays:!1,disableWeekday:void 0,disabled:void 0,enabled:void 0},selection:{day:"single",month:!0,year:!0,time:!1,controlTime:"all",stepHours:1,stepMinutes:1,cancelableDay:!0},selected:{dates:void 0,month:void 0,year:void 0,holidays:void 0,time:void 0},visibility:{theme:"system",themeDetect:"html[data-theme]",monthShort:!0,weekNumbers:!1,weekend:!0,today:!0,disabled:!1,daysOutside:!0,positionToInput:"left"}}),Y(this,"locale",{months:[],weekday:[]}),Y(this,"sanitizer",t=>t),Y(this,"actions",{clickDay:null,clickWeekNumber:null,clickMonth:null,clickYear:null,clickArrow:null,changeTime:null,changeToInput:null,getDays:null,getMonths:null,getYears:null,initCalendar:null,updateCalendar:null,destroyCalendar:null,showCalendar:null,hideCalendar:null}),Y(this,"popups",{}),Y(this,"CSSClasses",yl({},Fd)),Y(this,"DOMTemplates",{default:(e=this.CSSClasses,`<div class="${e.header}"><#ArrowPrev /><div class="${e.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${e.wrapper}"><#WeekNumbers /><div class="${e.content}"><#Week /><#Days /></div></div><#ControlTime />`),multiple:Dd(this.CSSClasses),month:Md(this.CSSClasses),year:Ld(this.CSSClasses)}),Y(this,"HTMLElement"),Y(this,"HTMLOriginalElement"),Y(this,"HTMLInputElement"),Y(this,"rangeMin"),Y(this,"rangeMax"),Y(this,"rangeDisabled"),Y(this,"rangeEnabled"),Y(this,"selectedDates"),Y(this,"selectedHolidays"),Y(this,"selectedMonth"),Y(this,"selectedYear"),Y(this,"selectedHours"),Y(this,"selectedMinutes"),Y(this,"selectedKeeping"),Y(this,"selectedTime"),Y(this,"currentType"),Y(this,"correctMonths"),Y(this,"viewYear"),Y(this,"dateMin"),Y(this,"dateMax")}}const Et=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,me=r=>new Date(`${r}T00:00:00`),wi=r=>r.reduce((e,t)=>{if(t instanceof Date||typeof t=="number"){const i=t instanceof Date?t:new Date(t);e.push(i.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(i,s,n)=>{const o=me(s),l=me(n),a=new Date(o.getTime());for(;a<=l;a.setDate(a.getDate()+1))e.push(Et(a));return i});return e},[]),Ms=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},is=r=>r?{0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(r)]||String(r):"",Ti={notFoundSelector:r=>`${r} is not found, check the first argument passed to new VanillaCalendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:'You specified "define" for "settings.lang" but did not provide the required values for "locale.weekday" or "locale.months".',incorrectTheme:'Incorrect name of theme in "settings.visibility.theme".',incorrectTime:"The value of the time property can be: false, true, 12 or 24."},Hd=r=>{var e;if(r.jumpToSelectedDate&&((e=r.settings.selected.dates)!=null&&e.length)&&r.settings.selected.month===void 0&&r.settings.selected.year===void 0){const s=me(wi(r.settings.selected.dates)[0]);r.settings.selected.month=s.getMonth(),r.settings.selected.year=s.getFullYear()}const t=r.settings.selected.month!==void 0&&Number(r.settings.selected.month)>=0&&Number(r.settings.selected.month)<12,i=r.settings.selected.year!==void 0&&Number(r.settings.selected.year)>=0&&Number(r.settings.selected.year)<=9999;r.selectedMonth=t?Number(r.settings.selected.month):r.date.today.getMonth(),r.selectedYear=i?Number(r.settings.selected.year):r.date.today.getFullYear(),r.viewYear=r.selectedYear},Vd=r=>{var e,t,i;r.date.min==="today"&&(r.date.min=Ms()),r.date.max==="today"&&(r.date.max=Ms()),r.settings.range.min==="today"&&(r.settings.range.min=Ms()),r.settings.range.max==="today"&&(r.settings.range.max=Ms()),r.settings.range.min=r.settings.range.min?me(r.date.min)>=me(r.settings.range.min)?r.date.min:r.settings.range.min:r.date.min,r.settings.range.max=r.settings.range.max?me(r.date.max)<=me(r.settings.range.max)?r.date.max:r.settings.range.max:r.date.max;const s=r.settings.range.disablePast&&!r.settings.range.disableAllDays&&me(r.settings.range.min)<r.date.today;r.rangeMin=s||r.settings.range.disableAllDays?Et(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?Et(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?wi(r.settings.range.disabled):r.settings.range.disableAllDays?[r.rangeMin]:[],r.rangeDisabled.length>1&&r.rangeDisabled.sort((n,o)=>+new Date(n)-+new Date(o)),r.rangeEnabled=r.settings.range.enabled?wi(r.settings.range.enabled):[],(e=r.rangeEnabled)!=null&&e[0]&&((t=r.rangeDisabled)!=null&&t[0])&&(r.rangeDisabled=r.rangeDisabled.filter(n=>!r.rangeEnabled.includes(n))),r.rangeEnabled.length>1&&r.rangeEnabled.sort((n,o)=>+new Date(n)-+new Date(o)),(i=r.rangeEnabled)!=null&&i[0]&&r.settings.range.disableAllDays&&(r.rangeMin=r.rangeEnabled[0],r.rangeMax=r.rangeEnabled[r.rangeEnabled.length-1])},Bd=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?wi(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?wi(r.settings.selected.holidays):[]},zd=r=>{r.dateMin=r.settings.visibility.disabled?me(r.date.min):me(r.rangeMin),r.dateMax=r.settings.visibility.disabled?me(r.date.max):me(r.rangeMax)},$d=r=>{const e=r.settings.selection.time===!0||r.settings.selection.time===12;if(e||r.settings.selection.time===24){let t=!1;if(typeof r.settings.selected.time=="string"){const i=e?/^([0-9]|0[1-9]|1[0-2]):([0-5][0-9])|(AM|PM)/g:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])/g;r.settings.selected.time.replace(i,(s,n,o,l)=>(n&&o&&(t=!0,r.selectedHours=n,r.selectedMinutes=o),l&&e?r.selectedKeeping=l:e&&(r.selectedKeeping="AM"),""))}!t&&e?(r.selectedHours=is(String(r.date.today.getHours())),r.selectedMinutes=String(r.date.today.getMinutes()),r.selectedKeeping=Number(r.date.today.getHours())>=12?"PM":"AM"):t||(r.selectedHours=String(r.date.today.getHours()),r.selectedMinutes=String(r.date.today.getMinutes())),r.selectedHours=Number(r.selectedHours)<10?`0${Number(r.selectedHours)}`:`${r.selectedHours}`,r.selectedMinutes=Number(r.selectedMinutes)<10?`0${Number(r.selectedMinutes)}`:`${r.selectedMinutes}`,r.selectedTime=`${r.selectedHours}:${r.selectedMinutes}${r.selectedKeeping?` ${r.selectedKeeping}`:""}`}else if(r.settings.selection.time)throw new Error(Ti.incorrectTime)},Wd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},El=r=>{r.currentType=r.type,Hd(r),Vd(r),Bd(r),zd(r),$d(r),Wd(r)},wl=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},sr=r=>{var e,t;if(r.currentType==="month")return;const i=(e=r.HTMLElement)==null?void 0:e.querySelector(`.${r.CSSClasses.arrowPrev}`),s=(t=r.HTMLElement)==null?void 0:t.querySelector(`.${r.CSSClasses.arrowNext}`);!i||!s||{default:()=>{const n=me(Et(new Date(r.selectedYear,r.selectedMonth,1))),o=new Date(n.getTime()),l=new Date(n.getTime());o.setMonth(o.getMonth()-r.jumpMonths),l.setMonth(l.getMonth()+r.jumpMonths),r.settings.selection.year||(r.dateMin.setFullYear(n.getFullYear()),r.dateMax.setFullYear(n.getFullYear()));const a=!r.settings.selection.month||o.getFullYear()<r.dateMin.getFullYear()||o.getFullYear()===r.dateMin.getFullYear()&&o.getMonth()<r.dateMin.getMonth(),h=!r.settings.selection.month||l.getFullYear()>r.dateMax.getFullYear()||l.getFullYear()===r.dateMax.getFullYear()&&l.getMonth()>r.dateMax.getMonth();wl({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{wl({arrowPrev:i,arrowNext:s,isPrevHidden:r.dateMin.getFullYear()&&r.viewYear-7<=r.dateMin.getFullYear(),isNextHidden:r.dateMax.getFullYear()&&r.viewYear+7>=r.dateMax.getFullYear()})}}[r.currentType==="multiple"?"default":r.currentType]()},Tl=(r,e)=>{if(!r)return null;const t=me(r),i=e?t.getDay()||7:t.getDay();t.setDate(t.getDate()+4-i);const s=new Date(t.getFullYear(),0,1),n=Math.ceil(((+t-+s)/864e5+1)/7);return{year:t.getFullYear(),week:n}};function nr(r){if(!r||!r.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const e=r.getBoundingClientRect(),t=document.documentElement;return{bottom:e.bottom,right:e.right,top:e.top+window.scrollY-t.clientTop,left:e.left+window.scrollX-t.clientLeft}}function Gd(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function rr(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function Ud(r){const{top:e,left:t}=Gd(),{top:i,left:s}=nr(r),{vh:n,vw:o}=rr(),l=i-e,a=s-t;return{top:l,bottom:n-(l+r.clientHeight),left:a,right:o-(a+r.clientWidth)}}function Ol(r,e,t=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!e||!r)return{canShow:i,parentPositions:s};const{bottom:n,top:o}=Ud(r),{top:l,left:a}=nr(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=rr(),p=u/2,m=c/2;return[{condition:l<m,position:"top"},{condition:l>m,position:"bottom"},{condition:a<p,position:"left"},{condition:a>p,position:"right"}].forEach(({condition:f,position:g})=>{f&&s.push(g)}),Object.assign(i,{top:h<=o-t,bottom:h<=n-t,left:d<=a,right:d<=u-a}),{canShow:i,parentPositions:s}}function jd(r,e){const t="left";if(!e||!r)return t;const{canShow:i,parentPositions:s}=Ol(r,e),n=i.left&&i.right;return(n&&i.bottom?"center":n&&i.top?["top","center"]:Array.isArray(s)?[s[0]==="bottom"?"top":"bottom",...s.slice(1)]:s)||t}const or=(r,e,t,i)=>{if(r){const s=t==="auto"?jd(r,e):t,n={top:-e.offsetHeight,bottom:r.offsetHeight,left:0,center:r.offsetWidth/2-e.offsetWidth/2,right:r.offsetWidth-e.offsetWidth},o=Array.isArray(s)?s[0]:"bottom",l=Array.isArray(s)?s[1]:s;o==="bottom"?(e.classList.remove(i.calendarToInputTop),e.classList.add(i.calendarToInputBottom)):(e.classList.remove(i.calendarToInputBottom),e.classList.add(i.calendarToInputTop));const{top:a,left:h}=nr(r),d=a+n[o];let c=h+n[l];const{vw:u}=rr();if(c+e.clientWidth>u){const p=window.innerWidth-document.body.clientWidth;c=u-e.clientWidth-p}else c<0&&(c=0);Object.assign(e.style,{left:`${c}px`,top:`${d}px`})}},Yd=(r,e,t,i)=>{const s=r.CSSClasses.dayPopup,n=i.querySelector(`[data-calendar-day="${e}"]`);if(n&&(t!=null&&t.modifier&&n.classList.add(...t.modifier.trim().split(" ")),t==null?void 0:t.html)){const o=n.parentElement,l=document.createElement("div");l.className=s,l.innerHTML=r.sanitizer(t.html),o.appendChild(l),setTimeout(()=>{if(l){const{canShow:a}=Ol(o,l),h=5;let d=o.offsetHeight,c=0;a.bottom||(d=-l.offsetHeight-h),a.left&&!a.right&&(c=o.offsetWidth-l.offsetWidth/2),!a.left&&a.right&&(c=l.offsetWidth/2),Object.assign(l.style,{left:`${c}px`,top:`${d}px`})}})}},qd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>Yd(r,i,s,e)))},Kd=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Tl(n==null?void 0:n.dataset.calendarDay,r.settings.iso8601);if(!o)return;const l=i.cloneNode(!0);l.innerText=String(o.week),l.dataset.calendarYearWeek=String(o.year),s.appendChild(l)},Xd=(r,e,t,i,s)=>{if(!r.settings.visibility.weekNumbers)return;i.textContent="";const n=document.createElement("b");n.className=r.CSSClasses.weekNumbersTitle,n.innerText="#",i.appendChild(n);const o=document.createElement("div");o.className=r.CSSClasses.weekNumbersContent,i.appendChild(o);const l=document.createElement("button");l.type="button",l.className=r.CSSClasses.weekNumber;const a=s.querySelectorAll(`.${r.CSSClasses.day}`),h=Math.ceil((e+t)/7);for(let d=0;d<h;d++)Kd(r,a,d===0?6:7*d,l,o)},Qd=(r,e,t)=>{var i,s,n,o,l;const a=(i=r.settings.range.disableWeekday)==null?void 0:i.includes(t),h=r.settings.range.disableAllDays&&!!((s=r.rangeEnabled)!=null&&s[0]);!a&&!h||(n=r.rangeEnabled)!=null&&n.includes(e)||(o=r.rangeDisabled)!=null&&o.includes(e)||(r.rangeDisabled.push(e),(l=r.rangeDisabled)==null||l.sort((d,c)=>+new Date(d)-+new Date(c)))},Zd=(r,e,t,i,s,n,o)=>{var l,a,h;if((me(r.rangeMin)>me(n)||me(r.rangeMax)<me(n)||(l=r.rangeDisabled)!=null&&l.includes(n)||!r.settings.selection.month&&o||!r.settings.selection.year&&me(n).getFullYear()!==e)&&(i.classList.add(r.CSSClasses.dayBtnDisabled),i.tabIndex=-1),r.settings.visibility.today&&Et(r.date.today)===n&&i.classList.add(r.CSSClasses.dayBtnToday),!r.settings.visibility.weekend||s!==0&&s!==6||i.classList.add(r.CSSClasses.dayBtnWeekend),(a=r.selectedHolidays)!=null&&a.includes(n)&&i.classList.add(r.CSSClasses.dayBtnHoliday),(h=r.selectedDates)!=null&&h.includes(n)&&(i.classList.add(r.CSSClasses.dayBtnSelected),r.selectedDates.length>1&&r.settings.selection.day==="multiple-ranged"&&(r.selectedDates[0]===n&&t.classList.add(r.CSSClasses.daySelectedFirst),r.selectedDates[r.selectedDates.length-1]===n&&t.classList.add(r.CSSClasses.daySelectedLast),r.selectedDates[0]!==n&&r.selectedDates[r.selectedDates.length-1]!==n&&t.classList.add(r.CSSClasses.daySelectedIntermediate))),r.settings.range.edgesOnly&&r.selectedDates.length>1&&r.settings.selection.day==="multiple-ranged"){const d=+new Date(r.selectedDates[0]),c=+new Date(r.selectedDates[r.selectedDates.length-1]),u=+new Date(n);u>d&&u<c&&(i.classList.add(r.CSSClasses.dayBtnSelected),t.classList.add(r.CSSClasses.daySelectedIntermediate))}},lr=(r,e,t,i,s,n,o,l)=>{const a=document.createElement("div");a.className=r.CSSClasses.day;const h=document.createElement("button");h.className=`${r.CSSClasses.dayBtn}${l?` ${l}`:""}`,h.type="button",h.innerText=String(i),h.dataset.calendarDay=n,r.settings.visibility.weekNumbers&&(()=>{const d=Tl(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),Qd(r,n,s),Zd(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Jd=(r,e,t,i,s)=>{let n=new Date(t,i,0).getDate()-(s-1);const o=i===0?t-1:t,l=i===0?12:i<10?`0${i}`:i;for(let a=s;a>0;a--,n++){const h=`${o}-${l}-${n}`,d=me(h).getDay();lr(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},ec=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=Et(o),a=o.getDay();lr(r,i,e,n,a,l,!1,null)}},tc=(r,e,t,i,s,n)=>{const o=n+t,l=7*Math.ceil(o/7)-o,a=s+1===12?i+1:i,h=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let d=1;d<=l;d++){const c=`${a}-${h}-${d<10?`0${d}`:String(d)}`,u=me(c).getDay();lr(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},Ls=r=>{const e=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.days}`),t=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.weekNumbers}`),i=new Date(r.selectedYear,r.selectedMonth,1);e.forEach((s,n)=>{const o=new Date(i);o.setMonth(o.getMonth()+n);const l=o.getMonth(),a=o.getFullYear(),h=new Date(a,l,1),d=new Date(a,l+1,0).getDate(),c=r.settings.iso8601?(h.getDay()!==0?h.getDay():7)-1:h.getDay();r.settings.selection.day&&s.classList.add(r.CSSClasses.daysSelecting),s.textContent="",Jd(r,s,a,l,c),ec(r,s,d,a,l),tc(r,s,d,a,l,c),Xd(r,c,d,t[n],s),qd(r,s)})},ic=(r,e,t,i)=>{const s=new Date(i.setMonth(r.selectedMonth+t)).getMonth(),n=r.settings.selection.month===!1||r.settings.selection.month==="only-arrows";e.tabIndex=n?-1:0,e.classList.toggle(r.CSSClasses.monthDisabled,n),e.setAttribute("data-calendar-selected-month",String(s)),e.innerText=r.locale.months[s]},sc=(r,e,t,i)=>{const s=new Date(i.setFullYear(r.selectedYear,r.selectedMonth+t)).getFullYear(),n=r.settings.selection.year===!1||r.settings.selection.year==="only-arrows";e.tabIndex=n?-1:0,e.classList.toggle(r.CSSClasses.yearDisabled,n),e.setAttribute("data-calendar-selected-year",String(s)),e.innerText=String(s)},Ns=r=>{var e,t;const i=(e=r.HTMLElement)==null?void 0:e.querySelectorAll("[data-calendar-selected-month]"),s=(t=r.HTMLElement)==null?void 0:t.querySelectorAll("[data-calendar-selected-year]");if(!(i!=null&&i[0])&&(s!=null&&s[0]))return;const n=new Date(r.selectedYear,r.selectedMonth,1);i==null||i.forEach((o,l)=>ic(r,o,l,n)),s==null||s.forEach((o,l)=>sc(r,o,l,n))},ar=(r,e)=>{const t=me(Et(new Date(r.selectedYear,r.selectedMonth,1)));({prev:()=>t.setMonth(t.getMonth()-r.jumpMonths),next:()=>t.setMonth(t.getMonth()+r.jumpMonths)})[e](),[r.selectedMonth,r.selectedYear]=[t.getMonth(),t.getFullYear()],Ns(r),sr(r),Ls(r)},nc=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,rc=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,oc=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,lc=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,ac=r=>`<div class="${r.CSSClasses.week}"></div>`,hc=r=>`<div class="${r.CSSClasses.days}"></div>`,dc=r=>`<div class="${r.CSSClasses.months}"></div>`,cc=r=>`<div class="${r.CSSClasses.years}"></div>`,uc=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",pc=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",mc=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:rc,ArrowPrev:nc,ControlTime:pc,Days:hc,Month:oc,Months:dc,Week:ac,WeekNumbers:uc,Year:lc,Years:cc},Symbol.toStringTag,{value:"Module"})),ss=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=(n=i.replace(/[/\s\n\t]/g,""),mc[n]);var n;const o=s?s(r):"";return r.sanitizer(o)}).replace(/[\n\t]/g,""),fc=(r,e)=>e.replace(/<#Multiple>(.*?)<#\/Multiple>/g,(t,i)=>{let s="";for(let n=0;n<r.correctMonths;n++)s+=i;return r.sanitizer(s)}).replace(/[\n\t]/g,""),hr=(r,e)=>{const{HTMLElement:t,CSSClasses:i,DOMTemplates:s,type:n,currentType:o,correctMonths:l}=r,a=(d,c)=>{if(!e)return;const u=t.querySelector(`.${i.controls}`);u&&t.removeChild(u),t.querySelector(`.${i.grid}`).classList.add(i.gridDisabled);const p=e.closest(`.${i.column}`);p.classList.add(d),p.innerHTML=ss(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=ss(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=fc(r,ss(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=ss(r,s.month)):a(i.columnMonth,s.month)},year:()=>{n!=="multiple"?(t.classList.add(i.calendarYear),t.classList.remove(i.calendarDefault,i.calendarMonth),t.innerHTML=ss(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},gc=(r,e,t,i,s)=>{const n=e.cloneNode(!1);return n.className=`${r.CSSClasses.yearsYear}${t===s?` ${r.CSSClasses.yearsYearSelected}`:i?` ${r.CSSClasses.yearsYearDisabled}`:""}`,n.dataset.calendarYear=String(s),n.title=String(s),n.innerText=String(s),i&&(n.tabIndex=-1),n},dr=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",hr(r,e),Ns(r),sr(r);const i=r.HTMLElement.querySelector(`.${r.CSSClasses.years}`);if(!r.settings.selection.year||!i)return;i.classList.add(r.CSSClasses.yearsSelecting);const s=r.type!=="multiple"||r.selectedYear===t?0:1,n=document.createElement("button");n.type="button";for(let o=r.viewYear-7;o<r.viewYear+8;o++){const l=o<r.dateMin.getFullYear()+s||o>r.dateMax.getFullYear(),a=gc(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},_c=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?ar(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],dr(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},Cc=(r,e)=>{var t;if(!r.settings.visibility.weekNumbers||!r.actions.clickWeekNumber)return;const i=e.target.closest(`.${r.CSSClasses.weekNumber}`),s=(t=r.HTMLElement)==null?void 0:t.querySelectorAll("[data-calendar-week-number]");if(!i||!s)return;const n=Number(i.innerText),o=Number(i.dataset.calendarYearWeek),l=Array.from(s).filter(a=>Number(a.dataset.calendarWeekNumber)===n);r.actions.clickWeekNumber(e,n,l,o,r)},xl=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),vc=(r,e)=>{const t=new Date(`1978-01-0${e+1}T00:00:00.000Z`).toLocaleString(r.settings.lang,{weekday:"short",timeZone:"UTC"});r.locale.weekday.push(xl(t))},bc=(r,e)=>{const t=new Date(`1978-${e+1<=9?`0${e+1}`:e+1}-01T00:00:00.000Z`).toLocaleString(r.settings.lang,{month:"long",timeZone:"UTC"});r.locale.months.push(xl(t))},Sc=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(Ti.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)vc(r,e);for(let e=0;e<12;e++)bc(r,e)}},Il=r=>{if(r.type!=="multiple")return 0;const e=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.column}`),t=Array.from(e).findIndex(i=>i.classList.contains(`${r.CSSClasses.columnMonth}`));return t>0?t:0},yc=(r,e,t,i,s,n)=>{const o=e.cloneNode(!1);return o.className=`${r.CSSClasses.monthsMonth}${t===n?` ${r.CSSClasses.monthsMonthSelected}`:s?` ${r.CSSClasses.monthsMonthDisabled}`:""}`,o.title=i,o.innerText=`${r.settings.visibility.monthShort?i.substring(0,3):i}`,o.dataset.calendarMonth=String(n),s&&(o.tabIndex=-1),o},Rl=(r,e)=>{var t,i;const s=e!=null&&e.dataset.calendarSelectedMonth?Number(e.dataset.calendarSelectedMonth):r.selectedMonth,n=(t=e==null?void 0:e.closest(`.${r.CSSClasses.column}`))==null?void 0:t.querySelector(`.${r.CSSClasses.year}`),o=n?Number(n.dataset.calendarSelectedYear):r.selectedYear;r.currentType="month",hr(r,e),Ns(r);const l=(i=r.HTMLElement)==null?void 0:i.querySelector(`.${r.CSSClasses.months}`);if(!r.settings.selection.month||!l)return;l.classList.add(r.CSSClasses.monthsSelecting);const a=r.jumpMonths>1?r.locale.months.map((d,c)=>s-r.jumpMonths*c).concat(r.locale.months.map((d,c)=>s+r.jumpMonths*c)).filter(d=>d>=0&&d<=12):Array.from(Array(12).keys()),h=document.createElement("button");h.type="button";for(let d=0;d<12;d++){const c=r.locale.months[d],u=d<r.dateMin.getMonth()+Il(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+Il(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=yc(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},cr=(r,e)=>r&&e?{0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"12",PM:"12"}}[Number(r)][e]:"",Hs=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),Al=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},oi=(r,e,t,i)=>{({hours:()=>{r.selectedHours=t},minutes:()=>{r.selectedMinutes=t}})[i](),r.selectedTime=`${r.selectedHours}:${r.selectedMinutes}${r.selectedKeeping?` ${r.selectedKeeping}`:""}`,r.actions.changeTime&&r.actions.changeTime(e,r),r.input&&r.HTMLInputElement&&r.actions.changeToInput&&r.actions.changeToInput(e,r)},Pl=(r,e,t,i,s,n)=>{e.addEventListener("input",o=>{const l=o.target,a=Number(l.value),h=a<10?`0${a}`:`${a}`;if(s!=="hours"||n!==12)return t.value=h,void oi(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,oi(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=is(l.value),oi(r,o,is(l.value),s))})},kl=(r,e,t,i,s,n)=>{t.addEventListener("change",o=>{const l=o.target,a=Number(l.value),h=a<10?`0${a}`:`${a}`;s==="hours"&&n===12?l.value&&a<=n&&a>0?(l.value=h,e.value=cr(h,r.selectedKeeping),oi(r,o,h,s)):l.value&&a<24&&(a>n||a===0)?(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),l.value=is(l.value),e.value=h,oi(r,o,is(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,oi(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Ec=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=cr(r.selectedHours,r.selectedKeeping),oi(r,i,r.selectedHours,"hours")})},wc=(r,e,t)=>{const i=t===24?23:t||12,s=Hs(e,r.CSSClasses.timeRange,"hours"),n=Hs(e,r.CSSClasses.timeRange,"minutes"),o=Hs(e,r.CSSClasses.timeHours,"hours"),l=Hs(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);Al(s,o,r.CSSClasses.isFocus),Al(n,l,r.CSSClasses.isFocus),Pl(r,s,o,a,"hours",i),Pl(r,n,l,a,"minutes",0),kl(r,s,o,a,"hours",i),kl(r,n,l,a,"minutes",59),a&&Ec(r,a,s)},Fl=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,Dl=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Tc=r=>{const e=r.HTMLElement.querySelector(`.${r.CSSClasses.time}`);if(!e)return;const t=r.settings.selection.time===!0?12:r.settings.selection.time,i=r.settings.selection.controlTime==="range",[s,n]=[0,23],[o,l]=[0,59];e.innerHTML=r.sanitizer(`<div class="${r.CSSClasses.timeContent}">${Fl("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${Fl("minutes",r.CSSClasses.timeMinutes,r.selectedMinutes,i)}${t===12?`<button type="button" class="${r.CSSClasses.timeKeeping}"${i?"disabled":""}>${r.selectedKeeping}</button>`:""}</div><div class="${r.CSSClasses.timeRanges}">${Dl("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?cr(r.selectedHours,r.selectedKeeping):r.selectedHours)}${Dl("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),wc(r,e,t)},Oc=(r,e,t)=>{const i=document.createElement("b");e.textContent="";for(let s=0;s<t.length;s++){const n=t[s],o=i.cloneNode(!0);o.className=`${r.CSSClasses.weekDay}`,o.className=`${r.CSSClasses.weekDay}${r.settings.visibility.weekend&&r.settings.iso8601?s===5||s===6?` ${r.CSSClasses.weekDayWeekend}`:"":r.settings.visibility.weekend&&!r.settings.iso8601&&(s===0||s===6)?` ${r.CSSClasses.weekDayWeekend}`:""}`,o.innerText=`${n}`,e.appendChild(o)}},Ml=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>Oc(r,t,e)))},Ll=["light","dark","system"],Vs={value:!1,set:()=>{Vs.value=!0},check:()=>Vs.value},Nl=(r,e)=>Ll.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),li=(r,e)=>{r.dataset.calendarTheme=e},Hl=(r,e)=>{var t;if(t=e,li(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||Vs.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>li(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),Vs.set()},xc=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=Nl(e,t);n&&li(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Ic=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void Hl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=Nl(t,i);s?(li(r.HTMLElement,s),xc(r,t,i)):Hl(r,e)},Rc=r=>{if(!Ll.includes(r.settings.visibility.theme))throw new Error(Ti.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void li(r.HTMLElement,"light");({light:()=>li(r.HTMLElement,"light"),dark:()=>li(r.HTMLElement,"dark"),system:()=>Ic(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},ns=r=>{const e={default:()=>{Ml(r),Ls(r)},multiple:()=>{Ml(r),Ls(r)},month:()=>Rl(r),year:()=>dr(r)};Rc(r),Sc(r),hr(r),Ns(r),sr(r),Tc(r),e[r.currentType]()},Z={self:null,rangeMin:void 0,rangeMax:void 0},Vl=()=>{var r;if(!((r=Z.self)!=null&&r.HTMLElement))return;const{CSSClasses:e}=Z.self;Z.self.HTMLElement.querySelectorAll(`.${Z.self.CSSClasses.dayBtnHover}`).forEach(t=>{var i;t.classList.remove(Z.self.CSSClasses.dayBtnHover),(i=t.parentElement)==null||i.classList.remove(e.dayHoverIntermediate,e.dayHoverFirst,e.dayHoverLast)})},Ac=(r,e,t)=>{var i,s,n;if(!((i=Z.self)!=null&&i.selectedDates))return;const o=Et(r),{CSSClasses:l}=Z.self;if((s=Z.self.rangeDisabled)!=null&&s.includes(o))return;const a=(n=Z.self.HTMLElement)==null?void 0:n.querySelectorAll(`[data-calendar-day="${o}"]`);a==null||a.forEach(h=>{var d;h.classList.add(l.dayBtnHover),(d=h.parentElement)==null||d.classList.add(l.dayHoverIntermediate)}),e==null||e.forEach(h=>{var d;return(d=h.parentElement)==null?void 0:d.classList.add(l.dayHoverFirst)}),t==null||t.forEach(h=>{var d;return(d=h.parentElement)==null?void 0:d.classList.add(l.dayHoverLast)})},ur=r=>{var e;if(!r.target||!((e=Z.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Z.self.CSSClasses.days}`))return void Vl();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=me(Z.self.selectedDates[0]),n=me(i),o=Z.self.HTMLElement.querySelectorAll(`[data-calendar-day="${Z.self.selectedDates[0]}"]`),l=Z.self.HTMLElement.querySelectorAll(`[data-calendar-day="${i}"]`),[a,h]=s<n?[o,l]:[l,o],[d,c]=s<n?[s,n]:[n,s];Vl();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))Ac(u,a,h)},pr=r=>{Z.self&&r.key==="Escape"&&(Z.self.selectedDates=[],Z.self.HTMLElement.removeEventListener("mousemove",ur),document.removeEventListener("keydown",pr),ns(Z.self))},Pc=()=>{var r,e,t;if(!((e=(r=Z.self)==null?void 0:r.selectedDates)!=null&&e[0])||!((t=Z.self.rangeDisabled)!=null&&t[0]))return;const i=me(Z.self.selectedDates[0]),[s,n]=Z.self.rangeDisabled.map(o=>me(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Z.self.rangeMin=Et(new Date(s.setDate(s.getDate()+1)))),n&&(Z.self.rangeMax=Et(new Date(n.setDate(n.getDate()-1))))},Bl=(r,e)=>{var t;if(e){const i=r.selectedDates.length===1&&r.selectedDates[0].includes(e);r.selectedDates=i&&!r.settings.selection.cancelableDay?[e,e]:i&&r.settings.selection.cancelableDay?[]:r.selectedDates.length>1?[e]:[...r.selectedDates,e],(t=r.selectedDates)==null||t.sort((s,n)=>+new Date(s)-+new Date(n))}r.settings.range.disableGaps&&(Z.rangeMin=Z.rangeMin?Z.rangeMin:r.rangeMin,Z.rangeMax=Z.rangeMax?Z.rangeMax:r.rangeMax),Z.self=r,{set:()=>{r.HTMLElement.addEventListener("mousemove",ur),document.addEventListener("keydown",pr),r.settings.range.disableGaps&&Pc()},reset:()=>{const[i,s]=[r.selectedDates[0],r.selectedDates[r.selectedDates.length-1]];r.selectedDates=r.selectedDates[0]!==r.selectedDates[r.selectedDates.length-1]?r.settings.range.edgesOnly?[i,s]:wi([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",ur),document.removeEventListener("keydown",pr),r.settings.range.disableGaps&&Z.self&&(Z.self.rangeMin=Z.rangeMin,Z.self.rangeMax=Z.rangeMax)}}[r.selectedDates.length===1?"set":"reset"]()},zl=(r,e,t)=>{if(!e.dataset.calendarDay)return;const i=e.dataset.calendarDay,s=e.classList.contains(r.CSSClasses.dayBtnSelected);if(s&&!r.settings.selection.cancelableDay)return;let n=!0;r.toggleSelected!==void 0&&(n=typeof r.toggleSelected=="function"?r.toggleSelected(r):r.toggleSelected),s&&!n||(r.selectedDates=s?r.selectedDates.filter(o=>o!==i):t?[...r.selectedDates,i]:[i])},kc=(r,e)=>{var t;const i=e.target,s=a=>i.closest(`.${a}`),n=s(r.CSSClasses.dayBtn);if(!r.settings.selection.day||!["single","multiple","multiple-ranged"].includes(r.settings.selection.day)||!n)return;({single:()=>zl(r,n,!1),multiple:()=>zl(r,n,!0),"multiple-ranged":()=>Bl(r,n.dataset.calendarDay)})[r.settings.selection.day](),(t=r.selectedDates)==null||t.sort((a,h)=>+new Date(a)-+new Date(h)),r.actions.clickDay&&r.actions.clickDay(e,r),r.input&&r.HTMLInputElement&&r.HTMLElement&&r.actions.changeToInput&&r.actions.changeToInput(e,r);const o=s(r.CSSClasses.dayBtnPrev),l=s(r.CSSClasses.dayBtnNext);({prev:()=>ar(r,"prev"),next:()=>ar(r,"next"),default:()=>Ls(r)})[o?"prev":l?"next":"default"]()},$l=(r,e,t,i,s)=>{const n=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.column}`),o=Array.from(n).findIndex(a=>a.classList.contains(e)),l=Number(n[o].querySelector(`.${t}`).getAttribute(s));return r.currentType==="month"&&o>=0?i-o:r.currentType==="year"&&r.selectedYear!==l?i-1:i},Fc=(r,e,t,i,s)=>{const n={year:()=>{var o,l;return(l=(o=r.actions).clickYear)==null?void 0:l.call(o,e,r)},month:()=>{var o,l;return(l=(o=r.actions).clickMonth)==null?void 0:l.call(o,e,r)}};({year:()=>{if(r.type==="multiple"){const o=$l(r,r.CSSClasses.columnYear,r.CSSClasses.year,Number(s.dataset.calendarYear),"data-calendar-selected-year"),l=r.selectedMonth<r.dateMin.getMonth()&&o<=r.dateMin.getFullYear(),a=r.selectedMonth>r.dateMax.getMonth()&&o>=r.dateMax.getFullYear(),h=o<r.dateMin.getFullYear(),d=o>r.dateMax.getFullYear();l||h?(r.selectedYear=r.dateMin.getFullYear(),r.selectedMonth=r.dateMin.getMonth()):a||d?(r.selectedYear=r.dateMax.getFullYear(),r.selectedMonth=r.dateMax.getMonth()):r.selectedYear=o}else r.selectedYear=Number(s.dataset.calendarYear)},month:()=>{if(r.type==="multiple"){const o=$l(r,r.CSSClasses.columnMonth,r.CSSClasses.month,Number(s.dataset.calendarMonth),"data-calendar-selected-month"),l=s.closest(`.${i.column}`).querySelector(`.${r.CSSClasses.year}`);r.selectedYear=Number(l.dataset.calendarSelectedYear);const a=o<r.dateMin.getMonth()&&r.selectedYear<=r.dateMin.getFullYear(),h=o>r.dateMax.getMonth()&&r.selectedYear>=r.dateMax.getFullYear();r.selectedMonth=a?r.dateMin.getMonth():h?r.dateMax.getMonth():o}else r.selectedMonth=Number(s.dataset.calendarMonth)}})[t](),n[t](),r.currentType=r.type,ns(r)},Wl=(r,e,t,i)=>{if(!r.settings.selection[t])return;const s=e.target,n=d=>s.closest(`.${d}`),o=n(i.header),l=n(i.item),a=n(r.CSSClasses.grid),h=n(r.CSSClasses.column);r.currentType!==t&&o?{year:()=>dr(r,s),month:()=>Rl(r,s)}[t]():l?Fc(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,ns(r))},Gl=r=>{const e=t=>{_c(r,t),Cc(r,t),kc(r,t),Wl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),Wl(r,t,"year",{header:r.CSSClasses.year,item:r.CSSClasses.yearsYear,column:r.CSSClasses.columnYear})};return r.HTMLElement.addEventListener("click",e),()=>r.HTMLElement.removeEventListener("click",e)},Ul=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=yl({},r.settings.selected);r.settings.selected.year=e?l.year:r.selectedYear,r.settings.selected.month=t?l.month:r.selectedMonth,r.settings.selected.holidays=s?l.holidays:r.selectedHolidays,r.settings.selected.time=n?l.time:r.selectedTime,r.settings.selected.dates=i==="only-first"&&((o=r.selectedDates)!=null&&o[0])?[r.selectedDates[0]]:i===!0?l.dates:r.selectedDates,El(r),ns(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&Bl(r)},jl=(r,e=!0)=>{r.isInputInit=!0;const t=document.createElement("div");return t.className=`${r.CSSClasses.calendar} ${r.CSSClasses.calendarToInput} ${r.CSSClasses.calendarHidden}`,r.HTMLElement=t,document.body.appendChild(r.HTMLElement),r.HTMLElement.style.visibility="hidden",e&&queueMicrotask(()=>{or(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),Ul(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),Gl(r)},Dc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>or(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),i=o=>{o.key==="Escape"&&(r!=null&&r.HTMLInputElement&&(r!=null&&r.HTMLElement)&&r.hide(),document.removeEventListener("keydown",i))},s=o=>{var l;r&&o.target!==r.HTMLInputElement&&!((l=r.HTMLElement)!=null&&l.contains(o.target))&&(r.HTMLInputElement&&r.HTMLElement&&r.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",s,{capture:!0}))},n=()=>{r.isInputInit?(or(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(jl(r)),window.addEventListener("resize",t),document.addEventListener("click",s,{capture:!0}),document.addEventListener("keydown",i)};return r.HTMLInputElement.addEventListener("click",n),r.HTMLInputElement.addEventListener("focus",n),()=>{e.forEach(o=>o())}},Mc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(Ti.notInit);r.input&&!r.isInputInit&&jl(r,!1),Ul(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},Lc=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(Ti.notInit);r.input?((t=(e=r.HTMLElement)==null?void 0:e.parentElement)==null||t.removeChild(r.HTMLElement),(s=(i=r.HTMLInputElement)==null?void 0:i.replaceWith)==null||s.call(i,r.HTMLOriginalElement),r.HTMLInputElement=void 0):(o=(n=r.HTMLElement)==null?void 0:n.replaceWith)==null||o.call(n,r.HTMLOriginalElement),r.HTMLElement=r.HTMLOriginalElement,r.actions.destroyCalendar&&r.actions.destroyCalendar(r)};class Yl extends Nd{constructor(e,t){if(super(),Y(this,"init",()=>{return(s=this).HTMLOriginalElement=s.HTMLElement.cloneNode(!0),s.isInit=!0,s.input?Dc(s):(El(s),ns(s),s.actions.initCalendar&&s.actions.initCalendar(s),Gl(s));var s}),Y(this,"update",s=>Mc(this,s)),Y(this,"destroy",()=>Lc(this)),Y(this,"show",()=>{var s;(s=this).currentType?(s.HTMLElement.classList.remove(s.CSSClasses.calendarHidden),s.actions.showCalendar&&s.actions.showCalendar(s)):s.HTMLElement.click()}),Y(this,"hide",()=>{var s;(s=this).currentType&&(s.HTMLElement.classList.add(s.CSSClasses.calendarHidden),s.actions.hideCalendar&&s.actions.hideCalendar(s))}),this.HTMLElement=typeof e=="string"?document.querySelector(e):e,!this.HTMLElement)throw new Error(Ti.notFoundSelector(e));if(!t)return;const i=(s,n)=>{Object.keys(n).forEach(o=>{typeof s[o]!="object"||typeof n[o]!="object"||n[o]instanceof Date?s[o]=n[o]:i(s[o],n[o])})};i(this,t)}}class ql{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._lastClickIsDate=!1,this._shouldTriggerQuery=!0,this.hasTimePicker=!1,this.inputFilterType="range",this.searchTerms=[],this._bindEventService=new Pe}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)||{}}get currentDateOrDates(){return this._currentDateOrDates}get defaultOperator(){return this.inputFilterType==="compound"?H.empty:this.gridOptions.defaultFilterRangeOperator||H.rangeInclusive}get pickerOptions(){return this._pickerOptions||{}}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.date,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get operator(){var e;return this.inputFilterType==="compound"?this._operator||this.columnFilter.operator||this.defaultOperator:((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.inputFilterType==="compound"?this._operator=e:this.columnFilter&&(this.columnFilter.operator=e)}init(e){if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.inputFilterType==="compound"&&(this.operator=e.operator||""),this.searchTerms=(e==null?void 0:e.searchTerms)??[],this.filterContainerElm=e.filterContainerElm;const t=this.inputFilterType==="compound"?Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"":this.searchTerms;this._filterElm=this.createDomFilterElement(t),this.updateFilterStyle(this.searchTerms.length>0),this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this)),this._bindEventService.bind(document.body,"keydown",i=>{(i.key==="Escape"||i.key==="Tab")&&this.hide()}),this._bindEventService.bind(this._dateInputElm,"keydown",i=>{i.key==="Backspace"&&this.clear(!0,!1)})}clear(e=!0,t=!0){this.calendarInstance&&(this._clearFilterTriggered=t,this._shouldTriggerQuery=e,this._currentValue="",this.searchTerms=[],this._currentDateStrings=[],this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.calendarInstance&&Mn(this.calendarInstance)),this.onTriggerEvent(new Event("keyup")),this.updateFilterStyle(!1)}destroy(){var e,t,i,s;this._bindEventService.unbindAll(),(e=this.calendarInstance)==null||e.destroy(),ee(this.filterContainerElm),(t=this.filterContainerElm)==null||t.remove(),(i=this._selectOperatorElm)==null||i.remove(),(s=this._filterElm)==null||s.remove()}hide(){var e;typeof((e=this.calendarInstance)==null?void 0:e.hide)=="function"&&this.calendarInstance.hide()}show(){var e;typeof((e=this.calendarInstance)==null?void 0:e.show)=="function"&&this.calendarInstance.show()}getValues(){return this._currentDateOrDates}setValues(e,t,i=!1){let s;this.inputFilterType==="compound"?s=Array.isArray(e)?e[0]:e:typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?s=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(s=e),this.calendarInstance&&s!==void 0&&(Gi(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:s,updatePickerUI:!0}),this._currentDateOrDates=e&&s?s:void 0);const n=this.getValues()||[],o=Array.isArray(n)?n:[n];if(this.updateFilterStyle(o.length>0),this.operator=t||this.defaultOperator,t&&this._selectOperatorElm){const l=pi(this.operator);this._selectOperatorElm.value=l}i&&this.callback(void 0,{columnDef:this.columnDef,searchTerms:o,operator:this.operator,shouldTriggerQuery:!0})}buildDatePickerInput(e){var u,p,m,f,g,_,C,b,S,E,y;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||w.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||w.dateUtc,n=Ke(s),o=this.columnFilter.type||this.columnDef.type||w.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Ke(this.hasTimePicker?w.dateTimeIsoAM_PM:w.dateIso),a=(((p=this.filterOptions)==null?void 0:p.locale)??((f=(m=this.translaterService)==null?void 0:m.getCurrentLanguage)==null?void 0:f.call(m)))||this.gridOptions.locale||"en";let h;this.inputFilterType==="compound"?e&&(h=e,this._currentDateOrDates=e):(typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?h=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(h=e),Array.isArray(h)&&(this._currentDateOrDates=h,this._currentDateStrings=h.map(x=>vt(x,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:x=>this.grid.sanitizeHtmlString(x),toggleSelected:!1,actions:{clickDay:x=>{this._lastClickIsDate=!0},changeToInput:(x,O)=>{if(O.HTMLInputElement){let I=[],A="",D="";if(O.selectedDates[1]){O.selectedDates.sort((W,K)=>+new Date(W)-+new Date(K)),A=O.selectedDates[0],D=O.selectedDates[O.selectedDates.length-1];const M=et(O.selectedDates[0],n,"en-US"),L=et(D,n,"en-US");O.HTMLInputElement.value=`${M} — ${L}`,I=[A,D]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=vt(A,w.dateIso,s),I=O.selectedDates):O.HTMLInputElement.value="";if(this.hasTimePicker&&A){const M=gs(A,l);M.setHours(+(O.selectedHours||0)),M.setMinutes(+(O.selectedMinutes||0)),O.HTMLInputElement.value=vt(M,void 0,s),I=[M]}if(this.inputFilterType==="compound"?this._currentValue=vt(I[0],void 0,i):Array.isArray(I)&&(this._currentDateStrings=I.map(M=>vt(M,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=I.map(M=>M instanceof Date?M:gs(M,l)),this._currentValue){const M=this.hasTimePicker?new Event("keyup"):void 0;this.onTriggerEvent(M)}this.inputFilterType==="range"&&O.selectedDates.length<2&&(this._lastClickIsDate=!1),this._lastClickIsDate&&(O.hide(),this._lastClickIsDate=!1)}}},settings:{lang:a,iso8601:!1,visibility:{theme:(g=this.gridOptions)!=null&&g.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.inputFilterType==="range"&&(d.type="multiple",d.months=2,d.jumpMonths=2,d.settings={...d.settings,range:{edgesOnly:!0},selection:{day:"multiple-ranged"},visibility:{...(_=d.settings)==null?void 0:_.visibility,daysOutside:!1}}),this.hasTimePicker&&((C=d.settings).selection??(C.selection={}),d.settings.selection.time=24),this._pickerOptions=de(!0,{},d,{settings:this.filterOptions});let c=((b=this.gridOptions)==null?void 0:b.defaultFilterPlaceholder)??"";(S=this.columnFilter)!=null&&S.placeholder&&(c=this.columnFilter.placeholder),this._dateInputElm=v("input",{type:"text",className:"form-control date-picker",placeholder:c,readOnly:!0,dataset:{input:"",columnid:`${t}`}}),this.calendarInstance=new Yl(this._dateInputElm,this._pickerOptions),this.calendarInstance.init(),(y=(E=this._pickerOptions.settings)==null?void 0:E.selected)!=null&&y.dates&&(h=this._pickerOptions.settings.selected.dates),h&&Gi(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,oldVal:void 0,newVal:h,updatePickerUI:!1})}getOperatorOptionValues(){var t;let e;return(t=this.columnFilter)!=null&&t.compoundOperatorList?e=this.columnFilter.compoundOperatorList:e=Nn(this.gridOptions,this.translaterService),Hn(this.gridOptions,e,"numeric"),e}createDomFilterElement(e){var i;const t=((i=this.columnDef)==null?void 0:i.id)??"";if(ee(this.filterContainerElm),this.buildDatePickerInput(e),this.inputFilterType==="range"){const s=v("div",{className:`date-picker form-group search-filter slick-filter filter-${t}`});return Array.isArray(e)&&e.length>0&&e[0]!==""&&(this._currentDateOrDates=e,this._currentValue=e[0]),s.appendChild(this._dateInputElm),s&&this.filterContainerElm.appendChild(s),s}else{this._selectOperatorElm=Ln(this.getOperatorOptionValues(),this.grid);const s=v("div",{className:`date-picker form-group search-filter slick-filter filter-${t}`}),n=v("div",{className:"input-group date-picker"},s);if(v("div",{className:"input-group-addon input-group-prepend operator"},n).appendChild(this._selectOperatorElm),n.appendChild(this._dateInputElm),this.operator){const l=pi(this.operator);this._selectOperatorElm.value=l}return this._currentDateOrDates=e,this._currentValue=e,s&&this.filterContainerElm.appendChild(s),s}}onTriggerEvent(e){if(this._clearFilterTriggered)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,shouldTriggerQuery:this._shouldTriggerQuery}),this.updateFilterStyle(!1);else if(this.inputFilterType==="range"){const t=this._currentDateStrings?this._currentDateStrings:[this._currentValue];this.updateFilterStyle(t.length>0),this.callback(e,{columnDef:this.columnDef,searchTerms:t,operator:this.operator||"",shouldTriggerQuery:this._shouldTriggerQuery})}else if(this.inputFilterType==="compound"&&this._selectOperatorElm){const t=this._selectOperatorElm.value;this.updateFilterStyle(!!this._currentValue);const i=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput===void 0,s=i&&q(this._currentDateOrDates)||this._currentDateOrDates===""&&q(this._lastSearchValue);(!i||!i||s)&&this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentValue?[this._currentValue]:null,operator:t||"",shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._lastSearchValue=this._currentValue}updateFilterStyle(e){e?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled")}}class Nc extends ql{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Kl{constructor(e){this.translaterService=e}filterCollection(e,t,i=ui.chain){let s=[];return Array.isArray(t)?(s=i===ui.merge?[]:[...e],t.forEach(n=>{if(i===ui.merge){const o=this.singleFilterCollection(e,n);s=Oo([...s,...o])}else s=this.singleFilterCollection(s,n)})):s=this.singleFilterCollection(e,t),s}preParseByMutationDateItems(e,t,i){const s=[];t.getColumns().forEach(n=>{const o=this.getParseDateInfo(n,i);o&&s.push(o)}),e.forEach(n=>{s.forEach(({columnId:o,dateFormat:l,queryFieldName:a})=>{this.reassignDateWhenValid(n,o,l,a)})})}parseSingleDateItem(e,t,i){i&&t.getColumns().forEach(s=>{const n=this.getParseDateInfo(s,i);n&&this.reassignDateWhenValid(e,s.id,n.dateFormat,n.queryFieldName)})}singleFilterCollection(e,t){let i=[];if(t){const s=t.property,n=t.operator||H.equal,o=typeof t.value>"u"?"":t.value;switch(n){case H.equal:s?i=e.filter(l=>l[s]===o):i=e.filter(l=>l===o);break;case H.contains:s?i=e.filter(l=>{var a;return((a=l[s])==null?void 0:a.toString().indexOf(o.toString()))!==-1}):i=e.filter(l=>l!=null&&l.toString().indexOf(o.toString())!==-1);break;case H.notContains:s?i=e.filter(l=>{var a;return((a=l[s])==null?void 0:a.toString().indexOf(o.toString()))===-1}):i=e.filter(l=>l!=null&&l.toString().indexOf(o.toString())===-1);break;case H.notEqual:default:s?i=e.filter(l=>l[s]!==o):i=e.filter(l=>l!==o)}}return i}sortCollection(e,t,i,s){if(s&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let n=[];if(i){if(Array.isArray(i))n=t.sort((o,l)=>{var a,h,d,c;for(let u=0,p=i.length;u<p;u++){const m=i[u];if(m!=null&&m.property){const f=m.sortDesc?ae.desc:ae.asc,g=m.property,_=(m==null?void 0:m.fieldType)??(e==null?void 0:e.type)??w.string,C=s?(h=(a=this.translaterService)==null?void 0:a.translate)==null?void 0:h.call(a,o[g]||" "):o[g],b=s?(c=(d=this.translaterService)==null?void 0:d.translate)==null?void 0:c.call(d,l[g]||" "):l[g],S=_i(_,C,b,f,e);if(S!==ae.neutral)return S}}return ae.neutral});else if(i!=null&&i.property){const o=i.property,l=i.sortDesc?ae.desc:ae.asc,a=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??w.string;n=t.sort((h,d)=>{var m,f;const c=s?((m=this.translaterService)==null?void 0:m.translate)&&this.translaterService.translate(h[o]||" "):h[o],u=s?((f=this.translaterService)==null?void 0:f.translate)&&this.translaterService.translate(d[o]||" "):d[o],p=_i(a,c,u,l,e);return p!==ae.neutral?p:ae.neutral})}else if(i&&!i.property){const o=i.sortDesc?ae.desc:ae.asc,l=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??w.string;n=t.sort((a,h)=>{var p,m;const d=s?((p=this.translaterService)==null?void 0:p.translate)&&this.translaterService.translate(a||" "):a,c=s?((m=this.translaterService)==null?void 0:m.translate)&&this.translaterService.translate(h||" "):h,u=_i(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}getParseDateInfo(e,t){const i=e.type||w.string,s=Ke(i);if(It(i)&&t){const n=typeof t=="string"?`${t}${e.id}`:`${e.id}`;return{columnId:e.id,dateFormat:s,queryFieldName:n}}}reassignDateWhenValid(e,t,i,s){const n=bt(e[t],i,!1);n&&(e[s]=n)}}class Hc{init(e){this._grid=e,e.hasDataView()&&(this._dataView=e.getData())}getDataItem(e){return this._dataView?this._dataView.getItem(e):this._grid.getDataItem(e)}getDataItems(){return this._dataView?this._dataView.getItems():this._grid.getData()}getDataLength(){return this._dataView?this._dataView.getItemCount():this._grid.getDataLength()}setDataItems(e){this._dataView?this._dataView.setItems(e):this._grid.setData(e)}}function Xl(r,e,t,i,s=!1,n,o){var O,I,A,D,M;const l=(t==null?void 0:t.id)??"",a=i.getOptions(),h=(r==="editor"?t==null?void 0:t.editor:t==null?void 0:t.filter)??{},d=(h==null?void 0:h.collectionOptions)??{},c=(d==null?void 0:d.separatorBetweenTextLabels)??"",u=(h==null?void 0:h.enableTranslateLabel)??!1,p=(a==null?void 0:a.enableTranslate)??!1,m=(h==null?void 0:h.enableRenderHtml)??!1,f=((O=h==null?void 0:h.customStructure)==null?void 0:O.label)??"label",g=((I=h==null?void 0:h.customStructure)==null?void 0:I.labelPrefix)??"labelPrefix",_=((A=h==null?void 0:h.customStructure)==null?void 0:A.labelSuffix)??"labelSuffix",C=((D=h==null?void 0:h.customStructure)==null?void 0:D.optionLabel)??"value",b=((M=h==null?void 0:h.customStructure)==null?void 0:M.value)??"value",S=v("select",{className:"ms-filter search-filter"}),E=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];S.classList.add(...E),S.multiple=s;const y=[];let x=!1;return Array.isArray(e)&&(e.every(L=>typeof L=="number"||typeof L=="string")?e.forEach(L=>{const W={text:String(L),value:L};r==="filter"&&Array.isArray(o)&&(W.selected=o.findIndex(K=>K===L)>=0),y.push(W),(W.selected&&s||W.selected&&!s&&L!=="")&&(x=!0)}):e.forEach(L=>{if(L===void 0||typeof L=="object"&&L[f]===void 0&&L.labelKey===void 0)throw new Error("[Slickgrid-Universal] Select Filter/Editor collection with value/label (or value/labelKey when using Locale) is required to populate the Select list, for example:: { filter: model: Filters.multipleSelect, collection: [ { value: '1', label: 'One' } ]')");const W=L.labelKey||L[f],K=(L.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let J=L[g]||"",X=L[_]||"",ie=L.hasOwnProperty(C)?L[C]:"";ie!=null&&ie.toString&&(ie=ie.toString().replace(/"/g,"'")),J=u&&n&&J&&typeof J=="string"?n.translate(J||" "):J,X=u&&n&&X&&typeof X=="string"?n.translate(X||" "):X,ie=u&&n&&ie&&typeof ie=="string"?n.translate(ie||" "):ie;let nt=[J,typeof K=="string"||typeof K=="number"?K.toString():K,X].filter(qe=>qe).join(c);const fe={text:"",value:""};m&&(nt=i.sanitizeHtmlString(nt)),fe.text=nt;let xe=L[b];xe==null&&(xe=""),r==="filter"&&Array.isArray(o)&&(fe.selected=o.findIndex(qe=>`${qe}`==`${L[b]}`)>=0),fe.value=`${xe??""}`,y.push(fe),(fe.selected&&s||fe.selected&&!s&&L[b]!=="")&&(x=!0)})),{selectElement:S,dataCollection:y,hasFoundSearchTerm:x}}class Vc{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var c,u,p,m,f,g,_,C,b,S,E,y,x,O;if((c=this.sharedService.gridOptions)!=null&&c.enableTranslate&&!((u=this.translaterService)!=null&&u.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((p=this.sharedService.gridOptions)==null?void 0:p[t])??{},n=((m=this.sharedService.gridOptions)==null?void 0:m.enableTranslate)??!1,o=((f=this.sharedService.gridOptions)==null?void 0:f.locales)??R.locales,l=s==null?void 0:s[e],a=s==null?void 0:s[`${e}Key`],h=this.sharedService.gridOptions,d=lt(h);if(a&&((g=this.translaterService)!=null&&g.translate))i=this.translaterService.translate(a||" ");else switch(e){case"commandTitle":i=l||n&&((_=this.translaterService)==null?void 0:_.getCurrentLanguage)&&((C=this.translaterService)==null?void 0:C.translate(`${d}COMMANDS`))||(o==null?void 0:o.TEXT_COMMANDS);break;case"columnTitle":i=l||n&&((b=this.translaterService)==null?void 0:b.getCurrentLanguage)&&((S=this.translaterService)==null?void 0:S.translate(`${d}COLUMNS`))||(o==null?void 0:o.TEXT_COLUMNS);break;case"forceFitTitle":i=l||n&&((E=this.translaterService)==null?void 0:E.getCurrentLanguage)&&((y=this.translaterService)==null?void 0:y.translate(`${d}FORCE_FIT_COLUMNS`))||(o==null?void 0:o.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=l||n&&((x=this.translaterService)==null?void 0:x.getCurrentLanguage)&&((O=this.translaterService)==null?void 0:O.translate(`${d}SYNCHRONOUS_RESIZE`))||(o==null?void 0:o.TEXT_SYNCHRONOUS_RESIZE);break;default:i=l;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const o of e)o.hasOwnProperty(t)&&(o[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,o[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var l,a;let s="";const n=(l=this.sharedService)==null?void 0:l.gridOptions,o=(n==null?void 0:n.locales)??R.locales;return i?s=i:n.enableTranslate&&((a=this.translaterService)!=null&&a.translate)?s=this.translaterService.translate(e||" "):t in o?s=o[t]:s=t,s}}class Bc{constructor(e){this.pluginName="AutoTooltips",this._defaults={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:void 0,replaceExisting:!0},this._eventHandler=new pe,this._addonOptions=e}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e){this._addonOptions={...this._defaults,...this.addonOptions},this._grid=e,this._addonOptions.enableForCells&&this._eventHandler.subscribe(this._grid.onMouseEnter,this.handleMouseEnter.bind(this)),this._addonOptions.enableForHeaderCells&&this._eventHandler.subscribe(this._grid.onHeaderMouseEnter,this.handleHeaderMouseEnter.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}handleMouseEnter(e){var i,s,n,o;const t=this._grid.getCellFromEvent(e);if(t){let l=this._grid.getCellNode(t.row,t.cell),a;this._addonOptions&&l&&(!l.title||(i=this._addonOptions)!=null&&i.replaceExisting)&&(l.clientWidth<l.scrollWidth?(a=((s=l.textContent)==null?void 0:s.trim())??"",(n=this._addonOptions)!=null&&n.maxToolTipLength&&a.length>((o=this._addonOptions)==null?void 0:o.maxToolTipLength)&&(a=a.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):a="",l.title=a),l=null}}handleHeaderMouseEnter(e,t){const i=t.column;let s;const n=e.target;if(n&&(s=n.closest(".slick-header-column"),s&&!(i!=null&&i.toolTip))){const o=n.clientWidth<s.clientWidth?(i==null?void 0:i.name)??"":"";s.title=we(_t(o,"innerHTML"))}s=null}}class zc{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new pe,this._bindingEventService=new Pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get commandQueue(){return this._commandQueue}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get undoRedoBuffer(){return this._undoRedoBuffer}init(e,t){this._grid=e,this.createUndoRedoBuffer(),this._cellSelectionModel=new jc,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new Wc,this._cellExternalCopyManagerPlugin.init(this._grid,this._addonOptions),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(i,s)})}dispose(){var e,t;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(e=this._cellSelectionModel)==null||e.dispose(),(t=this._cellExternalCopyManagerPlugin)==null||t.dispose()}createUndoRedoBuffer(){let e=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:t=>{this._commandQueue[e]=t,e++,t.execute()},undo:()=>{if(e===0)return;e--;const t=this._commandQueue[e];t&&Ui.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&Ui.cancelCurrentEdit()&&t.execute()}}}getDefaultOptions(){let e=0;return{clipboardCommandHandler:t=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,t)},dataItemColumnValueExtractor:(t,i,s=0,n=0)=>{var h,d,c;const o=this._grid.getActiveCell(),l=this._grid.getCellEditor()&&(o==null?void 0:o.row)===s&&(o==null?void 0:o.cell)===n,a=((h=this.addonOptions)==null?void 0:h.copyActiveEditorCell)||!1;if(!this.gridOptions.editable||!i.editor||!l||a){const u=i.exportWithFormatter!==void 0?i.exportWithFormatter:(d=this.gridOptions.textExportOptions)==null?void 0:d.exportWithFormatter;if(i.formatter&&u){const p=i.formatter(s,n,t[i.field],i,t,this._grid),m=ei(p)?p:p.html||p.text;if(i.sanitizeDataExport||(c=this.gridOptions.textExportOptions)!=null&&c.sanitizeDataExport){const f=m instanceof HTMLElement?m.innerHTML:m;return we(f??"")}return p}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:t=>{for(let i=0;i<t;i++)this._grid.getData().addItem({[this.gridOptions.datasetIdPropertyName||"id"]:`newRow_${e++}`})},replaceNewlinesWith:!1,removeDoubleQuotesOnPaste:!1}}handleBodyKeyDown(e){e.key==="Z"&&(e.ctrlKey||e.metaKey)&&(e.shiftKey?this._undoRedoBuffer.redo():this._undoRedoBuffer.undo())}}const $c=2e3,Ql=100,Bs=()=>{};class Wc{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this._dataWrapper=new Hc,this.onCopyCells=new P("onCopyCells"),this.onCopyCancelled=new P("onCopyCancelled"),this.onPasteCells=new P("onPasteCells"),this.onBeforePasteCell=new P("onBeforePasteCell"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e,t){var n;this._grid=e,this._dataWrapper.init(e),this._addonOptions={...this._addonOptions,...t},this._copiedCellStyleLayerKey=this._addonOptions.copiedCellStyleLayerKey||"copy-manager",this._copiedCellStyle=this._addonOptions.copiedCellStyle||"copied",this._bodyElement=this._addonOptions.bodyElement||document.body,this._onCopyInit=this._addonOptions.onCopyInit||void 0,this._onCopySuccess=this._addonOptions.onCopySuccess||void 0;const i=e.getPubSubService();i&&T.addSlickEventPubSubWhenDefined(i,this),this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const s=e.getSelectionModel();if(!s)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new SlickCellSelectionModel())");this._eventHandler.subscribe(s.onSelectedRangesChanged,()=>{var o;!this._grid.getEditorLock().isActive()&&!((o=document.activeElement)!=null&&o.classList.contains("slick-filter"))&&this._grid.focus()}),e&&typeof((n=this._addonOptions)==null?void 0:n.onBeforePasteCell)=="function"&&this._eventHandler.subscribe(this.onBeforePasteCell,(o,l)=>{var d,c;const a=e.getColumns()[l.cell],h={row:l.row,cell:l.cell,dataView:e.getData(),grid:e,columnDef:a,dataContext:e.getDataItem(l.row)};return(c=(d=this._addonOptions).onBeforePasteCell)==null?void 0:c.call(d,o,h)})}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=_t(this._addonOptions.headerColumnValueExtractor(e),"innerHTML");if(t)return we(t)}return _t(e.name||"","innerHTML")}getDataItemValueForColumn(e,t,i,s,n){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const l=this._addonOptions.dataItemColumnValueExtractor(e,t,i,s);if(l)return l instanceof HTMLElement?we(l.innerHTML):l}let o="";if(t)if(t.editorClass){const l=document.createElement("p"),a=new t.editorClass({container:l,column:t,event:n,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Bs,commitChanges:Bs});a.loadValue(e),o=a.serializeValue(),a.destroy(),l.remove()}else o=e[t.field||""];return o}setDataItemValueForColumn(e,t,i){if(!(t!=null&&t.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter){const s=this._addonOptions.dataItemColumnValueSetter(e,t,i);if(s!==!0)return s}if(t.editorClass){const s=document.createElement("div"),n=new t.editorClass({container:s,column:t,event:null,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Bs,commitChanges:Bs});n.loadValue(e);const o=n.validate(void 0,i);if(!o.valid){const l=this._grid.getActiveCell();this._grid.onValidationError.notify({editor:n,cellNode:this._grid.getActiveCellNode(),validationResults:o,row:l==null?void 0:l.row,cell:l==null?void 0:l.cell,column:t,grid:this._grid})}n.applyValue(e,i),n.destroy(),s.remove()}else e[t.field]=i}}setIncludeHeaderWhenCopying(e){this._addonOptions.includeHeaderWhenCopying=e}createTextBox(e){const t=document.documentElement.scrollTop||document.body.scrollTop,i=v("textarea",{value:e,style:{position:"absolute",opacity:"0",top:`${t}px`}},this._bodyElement);return i.select(),i}decodeTabularData(e,t){var b;const i=e.getColumns(),n=t.value.split(/[\n\f\r](?=(?:[^"]*"[^"]*")*[^"]*$)/);n[n.length-1]===""&&n.pop();let o=0;const l=[];this._bodyElement.removeChild(t);for(const S of n)S.startsWith('"')&&S.endsWith('"')?l[o++]=[S.replaceAll(`
7
+ */function Xo(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xo(Object(t),!0).forEach(function(i){id(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Xo(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function bs(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?bs=function(e){return typeof e}:bs=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(r)}function id(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ft(){return Ft=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Ft.apply(this,arguments)}function sd(r,e){if(r==null)return{};var t={},i=Object.keys(r),s,n;for(n=0;n<i.length;n++)s=i[n],!(e.indexOf(s)>=0)&&(t[s]=r[s]);return t}function nd(r,e){if(r==null)return{};var t=sd(r,e),i,s;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(t[i]=r[i])}return t}var rd="1.15.6";function Dt(r){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(r)}var Mt=Dt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),ji=Dt(/Edge/i),Qo=Dt(/firefox/i),Yi=Dt(/safari/i)&&!Dt(/chrome/i)&&!Dt(/android/i),Vn=Dt(/iP(ad|od|hone)/i),Zo=Dt(/chrome/i)&&Dt(/android/i),Jo={capture:!1,passive:!1};function ne(r,e,t){r.addEventListener(e,t,!Mt&&Jo)}function te(r,e,t){r.removeEventListener(e,t,!Mt&&Jo)}function Ss(r,e){if(e){if(e[0]===">"&&(e=e.substring(1)),r)try{if(r.matches)return r.matches(e);if(r.msMatchesSelector)return r.msMatchesSelector(e);if(r.webkitMatchesSelector)return r.webkitMatchesSelector(e)}catch{return!1}return!1}}function el(r){return r.host&&r!==document&&r.host.nodeType?r.host:r.parentNode}function mt(r,e,t,i){if(r){t=t||document;do{if(e!=null&&(e[0]===">"?r.parentNode===t&&Ss(r,e):Ss(r,e))||i&&r===t)return r;if(r===t)break}while(r=el(r))}return null}var tl=/\s+/g;function it(r,e,t){if(r&&e)if(r.classList)r.classList[t?"add":"remove"](e);else{var i=(" "+r.className+" ").replace(tl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(tl," ")}}function $(r,e,t){var i=r&&r.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(r,""):r.currentStyle&&(t=r.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function Ci(r,e){var t="";if(typeof r=="string")t=r;else do{var i=$(r,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(r=r.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function il(r,e,t){if(r){var i=r.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function yt(){var r=document.scrollingElement;return r||document.documentElement}function De(r,e,t,i,s){if(!(!r.getBoundingClientRect&&r!==window)){var n,o,l,a,h,d,c;if(r!==window&&r.parentNode&&r!==yt()?(n=r.getBoundingClientRect(),o=n.top,l=n.left,a=n.bottom,h=n.right,d=n.height,c=n.width):(o=0,l=0,a=window.innerHeight,h=window.innerWidth,d=window.innerHeight,c=window.innerWidth),(e||t)&&r!==window&&(s=s||r.parentNode,!Mt))do if(s&&s.getBoundingClientRect&&($(s,"transform")!=="none"||t&&$(s,"position")!=="static")){var u=s.getBoundingClientRect();o-=u.top+parseInt($(s,"border-top-width")),l-=u.left+parseInt($(s,"border-left-width")),a=o+n.height,h=l+n.width;break}while(s=s.parentNode);if(i&&r!==window){var p=Ci(s||r),m=p&&p.a,f=p&&p.d;p&&(o/=f,l/=m,c/=m,d/=f,a=o+d,h=l+c)}return{top:o,left:l,bottom:a,right:h,width:c,height:d}}}function sl(r,e,t){for(var i=Wt(r,!0),s=De(r)[e];i;){var n=De(i)[t],o=void 0;if(o=s>=n,!o)return i;if(i===yt())break;i=Wt(i,!1)}return!1}function vi(r,e,t,i){for(var s=0,n=0,o=r.children;n<o.length;){if(o[n].style.display!=="none"&&o[n]!==B.ghost&&(i||o[n]!==B.dragged)&&mt(o[n],t.draggable,r,!1)){if(s===e)return o[n];s++}n++}return null}function Bn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Ss(t,e));)t=t.previousElementSibling;return t||null}function dt(r,e){var t=0;if(!r||!r.parentNode)return-1;for(;r=r.previousElementSibling;)r.nodeName.toUpperCase()!=="TEMPLATE"&&r!==B.clone&&(!e||Ss(r,e))&&t++;return t}function nl(r){var e=0,t=0,i=yt();if(r)do{var s=Ci(r),n=s.a,o=s.d;e+=r.scrollLeft*n,t+=r.scrollTop*o}while(r!==i&&(r=r.parentNode));return[e,t]}function od(r,e){for(var t in r)if(r.hasOwnProperty(t)){for(var i in e)if(e.hasOwnProperty(i)&&e[i]===r[t][i])return Number(t)}return-1}function Wt(r,e){if(!r||!r.getBoundingClientRect)return yt();var t=r,i=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var s=$(t);if(t.clientWidth<t.scrollWidth&&(s.overflowX=="auto"||s.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(s.overflowY=="auto"||s.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return yt();if(i||e)return t;i=!0}}while(t=t.parentNode);return yt()}function ld(r,e){if(r&&e)for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r}function zn(r,e){return Math.round(r.top)===Math.round(e.top)&&Math.round(r.left)===Math.round(e.left)&&Math.round(r.height)===Math.round(e.height)&&Math.round(r.width)===Math.round(e.width)}var qi;function rl(r,e){return function(){if(!qi){var t=arguments,i=this;t.length===1?r.call(i,t[0]):r.apply(i,t),qi=setTimeout(function(){qi=void 0},e)}}}function ad(){clearTimeout(qi),qi=void 0}function ol(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function ll(r){var e=window.Polymer,t=window.jQuery||window.Zepto;return e&&e.dom?e.dom(r).cloneNode(!0):t?t(r).clone(!0)[0]:r.cloneNode(!0)}function al(r,e,t){var i={};return Array.from(r.children).forEach(function(s){var n,o,l,a;if(!(!mt(s,e.draggable,r,!1)||s.animated||s===t)){var h=De(s);i.left=Math.min((n=i.left)!==null&&n!==void 0?n:1/0,h.left),i.top=Math.min((o=i.top)!==null&&o!==void 0?o:1/0,h.top),i.right=Math.max((l=i.right)!==null&&l!==void 0?l:-1/0,h.right),i.bottom=Math.max((a=i.bottom)!==null&&a!==void 0?a:-1/0,h.bottom)}}),i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}var Xe="Sortable"+new Date().getTime();function hd(){var r=[],e;return{captureAnimationState:function(){if(r=[],!!this.options.animation){var i=[].slice.call(this.el.children);i.forEach(function(s){if(!($(s,"display")==="none"||s===B.ghost)){r.push({target:s,rect:De(s)});var n=St({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=Ci(s,!0);o&&(n.top-=o.f,n.left-=o.e)}s.fromRect=n}})}},addAnimationState:function(i){r.push(i)},removeAnimationState:function(i){r.splice(od(r,{target:i}),1)},animateAll:function(i){var s=this;if(!this.options.animation){clearTimeout(e),typeof i=="function"&&i();return}var n=!1,o=0;r.forEach(function(l){var a=0,h=l.target,d=h.fromRect,c=De(h),u=h.prevFromRect,p=h.prevToRect,m=l.rect,f=Ci(h,!0);f&&(c.top-=f.f,c.left-=f.e),h.toRect=c,h.thisAnimationDuration&&zn(u,c)&&!zn(d,c)&&(m.top-c.top)/(m.left-c.left)===(d.top-c.top)/(d.left-c.left)&&(a=cd(m,u,p,s.options)),zn(c,d)||(h.prevFromRect=d,h.prevToRect=c,a||(a=s.options.animation),s.animate(h,m,c,a)),a&&(n=!0,o=Math.max(o,a),clearTimeout(h.animationResetTimer),h.animationResetTimer=setTimeout(function(){h.animationTime=0,h.prevFromRect=null,h.fromRect=null,h.prevToRect=null,h.thisAnimationDuration=null},a),h.thisAnimationDuration=a)}),clearTimeout(e),n?e=setTimeout(function(){typeof i=="function"&&i()},o):typeof i=="function"&&i(),r=[]},animate:function(i,s,n,o){if(o){$(i,"transition",""),$(i,"transform","");var l=Ci(this.el),a=l&&l.a,h=l&&l.d,d=(s.left-n.left)/(a||1),c=(s.top-n.top)/(h||1);i.animatingX=!!d,i.animatingY=!!c,$(i,"transform","translate3d("+d+"px,"+c+"px,0)"),this.forRepaintDummy=dd(i),$(i,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),$(i,"transform","translate3d(0,0,0)"),typeof i.animated=="number"&&clearTimeout(i.animated),i.animated=setTimeout(function(){$(i,"transition",""),$(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},o)}}}}function dd(r){return r.offsetWidth}function cd(r,e,t,i){return Math.sqrt(Math.pow(e.top-r.top,2)+Math.pow(e.left-r.left,2))/Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))*i.animation}var bi=[],$n={initializeByDefault:!0},Ki={mount:function(e){for(var t in $n)$n.hasOwnProperty(t)&&!(t in e)&&(e[t]=$n[t]);bi.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),bi.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";bi.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](St({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](St({sortable:t},i)))})},initializePlugins:function(e,t,i,s){bi.forEach(function(l){var a=l.pluginName;if(!(!e.options[a]&&!l.initializeByDefault)){var h=new l(e,t,e.options);h.sortable=e,h.options=e.options,e[a]=h,Ft(i,h.defaults)}});for(var n in e.options)if(e.options.hasOwnProperty(n)){var o=this.modifyOption(e,n,e.options[n]);typeof o<"u"&&(e.options[n]=o)}},getEventProperties:function(e,t){var i={};return bi.forEach(function(s){typeof s.eventProperties=="function"&&Ft(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return bi.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function ud(r){var e=r.sortable,t=r.rootEl,i=r.name,s=r.targetEl,n=r.cloneEl,o=r.toEl,l=r.fromEl,a=r.oldIndex,h=r.newIndex,d=r.oldDraggableIndex,c=r.newDraggableIndex,u=r.originalEvent,p=r.putSortable,m=r.extraEventProperties;if(e=e||t&&t[Xe],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Mt&&!ji?f=new CustomEvent(i,{bubbles:!0,cancelable:!0}):(f=document.createEvent("Event"),f.initEvent(i,!0,!0)),f.to=o||t,f.from=l||t,f.item=s||t,f.clone=n,f.oldIndex=a,f.newIndex=h,f.oldDraggableIndex=d,f.newDraggableIndex=c,f.originalEvent=u,f.pullMode=p?p.lastPutMode:void 0;var C=St(St({},m),Ki.getEventProperties(i,e));for(var b in C)f[b]=C[b];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var pd=["evt"],Qe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=nd(i,pd);Ki.pluginEvent.bind(B)(e,t,St({dragEl:k,parentEl:Re,ghostEl:j,rootEl:be,nextEl:si,lastDownEl:ys,cloneEl:Oe,cloneHidden:Gt,dragStarted:Qi,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:Si,oldDraggableIndex:Xi,newIndex:st,newDraggableIndex:Ut,hideGhostForTarget:fl,unhideGhostForTarget:gl,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(l){Ye({sortable:t,name:l,originalEvent:s})}},n))};function Ye(r){ud(St({putSortable:He,cloneEl:Oe,targetEl:k,rootEl:be,oldIndex:Si,oldDraggableIndex:Xi,newIndex:st,newDraggableIndex:Ut},r))}var k,Re,j,be,si,ys,Oe,Gt,Si,st,Xi,Ut,Es,He,yi=!1,ws=!1,Ts=[],ni,ft,Wn,Gn,hl,dl,Qi,Ei,Zi,Ji=!1,Os=!1,xs,Ge,Un=[],jn=!1,Is=[],Rs=typeof document<"u",As=Vn,cl=ji||Mt?"cssFloat":"float",md=Rs&&!Zo&&!Vn&&"draggable"in document.createElement("div"),ul=function(){if(Rs){if(Mt)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),pl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=vi(e,0,t),o=vi(e,1,t),l=n&&$(n),a=o&&$(o),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+De(n).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+De(o).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return o&&(a.clear==="both"||a.clear===c)?"vertical":"horizontal"}return n&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||h>=s&&i[cl]==="none"||o&&i[cl]==="none"&&h+d>s)?"vertical":"horizontal"},fd=function(e,t,i){var s=i?e.left:e.top,n=i?e.right:e.bottom,o=i?e.width:e.height,l=i?t.left:t.top,a=i?t.right:t.bottom,h=i?t.width:t.height;return s===l||n===a||s+o/2===l+h/2},gd=function(e,t){var i;return Ts.some(function(s){var n=s[Xe].options.emptyInsertThreshold;if(!(!n||Bn(s))){var o=De(s),l=e>=o.left-n&&e<=o.right+n,a=t>=o.top-n&&t<=o.bottom+n;if(l&&a)return i=s}}),i},ml=function(e){function t(n,o){return function(l,a,h,d){var c=l.options.group.name&&a.options.group.name&&l.options.group.name===a.options.group.name;if(n==null&&(o||c))return!0;if(n==null||n===!1)return!1;if(o&&n==="clone")return n;if(typeof n=="function")return t(n(l,a,h,d),o)(l,a,h,d);var u=(o?l:a).options.group.name;return n===!0||typeof n=="string"&&n===u||n.join&&n.indexOf(u)>-1}}var i={},s=e.group;(!s||bs(s)!="object")&&(s={name:s}),i.name=s.name,i.checkPull=t(s.pull,!0),i.checkPut=t(s.put),i.revertClone=s.revertClone,e.group=i},fl=function(){!ul&&j&&$(j,"display","none")},gl=function(){!ul&&j&&$(j,"display","")};Rs&&!Zo&&document.addEventListener("click",function(r){if(ws)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),ws=!1,!1},!0);var ri=function(e){if(k){e=e.touches?e.touches[0]:e;var t=gd(e.clientX,e.clientY);if(t){var i={};for(var s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[Xe]._onDragOver(i)}}},_d=function(e){k&&k.parentNode[Xe]._isOutsideThisEl(e.target)};function B(r,e){if(!(r&&r.nodeType&&r.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(r));this.el=r,this.options=e=Ft({},e),r[Xe]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(r.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return pl(r,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(o,l){o.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:B.supportPointer!==!1&&"PointerEvent"in window&&(!Yi||Vn),emptyInsertThreshold:5};Ki.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);ml(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:md,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?ne(r,"pointerdown",this._onTapStart):(ne(r,"mousedown",this._onTapStart),ne(r,"touchstart",this._onTapStart)),this.nativeDraggable&&(ne(r,"dragover",this),ne(r,"dragenter",this)),Ts.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Ft(this,hd())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Ei=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,k):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,s=this.options,n=s.preventOnFilter,o=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,a=(l||e).target,h=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,d=s.filter;if(Td(i),!k&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Yi&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=mt(a,s.draggable,i,!1),!(a&&a.animated)&&ys!==a)){if(Si=dt(a),Xi=dt(a,s.draggable),typeof d=="function"){if(d.call(this,e,a,this)){Ye({sortable:t,rootEl:h,name:"filter",targetEl:a,toEl:i,fromEl:i}),Qe("filter",t,{evt:e}),n&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=mt(h,c.trim(),i,!1),c)return Ye({sortable:t,rootEl:c,name:"filter",targetEl:a,fromEl:i,toEl:i}),Qe("filter",t,{evt:e}),!0}),d)){n&&e.preventDefault();return}s.handle&&!mt(h,s.handle,i,!1)||this._prepareDragStart(e,l,a)}}},_prepareDragStart:function(e,t,i){var s=this,n=s.el,o=s.options,l=n.ownerDocument,a;if(i&&!k&&i.parentNode===n){var h=De(i);if(be=n,k=i,Re=k.parentNode,si=k.nextSibling,ys=i,Es=o.group,B.dragged=k,ni={target:k,clientX:(t||e).clientX,clientY:(t||e).clientY},hl=ni.clientX-h.left,dl=ni.clientY-h.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,k.style["will-change"]="all",a=function(){if(Qe("delayEnded",s,{evt:e}),B.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!Qo&&s.nativeDraggable&&(k.draggable=!0),s._triggerDragStart(e,t),Ye({sortable:s,name:"choose",originalEvent:e}),it(k,o.chosenClass,!0)},o.ignore.split(",").forEach(function(d){il(k,d.trim(),Yn)}),ne(l,"dragover",ri),ne(l,"mousemove",ri),ne(l,"touchmove",ri),o.supportPointer?(ne(l,"pointerup",s._onDrop),!this.nativeDraggable&&ne(l,"pointercancel",s._onDrop)):(ne(l,"mouseup",s._onDrop),ne(l,"touchend",s._onDrop),ne(l,"touchcancel",s._onDrop)),Qo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,k.draggable=!0),Qe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(ji||Mt))){if(B.eventCanceled){this._onDrop();return}o.supportPointer?(ne(l,"pointerup",s._disableDelayedDrag),ne(l,"pointercancel",s._disableDelayedDrag)):(ne(l,"mouseup",s._disableDelayedDrag),ne(l,"touchend",s._disableDelayedDrag),ne(l,"touchcancel",s._disableDelayedDrag)),ne(l,"mousemove",s._delayedDragTouchMoveHandler),ne(l,"touchmove",s._delayedDragTouchMoveHandler),o.supportPointer&&ne(l,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(a,o.delay)}else a()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){k&&Yn(k),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;te(e,"mouseup",this._disableDelayedDrag),te(e,"touchend",this._disableDelayedDrag),te(e,"touchcancel",this._disableDelayedDrag),te(e,"pointerup",this._disableDelayedDrag),te(e,"pointercancel",this._disableDelayedDrag),te(e,"mousemove",this._delayedDragTouchMoveHandler),te(e,"touchmove",this._delayedDragTouchMoveHandler),te(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?ne(document,"pointermove",this._onTouchMove):t?ne(document,"touchmove",this._onTouchMove):ne(document,"mousemove",this._onTouchMove):(ne(k,"dragend",this),ne(be,"dragstart",this._onDragStart));try{document.selection?ks(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(yi=!1,be&&k){Qe("dragStarted",this,{evt:t}),this.nativeDraggable&&ne(document,"dragover",_d);var i=this.options;!e&&it(k,i.dragClass,!1),it(k,i.ghostClass,!0),B.active=this,e&&this._appendGhost(),Ye({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ft){this._lastX=ft.clientX,this._lastY=ft.clientY,fl();for(var e=document.elementFromPoint(ft.clientX,ft.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ft.clientX,ft.clientY),e!==t);)t=e;if(k.parentNode[Xe]._isOutsideThisEl(e),t)do{if(t[Xe]){var i=void 0;if(i=t[Xe]._onDragOver({clientX:ft.clientX,clientY:ft.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=el(t));gl()}},_onTouchMove:function(e){if(ni){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&Ci(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=As&&Ge&&nl(Ge),d=(n.clientX-ni.clientX+s.x)/(l||1)+(h?h[0]-Un[0]:0)/(l||1),c=(n.clientY-ni.clientY+s.y)/(a||1)+(h?h[1]-Un[1]:0)/(a||1);if(!B.active&&!yi){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(j){o?(o.e+=d-(Wn||0),o.f+=c-(Gn||0)):o={a:1,b:0,c:0,d:1,e:d,f:c};var u="matrix(".concat(o.a,",").concat(o.b,",").concat(o.c,",").concat(o.d,",").concat(o.e,",").concat(o.f,")");$(j,"webkitTransform",u),$(j,"mozTransform",u),$(j,"msTransform",u),$(j,"transform",u),Wn=d,Gn=c,ft=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=De(k,!0,As,!0,e),i=this.options;if(As){for(Ge=e;$(Ge,"position")==="static"&&$(Ge,"transform")==="none"&&Ge!==document;)Ge=Ge.parentNode;Ge!==document.body&&Ge!==document.documentElement?(Ge===document&&(Ge=yt()),t.top+=Ge.scrollTop,t.left+=Ge.scrollLeft):Ge=yt(),Un=nl(Ge)}j=k.cloneNode(!0),it(j,i.ghostClass,!1),it(j,i.fallbackClass,!0),it(j,i.dragClass,!0),$(j,"transition",""),$(j,"transform",""),$(j,"box-sizing","border-box"),$(j,"margin",0),$(j,"top",t.top),$(j,"left",t.left),$(j,"width",t.width),$(j,"height",t.height),$(j,"opacity","0.8"),$(j,"position",As?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",hl/parseInt(j.style.width)*100+"% "+dl/parseInt(j.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(Qe("dragStart",this,{evt:e}),B.eventCanceled){this._onDrop();return}Qe("setupClone",this),B.eventCanceled||(Oe=ll(k),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),it(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=ks(function(){Qe("clone",i),!B.eventCanceled&&(i.options.removeCloneOnHide||be.insertBefore(Oe,k),i._hideClone(),Ye({sortable:i,name:"clone"}))}),!t&&it(k,n.dragClass,!0),t?(ws=!0,i._loopId=setInterval(i._emulateDragOver,50)):(te(document,"mouseup",i._onDrop),te(document,"touchend",i._onDrop),te(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,k)),ne(document,"drop",i),$(k,"transform","translateZ(0)")),yi=!0,i._dragStartId=ks(i._dragStarted.bind(i,t,e)),ne(document,"selectstart",i),Qi=!0,window.getSelection().removeAllRanges(),Yi&&$(document.body,"user-select","none")},_onDragOver:function(e){var t=this.el,i=e.target,s,n,o,l=this.options,a=l.group,h=B.active,d=Es===a,c=l.sort,u=He||h,p,m=this,f=!1;if(jn)return;function g(ie,ze){Qe(ie,m,St({evt:e,isOwner:d,axis:p?"vertical":"horizontal",revert:o,dragRect:s,targetRect:n,canSort:c,fromSortable:u,target:i,completed:C,onMove:function(fe,xe){return Ps(be,t,k,s,fe,De(fe),e,xe)},changed:b},ze))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function C(ie){return g("dragOverCompleted",{insertion:ie}),ie&&(d?h._hideClone():h._showClone(m),m!==u&&(it(k,He?He.options.ghostClass:h.options.ghostClass,!1),it(k,l.ghostClass,!0)),He!==m&&m!==B.active?He=m:m===B.active&&He&&(He=null),u===m&&(m._ignoreWhileAnimating=i),m.animateAll(function(){g("dragOverAnimationComplete"),m._ignoreWhileAnimating=null}),m!==u&&(u.animateAll(),u._ignoreWhileAnimating=null)),(i===k&&!k.animated||i===t&&!i.animated)&&(Ei=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(k.parentNode[Xe]._isOutsideThisEl(e.target),!ie&&ri(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function b(){st=dt(k),Ut=dt(k,l.draggable),Ye({sortable:m,name:"change",toEl:t,newIndex:st,newDraggableIndex:Ut,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=mt(i,l.draggable,t,!0),g("dragOver"),B.eventCanceled)return f;if(k.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||m._ignoreWhileAnimating===i)return C(!1);if(ws=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Es.checkPull(this,h,k,e))&&a.checkPut(this,h,k,e))){if(p=this._getDirection(e,i)==="vertical",s=De(k),g("dragOverValid"),B.eventCanceled)return f;if(o)return Re=be,_(),this._hideClone(),g("revert"),B.eventCanceled||(si?be.insertBefore(k,si):be.appendChild(k)),C(!0);var S=Bn(t,l.draggable);if(!S||Sd(e,p,this)&&!S.animated){if(S===k)return C(!1);if(S&&t===e.target&&(i=S),i&&(n=De(i)),Ps(be,t,k,s,i,n,e,!!i)!==!1)return _(),S&&S.nextSibling?t.insertBefore(k,S.nextSibling):t.appendChild(k),Re=t,b(),C(!0)}else if(S&&bd(e,p,this)){var E=vi(t,0,l,!0);if(E===k)return C(!1);if(i=E,n=De(i),Ps(be,t,k,s,i,n,e,!1)!==!1)return _(),t.insertBefore(k,E),Re=t,b(),C(!0)}else if(i.parentNode===t){n=De(i);var y=0,x,O=k.parentNode!==t,I=!fd(k.animated&&k.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",D=sl(i,"top","top")||sl(k,"top","top"),L=D?D.scrollTop:void 0;Ei!==i&&(x=n[A],Ji=!1,Os=!I&&l.invertSwap||O),y=yd(e,i,n,p,I?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Os,Ei===i);var M;if(y!==0){var W=dt(k);do W-=y,M=Re.children[W];while(M&&($(M,"display")==="none"||M===j))}if(y===0||M===i)return C(!1);Ei=i,Zi=y;var K=i.nextElementSibling,J=!1;J=y===1;var X=Ps(be,t,k,s,i,n,e,J);if(X!==!1)return(X===1||X===-1)&&(J=X===1),jn=!0,setTimeout(vd,30),_(),J&&!K?t.appendChild(k):i.parentNode.insertBefore(k,J?K:i),D&&ol(D,0,L-D.scrollTop),Re=k.parentNode,x!==void 0&&!Os&&(xs=Math.abs(x-De(i)[A])),b(),C(!0)}if(t.contains(k))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){te(document,"mousemove",this._onTouchMove),te(document,"touchmove",this._onTouchMove),te(document,"pointermove",this._onTouchMove),te(document,"dragover",ri),te(document,"mousemove",ri),te(document,"touchmove",ri)},_offUpEvents:function(){var e=this.el.ownerDocument;te(e,"mouseup",this._onDrop),te(e,"touchend",this._onDrop),te(e,"pointerup",this._onDrop),te(e,"pointercancel",this._onDrop),te(e,"touchcancel",this._onDrop),te(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;if(st=dt(k),Ut=dt(k,i.draggable),Qe("drop",this,{evt:e}),Re=k&&k.parentNode,st=dt(k),Ut=dt(k,i.draggable),B.eventCanceled){this._nulling();return}yi=!1,Os=!1,Ji=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),qn(this.cloneId),qn(this._dragStartId),this.nativeDraggable&&(te(document,"drop",this),te(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Yi&&$(document.body,"user-select",""),$(k,"transform",""),e&&(Qi&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),j&&j.parentNode&&j.parentNode.removeChild(j),(be===Re||He&&He.lastPutMode!=="clone")&&Oe&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),k&&(this.nativeDraggable&&te(k,"dragend",this),Yn(k),k.style["will-change"]="",Qi&&!yi&&it(k,He?He.options.ghostClass:this.options.ghostClass,!1),it(k,this.options.chosenClass,!1),Ye({sortable:this,name:"unchoose",toEl:Re,newIndex:null,newDraggableIndex:null,originalEvent:e}),be!==Re?(st>=0&&(Ye({rootEl:Re,name:"add",toEl:Re,fromEl:be,originalEvent:e}),Ye({sortable:this,name:"remove",toEl:Re,originalEvent:e}),Ye({rootEl:Re,name:"sort",toEl:Re,fromEl:be,originalEvent:e}),Ye({sortable:this,name:"sort",toEl:Re,originalEvent:e})),He&&He.save()):st!==Si&&st>=0&&(Ye({sortable:this,name:"update",toEl:Re,originalEvent:e}),Ye({sortable:this,name:"sort",toEl:Re,originalEvent:e})),B.active&&((st==null||st===-1)&&(st=Si,Ut=Xi),Ye({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Qe("nulling",this),be=k=Re=j=si=Oe=ys=Gt=ni=ft=Qi=st=Ut=Si=Xi=Ei=Zi=He=Es=B.dragged=B.ghost=B.clone=B.active=null,Is.forEach(function(e){e.checked=!0}),Is.length=Wn=Gn=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":k&&(this._onDragOver(e),Cd(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,s=0,n=i.length,o=this.options;s<n;s++)t=i[s],mt(t,o.draggable,this.el,!1)&&e.push(t.getAttribute(o.dataIdAttr)||wd(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,o){var l=s.children[o];mt(l,this.options.draggable,s,!1)&&(i[n]=l)},this),t&&this.captureAnimationState(),e.forEach(function(n){i[n]&&(s.removeChild(i[n]),s.appendChild(i[n]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return mt(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Ki.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&ml(i)},destroy:function(){Qe("destroy",this);var e=this.el;e[Xe]=null,te(e,"mousedown",this._onTapStart),te(e,"touchstart",this._onTapStart),te(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(te(e,"dragover",this),te(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ts.splice(Ts.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!Gt){if(Qe("hideClone",this),B.eventCanceled)return;$(Oe,"display","none"),this.options.removeCloneOnHide&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),Gt=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(Gt){if(Qe("showClone",this),B.eventCanceled)return;k.parentNode==be&&!this.options.group.revertClone?be.insertBefore(Oe,k):si?be.insertBefore(Oe,si):be.appendChild(Oe),this.options.group.revertClone&&this.animate(k,Oe),$(Oe,"display",""),Gt=!1}}};function Cd(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Ps(r,e,t,i,s,n,o,l){var a,h=r[Xe],d=h.options.onMove,c;return window.CustomEvent&&!Mt&&!ji?a=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(a=document.createEvent("Event"),a.initEvent("move",!0,!0)),a.to=e,a.from=r,a.dragged=t,a.draggedRect=i,a.related=s||e,a.relatedRect=n||De(e),a.willInsertAfter=l,a.originalEvent=o,r.dispatchEvent(a),d&&(c=d.call(h,a,o)),c}function Yn(r){r.draggable=!1}function vd(){jn=!1}function bd(r,e,t){var i=De(vi(t.el,0,t.options,!0)),s=al(t.el,t.options,j),n=10;return e?r.clientX<s.left-n||r.clientY<i.top&&r.clientX<i.right:r.clientY<s.top-n||r.clientY<i.bottom&&r.clientX<i.left}function Sd(r,e,t){var i=De(Bn(t.el,t.options.draggable)),s=al(t.el,t.options,j),n=10;return e?r.clientX>s.right+n||r.clientY>i.bottom&&r.clientX>i.left:r.clientY>s.bottom+n||r.clientX>i.right&&r.clientY>i.top}function yd(r,e,t,i,s,n,o,l){var a=i?r.clientY:r.clientX,h=i?t.height:t.width,d=i?t.top:t.left,c=i?t.bottom:t.right,u=!1;if(!o){if(l&&xs<h*s){if(!Ji&&(Zi===1?a>d+h*n/2:a<c-h*n/2)&&(Ji=!0),Ji)u=!0;else if(Zi===1?a<d+xs:a>c-xs)return-Zi}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Ed(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Ed(r){return dt(k)<dt(r)?1:-1}function wd(r){for(var e=r.tagName+r.className+r.src+r.href+r.textContent,t=e.length,i=0;t--;)i+=e.charCodeAt(t);return i.toString(36)}function Td(r){Is.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&Is.push(i)}}function ks(r){return setTimeout(r,0)}function qn(r){return clearTimeout(r)}Rs&&ne(document,"touchmove",function(r){(B.active||yi)&&r.cancelable&&r.preventDefault()}),B.utils={on:ne,off:te,css:$,find:il,is:function(e,t){return!!mt(e,t,e,!1)},extend:ld,throttle:rl,closest:mt,toggleClass:it,clone:ll,index:dt,nextTick:ks,cancelNextTick:qn,detectDirection:pl,getChild:vi,expando:Xe},B.get=function(r){return r[Xe]},B.mount=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];e[0].constructor===Array&&(e=e[0]),e.forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(B.utils=St(St({},B.utils),i.utils)),Ki.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=rd;var Me=[],es,Kn,Xn=!1,Qn,Zn,Fs,ts;function Od(){function r(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return r.prototype={dragStarted:function(t){var i=t.originalEvent;this.sortable.nativeDraggable?ne(document,"dragover",this._handleAutoScroll):this.options.supportPointer?ne(document,"pointermove",this._handleFallbackAutoScroll):i.touches?ne(document,"touchmove",this._handleFallbackAutoScroll):ne(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?te(document,"dragover",this._handleAutoScroll):(te(document,"pointermove",this._handleFallbackAutoScroll),te(document,"touchmove",this._handleFallbackAutoScroll),te(document,"mousemove",this._handleFallbackAutoScroll)),_l(),Ds(),ad()},nulling:function(){Fs=Kn=es=Xn=ts=Qn=Zn=null,Me.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,i){var s=this,n=(t.touches?t.touches[0]:t).clientX,o=(t.touches?t.touches[0]:t).clientY,l=document.elementFromPoint(n,o);if(Fs=t,i||this.options.forceAutoScrollFallback||ji||Mt||Yi){Jn(t,this.options,l,i);var a=Wt(l,!0);Xn&&(!ts||n!==Qn||o!==Zn)&&(ts&&_l(),ts=setInterval(function(){var h=Wt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Ds()),Jn(t,s.options,h,i)},10),Qn=n,Zn=o)}else{if(!this.options.bubbleScroll||Wt(l,!0)===yt()){Ds();return}Jn(t,this.options,Wt(l,!1),!1)}}},Ft(r,{pluginName:"scroll",initializeByDefault:!0})}function Ds(){Me.forEach(function(r){clearInterval(r.pid)}),Me=[]}function _l(){clearInterval(ts)}var Jn=rl(function(r,e,t,i){if(e.scroll){var s=(r.touches?r.touches[0]:r).clientX,n=(r.touches?r.touches[0]:r).clientY,o=e.scrollSensitivity,l=e.scrollSpeed,a=yt(),h=!1,d;Kn!==t&&(Kn=t,Ds(),es=e.scroll,d=e.scrollFn,es===!0&&(es=Wt(t,!0)));var c=0,u=es;do{var p=u,m=De(p),f=m.top,g=m.bottom,_=m.left,C=m.right,b=m.width,S=m.height,E=void 0,y=void 0,x=p.scrollWidth,O=p.scrollHeight,I=$(p),A=p.scrollLeft,D=p.scrollTop;p===a?(E=b<x&&(I.overflowX==="auto"||I.overflowX==="scroll"||I.overflowX==="visible"),y=S<O&&(I.overflowY==="auto"||I.overflowY==="scroll"||I.overflowY==="visible")):(E=b<x&&(I.overflowX==="auto"||I.overflowX==="scroll"),y=S<O&&(I.overflowY==="auto"||I.overflowY==="scroll"));var L=E&&(Math.abs(C-s)<=o&&A+b<x)-(Math.abs(_-s)<=o&&!!A),M=y&&(Math.abs(g-n)<=o&&D+S<O)-(Math.abs(f-n)<=o&&!!D);if(!Me[c])for(var W=0;W<=c;W++)Me[W]||(Me[W]={});(Me[c].vx!=L||Me[c].vy!=M||Me[c].el!==p)&&(Me[c].el=p,Me[c].vx=L,Me[c].vy=M,clearInterval(Me[c].pid),(L!=0||M!=0)&&(h=!0,Me[c].pid=setInterval((function(){i&&this.layer===0&&B.active._onTouchMove(Fs);var K=Me[this.layer].vy?Me[this.layer].vy*l:0,J=Me[this.layer].vx?Me[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[Xe],J,K,r,Fs,Me[this.layer].el)!=="continue"||ol(Me[this.layer].el,J,K)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=Wt(u,!1)));Xn=h}},30),Cl=function(e){var t=e.originalEvent,i=e.putSortable,s=e.dragEl,n=e.activeSortable,o=e.dispatchSortableEvent,l=e.hideGhostForTarget,a=e.unhideGhostForTarget;if(t){var h=i||n;l();var d=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,c=document.elementFromPoint(d.clientX,d.clientY);a(),h&&!h.el.contains(c)&&(o("spill"),this.onSpill({dragEl:s,putSortable:i}))}};function er(){}er.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var s=vi(this.sortable.el,this.startIndex,this.options);s?this.sortable.el.insertBefore(t,s):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:Cl},Ft(er,{pluginName:"revertOnSpill"});function tr(){}tr.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable,s=i||this.sortable;s.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),s.animateAll()},drop:Cl},Ft(tr,{pluginName:"removeOnSpill"}),B.mount(new Od),B.mount(tr,er);function vl(r){let{containerElement:e}=r;const{onDragInit:t,onDragStart:i,onDrag:s,onDragEnd:n,preventDragFromKeys:o}=r;let l,a,h,d,c,u;e||(e=document.body);let p={dragSource:e,dragHandle:null};function m(){e&&(e.addEventListener("mousedown",C),e.addEventListener("touchstart",C))}function f(E,y,x){if(typeof E=="function")return E(y,x)}function g(){e&&(e.removeEventListener("mousedown",C),e.removeEventListener("touchstart",C))}function _(E){let y=!1;return o&&o.forEach(x=>{E[x]&&(y=!0)}),y}function C(E){var y;if(l=E.target,!_(E)){const x=((y=E==null?void 0:E.touches)==null?void 0:y[0])??E,{target:O}=x;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const I=yn();a=I.left+x.clientX,h=I.top+x.clientY,d=x.clientX-x.clientX,c=x.clientY-x.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,E,p)!==!1&&(document.body.addEventListener("mousemove",b),document.body.addEventListener("touchmove",b),document.body.addEventListener("mouseup",S),document.body.addEventListener("touchend",S),document.body.addEventListener("touchcancel",S))}}}function b(E){var x;const y=((x=E==null?void 0:E.touches)==null?void 0:x[0])??E;if(!_(E)){d=y.clientX-a,c=y.clientY-h;const{target:O}=y;u||(p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(i,E,p),u=!0),p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(s,E,p)}}function S(E){if(document.body.removeEventListener("mousemove",b),document.body.removeEventListener("touchmove",b),document.body.removeEventListener("mouseup",S),document.body.removeEventListener("touchend",S),document.body.removeEventListener("touchcancel",S),u){const{target:y}=E;p=Object.assign(p,{target:y}),f(n,E,p),u=!1}}return m(),{destroy:g}}function bl(r){const{element:e,onMouseWheel:t}=r;function i(){e.removeEventListener("wheel",n),e.removeEventListener("mousewheel",n)}function s(){e.addEventListener("wheel",n),e.addEventListener("mousewheel",n)}function n(o){const l=o||window.event;let a=0,h=0,d=0;l.wheelDelta&&(a=l.wheelDelta/120),l.detail&&(a=-l.detail/3),d=a,l.axis!==void 0&&l.axis===l.HORIZONTAL_AXIS&&(d=0,h=-1*a),l.wheelDeltaY!==void 0&&(d=l.wheelDeltaY/120),l.wheelDeltaX!==void 0&&(h=-1*l.wheelDeltaX/120),typeof t=="function"&&t(o,a,h,d)}return s(),{destroy:i}}function xd(r){const{resizeableElement:e,resizeableHandleElement:t,onResizeStart:i,onResize:s,onResizeEnd:n}=r;if(!t||typeof t.addEventListener!="function")throw new Error("[SlickResizable] You did not provide a valid html element that will be used for the handle to resize.");function o(){t.addEventListener("mousedown",h),t.addEventListener("touchstart",h)}function l(){typeof(t==null?void 0:t.removeEventListener)=="function"&&(t.removeEventListener("mousedown",h),t.removeEventListener("touchstart",h))}function a(u,p){if(typeof u=="function")return u(p,{resizeableElement:e,resizeableHandleElement:t})}function h(u){u.preventDefault();const p=u.touches?u.changedTouches[0]:u;a(i,p)!==!1&&(document.body.addEventListener("mousemove",d),document.body.addEventListener("mouseup",c),document.body.addEventListener("touchmove",d),document.body.addEventListener("touchend",c))}function d(u){u.preventDefault&&u.type!=="touchmove"&&u.preventDefault();const p=u.touches?u.changedTouches[0]:u;typeof s=="function"&&s(p,{resizeableElement:e,resizeableHandleElement:t})}function c(u){const p=u.touches?u.changedTouches[0]:u;a(n,p),document.body.removeEventListener("mousemove",d),document.body.removeEventListener("mouseup",c),document.body.removeEventListener("touchmove",d),document.body.removeEventListener("touchend",c)}return o(),{destroy:l}}class Id{constructor(e,t,i,s,n){if(this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.canvas=null,this.canvas_context=null,this._defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableHtmlRendering:!0,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,autoEditNewRow:!0,autoCommitEdit:!1,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,unorderableColumnCssClass:"unorderable",asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,columnResizingDelay:300,nonce:"",editorLock:Ui,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,createTopHeaderPanel:!1,showPreHeaderPanel:!1,showTopHeaderPanel:!1,preHeaderPanelHeight:25,preHeaderPanelWidth:"auto",topHeaderPanelHeight:25,topHeaderPanelWidth:"auto",showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",rowHighlightCssClass:"highlight-animate",rowHighlightDuration:400,selectedCellCssClass:"selected",multiSelect:!0,enableCellRowSpan:!1,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,frozenRightViewportMinWidth:100,throwWhenFrozenNotAllViewable:!1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter:this.defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,preventDragFromKeys:["ctrlKey","metaKey"],showCellSelection:!0,viewportClass:void 0,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,rowTopOffsetRenderType:"top",scrollRenderThrottling:10,suppressCssChangesOnHiddenInit:!1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,maxPartialRowSpanRemap:5e3,sanitizer:void 0,mixinDefaults:!1,shadowRoot:void 0},this._columnDefaults={name:"",headerCssClass:null,defaultSortAsc:!0,focusable:!0,hidden:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,reorderable:!0,resizable:!0,sortable:!1,selectable:!0},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new Pe,this.initialized=!1,this.uid=`slickgrid_${Math.round(1e6*Math.random())}`,this._groupHeaders=[],this._headerScroller=[],this._headers=[],this._boundAncestors=[],this.viewportH=0,this.viewportW=0,this.canvasWidth=0,this.canvasWidthL=0,this.canvasWidthR=0,this.headersWidth=0,this.headersWidthL=0,this.headersWidthR=0,this.viewportHasHScroll=!1,this.viewportHasVScroll=!1,this.headerColumnWidthDiff=0,this.headerColumnHeightDiff=0,this.cellWidthDiff=0,this.cellHeightDiff=0,this.hasFrozenRows=!1,this.frozenRowsHeight=0,this.actualFrozenRow=-1,this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.topPanelH=0,this.headerRowH=0,this.footerRowH=0,this.tabbingDirection=1,this.activeCellNode=null,this.currentEditor=null,this._prevDataLength=0,this._prevInvalidatedRowsCount=0,this._rowSpanIsCached=!1,this._colsWithRowSpanCache={},this.rowsCache={},this.renderedRows=0,this.numVisibleRows=0,this.prevScrollTop=0,this.scrollHeight=0,this.scrollTop=0,this.lastRenderedScrollTop=0,this.lastRenderedScrollLeft=0,this.prevScrollLeft=0,this.scrollLeft=0,this.selectedRows=[],this.plugins=[],this.cellCssClasses={},this.columnsById={},this.sortColumns=[],this.columnPosLeft=[],this.columnPosRight=[],this.pagingActive=!1,this.pagingIsLastPage=!1,this.postProcessedRows={},this.postProcessToRow=null,this.postProcessFromRow=null,this.postProcessedCleanupQueue=[],this.postProcessgroupId=0,this.counter_rows_rendered=0,this.counter_rows_removed=0,this.cssShow={position:"absolute",visibility:"hidden",display:"block"},this._hiddenParents=[],this.oldProps=[],this.enforceFrozenRowHeightRecalc=!1,this.columnResizeDragging=!1,this.slickDraggableInstance=null,this.slickMouseWheelInstances=[],this.slickResizableInstances=[],this._container=typeof this.container=="string"?document.querySelector(this.container):this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);this._pubSubService=n,this.onActiveCellChanged=new P("onActiveCellChanged",n),this.onActiveCellPositionChanged=new P("onActiveCellPositionChanged",n),this.onAddNewRow=new P("onAddNewRow",n),this.onAfterSetColumns=new P("onAfterSetColumns",n),this.onAutosizeColumns=new P("onAutosizeColumns",n),this.onBeforeAppendCell=new P("onBeforeAppendCell",n),this.onBeforeCellEditorDestroy=new P("onBeforeCellEditorDestroy",n),this.onBeforeColumnsResize=new P("onBeforeColumnsResize",n),this.onBeforeDestroy=new P("onBeforeDestroy",n),this.onBeforeEditCell=new P("onBeforeEditCell",n),this.onBeforeFooterRowCellDestroy=new P("onBeforeFooterRowCellDestroy",n),this.onBeforeHeaderCellDestroy=new P("onBeforeHeaderCellDestroy",n),this.onBeforeHeaderRowCellDestroy=new P("onBeforeHeaderRowCellDestroy",n),this.onBeforeRemoveCachedRow=new P("onRowRemovedFromCache",n),this.onBeforeSetColumns=new P("onBeforeSetColumns",n),this.onBeforeSort=new P("onBeforeSort",n),this.onBeforeUpdateColumns=new P("onBeforeUpdateColumns",n),this.onCellChange=new P("onCellChange",n),this.onCellCssStylesChanged=new P("onCellCssStylesChanged",n),this.onClick=new P("onClick",n),this.onColumnsReordered=new P("onColumnsReordered",n),this.onColumnsDrag=new P("onColumnsDrag",n),this.onColumnsResized=new P("onColumnsResized",n),this.onColumnsResizeDblClick=new P("onColumnsResizeDblClick",n),this.onCompositeEditorChange=new P("onCompositeEditorChange",n),this.onContextMenu=new P("onContextMenu",n),this.onDblClick=new P("onDblClick",n),this.onDrag=new P("onDrag",n),this.onDragInit=new P("onDragInit",n),this.onDragStart=new P("onDragStart",n),this.onDragEnd=new P("onDragEnd",n),this.onFooterClick=new P("onFooterClick",n),this.onFooterContextMenu=new P("onFooterContextMenu",n),this.onFooterRowCellRendered=new P("onFooterRowCellRendered",n),this.onHeaderCellRendered=new P("onHeaderCellRendered",n),this.onHeaderClick=new P("onHeaderClick",n),this.onHeaderContextMenu=new P("onHeaderContextMenu",n),this.onHeaderMouseEnter=new P("onHeaderMouseEnter",n),this.onHeaderMouseLeave=new P("onHeaderMouseLeave",n),this.onHeaderMouseOver=new P("onHeaderMouseOver",n),this.onHeaderMouseOut=new P("onHeaderMouseOut",n),this.onHeaderRowMouseOver=new P("onHeaderRowMouseOver",n),this.onHeaderRowMouseOut=new P("onHeaderRowMouseOut",n),this.onHeaderRowCellRendered=new P("onHeaderRowCellRendered",n),this.onHeaderRowMouseEnter=new P("onHeaderRowMouseEnter",n),this.onHeaderRowMouseLeave=new P("onHeaderRowMouseLeave",n),this.onKeyDown=new P("onKeyDown",n),this.onMouseEnter=new P("onMouseEnter",n),this.onMouseLeave=new P("onMouseLeave",n),this.onPreHeaderClick=new P("onPreHeaderClick",n),this.onPreHeaderContextMenu=new P("onPreHeaderContextMenu",n),this.onRendered=new P("onRendered",n),this.onScroll=new P("onScroll",n),this.onSelectedRowsChanged=new P("onSelectedRowsChanged",n),this.onSetOptions=new P("onSetOptions",n),this.onActivateChangedOptions=new P("onActivateChangedOptions",n),this.onSort=new P("onSort",n),this.onValidationError=new P("onValidationError",n),this.onViewportChanged=new P("onViewportChanged",n),this.initialize(s)}init(){!this._options.silenceWarnings&&document.body.style.zoom&&document.body.style.zoom!=="100%"&&console.warn("[Slickgrid] Zoom level other than 100% is not supported by the library and will give subpar experience. SlickGrid relies on the `rowHeight` grid option to do row positioning & calculation and when zoom is not 100% then calculation becomes all offset."),this.finishInitialization()}applyHtmlCode(e,t="",i){if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment)(i==null?void 0:i.emptyTarget)!==!1&&ee(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!q(t)&&!e.innerHTML)return;if(typeof t=="number"||typeof t=="boolean")e.textContent=String(t);else{const n=this.sanitizeHtmlString(t);this._options.enableHtmlRendering&&n?e.innerHTML=n:e.textContent=n}}}initialize(e){e!=null&&e.mixinDefaults?(this._options||(this._options=e),T.applyDefaults(this._options,this._defaults)):this._options=de(!0,{},this._defaults,e),this.scrollThrottle=this.actionThrottle(this.render.bind(this),this._options.scrollRenderThrottling),this.maxSupportedCssHeight=this.maxSupportedCssHeight||this.getMaxSupportedCssHeight(),this.validateAndEnforceOptions(),this._columnDefaults.width=this._options.defaultColumnWidth,this._options.suppressCssChangesOnHiddenInit||this.cacheCssForHiddenInit(),this.updateColumnProps(),this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},ee(this._container),this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("slick-widget"),this._container.setAttribute("role","grid");const t=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(t.position)||(this._container.style.position="relative"),this._focusSink=v("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller=v("div",{className:"slick-topheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._container),this._topHeaderPanelScroller.appendChild(document.createElement("div")),this._topHeaderPanel=v("div",null,this._topHeaderPanelScroller),this._topHeaderPanelSpacer=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._topHeaderPanelScroller),this._options.showTopHeaderPanel||T.hide(this._topHeaderPanelScroller)),this._paneHeaderL=v("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=v("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=v("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=v("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=v("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=v("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=v("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=v("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=v("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=v("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(T.hide(this._preHeaderPanelScroller),T.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=v("div",{className:"slick-header slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=v("div",{className:"slick-header slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=v("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=v("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=v("div",{className:"slick-headerrow slick-state-default"},this._paneTopL),this._headerRowScrollerR=v("div",{className:"slick-headerrow slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=v("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=v("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=v("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopL),this._topPanelScrollerR=v("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=v("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=v("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(i=>{T.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{T.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{T.hide(i)}),this._viewportTopL=v("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=v("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=v("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=v("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-right",tabIndex:0},this._paneBottomR),this._viewport=[this._viewportTopL,this._viewportTopR,this._viewportBottomL,this._viewportBottomR],this._options.viewportClass&&this._viewport.forEach(i=>{i.classList.add(...he(this._options.viewportClass))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=v("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=v("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=v("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=v("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-right",tabIndex:0},this._viewportBottomR),this._canvas=[this._canvasTopL,this._canvasTopR,this._canvasBottomL,this._canvasBottomR],this.scrollbarDimensions=this.scrollbarDimensions||this.measureScrollbar(),this._activeCanvasNode=this._canvasTopL,this._topHeaderPanelSpacer&&T.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&T.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{T.width(i,this.getHeadersWidth())}),T.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),T.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=v("div",{className:"slick-footerrow slick-state-default"},this._paneTopR),this._footerRowScrollerL=v("div",{className:"slick-footerrow slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),T.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=v("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),T.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=v("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=v("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(i=>{T.hide(i)})),this._focusSink2=this._focusSink.cloneNode(!0),this._container.appendChild(this._focusSink2),this._options.explicitInitialization||this.finishInitialization()}finishInitialization(){this.initialized||(this.initialized=!0,this.getViewportWidth(),this.getViewportHeight(),this.measureCellPaddingAndBorder(),this.disableSelection(this._headers),this._options.enableTextSelectionOnCells||this._viewport.forEach(e=>{this._bindingEventService.bind(e,"selectstart",t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement})}),this.setFrozenOptions(),this.setPaneFrozenClasses(),this.setPaneVisibility(),this.setScroller(),this.setOverflow(),this.updateColumnCaches(),this.createColumnHeaders(),this.createColumnFooter(),this.setupColumnSort(),this.createCssRules(),this.resizeCanvas(),this.bindAncestorScrollEvents(),this._bindingEventService.bind(this._container,"resize",this.resizeCanvas.bind(this)),this._viewport.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(e=>{this.slickMouseWheelInstances.push(bl({element:e,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createTopHeaderPanel&&this._bindingEventService.bind(this._topHeaderPanelScroller,"scroll",this.handleTopHeaderPanelScroll.bind(this)),this._options.createPreHeaderPanel&&(this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"contextmenu",this.handlePreHeaderContextMenu.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"click",this.handlePreHeaderClick.bind(this))),this._bindingEventService.bind(this._focusSink,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(this._focusSink2,"keydown",this.handleKeyDown.bind(this)),this._canvas.forEach(e=>{this._bindingEventService.bind(e,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(e,"click",this.handleClick.bind(this)),this._bindingEventService.bind(e,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(e,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(e,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(e,"mouseout",this.handleCellMouseOut.bind(this))}),vl&&(this.slickDraggableInstance=vl({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",preventDragFromKeys:this._options.preventDragFromKeys,onDragInit:this.handleDragInit.bind(this),onDragStart:this.handleDragStart.bind(this),onDrag:this.handleDrag.bind(this),onDragEnd:this.handleDragEnd.bind(this)})),this._options.suppressCssChangesOnHiddenInit||this.restoreCssFromHiddenInit())}cacheCssForHiddenInit(){this._hiddenParents=T.parents(this._container,":hidden"),this.oldProps=[],this._hiddenParents.forEach(e=>{const t={};Object.keys(this.cssShow).forEach(i=>{this.cssShow&&(t[i]=e.style[i],e.style[i]=this.cssShow[i])}),this.oldProps.push(t)})}restoreCssFromHiddenInit(){let e=0;this._hiddenParents&&(this._hiddenParents.forEach(t=>{const i=this.oldProps[e++];Object.keys(this.cssShow).forEach(s=>{this.cssShow&&(t.style[s]=i[s])})}),this._hiddenParents=[])}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(e){this.plugins.unshift(e),e.init(this)}unregisterPlugin(e){var t;for(let i=this.plugins.length;i>=0;i--)if(this.plugins[i]===e){(t=this.plugins[i])==null||t.destroy(),this.plugins.splice(i,1);break}}getPluginByName(e){var t;for(let i=this.plugins.length-1;i>=0;i--)if(((t=this.plugins[i])==null?void 0:t.pluginName)===e)return this.plugins[i]}getPubSubService(){return this._pubSubService}setSelectionModel(e){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=e,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(e,t){return this._getContainerElement(this.getCanvases(),e,t)}getActiveCanvasNode(e){var t;return e===void 0?this._activeCanvasNode:(e instanceof le&&(e=e.getNativeEvent()),this._activeCanvasNode=(t=e==null?void 0:e.target)==null?void 0:t.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(e,t){return this._getContainerElement(this.getViewports(),e,t)}getViewports(){return this._viewport}getActiveViewportNode(e){return this.setActiveViewportNode(e),this._activeViewportNode}setActiveViewportNode(e){var t;return e instanceof le&&(e=e.getNativeEvent()),this._activeViewportNode=(t=e==null?void 0:e.target)==null?void 0:t.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(e,t,i){if(!e)return;t||(t=0),i||(i=0);const s=typeof t=="number"?t:this.getColumnIndex(t),n=this.hasFrozenRows&&i>=this.actualFrozenRow+(this._options.frozenBottom?0:1),o=this.hasFrozenColumns()&&s>this._options.frozenColumn;return e[(n?2:0)+(o?1:0)]}measureScrollbar(){let e="";this._viewport.forEach(n=>e+=n.className);const t=v("div",{className:e,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),i=v("div",{style:{width:"200px",height:"200px",overflow:"auto"}},t),s={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};return i.remove(),t.remove(),s}getHeadersWidth(){var s,n,o,l;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const e=!this._options.autoHeight;let t=0;const i=this.columns.length;for(t=0;t<i;t++){if(!this.columns[t]||this.columns[t].hidden)continue;const a=this.columns[t].width;this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=a||0:this.headersWidthL+=a||0}return e&&(this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=((s=this.scrollbarDimensions)==null?void 0:s.width)||0:this.headersWidthL+=((n=this.scrollbarDimensions)==null?void 0:n.width)||0),this.hasFrozenColumns()?(this.headersWidthL=this.headersWidthL+1e3,this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.headersWidthL,this.headersWidthR+=((o=this.scrollbarDimensions)==null?void 0:o.width)||0):(this.headersWidthL+=((l=this.scrollbarDimensions)==null?void 0:l.width)||0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidth=this.headersWidthL+this.headersWidthR,Math.max(this.headersWidth,this.viewportW)+1e3}getCanvasWidth(){const e=this.getViewportInnerWidth();let t=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;t--;)!this.columns[t]||this.columns[t].hidden||(this.hasFrozenColumns()&&t>this._options.frozenColumn?this.canvasWidthR+=this.columns[t].width||0:this.canvasWidthL+=this.columns[t].width||0);let i=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const s=Math.max(i,e)-i;s>0&&(i+=s,this.hasFrozenColumns()?this.canvasWidthR+=s:this.canvasWidthL+=s)}return i}updateCanvasWidth(e){var o,l,a,h,d;const t=this.canvasWidth,i=this.canvasWidthL,s=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth(),this._options.createTopHeaderPanel&&T.width(this._topHeaderPanel,this._options.topHeaderPanelWidth??this.canvasWidth);const n=this.canvasWidth!==t||this.canvasWidthL!==i||this.canvasWidthR!==s;if(n||this.hasFrozenColumns()||this.hasFrozenRows)if(T.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),T.width(this._headerL,this.headersWidthL),T.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const c=T.width(this._container)||0;if(c>0&&this.canvasWidthL>c&&this._options.throwWhenFrozenNotAllViewable)throw new Error("[SlickGrid] Frozen columns cannot be wider than the actual grid container width. Make sure to have less columns freezed or make your grid container wider");T.width(this._canvasTopR,this.canvasWidthR),T.width(this._paneHeaderL,this.canvasWidthL),T.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),T.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),T.width(this._paneTopL,this.canvasWidthL),T.setStyleSize(this._paneTopR,"left",this.canvasWidthL),T.width(this._paneTopR,this.viewportW-this.canvasWidthL),T.width(this._headerRowScrollerL,this.canvasWidthL),T.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),T.width(this._headerRowL,this.canvasWidthL),T.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(T.width(this._footerRowScrollerL,this.canvasWidthL),T.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),T.width(this._footerRowL,this.canvasWidthL),T.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&T.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),T.width(this._viewportTopL,this.canvasWidthL),T.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(T.width(this._paneBottomL,this.canvasWidthL),T.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),T.width(this._viewportBottomL,this.canvasWidthL),T.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),T.width(this._canvasBottomL,this.canvasWidthL),T.width(this._canvasBottomR,this.canvasWidthR))}else T.width(this._paneHeaderL,"100%"),T.width(this._paneTopL,"100%"),T.width(this._headerRowScrollerL,"100%"),T.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(T.width(this._footerRowScrollerL,"100%"),T.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&T.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),T.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(T.width(this._viewportBottomL,"100%"),T.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((o=this.scrollbarDimensions)==null?void 0:o.width)||0),T.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),T.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((a=this.scrollbarDimensions)==null?void 0:a.width)||0)),this._options.createFooterRow&&(T.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((h=this.scrollbarDimensions)==null?void 0:h.width)||0)),T.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((d=this.scrollbarDimensions)==null?void 0:d.width)||0))),(n||e)&&this.applyColumnWidths()}disableSelection(e){e.forEach(t=>{t.setAttribute("unselectable","on"),t.style.mozUserSelect="none",this._bindingEventService.bind(t,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let e=1e6;const t=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,i=v("div",{style:{display:"hidden"}},document.body);let s=!0;for(;s;){const n=e*2;T.height(i,n);const o=T.height(i);if(n>t||o!==n){s=!1;break}else e=n}return i.remove(),e}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var e,t;return{width:this.viewportHasVScroll&&((e=this.scrollbarDimensions)!=null&&e.width)?this.scrollbarDimensions.width:0,height:this.viewportHasHScroll&&((t=this.scrollbarDimensions)!=null&&t.height)?this.scrollbarDimensions.height:0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let e=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(e=e.parentNode)!==document.body&&e;)(e===this._viewportTopL||e.scrollWidth!==e.clientWidth||e.scrollHeight!==e.clientHeight)&&(this._boundAncestors.push(e),this._bindingEventService.bind(e,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(e=>{this._bindingEventService.unbindByEventName(e,"scroll")}),this._boundAncestors=[]}updateColumnHeader(e,t,i){if(this.initialized){const s=this.getColumnIndex(e);if(!q(s))return;const n=this.columns[s],o=this.getColumnByIndex(s);return o&&(t!==void 0&&(this.columns[s].name=t),i!==void 0&&(this.columns[s].toolTip=i),this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:o,column:n,grid:this}),o.setAttribute("title",i||""),t!==void 0&&this.applyHtmlCode(o.children[0],t),this.triggerEvent(this.onHeaderCellRendered,{node:o,column:n,grid:this})),o}}getHeader(e){if(!e)return this.hasFrozenColumns()?this._headers:this._headerL;const t=this.getColumnIndex(e.id);return this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(e){const t=typeof e=="number"?e:this.getColumnIndex(e),i=this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?t<=this._options.frozenColumn?t:t-this._options.frozenColumn-1:t;return i.children[s]}getHeaderRow(){var e;return this.hasFrozenColumns()?this._headerRows:(e=this._headerRows)==null?void 0:e[0]}getFooterRow(){var e;return this.hasFrozenColumns()?this._footerRow:(e=this._footerRow)==null?void 0:e[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getTopHeaderPanel(){return this._topHeaderPanel}getHeaderRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._headerRowL:(i=this._headerRowR,t-=this._options.frozenColumn+1):i=this._headerRowL,i.children[t]}getFooterRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._footerRowL:(i=this._footerRowR,t-=this._options.frozenColumn+1):i=this._footerRowL,i==null?void 0:i.children[t]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(e=>{e.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=T.storage.get(i,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),ee(this._footerRowL),ee(this._footerRowR);for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=v("div",{className:`slick-state-default slick-footerrow-column l${e} r${e}`},this.hasFrozenColumns()&&e>this._options.frozenColumn?this._footerRowR:this._footerRowL),s=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;s&&i.classList.add(s),T.storage.put(i,"column",t),this.triggerEvent(this.onFooterRowCellRendered,{node:i,column:t,grid:this})}}}handleHeaderMouseHoverOn(e){e==null||e.target.classList.add("slick-state-hover")}handleHeaderMouseHoverOff(e){e==null||e.target.classList.remove("slick-state-hover")}createColumnHeaders(){this._headers.forEach(e=>{e.querySelectorAll(".slick-header-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),ee(this._headerL),ee(this._headerR),this.getHeadersWidth(),T.width(this._headerL,this.headersWidthL),T.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),ee(this._headerRowL),ee(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=T.storage.get(t,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),ee(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=T.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),ee(this._footerRowR)));for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerRowL:this._headerRowR:this._headerRowL,n=v("div",{id:`${this.uid+t.id}`,dataset:{id:String(t.id)},role:"columnheader",className:"slick-state-default slick-header-column"},i);t.toolTip&&(n.title=t.toolTip),t.reorderable||n.classList.add(this._options.unorderableColumnCssClass);const o=v("span",{className:"slick-column-name"},n);this.applyHtmlCode(o,t.name),T.width(n,t.width-this.headerColumnWidthDiff);let l=t.headerCssClass||null;if(l&&n.classList.add(...he(l)),l=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null,l&&n.classList.add(l),this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseEnter.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseLeave.bind(this)),this._bindingEventService.bind(n,"mouseover",this.handleHeaderMouseOver.bind(this)),this._bindingEventService.bind(n,"mouseout",this.handleHeaderMouseOut.bind(this)),T.storage.put(n,"column",t),(this._options.enableColumnReorder||t.sortable)&&(this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseHoverOn.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseHoverOff.bind(this))),t.hasOwnProperty("headerCellAttrs")&&t.headerCellAttrs instanceof Object&&Object.keys(t.headerCellAttrs).forEach(a=>{t.headerCellAttrs.hasOwnProperty(a)&&n.setAttribute(a,t.headerCellAttrs[a])}),t.sortable&&(n.classList.add("slick-header-sortable"),v("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},n),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&v("div",{className:"slick-sort-indicator-numbered"},n)),this.triggerEvent(this.onHeaderCellRendered,{node:n,column:t,grid:this}),this._options.showHeaderRow){const a=v("div",{className:`slick-state-default slick-headerrow-column l${e} r${e}`},s),h=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;h&&a.classList.add(h),this._bindingEventService.bind(a,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(a,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),this._bindingEventService.bind(a,"mouseover",this.handleHeaderRowMouseOver.bind(this)),this._bindingEventService.bind(a,"mouseout",this.handleHeaderRowMouseOut.bind(this)),T.storage.put(a,"column",t),this.triggerEvent(this.onHeaderRowCellRendered,{node:a,column:t,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const a=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],h=v("div",{className:`slick-state-default slick-footerrow-column l${e} r${e}`},a);T.storage.put(h,"column",t),this.triggerEvent(this.onFooterRowCellRendered,{node:h,column:t,grid:this})}}this.setSortColumns(this.sortColumns),this.setupColumnResize(),this._options.enableColumnReorder&&(typeof this._options.enableColumnReorder=="function"?this._options.enableColumnReorder(this,this._headers,this.headerColumnWidthDiff,this.setColumns,this.setupColumnResize,this.columns,this.getColumnIndex,this.uid,this.triggerEvent):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(e=>{this._bindingEventService.bind(e,"click",t=>{var n;if(this.columnResizeDragging||t.target.classList.contains("slick-resizable-handle"))return;const i=t.target.closest(".slick-header-column");if(!i)return;const s=T.storage.get(i,"column");if(s!=null&&s.sortable){if(!((n=this.getEditorLock())!=null&&n.commitCurrentEdit()))return;const o=this.sortColumns.slice();let l=null,a=0;for(;a<this.sortColumns.length;a++)if(this.sortColumns[a].columnId===s.id){l=this.sortColumns[a],l.sortAsc=!l.sortAsc;break}const h=!!l;this._options.tristateMultiColumnSort?(l||(l={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s}),h&&l.sortAsc&&(this.sortColumns.splice(a,1),l=null),this._options.multiColumnSort||(this.sortColumns=[]),l&&(!h||!this._options.multiColumnSort)&&this.sortColumns.push(l)):t.metaKey&&this._options.multiColumnSort?l&&this.sortColumns.splice(a,1):((!t.shiftKey&&!t.metaKey||!this._options.multiColumnSort)&&(this.sortColumns=[]),l?this.sortColumns.length===0&&this.sortColumns.push(l):(l={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s},this.sortColumns.push(l)));let d;this._options.multiColumnSort?d={multiColumnSort:!0,previousSortColumns:o,sortCols:this.sortColumns.map(c=>{const u=this.columns[this.getColumnIndex(c.columnId)];return u&&!u.hidden?{columnId:u.id,sortCol:u,sortAsc:c.sortAsc}:null}).filter(c=>c)}:d={multiColumnSort:!1,previousSortColumns:o,columnId:this.sortColumns.length>0?s.id:null,sortCol:this.sortColumns.length>0?s:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.triggerEvent(this.onBeforeSort,d,t).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.triggerEvent(this.onSort,d,t))}})})}setupColumnReorder(){var o,l;(o=this.sortableSideLeftInstance)==null||o.destroy(),(l=this.sortableSideRightInstance)==null||l.destroy();let e;const t=()=>this._viewportScrollContainerX.scrollLeft+=10,i=()=>this._viewportScrollContainerX.scrollLeft-=10;let s=!1;const n={animation:50,direction:"horizontal",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),filter:`.${this._options.unorderableColumnCssClass}`,onMove:a=>!a.related.classList.contains(this._options.unorderableColumnCssClass),onStart:a=>{a.item.classList.add("slick-header-column-active"),s=!this.hasFrozenColumns()||ge(a.item).left>ge(this._viewportScrollContainerX).left,s&&a.originalEvent.pageX>this._container.clientWidth?e||(e=window.setInterval(t,100)):s&&a.originalEvent.pageX<ge(this._viewportScrollContainerX).left?e||(e=window.setInterval(i,100)):window.clearInterval(e)},onEnd:a=>{var c,u,p;if(a.item.classList.remove("slick-header-column-active"),window.clearInterval(e),!((c=this.getEditorLock())!=null&&c.commitCurrentEdit()))return;let h=((u=this.sortableSideLeftInstance)==null?void 0:u.toArray())??[];h=h.concat(((p=this.sortableSideRightInstance)==null?void 0:p.toArray())??[]);const d=[];for(let m=0;m<h.length;m++)d.push(this.columns[this.getColumnIndex(h[m])]);this.setColumns(d),this.triggerEvent(this.onColumnsReordered,{impactedColumns:this.columns}),a.stopPropagation(),this.setupColumnResize(),this.activeCellNode&&this.setFocus()}};this.sortableSideLeftInstance=B.create(this._headerL,n),this.sortableSideRightInstance=B.create(this._headerR,n)}getHeaderChildren(){const e=Array.from(this._headers[0].children),t=Array.from(this._headers[1].children);return e.concat(t)}handleResizeableDoubleClick(e){const t=e.target.parentElement.id.replace(this.uid,"");this.triggerEvent(this.onColumnsResizeDblClick,{triggeredByColumn:t})}setupColumnResize(){var u;let e,t,i,s,n,o,l,a=-1,h=0;const d=this.getHeaderChildren(),c=this.getVisibleColumns();for(let p=0;p<d.length;p++)d[p].querySelectorAll(".slick-resizable-handle").forEach(g=>g.remove()),p<c.length&&((u=c[p])!=null&&u.resizable)&&(l===void 0&&(l=p),a=p);if(l!==void 0)for(let p=0;p<d.length;p++){const m=d[p];if(p>=c.length||!c[p]||p<l||this._options.forceFitColumns&&p>=a)continue;const f=v("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},m);this._bindingEventService.bind(f,"dblclick",this.handleResizeableDoubleClick.bind(this)),this.slickResizableInstances.push(xd({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var x;const C=g.touches?g.changedTouches[0]:g;if(!((x=this.getEditorLock())!=null&&x.commitCurrentEdit()))return!1;s=C.pageX,h=0,_.resizeableElement.classList.add("slick-header-column-active");let b=null,S=null;for(let O=0;O<d.length;O++)O<c.length&&c[O]&&(c[O].previousWidth=d[O].offsetWidth);if(this._options.forceFitColumns)for(b=0,S=0,e=p+1;e<c.length;e++)i=c[e],i!=null&&i.resizable&&(S!==null&&(i.maxWidth?S+=i.maxWidth-(i.previousWidth||0):S=null),b+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));let E=0,y=0;for(e=0;e<=p;e++)i=c[e],i!=null&&i.resizable&&(y!==null&&(i.maxWidth?y+=i.maxWidth-(i.previousWidth||0):y=null),E+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));o=s+Math.min(b??1e5,y??1e5),n=s-Math.min(E??1e5,S??1e5)},onResize:(g,_)=>{const C=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let b;const S=C.pageX,E=Math.min(o,Math.max(n,S))-s;let y,x=0,O=0;const I=this.getViewportInnerWidth();if(E<0){for(y=E,e=p;e>=0;e--)i=c[e],i&&i.resizable&&!i.hidden&&(b=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<b?(y+=(i.previousWidth||0)-b,i.width=b):(i.width=(i.previousWidth||0)+y,y=0));for(t=0;t<=p;t++)i=c[t],i&&!i.hidden&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0))}else{for(y=E,x=0,O=0,e=p;e>=0;e--)if(i=c[e],i&&!i.hidden&&i.resizable)if(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y)y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth;else{const A=(i.previousWidth||0)+y,D=this.canvasWidthL+y;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(A>h&&D<I-this._options.frozenRightViewportMinWidth&&(h=A),i.width=D+this._options.frozenRightViewportMinWidth>I?h:A):i.width=A,y=0}for(t=0;t<=p;t++)i=c[t],i&&!i.hidden&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&i.resizable&&(b=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<b?(y+=(i.previousWidth||0)-b,i.width=b):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],i&&!i.hidden&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?O+=i.width||0:x+=i.width||0)}this.hasFrozenColumns()&&x!==this.canvasWidthL&&(T.width(this._headerL,x+1e3),T.setStyleSize(this._paneHeaderR,"left",x)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.triggerEvent(this.onColumnsDrag,{triggeredByColumn:_.resizeableElement,resizeHandle:_.resizeableHandleElement})},onResizeEnd:(g,_)=>{_.resizeableElement.classList.remove("slick-header-column-active");const C=_.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:C}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let b;for(e=0;e<c.length;e++)i=c[e],i&&!i.hidden&&d[e]&&(b=d[e].offsetWidth,i.previousWidth!==b&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.triggerEvent(this.onColumnsResized,{triggeredByColumn:C}),window.clearTimeout(this._columnResizeTimer),this._columnResizeTimer=window.setTimeout(()=>this.columnResizeDragging=!1,this._options.columnResizingDelay)}}))}}getVBoxDelta(e){const t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=getComputedStyle(e);let s=0;return t.forEach(n=>s+=T.toFloat(i[n])),s}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn<this.columns.length?parseInt(this._options.frozenColumn,10):-1,this._options.frozenRow>-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const e=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?e-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneFrozenClasses(){const e=this.hasFrozenColumns()?"add":"remove";for(const t of[this._paneHeaderL,this._paneTopL,this._paneBottomL])t.classList[e]("frozen")}setPaneVisibility(){this.hasFrozenColumns()?(T.show(this._paneHeaderR),T.show(this._paneTopR),this.hasFrozenRows?(T.show(this._paneBottomL),T.show(this._paneBottomR)):(T.hide(this._paneBottomR),T.hide(this._paneBottomL))):(T.hide(this._paneHeaderR),T.hide(this._paneTopR),T.hide(this._paneBottomR),this.hasFrozenRows?T.show(this._paneBottomL):(T.hide(this._paneBottomR),T.hide(this._paneBottomL)))}setOverflow(){if(this._viewportTopL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportTopR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?this.hasFrozenRows?"scroll":"auto":this.hasFrozenRows?"scroll":"auto",this._viewportBottomL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportBottomR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"auto"):(this.hasFrozenRows,"auto"),this._options.viewportClass){const e=he(this._options.viewportClass);this._viewportTopL.classList.add(...e),this._viewportTopR.classList.add(...e),this._viewportBottomL.classList.add(...e),this._viewportBottomR.classList.add(...e)}}setScroller(){this.hasFrozenColumns()?(this._headerScrollContainer=this._headerScrollerR,this._headerRowScrollContainer=this._headerRowScrollerR,this._footerRowScrollContainer=this._footerRowScrollerR,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomR,this._viewportScrollContainerY=this._viewportTopR):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomR:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopR):(this._headerScrollContainer=this._headerScrollerL,this._headerRowScrollContainer=this._headerRowScrollerL,this._footerRowScrollContainer=this._footerRowScrollerL,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomL,this._viewportScrollContainerY=this._viewportTopL):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomL:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopL)}measureCellPaddingAndBorder(){const e=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let s=v("div",{className:"slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),n=getComputedStyle(s);n.boxSizing!=="border-box"&&(e.forEach(l=>this.headerColumnWidthDiff+=T.toFloat(n[l])),t.forEach(l=>this.headerColumnHeightDiff+=T.toFloat(n[l]))),s.remove();const o=v("div",{className:"slick-row"},this._canvas[0]);s=v("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},o),n=getComputedStyle(s),n.boxSizing!=="border-box"&&(e.forEach(l=>this.cellWidthDiff+=T.toFloat(n[l])),t.forEach(l=>this.cellHeightDiff+=T.toFloat(n[l]))),o.remove(),this.absoluteColumnMinWidth=Math.max(this.headerColumnWidthDiff,this.cellWidthDiff)}createCssRules(){this._style=document.createElement("style"),this._style.nonce=this._options.nonce||"",(this._options.shadowRoot||document.head).appendChild(this._style);const e=this._options.rowHeight-this.cellHeightDiff,t=[`.${this.uid} .slick-group-header-column { left: 1000px; }`,`.${this.uid} .slick-header-column { left: 1000px; }`,`.${this.uid} .slick-top-panel { height: ${this._options.topPanelHeight}px; }`,`.${this.uid} .slick-preheader-panel { height: ${this._options.preHeaderPanelHeight}px; }`,`.${this.uid} .slick-topheader-panel { height: ${this._options.topHeaderPanelHeight}px; }`,`.${this.uid} .slick-headerrow-columns { height: ${this._options.headerRowHeight}px; }`,`.${this.uid} .slick-footerrow-columns { height: ${this._options.footerRowHeight}px; }`,`.${this.uid} .slick-cell { height: ${e}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],i=this._style.sheet;if(i){t.forEach(s=>i.insertRule(s));for(let s=0;s<this.columns.length;s++)this.columns[s]&&!this.columns[s].hidden&&(i.insertRule(`.${this.uid} .l${s} { }`),i.insertRule(`.${this.uid} .r${s} { }`))}else this.createCssRulesAlternative(t)}createCssRulesAlternative(e){const t=document.createElement("template");t.innerHTML='<style type="text/css" rel="stylesheet" />',this._style=t.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let i=0;i<this.columns.length;i++)this.columns[i]&&!this.columns[i].hidden&&(e.push(`.${this.uid} .l${i} { }`),e.push(`.${this.uid} .r${i} { }`));this._style.styleSheet?this._style.styleSheet.cssText=e.join(" "):this._style.appendChild(document.createTextNode(e.join(" ")))}getColumnCssRules(e){let t;if(!this.stylesheet){const i=(this._options.shadowRoot||document).styleSheets;for(this._options.devMode&&typeof this._options.devMode.ownerNodeIndex=="number"&&this._options.devMode.ownerNodeIndex>=0&&(i[this._options.devMode.ownerNodeIndex].ownerNode=this._style),t=0;t<i.length;t++){const l=i[t];if((l.ownerNode||l.owningElement)===this._style){this.stylesheet=l;break}}if(!this.stylesheet)throw new Error("SlickGrid Cannot find stylesheet.");this.columnCssRulesL=[],this.columnCssRulesR=[];const s=this.stylesheet.cssRules||this.stylesheet.rules;let n,o;for(t=0;t<s.length;t++){const l=s[t].selectorText;(n=/\.l\d+/.exec(l))?(o=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesL[o]=s[t]):(n=/\.r\d+/.exec(l))&&(o=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesR[o]=s[t])}}return{left:this.columnCssRulesL[e],right:this.columnCssRulesR[e]}}removeCssRules(){var e;(e=this._style)==null||e.remove(),this.stylesheet=null}clearAllTimers(){window.clearTimeout(this._columnResizeTimer),window.clearTimeout(this._executionBlockTimer),window.clearTimeout(this._flashCellTimer),window.clearTimeout(this._highlightRowTimer),window.clearTimeout(this.h_editorLoader)}destroy(e){var n,o,l;this._bindingEventService.unbindAll(),this.slickDraggableInstance=this.destroyAllInstances(this.slickDraggableInstance),this.slickMouseWheelInstances=this.destroyAllInstances(this.slickMouseWheelInstances),this.slickResizableInstances=this.destroyAllInstances(this.slickResizableInstances),(n=this.getEditorLock())==null||n.cancelCurrentEdit(),this.triggerEvent(this.onBeforeDestroy,{});let t=this.plugins.length;for(;t--;)this.unregisterPlugin(this.plugins[t]);this._options.enableColumnReorder&&typeof((o=this.sortableSideLeftInstance)==null?void 0:o.destroy)=="function"&&typeof((l=this.sortableSideRightInstance)==null?void 0:l.destroy)=="function"&&(this.sortableSideLeftInstance.destroy(),this.sortableSideRightInstance.destroy()),this.unbindAncestorScrollEvents(),this._bindingEventService.unbindByEventName(this._container,"resize"),this.removeCssRules(),this._canvas.forEach(a=>{this._bindingEventService.unbindByEventName(a,"keydown"),this._bindingEventService.unbindByEventName(a,"click"),this._bindingEventService.unbindByEventName(a,"dblclick"),this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"mouseover"),this._bindingEventService.unbindByEventName(a,"mouseout")}),this._viewport.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._headerScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"click")}),this._headerRowScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._footerRow&&this._footerRow.forEach(a=>{this._bindingEventService.unbindByEventName(a,"contextmenu"),this._bindingEventService.unbindByEventName(a,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(a=>{this._bindingEventService.unbindByEventName(a,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._topHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._topHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const i=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(i,a=>{this._bindingEventService.unbindByEventName(a,"dblclick")});const s=this._container.querySelectorAll(".slick-header-column");[].forEach.call(s,a=>{this._bindingEventService.unbindByEventName(a,"mouseenter"),this._bindingEventService.unbindByEventName(a,"mouseleave"),this._bindingEventService.unbindByEventName(a,"mouseover"),this._bindingEventService.unbindByEventName(a,"mouseout")}),ee(this._container),this._container.classList.remove(this.uid),this.clearAllTimers(),e&&Sn(this)}destroyAllInstances(e){if(e){const t=Array.isArray(e)?e:[e];let i;for(;q(i=t.pop());)i&&typeof i.destroy=="function"&&i.destroy()}return e=Array.isArray(e)?[]:null,e}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){let e,t,i=0,s=0,n=0;const o=[],l=this.getViewportInnerWidth();for(e=0;e<this.columns.length;e++){if(t=this.columns[e],!t||t.hidden){o.push(0);continue}o.push(t.width||0),s+=t.width||0,t.resizable&&(i+=(t.width||0)-Math.max(t.minWidth||0,this.absoluteColumnMinWidth))}for(n=s;s>l&&i;){const h=(s-l)/i;for(e=0;e<this.columns.length&&s>l;e++)if(t=this.columns[e],t&&!t.hidden){const d=o[e];if(!t.resizable||d<=t.minWidth||d<=this.absoluteColumnMinWidth)continue;const c=Math.max(t.minWidth,this.absoluteColumnMinWidth);let u=Math.floor(h*(d-c))||1;u=Math.min(u,d-c),s-=u,i-=u,o[e]-=u}if(n<=s)break;n=s}for(n=s;s<l;){const h=l/s;for(e=0;e<this.columns.length&&s<l;e++)if(t=this.columns[e],t&&!t.hidden){const d=o[e];let c;!t.resizable||t.maxWidth<=d?c=0:c=Math.min(Math.floor(h*d)-d,t.maxWidth-d||1e6)||1,s+=c,o[e]+=s<=l?c:0}if(n>=s)break;n=s}let a=!1;for(e=0;e<this.columns.length;e++)t&&!t.hidden&&(this.columns[e].rerenderOnResize&&this.columns[e].width!==o[e]&&(a=!0),this.columns[e].width=o[e]);this.reRenderColumns(a)}reRenderColumns(e){this.applyColumnHeaderWidths(),this.updateCanvasWidth(!0),this.triggerEvent(this.onAutosizeColumns,{columns:this.columns}),e&&(this.invalidateAllRows(),this.render())}getVisibleColumns(){return this.columns.filter(e=>!e.hidden)}triggerEvent(e,t,i){const s=i||new le(i,t),n=t||{};return n.grid=this,e.notify(n,s,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(e){return this.columnsById[e]}applyColumnHeaderWidths(){if(this.initialized){let e=0;const t=this.getVisibleColumns();this._headers.forEach(i=>{for(let s=0;s<i.children.length;s++,e++){const n=i.children[s],l=((t[e]||{}).width||0)-this.headerColumnWidthDiff;T.width(n)!==l&&T.width(n,l)}}),this.updateColumnCaches()}}applyColumnWidths(){var s;let e=0,t=0,i;for(let n=0;n<this.columns.length;n++)(s=this.columns[n])!=null&&s.hidden||(t=this.columns[n].width||0,i=this.getColumnCssRules(n),i.left&&(i.left.style.left=`${e}px`),i.right&&(i.right.style.right=(this._options.frozenColumn!==-1&&n>this._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-e-t+"px"),this._options.frozenColumn!==n&&(e+=this.columns[n].width)),this._options.frozenColumn===n&&(e=0)}setSortColumn(e,t){this.setSortColumns([{columnId:e,sortAsc:t}])}getColumnByIndex(e){let t;return this._headers.every(i=>{const s=i.children.length;return e<s?(t=i.children[e],!1):(e-=s,!0)}),t}setSortColumns(e){this.sortColumns=e;const t=this._options.numberedMultiColumnSort&&this.sortColumns.length>1;this._headers.forEach(s=>{let n=s.querySelectorAll(".slick-header-column-sorted");n.forEach(o=>o.classList.remove("slick-header-column-sorted")),n=s.querySelectorAll(".slick-sort-indicator"),n.forEach(o=>o.classList.remove("slick-sort-indicator-asc","slick-sort-indicator-desc")),n=s.querySelectorAll(".slick-sort-indicator-numbered"),n.forEach(o=>o.textContent="")});let i=1;this.sortColumns.forEach(s=>{q(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(q(n)){const o=this.getColumnByIndex(n);if(o){o.classList.add("slick-header-column-sorted");let l=o.querySelector(".slick-sort-indicator");l==null||l.classList.add(s.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),t&&(l=o.querySelector(".slick-sort-indicator-numbered"),l&&(l.textContent=String(i)))}}i++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(e,t){var o;const i=e.getNativeEvent(),s=this.selectedRows.slice(0);this.selectedRows=[];const n={};for(let l=0;l<t.length;l++)for(let a=t[l].fromRow;a<=t[l].toRow;a++){n[a]||(this.selectedRows.push(a),n[a]={});for(let h=t[l].fromCell;h<=t[l].toCell;h++)this.canCellBeSelected(a,h)&&(n[a][this.columns[h].id]=this._options.selectedCellCssClass)}if(this.setCellCssStyles(this._options.selectedCellCssClass||"",n),this.simpleArrayEquals(s,this.selectedRows)){const l=((o=i==null?void 0:i.detail)==null?void 0:o.caller)??"click",a=new Set(this.getSelectedRows()),h=new Set(s),d=Array.from(a).filter(u=>!h.has(u)),c=Array.from(h).filter(u=>!a.has(u));this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:l,changedSelectedRows:d,changedUnselectedRows:c},e)}}simpleArrayEquals(e,t){return Array.isArray(e)&&Array.isArray(t)&&t.sort().toString()!==e.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let e=0;for(let t=0,i=this.columns.length;t<i;t++)this.columns[t]&&!this.columns[t].hidden&&(this.columnPosLeft[t]=e,this.columnPosRight[t]=e+(this.columns[t].width||0),this._options.frozenColumn===t?e=0:e+=this.columns[t].width||0)}updateColumnProps(){this.columnsById={};for(let e=0;e<this.columns.length;e++){let t=this.columns[e]||{};t.width&&(t.widthRequest=t.width),this._options.mixinDefaults?T.applyDefaults(t,this._columnDefaults):t=this.columns[e]=de({},this._columnDefaults,t),this.columnsById[t.id]=e,t.minWidth&&(t.width||0)<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&(t.width||0)>t.maxWidth&&(t.width=t.maxWidth)}}setColumns(e){this.triggerEvent(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:e,grid:this}),this.columns=e,this.updateColumnsInternal(),this.triggerEvent(this.onAfterSetColumns,{newColumns:e,grid:this})}updateColumns(){this.triggerEvent(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var e;this.updateColumnProps(),this.updateColumnCaches(),this.initialized&&(this.setPaneFrozenClasses(),this.setPaneVisibility(),this.setOverflow(),this.invalidateAllRows(),this.createColumnHeaders(),this.createColumnFooter(),this.removeCssRules(),this.createCssRules(),this.resizeCanvas(),this.updateCanvasWidth(),this.applyColumnWidths(),this.handleScroll(),(e=this.getSelectionModel())==null||e.refreshSelections())}getOptions(){return this._options}setOptions(e,t,i,s){this.prepareForOptionsChange(),this._options.enableAddRow!==e.enableAddRow&&this.invalidateRow(this.getDataLength()),e.frozenColumn!==void 0&&e.frozenColumn>=0&&(this.getViewports().forEach(o=>o.scrollLeft=0),this.handleScroll());const n=de(!0,{},this._options);this._options=de(!0,this._options,e),this.triggerEvent(this.onSetOptions,{optionsBefore:n,optionsAfter:this._options}),this.internal_setOptions(t,i,s)}activateChangedOptions(e,t,i){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.triggerEvent(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(e,t,i)}prepareForOptionsChange(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(e,t,i){this._options.showColumnHeader!==void 0&&this.setColumnHeaderVisibility(this._options.showColumnHeader),this.validateAndEnforceOptions(),this.setFrozenOptions(),this._options.frozenBottom!==void 0&&(this.enforceFrozenRowHeightRecalc=!0),this._viewport.forEach(s=>{s.style.overflowY=this._options.autoHeight?"hidden":"auto"}),e||this.render(),this.setScroller(),i||this.setOverflow(),t||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(s=>{this.slickMouseWheelInstances.push(bl({element:s,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(e,t){this.data=e,this.invalidateAllRows(),this.updateRowCount(),t&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var e;return this.data.getLength?this.data.getLength():((e=this.data)==null?void 0:e.length)||0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(e){return this.data.getItem?this.data.getItem(e):this.data[e]}getItemMetadaWhenExists(e){return"getItemMetadata"in this.data?this.data.getItemMetadata(e):null}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(e,t,i){this._options[e]!==i&&(this._options[e]=i,i?T.show(t):T.hide(t),this.resizeCanvas())}setTopPanelVisibility(e){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,e)}setHeaderRowVisibility(e){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,e)}setColumnHeaderVisibility(e){this.togglePanelVisibility("showColumnHeader",this._headerScroller,e)}setFooterRowVisibility(e){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,e)}setPreHeaderPanelVisibility(e){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],e)}setTopHeaderPanelVisibility(e){this.togglePanelVisibility("showTopHeaderPanel",this._topHeaderPanelScroller,e)}getContainerNode(){return this._container}getRowHeight(){return this._options.rowHeight}getRowTop(e){return Math.round(this._options.rowHeight*e-this.offset)}getRowBottom(e){return this.getRowTop(e)+this._options.rowHeight}getRowFromPosition(e){return Math.floor((e+this.offset)/this._options.rowHeight)}scrollTo(e){var s;e=Math.max(e,0),e=Math.min(e,(this.th||0)-T.height(this._viewportScrollContainerY)+((this.viewportHasHScroll||this.hasFrozenColumns())&&((s=this.scrollbarDimensions)==null?void 0:s.height)||0));const t=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(e/(this.ph||0)));const i=e-this.offset;if(this.offset!==t){const n=this.getVisibleRange(i);this.cleanupRows(n),this.updateRowPositions()}this.prevScrollTop!==i&&(this.vScrollDir=this.prevScrollTop+t<i+this.offset?1:-1,this.lastRenderedScrollTop=this.scrollTop=this.prevScrollTop=i,this.hasFrozenColumns()&&(this._viewportTopL.scrollTop=i),this.hasFrozenRows&&(this._viewportBottomL.scrollTop=this._viewportBottomR.scrollTop=i),this._viewportScrollContainerY&&(this._viewportScrollContainerY.scrollTop=i),this.triggerEvent(this.onViewportChanged,{}))}defaultFormatter(e,t,i){return q(i)?(i+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}getFormatter(e,t){var n,o,l;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,e),s=(i==null?void 0:i.columns)&&(i.columns[t.id]||i.columns[this.getColumnIndex(t.id)]);return(s==null?void 0:s.formatter)||(i==null?void 0:i.formatter)||t.formatter||((l=this._options.formatterFactory)==null?void 0:l.getFormatter(t))||this._options.defaultFormatter}getEditor(e,t){var o,l,a,h;const i=this.columns[t],s=this.getItemMetadaWhenExists(e),n=s==null?void 0:s.columns;return((o=n==null?void 0:n[i.id])==null?void 0:o.editorClass)!==void 0?n[i.id].editorClass:((l=n==null?void 0:n[t])==null?void 0:l.editorClass)!==void 0?n[t].editorClass:i.editorClass||((h=(a=this._options)==null?void 0:a.editorFactory)==null?void 0:h.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){const o=this.getDataItem(i),l=i<n&&!o;let a="slick-row"+(this.hasFrozenRows&&i<=this._options.frozenRow?" frozen":"")+(l?" loading":"")+(i===this.activeRow&&this._options.showCellSelection?" active":"")+(i%2===1?" odd":" even");o||(a+=` ${this._options.addNewRowCssClass}`);const h=this.getItemMetadaWhenExists(i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=v("div",{className:`ui-widget-content ${a}`,role:"row",dataset:{row:`${i}`}}),c=this.getFrozenRowOffset(i),u=this.getRowTop(i)-c;this._options.rowTopOffsetRenderType==="transform"?d.style.transform=`translateY(${u}px)`:d.style.top=`${u}px`;let p;e.push(d),this.hasFrozenColumns()&&(p=d.cloneNode(!0),t.push(p));const m=this.columns.length;let f,g,_,C,b=!0;for(let S=0,E=m;S<E;S++)if(b=!0,C=this.columns[S],C&&!C.hidden){g=1,_=1,f=null,h!=null&&h.columns&&(f=h.columns[C.id]||h.columns[S],g=(f==null?void 0:f.colspan)||1,_=(f==null?void 0:f.rowspan)||1,g==="*"&&(g=E-S),_>n-i&&(_=n-i)),!this._options.enableCellRowSpan&&_>1&&console.warn('[SlickGrid] Cell "rowspan" is an opt-in grid option because of its small perf hit, you must enable it via the "enableCellRowSpan" grid option.');const y=g;if(this.getParentRowSpanByCell(i,S))continue;if(this.columnPosRight[Math.min(E-1,S+y-1)]>s.leftPx){if(!C.alwaysRenderColumn&&this.columnPosLeft[S]>s.rightPx&&(b=!1),b){const x=this.hasFrozenColumns()&&S>this._options.frozenColumn?p:d;this.appendCellHtml(x,i,S,y,_,f,o)}}else(C.alwaysRenderColumn||this.hasFrozenColumns()&&S<=this._options.frozenColumn)&&this.appendCellHtml(d,i,S,y,_,f,o);y>1&&(S+=y-1)}}appendCellHtml(e,t,i,s,n,o,l){const a=this.columns[i];let h=`slick-cell l${i} r${Math.min(this.columns.length-1,i+s-1)}`+(a.cssClass?` ${a.cssClass}`:"")+(n>1?" rowspan":"")+(o!=null&&o.cssClass?` ${o.cssClass}`:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(h+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(h+=" active"),Object.keys(this.cellCssClasses).forEach(C=>{var b;(b=this.cellCssClasses[C][t])!=null&&b[a.id]&&(h+=` ${this.cellCssClasses[C][t][a.id]}`)});let d=null,c="";l&&(d=this.getDataItemValueForColumn(l,a),c=this.getFormatter(t,a)(t,i,d,a,l,this),c==null&&(c=""));const p=this.triggerEvent(this.onBeforeAppendCell,{row:t,cell:i,value:d,dataContext:l}).getReturnValue();let m=typeof p=="string"?p:"";c!=null&&c.addClasses&&(m+=he((m?" ":"")+c.addClasses).join(" "));const f=c!=null&&c.toolTip?`${c.toolTip}`:"",g=v("div",{className:he(`${h} ${m||""}`).join(" "),role:"gridcell",tabIndex:-1});g.setAttribute("aria-describedby",this.uid+a.id),f&&g.setAttribute("title",f);const _=this.getCellHeight(t,n);if(n>1&&_!==this._options.rowHeight-this.cellHeightDiff&&(g.style.height=`${_||0}px`),a.hasOwnProperty("cellAttrs")&&a.cellAttrs instanceof Object&&Object.keys(a.cellAttrs).forEach(C=>{a.cellAttrs.hasOwnProperty(C)&&g.setAttribute(C,a.cellAttrs[C])}),l){const C=ei(c)?c:c.html||c.text;this.applyHtmlCode(g,C)}e.appendChild(g),c.insertElementAfterTarget&&go(g,c.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){const t=new Set;if(this._options.enableCellRowSpan)for(let i=e.top,s=e.bottom;i<=s;i++){const n=this.getRowSpanIntersect(i);n!==null&&t.add(n)}Object.keys(this.rowsCache).forEach(i=>{if(this.rowsCache){let s=+i,n=!0;this.hasFrozenRows&&(this._options.frozenBottom&&s>=this.actualFrozenRow||!this._options.frozenBottom&&s<=this.actualFrozenRow)&&(n=!1),(s=parseInt(i,10))!==this.activeRow&&(s<e.top||s>e.bottom)&&n&&!t.has(s)&&this.removeRowFromCache(s)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}getRowSpanColumnIntersects(e){return this.getRowSpanIntersection(e,"columns")}getRowSpanIntersect(e){return this.getRowSpanIntersection(e)}getRowSpanIntersection(e,t){const i=[];let s=null;for(let n=0,o=this.columns.length;n<o;n++){const l=this._colsWithRowSpanCache[n];if(l)for(const a of Array.from(l)){const[h,d]=a.split(":").map(Number);if(e>=h&&e<=d)if(t==="columns")i.push(n);else{s=h;break}}}return t==="columns"?i:s}getParentRowSpanByCell(e,t,i=!0){let s=null;const n=this._colsWithRowSpanCache[t]||new Set;for(const o of Array.from(n)){const[l,a]=o.split(":").map(Number);if((i?e>l:e>=l)&&e<=a){s={start:l,end:a,range:o};break}}return s}remapAllColumnsRowSpan(){const e=this.getDataLength();if(e>0){this._colsWithRowSpanCache={};for(let t=0;t<e;t++)this.remapRowSpanMetadataByRow(t);this._rowSpanIsCached=!0}}remapRowSpanMetadataByRow(e){const t=this.getItemMetadaWhenExists(e);t!=null&&t.columns&&Object.keys(t.columns).forEach(i=>{const s=+i,n=t.columns[s],o=+((n==null?void 0:n.colspan)||1),l=+((n==null?void 0:n.rowspan)||1);this.remapRowSpanMetadata(e,s,o,l)})}remapRowSpanMetadata(e,t,i,s){var n,o,l;if(s>1){const a=`${e}:${e+s-1}`;if((n=this._colsWithRowSpanCache)[t]??(n[t]=new Set),this._colsWithRowSpanCache[t].add(a),i>1)for(let h=1;h<i;h++)(o=this._colsWithRowSpanCache)[l=t+h]??(o[l]=new Set),this._colsWithRowSpanCache[t+h].add(a)}}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal(),typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(e=>{this.rowsCache&&this.removeRowFromCache(+e)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(e){if(!e||!e.length)return;let t;this.vScrollDir=0;const i=e.length,s=new Set,n=new Set,o=e.length>this._options.maxPartialRowSpanRemap||e.length===this.getDataLength()||this._prevInvalidatedRowsCount+e.length===this.getDataLength();for(let l=0;l<i;l++)if(t=e[l],this.currentEditor&&this.activeRow===t&&this.makeActiveCellNormal(),this.rowsCache[t]&&this.removeRowFromCache(t),this._options.enableCellRowSpan&&!o){s.add(t);const a=this.getRowSpanIntersect(t);a!==null&&s.add(a)}if(this._options.enableCellRowSpan&&!o){for(const l of Array.from(s)){const a=this.getRowSpanColumnIntersects(l);for(const h of a){const d=this.getParentRowSpanByCell(l,h);d&&this._colsWithRowSpanCache[h]&&(this._colsWithRowSpanCache[h].delete(d.range),n.add(d.range.split(":").map(Number)[0]))}}for(const l of Array.from(n))this.remapRowSpanMetadataByRow(l)}this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this._prevInvalidatedRowsCount=e.length}invalidateRow(e){if(e>=0){const t=[e];if(this._options.enableCellRowSpan){const i=this.getRowSpanIntersect(e);i!==null&&t.push(i)}this.invalidateRows(t)}}queuePostProcessedRowForCleanup(e,t,i){var s;this.postProcessgroupId++,typeof t=="object"&&Object.keys(t).forEach(n=>{t.hasOwnProperty(n)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e.cellNodesByColumnIdx[+n],columnIdx:+n,rowIdx:i})}),e.rowNode||(e.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:e.rowNode}),(s=e.rowNode)==null||s.forEach(n=>n.remove())}queuePostProcessedCellForCleanup(e,t,i){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e,columnIdx:t,rowIdx:i}),e.remove()}removeRowFromCache(e){var i;const t=this.rowsCache[e];t!=null&&t.rowNode&&(this.triggerEvent(this.onBeforeRemoveCachedRow,{row:e}),this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[e]?this.queuePostProcessedRowForCleanup(t,this.postProcessedRows[e],e):(i=t.rowNode)==null||i.forEach(s=>{var n;return(n=s.parentElement)==null?void 0:n.removeChild(s)}),delete this.rowsCache[e],delete this.postProcessedRows[e],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(e,t,i){if(e==null&&(e=""),ei(e)){this.applyHtmlCode(t,e);return}const s=e.html||e.text;this.applyHtmlCode(t,s),e.removeClasses&&!i&&t.classList.remove(...he(e.removeClasses)),e.addClasses&&t.classList.add(...he(e.addClasses)),e.toolTip&&t.setAttribute("title",e.toolTip)}updateCell(e,t){const i=this.getCellNode(e,t);if(i){const s=this.columns[t],n=this.getDataItem(e);if(this.currentEditor&&this.activeRow===e&&this.activeCell===t)this.currentEditor.loadValue(n);else{const o=n?this.getFormatter(e,s)(e,t,this.getDataItemValueForColumn(n,s),s,n,this):"";this.applyFormatResultToCellNode(o,i),this.invalidatePostProcessingResults(e)}}}updateRow(e){const t=this.rowsCache[e];if(!t)return;this.ensureCellNodesInRowsCache(e);let i;const s=this.getDataItem(e);Object.keys(t.cellNodesByColumnIdx).forEach(n=>{if(t.cellNodesByColumnIdx.hasOwnProperty(n)){const o=+n,l=this.columns[o],a=t.cellNodesByColumnIdx[o];this.currentEditor&&e===this.activeRow&&o===this.activeCell?this.currentEditor.loadValue(s):s?(i=this.getFormatter(e,l)(e,o,this.getDataItemValueForColumn(s,l),l,s,this),this.applyFormatResultToCellNode(i,a)):ee(a)}}),this.invalidatePostProcessingResults(e)}getCellHeight(e,t){let i=this._options.rowHeight||0;if(t>1){const s=e+t-1;i=this.getRowBottom(s)-this.getRowTop(e)}else{const s=this.getRowHeight();s!==i-this.cellHeightDiff&&(i=s)}return i-=this.cellHeightDiff,Math.ceil(i)}getViewportRowCount(){var i;const e=this.getViewportHeight(),t=((i=this.getScrollbarDimensions())==null?void 0:i.height)||0;return Math.floor((e-t)/this._options.rowHeight)}getViewportHeight(){var e;if((!this._options.autoHeight||this._options.frozenColumn!==-1)&&(this.topPanelH=this._options.showTopPanel?this._options.topPanelHeight+this.getVBoxDelta(this._topPanelScrollers[0]):0,this.headerRowH=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,this.footerRowH=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0),this._options.autoHeight){let t=this._paneHeaderL.offsetHeight;t+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,t+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,t+=this.getCanvasWidth()>this.viewportW&&((e=this.scrollbarDimensions)==null?void 0:e.height)||0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?t:0)}else{const t=this._options.showColumnHeader?T.toFloat(T.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,i=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,s=this._options.createTopHeaderPanel&&this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight+this.getVBoxDelta(this._topHeaderPanelScroller):0,n=getComputedStyle(this._container);this.viewportH=T.toFloat(n.height)-T.toFloat(n.paddingTop)-T.toFloat(n.paddingBottom)-t-this.topPanelH-this.headerRowH-this.footerRowH-i-s}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportInnerWidth(){var e;return this.viewportHasVScroll?this.viewportW-(((e=this.scrollbarDimensions)==null?void 0:e.width)||0):this.viewportW}getViewportWidth(){return this.viewportW=parseFloat(us(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var e,t,i;if(this.initialized){if(this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.getViewportWidth(),this.getViewportHeight(),this.hasFrozenRows?this._options.frozenBottom?(this.paneTopH=this.viewportH-this.frozenRowsHeight-(((e=this.scrollbarDimensions)==null?void 0:e.height)||0),this.paneBottomH=this.frozenRowsHeight+(((t=this.scrollbarDimensions)==null?void 0:t.height)||0)):(this.paneTopH=this.frozenRowsHeight,this.paneBottomH=this.viewportH-this.frozenRowsHeight):this.paneTopH=this.viewportH,this.paneTopH+=this.topPanelH+this.headerRowH+this.footerRowH,this.hasFrozenColumns()&&this._options.autoHeight&&(this.paneTopH+=((i=this.scrollbarDimensions)==null?void 0:i.height)||0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const o=getComputedStyle(this._headerScrollerL);T.height(this._container,this.paneTopH+T.toFloat(o.height))}this._paneTopL.style.position="relative"}let s=T.height(this._paneHeaderL);s?s+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0:s=(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0),T.setStyleSize(this._paneTopL,"top",s||s),T.height(this._paneTopL,this.paneTopH);const n=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||T.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let o=T.height(this._paneHeaderL);o&&(o+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),T.setStyleSize(this._paneTopR,"top",o),T.height(this._paneTopR,this.paneTopH),T.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(T.setStyleSize(this._paneBottomL,"top",n),T.height(this._paneBottomL,this.paneBottomH),T.setStyleSize(this._paneBottomR,"top",n),T.height(this._paneBottomR,this.paneBottomH),T.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(T.width(this._paneBottomL,"100%"),T.height(this._paneBottomL,this.paneBottomH),T.setStyleSize(this._paneBottomL,"top",n));this.hasFrozenRows?(T.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(T.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&T.height(this._canvasBottomR,this.frozenRowsHeight)):(T.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&T.height(this._canvasTopR,this.frozenRowsHeight))):T.height(this._viewportTopR,this.viewportTopH),(!this.scrollbarDimensions||!this.scrollbarDimensions.width)&&(this.scrollbarDimensions=this.measureScrollbar()),this._options.forceFitColumns&&this.legacyAutosizeColumns(),this.updateRowCount(),this.handleScroll(),this.lastRenderedScrollLeft=-1,this.render()}}updatePagingStatusFromView(e){this.pagingActive=e.pageSize!==0,this.pagingIsLastPage=e.pageNum===e.totalPages-1}updateRowCount(){var e,t;if(this.initialized){const i=this.getDataLength();i>0&&i!==this._prevDataLength&&(this._rowSpanIsCached=!1),this._options.enableCellRowSpan&&!this._rowSpanIsCached&&this.remapAllColumnsRowSpan(),this._prevDataLength=i;const s=this.getDataLengthIncludingAddNew();let n=0,o=this.hasFrozenRows&&!this._options.frozenBottom?T.height(this._canvasBottomL):T.height(this._canvasTopL);this.hasFrozenRows?n=this.getDataLength()-this._options.frozenRow:n=s+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const l=T.height(this._viewportScrollContainerY),a=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&n*this._options.rowHeight>l,this.makeActiveCellNormal();const h=i-1;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(c=>{const u=+c;u>h&&this.removeRowFromCache(u)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>h&&this.resetActiveCell(),o=this.h,this._options.autoHeight?this.h=this._options.rowHeight*n:(this.th=Math.max(this._options.rowHeight*n,l-(((e=this.scrollbarDimensions)==null?void 0:e.height)||0)),this.th<this.maxSupportedCssHeight?(this.h=this.ph=this.th,this.n=1,this.cj=0):(this.h=this.maxSupportedCssHeight,this.ph=this.h/100,this.n=Math.floor(this.th/this.ph),this.cj=(this.th-this.h)/(this.n-1))),(this.h!==o||this.enforceFrozenRowHeightRecalc)&&(this.hasFrozenRows&&!this._options.frozenBottom?(T.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&T.height(this._canvasBottomR,this.h)):(T.height(this._canvasTopL,this.h),T.height(this._canvasTopR,this.h)),this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollHeight=this._viewportScrollContainerY.scrollHeight,this.enforceFrozenRowHeightRecalc=!1);const d=this.scrollTop+this.offset<=this.th-l;this.th===0||this.scrollTop===0?this.page=this.offset=0:d?this.scrollTo(this.scrollTop+this.offset):this.scrollTo(this.th-l+(((t=this.scrollbarDimensions)==null?void 0:t.height)||0)),this.h!==o&&this._options.autoHeight&&this.resizeCanvas(),this._options.forceFitColumns&&a!==this.viewportHasVScroll&&this.legacyAutosizeColumns(),this.updateCanvasWidth(!1)}}getViewport(e,t){return this.getVisibleRange(e,t)}getVisibleRange(e,t){return e??(e=this.scrollTop),t??(t=this.scrollLeft),{top:this.getRowFromPosition(e),bottom:this.getRowFromPosition(e+this.viewportH)+1,leftPx:t,rightPx:t+this.viewportW}}getRenderedRange(e,t){const i=this.getVisibleRange(e,t),s=Math.round(this.viewportH/this._options.rowHeight),n=this._options.minRowBuffer;return this.vScrollDir===-1?(i.top-=s,i.bottom+=n):this.vScrollDir===1?(i.top-=n,i.bottom+=s):(i.top-=n,i.bottom+=n),i.top=Math.max(0,i.top),i.bottom=Math.min(this.getDataLengthIncludingAddNew()-1,i.bottom),i.leftPx-=this.viewportW,i.rightPx+=this.viewportW,i.leftPx=Math.max(0,i.leftPx),i.rightPx=Math.min(this.canvasWidth,i.rightPx),i}ensureCellNodesInRowsCache(e){var i;const t=this.rowsCache[e];if(t!=null&&t.cellRenderQueue.length&&((i=t.rowNode)!=null&&i.length)){const s=t.rowNode;let n=Array.from(s[0].children);s.length>1&&(n=n.concat(Array.from(s[1].children)));let o=n.length-1;for(;t.cellRenderQueue.length;){const l=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[l]=n[o--]}}}cleanUpCells(e,t){var l,a;if(this.hasFrozenRows&&(this._options.frozenBottom&&t>this.actualFrozenRow||t<=this.actualFrozenRow))return;const i=this.rowsCache[t],s=[];Object.keys(i.cellNodesByColumnIdx).forEach(h=>{var u;if(!i.cellNodesByColumnIdx.hasOwnProperty(h))return;const d=+h;if(d<=this._options.frozenColumn||Array.isArray(this.columns)&&((u=this.columns[d])!=null&&u.alwaysRenderColumn))return;const c=i.cellColSpans[d];(this.columnPosLeft[d]>e.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(d||0)+c-1)]<e.leftPx)&&(t===this.activeRow&&Number(d)===this.activeCell||s.push(d))});let n,o;for(;q(n=s.pop());)o=i.cellNodesByColumnIdx[n],this._options.enableAsyncPostRenderCleanup&&((l=this.postProcessedRows[t])!=null&&l[n])?this.queuePostProcessedCellForCleanup(o,n,t):(a=o.parentElement)==null||a.removeChild(o),delete i.cellColSpans[n],delete i.cellNodesByColumnIdx[n],this.postProcessedRows[t]&&delete this.postProcessedRows[t][n]}cleanUpAndRenderCells(e){let t;const i=document.createElement("div"),s=[];let n,o,l;const a=this.columns.length;for(let c=e.top,u=e.bottom;c<=u;c++)if(t=this.rowsCache[c],t){this.ensureCellNodesInRowsCache(c),(!this._options.enableCellRowSpan||this.getRowSpanIntersect(c)===null)&&this.cleanUpCells(e,c),n=0;let p=this.getItemMetadaWhenExists(c);p=p==null?void 0:p.columns;const m=this.getDataItem(c);for(let f=0,g=a;f<g;f++)if(this.columns[f]&&!this.columns[f].hidden){if(this.columnPosLeft[f]>e.rightPx)break;if(q(o=t.cellColSpans[f])){f+=o>1?o-1:0;continue}o=1,l=null,p&&(l=p[this.columns[f].id]||p[f],o=(l==null?void 0:l.colspan)??1,o==="*"&&(o=g-f));const _=o;if(this.getParentRowSpanByCell(c,f))continue;if(this.columnPosRight[Math.min(g-1,f+_-1)]>e.leftPx){const C=this.getRowspan(c,f);this.appendCellHtml(i,c,f,_,C,l,m),n++}f+=_>1?_-1:0}n&&s.push(c)}if(!i.children.length)return;let h,d;for(;q(h=s.pop());){t=this.rowsCache[h];let c;for(;q(c=t.cellRenderQueue.pop());)d=i.lastChild,d&&(this.hasFrozenColumns()&&c>this._options.frozenColumn?t.rowNode[1].appendChild(d):t.rowNode[0].appendChild(d),t.cellNodesByColumnIdx[c]=d)}}createEmptyCachingRow(){return{rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]}}renderRows(e){var d,c,u,p;const t=[],i=[],s=[];let n=!1;const o=this.getDataLength(),l=new Set,a=new Set;for(let m=e.top,f=e.bottom;m<=f;m++)if(!(this.rowsCache[m]||this.hasFrozenRows&&this._options.frozenBottom&&m===this.getDataLength())){if(this.renderedRows++,s.push(m),a.add(m),this.rowsCache[m]=this.createEmptyCachingRow(),this._options.enableCellRowSpan){const g=this.getRowSpanIntersect(m);g!==null&&a.add(g)}this.appendRowHtml(t,i,m,e,o),l.add(m),this.activeCellNode&&this.activeRow===m&&(n=!0),this.counter_rows_rendered++}const h=this.setDifference(a,l);if(h.size>0&&h.forEach(m=>{this.removeRowFromCache(m),s.push(m),this.rowsCache[m]=this.createEmptyCachingRow(),this.appendRowHtml(t,i,m,e,o)}),s.length){const m=document.createElement("div"),f=document.createElement("div");t.forEach(g=>m.appendChild(g)),i.forEach(g=>f.appendChild(g));for(let g=0,_=s.length;g<_;g++)this.hasFrozenRows&&s[g]>=this.actualFrozenRow?this.hasFrozenColumns()?(d=this.rowsCache)!=null&&d.hasOwnProperty(s[g])&&m.firstChild&&f.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild,f.firstChild],this._canvasBottomL.appendChild(m.firstChild),this._canvasBottomR.appendChild(f.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(s[g])&&m.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild],this._canvasBottomL.appendChild(m.firstChild)):this.hasFrozenColumns()?(u=this.rowsCache)!=null&&u.hasOwnProperty(s[g])&&m.firstChild&&f.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild,f.firstChild],this._canvasTopL.appendChild(m.firstChild),this._canvasTopR.appendChild(f.firstChild)):(p=this.rowsCache)!=null&&p.hasOwnProperty(s[g])&&m.firstChild&&(this.rowsCache[s[g]].rowNode=[m.firstChild],this._canvasTopL.appendChild(m.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}}setDifference(e,t){return new Set(Array.from(e).filter(i=>!t.has(i)))}startPostProcessing(){this._options.enableAsyncPostRender&&(window.clearTimeout(this.h_postrender),this.h_postrender=window.setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(window.clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=window.setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay))}invalidatePostProcessingResults(e){typeof this.postProcessedRows[e]=="object"&&Object.keys(this.postProcessedRows[e]).forEach(t=>{this.postProcessedRows[e].hasOwnProperty(t)&&(this.postProcessedRows[e][t]="C")}),this.postProcessFromRow=Math.min(this.postProcessFromRow,e),this.postProcessToRow=Math.max(this.postProcessToRow,e),this.startPostProcessing()}updateRowPositions(){this.rowsCache&&typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(e=>{const t=e?parseInt(e,10):0,i=this.rowsCache[t].rowNode[0];this._options.rowTopOffsetRenderType==="transform"?i.style.transform=`translateY(${this.getRowTop(t)}px)`:i.style.top=`${this.getRowTop(t)}px`})}render(){if(this.initialized){this.scrollThrottle.dequeue();const e=this.getVisibleRange(),t=this.getRenderedRange();if(this.cleanupRows(t),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const i=de(!0,{},t);this._options.frozenBottom?(i.top=this.actualFrozenRow,i.bottom=this.getDataLength()):(i.top=0,i.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(i)}this.cleanUpAndRenderCells(t)}this.renderRows(t),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:t.leftPx,rightPx:t.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:t.leftPx,rightPx:t.rightPx})),this.postProcessFromRow=e.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,e.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.triggerEvent(this.onRendered,{startRow:e.top,endRow:e.bottom,grid:this})}}handleHeaderRowScroll(){const e=this._headerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleFooterRowScroll(){const e=this._footerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleTopHeaderPanelScroll(){this.handleElementScroll(this._topHeaderPanelScroller)}handleElementScroll(e){const t=e.scrollLeft;t!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=t)}handleScroll(e){return this.scrollHeight=this._viewportScrollContainerY.scrollHeight,this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(e?"scroll":"system")}_handleScroll(e="system"){let t=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,i=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;t=Math.max(0,t),i=Math.max(0,i),this.scrollTop>t&&(this.scrollTop=t,this.scrollHeight=t),this.scrollLeft>i&&(this.scrollLeft=i);const s=Math.abs(this.scrollTop-this.prevScrollTop),n=Math.abs(this.scrollLeft-this.prevScrollLeft);if(n&&(this.prevScrollLeft=this.scrollLeft,this._viewportScrollContainerX.scrollLeft=this.scrollLeft,this._headerScrollContainer.scrollLeft=this.scrollLeft,this._topPanelScrollers[0].scrollLeft=this.scrollLeft,this._options.createFooterRow&&(this._footerRowScrollContainer.scrollLeft=this.scrollLeft),this._options.createPreHeaderPanel&&(this.hasFrozenColumns()?this._preHeaderPanelScrollerR.scrollLeft=this.scrollLeft:this._preHeaderPanelScroller.scrollLeft=this.scrollLeft),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller.scrollLeft=this.scrollLeft),this.hasFrozenColumns()?(this.hasFrozenRows&&(this._viewportTopR.scrollLeft=this.scrollLeft),this._headerRowScrollerR.scrollLeft=this.scrollLeft):(this.hasFrozenRows&&(this._viewportTopL.scrollLeft=this.scrollLeft),this._headerRowScrollerL.scrollLeft=this.scrollLeft)),s&&!this._options.autoHeight&&(this.vScrollDir=this.prevScrollTop<this.scrollTop?1:-1,this.prevScrollTop=this.scrollTop,e==="mousewheel"&&(this._viewportScrollContainerY.scrollTop=this.scrollTop),this.hasFrozenColumns()&&(this.hasFrozenRows&&!this._options.frozenBottom?this._viewportBottomL.scrollTop=this.scrollTop:this._viewportTopL.scrollTop=this.scrollTop),s<this.viewportH?this.scrollTo(this.scrollTop+this.offset):(this.h===this.viewportH?this.page=0:this.page=Math.min(this.n-1,Math.floor(this.scrollTop*((this.th-this.viewportH)/(this.h-this.viewportH))*(1/this.ph))),this.offset=Math.round(this.page*this.cj))),n||s){const o=Math.abs(this.lastRenderedScrollLeft-this.scrollLeft),l=Math.abs(this.lastRenderedScrollTop-this.scrollTop);(o>20||l>20)&&(this._options.forceSyncScrolling||l<this.viewportH&&o<this.viewportW?this.render():this.scrollThrottle.enqueue(),this.triggerEvent(this.onViewportChanged,{}))}return this.triggerEvent(this.onScroll,{triggeredBy:e,scrollHeight:this.scrollHeight,scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}),!!(n||s)}actionThrottle(e,t){let i=!1,s=!1;const n=()=>{i?s=!0:l()},o=()=>{s=!1},l=()=>{i=!0,window.clearTimeout(this._executionBlockTimer),this._executionBlockTimer=window.setTimeout(a,t),e.call(this)},a=()=>{s?(o(),l()):i=!1};return{enqueue:n.bind(this),dequeue:o.bind(this)}}asyncPostProcessRows(){const e=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const t=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,i=this.rowsCache[t];if(!(!i||t>=e)){this.postProcessedRows[t]||(this.postProcessedRows[t]={}),this.ensureCellNodesInRowsCache(t),Object.keys(i.cellNodesByColumnIdx).forEach(s=>{if(i.cellNodesByColumnIdx.hasOwnProperty(s)){const n=+s,o=this.columns[n],l=this.postProcessedRows[t][n];if(o.asyncPostRender&&l!=="R"){const a=i.cellNodesByColumnIdx[n];a&&o.asyncPostRender(a,t,this.getDataItem(t),o,l==="C"),this.postProcessedRows[t][n]="R"}}}),this.h_postrender=window.setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const e=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===e;){const t=this.postProcessedCleanupQueue.shift();if((t==null?void 0:t.actionType)==="R"&&t.node.forEach(i=>{i.remove()}),(t==null?void 0:t.actionType)==="C"){const i=this.columns[t.columnIdx];i.asyncPostRenderCleanup&&t.node&&i.asyncPostRenderCleanup(t.node,t.rowIdx,i)}}this.h_postrenderCleanup=window.setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(e,t){let i,s,n;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(o=>{this.rowsCache&&(n=t==null?void 0:t[o],s=e==null?void 0:e[o],n&&Object.keys(n).forEach(l=>{(!s||n[l]!==s[l])&&(i=this.getCellNode(+o,this.getColumnIndex(l)),i&&i.classList.remove(n[l]))}),s&&Object.keys(s).forEach(l=>{(!n||n[l]!==s[l])&&(i=this.getCellNode(+o,this.getColumnIndex(l)),i&&i.classList.add(s[l]))}))})}addCellCssStyles(e,t){if(this.cellCssClasses[e])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${e}" already exists.`);this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,null),this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}removeCellCssStyles(e){this.cellCssClasses[e]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[e]),delete this.cellCssClasses[e],this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:null,grid:this}))}setCellCssStyles(e,t){const i=this.cellCssClasses[e];this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,i),this.triggerEvent(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}getCellCssStyles(e){return this.cellCssClasses[e]}flashCell(e,t,i=250){const s=(n,o)=>{o>0&&(window.clearTimeout(this._flashCellTimer),this._flashCellTimer=window.setTimeout(()=>{o%2===0?n.classList.add(this._options.cellFlashingCssClass||""):n.classList.remove(this._options.cellFlashingCssClass||""),s(n,o-1)},i))};if(this.rowsCache[e]){const n=this.getCellNode(e,t);n&&s(n,5)}}highlightRow(e,t){const i=this.rowsCache[e];t||(t=this._options.rowHighlightDuration),Array.isArray(i==null?void 0:i.rowNode)&&this._options.rowHighlightCssClass&&(i.rowNode.forEach(s=>s.classList.add(...he(this._options.rowHighlightCssClass))),window.clearTimeout(this._highlightRowTimer),this._highlightRowTimer=window.setTimeout(()=>{var s;(s=i.rowNode)==null||s.forEach(n=>n.classList.remove(...he(this._options.rowHighlightCssClass)))},t))}handleMouseWheel(e,t,i,s){this.scrollHeight=this._viewportScrollContainerY.scrollHeight,e.shiftKey?this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10:(this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10),this._handleScroll("mousewheel")&&e.preventDefault()}handleDragInit(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.triggerEvent(this.onDragInit,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDragStart(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.triggerEvent(this.onDragStart,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDrag(e,t){return this.triggerEvent(this.onDrag,t,e).getReturnValue()}handleDragEnd(e,t){this.triggerEvent(this.onDragEnd,t,e)}handleKeyDown(e){var s,n,o;let i=this.triggerEvent(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},e).isImmediatePropagationStopped();if(!i&&!e.shiftKey&&!e.altKey){if(this._options.editable&&((s=this.currentEditor)!=null&&s.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(e.which)>-1)return;e.ctrlKey&&e.key==="Home"?this.navigateTopStart():e.ctrlKey&&e.key==="End"?this.navigateBottomEnd():e.ctrlKey&&e.key==="ArrowUp"?this.navigateTop():e.ctrlKey&&e.key==="ArrowDown"?this.navigateBottom():e.ctrlKey&&e.key==="ArrowLeft"||!e.ctrlKey&&e.key==="Home"?this.navigateRowStart():(e.ctrlKey&&e.key==="ArrowRight"||!e.ctrlKey&&e.key==="End")&&this.navigateRowEnd()}if(!i)if(!e.shiftKey&&!e.altKey&&!e.ctrlKey)if(e.key==="Escape"){if(!((n=this.getEditorLock())!=null&&n.isActive()))return;this.cancelEditAndSetFocus()}else e.key==="PageDown"?(this.navigatePageDown(),i=!0):e.key==="PageUp"?(this.navigatePageUp(),i=!0):e.key==="ArrowLeft"?i=this.navigateLeft():e.key==="ArrowRight"?i=this.navigateRight():e.key==="ArrowUp"?i=this.navigateUp():e.key==="ArrowDown"?i=this.navigateDown():e.key==="Tab"?i=this.navigateNext():e.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(o=this.getEditorLock())!=null&&o.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,e)),i=!0);else e.key==="Tab"&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&(i=this.navigatePrev());i&&(e.stopPropagation(),e.preventDefault())}handleClick(e){var s,n,o;const t=e instanceof le?e.getNativeEvent():e;if(!this.currentEditor&&(t.target!==document.activeElement||t.target.classList.contains("slick-cell"))){const l=this.getTextSelection();this.setFocus(),this.setTextSelection(l)}const i=this.getCellFromEvent(t);if(!(!i||this.currentEditor!==null&&this.activeRow===i.row&&this.activeCell===i.cell)&&(e=this.triggerEvent(this.onClick,{row:i.row,cell:i.cell},e||t),!(e.isImmediatePropagationStopped()||t.defaultPrevented)&&this.canCellBeActive(i.row,i.cell)&&(!((s=this.getEditorLock())!=null&&s.isActive())||(n=this.getEditorLock())!=null&&n.commitCurrentEdit()))){this.scrollRowIntoView(i.row,!1);const l=((o=t.target)==null?void 0:o.className)===ed,a=this.columns[i.cell],h=!!(this._options.editable&&(a!=null&&a.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(i.row,i.cell),null,l,h,t)}}handleContextMenu(e){const t=e.target.closest(".slick-cell");t&&(this.activeCellNode===t&&this.currentEditor!==null||this.triggerEvent(this.onContextMenu,{},e))}handleDblClick(e){const t=this.getCellFromEvent(e);!t||this.currentEditor!==null&&this.activeRow===t.row&&this.activeCell===t.cell||(this.triggerEvent(this.onDblClick,{row:t.row,cell:t.cell},e),!e.defaultPrevented&&this._options.editable&&this.gotoCell(t.row,t.cell,!0,e))}handleHeaderMouseEnter(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseOver(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOver,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderMouseOut(e){const t=T.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOut,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseOver(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOver,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseOut(e){const t=T.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOut,{column:t,grid:this},e)}handleHeaderContextMenu(e){const t=e.target.closest(".slick-header-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onHeaderContextMenu,{column:i},e)}handleHeaderClick(e){if(!this.columnResizeDragging){const t=e.target.closest(".slick-header-column"),i=t&&T.storage.get(t,"column");i&&this.triggerEvent(this.onHeaderClick,{column:i},e)}}handlePreHeaderContextMenu(e){this.triggerEvent(this.onPreHeaderContextMenu,{node:e.target},e)}handlePreHeaderClick(e){this.columnResizeDragging||this.triggerEvent(this.onPreHeaderClick,{node:e.target},e)}handleFooterContextMenu(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&T.storage.get(t,"column");this.triggerEvent(this.onFooterClick,{column:i},e)}handleCellMouseOver(e){this.triggerEvent(this.onMouseEnter,{},e)}handleCellMouseOut(e){this.triggerEvent(this.onMouseLeave,{},e)}cellExists(e,t){return!(e<0||e>=this.getDataLength()||t<0||t>=this.columns.length)}getCellFromPoint(e,t){let i=this.getRowFromPosition(t),s=0,n=0;for(let o=0;o<this.columns.length&&n<=e;o++)this.columns[o]&&(n+=this.columns[o].width,s++);return s-=1,i<-1&&(i=-1),{row:i,cell:s}}getCellFromNode(e){const t=/l\d+/.exec(e.className);if(!t)throw new Error(`SlickGrid getCellFromNode: cannot get cell - ${e.className}`);return parseInt(t[0].substr(1,t[0].length-1),10)}getRowFromNode(e){var t;for(const i in this.rowsCache)if(this.rowsCache){for(const s in this.rowsCache[i].rowNode)if(((t=this.rowsCache[i].rowNode)==null?void 0:t[+s])===e)return i?parseInt(i,10):0}return null}getFrozenRowOffset(e){let t=0;return this.hasFrozenRows?this._options.frozenBottom?e>=this.actualFrozenRow?this.h<this.viewportTopH?t=this.actualFrozenRow*this._options.rowHeight:t=this.h:t=0:e>=this.actualFrozenRow?t=this.frozenRowsHeight:t=0:t=0,t}getCellFromEvent(e){const t=e instanceof le?e.getNativeEvent():e;if(!t)return null;const i=t.touches?t.touches[0]:t,s=t.target.closest(".slick-cell");if(!s)return null;let n=this.getRowFromNode(s.parentNode);if(this.hasFrozenRows){let l=0;const a=ge(T.parents(s,".grid-canvas")[0]);T.parents(s,".grid-canvas-bottom").length&&(l=this._options.frozenBottom?T.height(this._canvasTopL):this.frozenRowsHeight);const d=i.clientX-a.left,c=i.clientY-a.top+l+document.documentElement.scrollTop;n=this.getCellFromPoint(d,c).row}const o=this.getCellFromNode(s);return!Jt(n)||!Jt(o)?null:{row:n,cell:o}}getCellNodeBox(e,t){var a;if(!this.cellExists(e,t))return null;const i=this.getFrozenRowOffset(e),s=this.getRowTop(e)-i,n=s+this._options.rowHeight-1;let o=0;for(let h=0;h<t;h++)this.columns[h]&&!this.columns[h].hidden&&(o+=this.columns[h].width||0,this._options.frozenColumn===h&&(o=0));const l=o+(((a=this.columns[t])==null?void 0:a.width)||0);return{top:s,left:o,bottom:n,right:l}}resetActiveCell(){this.setActiveCellInternal(null,!1)}unsetActiveCell(){var e,t;q(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(t=(e=this.rowsCache[this.activeRow])==null?void 0:e.rowNode)==null||t.forEach(i=>i.classList.remove("active")))}focus(){this.setFocus()}setFocus(){this.tabbingDirection===-1?this._focusSink.focus():this._focusSink2.focus()}scrollCellIntoView(e,t,i){if(this.scrollRowIntoView(e,i),t>this._options.frozenColumn){const s=this.getColspan(e,t);this.internalScrollColumnIntoView(this.columnPosLeft[t],this.columnPosRight[t+(s>1?s-1:0)])}}internalScrollColumnIntoView(e,t){var s;const i=this.scrollLeft+T.width(this._viewportScrollContainerX)-(this.viewportHasVScroll&&((s=this.scrollbarDimensions)==null?void 0:s.width)||0);e<this.scrollLeft?(this._viewportScrollContainerX.scrollLeft=e,this.handleScroll(),this.render()):t>i&&(this._viewportScrollContainerX.scrollLeft=Math.min(e,t-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(e){this.internalScrollColumnIntoView(this.columnPosLeft[e],this.columnPosRight[e])}setActiveCellInternal(e,t,i,s,n){var o,l;if(this.unsetActiveCell(),this.activeCellNode=e,q(this.activeCellNode)){const a=ge(this.activeCellNode);let h=Math.floor(ge(T.parents(this.activeCellNode,".grid-canvas")[0]).top);const d=T.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&d&&(h-=this._options.frozenBottom?T.height(this._canvasTopL):this.frozenRowsHeight);const c=this.getCellFromPoint(a.left,Math.ceil(a.top)-h);this.activeRow=this.activePosY=c.row,this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!q(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(document.querySelectorAll(".slick-cell.active").forEach(u=>u.classList.remove("active")),this.activeCellNode.classList.add("active"),(l=(o=this.rowsCache[this.activeRow])==null?void 0:o.rowNode)==null||l.forEach(u=>u.classList.add("active"))),this._options.editable&&t&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(this._options.asyncEditorLoading?(window.clearTimeout(this.h_editorLoader),this.h_editorLoader=window.setTimeout(()=>{this.makeActiveCellEditable(void 0,i,n)},this._options.asyncEditorLoadDelay)):this.makeActiveCellEditable(void 0,i,n))}else this.activeRow=this.activeCell=null;s||this.triggerEvent(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var e;if((e=document.selection)!=null&&e.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const t=window.getSelection();t!=null&&t.removeAllRanges&&t.removeAllRanges()}}isCellPotentiallyEditable(e,t){const i=this.getDataLength();return!(e<i&&!this.getDataItem(e)||this.columns[t].cannotTriggerInsert&&e>=i||!this.columns[t]||this.columns[t].hidden||!this.getEditor(e,t))}makeActiveCellNormal(e=!1){var t;if(this.currentEditor){if(this.triggerEvent(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const i=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),i){const s=this.columns[this.activeCell],o=this.getFormatter(this.activeRow,s)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(i,s),s,i,this);this.applyFormatResultToCellNode(o,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}e&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(t=this.getEditorLock())==null||t.deactivate(this.editController)}}editActiveCell(e,t,i){this.makeActiveCellEditable(e,t,i)}makeActiveCellEditable(e,t,i){var l,a,h,d;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when grid options.editable is false");if(window.clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const s=this.columns[this.activeCell],n=this.getDataItem(this.activeRow);if(this.triggerEvent(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:n,column:s,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(l=this.getEditorLock())==null||l.activate(this.editController),this.activeCellNode.classList.add("editable");const o=e||this.getEditor(this.activeRow,this.activeCell);if(typeof o=="function"){!e&&!o.suppressClearOnEdit&&ee(this.activeCellNode);let c=this.getItemMetadaWhenExists(this.activeRow);c=c==null?void 0:c.columns;const u=c&&(c[s.id]||c[this.activeCell]),p={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:u,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new o(p),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&typeof((a=this.currentEditor)==null?void 0:a.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(h=this.currentEditor)==null?void 0:h.serializeValue(),(d=this.currentEditor)!=null&&d.position&&this.handleActiveCellPositionChange()}}commitEditAndSetFocus(e=!0){var t;(t=this.getEditorLock())!=null&&t.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&e&&this.navigateDown())}cancelEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.cancelCurrentEdit()&&this.setFocus()}absBox(e){const t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:e.offsetWidth,height:e.offsetWidth,visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;let i=e.offsetParent;for(;(e=e.parentNode)!==document.body&&!(!e||!e.parentNode);){const s=getComputedStyle(e);t.visible&&e.scrollHeight!==e.offsetHeight&&s.overflowY!=="visible"&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!==e.offsetWidth&&s.overflowX!=="visible"&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===i&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,i=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width}return t}getActiveCellPosition(){return this.absBox(this.activeCellNode)}getGridPosition(){return this.absBox(this._container)}handleActiveCellPositionChange(){if(this.activeCellNode&&(this.triggerEvent(this.onActiveCellPositionChanged,{}),this.currentEditor)){const e=this.getActiveCellPosition();this.currentEditor.show&&this.currentEditor.hide&&(e.visible?this.currentEditor.show():this.currentEditor.hide()),this.currentEditor.position&&this.currentEditor.position(e)}}getCellEditor(){return this.currentEditor}getActiveCell(){return this.activeCellNode?{row:this.activeRow,cell:this.activeCell}:null}getActiveCellNode(){return this.activeCellNode}getTextSelection(){let e=null;if(window.getSelection){const t=window.getSelection();((t==null?void 0:t.rangeCount)||0)>0&&(e=t.getRangeAt(0))}return e}setTextSelection(e){if(window.getSelection&&e){const t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}}scrollRowIntoView(e,t){var i;if(!this.hasFrozenRows||!this._options.frozenBottom&&e>this.actualFrozenRow-1||this._options.frozenBottom&&e<this.actualFrozenRow-1){const s=T.height(this._viewportScrollContainerY),n=this.hasFrozenRows&&!this._options.frozenBottom?e-this._options.frozenRow:e,o=n*this._options.rowHeight,l=(n+1)*this._options.rowHeight-s+(this.viewportHasHScroll&&((i=this.scrollbarDimensions)==null?void 0:i.height)||0);(n+1)*this._options.rowHeight>this.scrollTop+s+this.offset?(this.scrollTo(t?o:l),this.render()):n*this._options.rowHeight<this.scrollTop+this.offset&&(this.scrollTo(t?l:o),this.render())}}scrollRowToTop(e){this.scrollTo(e*this._options.rowHeight),this.render()}scrollPage(e){const t=e*this.numVisibleRows,i=this.scrollTop+this._options.rowHeight-1;if(this.scrollTo((this.getRowFromPosition(i)+t)*this._options.rowHeight),this.render(),this._options.enableCellNavigation&&q(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);const o=e===1?this.gotoDown(s-1||0,this.activeCell,this.activePosY,this.activePosX):this.gotoUp(s+1,this.activeCell,this.activePosY,this.activePosX);this.navigateToPos(o)}}navigatePageDown(){this.unsetActiveCell(),this.scrollPage(1)}navigatePageUp(){this.unsetActiveCell(),this.scrollPage(-1)}navigateTop(){this.unsetActiveCell(),this.navigateToRow(0)}navigateBottom(){var i;const e=this.getDataLength()-1;let t=((i=this.getParentRowSpanByCell(e,this.activeCell))==null?void 0:i.start)??e;do if(this._options.enableCellRowSpan&&this.setActiveRow(t),this.navigateToRow(t)&&this.activeCell===this.activePosX||!q(this.activeCell))break;while(--t>0)}navigateToRow(e){const t=this.getDataLength();if(!t)return!1;e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0);let i=!q(this.activeCell)||!q(this.activeRow);if(this._options.enableCellNavigation&&q(this.activeRow)){let s=0,n=null;const o=this.activePosX;for(;s<=this.activePosX;)this.canCellBeActive(e,s)&&(n=s,(!q(this.activeCell)||s===this.activeCell)&&(i=!0)),s+=this.getColspan(e,s);n!==null?(this.setActiveCellInternal(this.getCellNode(e,n)),this.activePosX=o):this.resetActiveCell()}return i}getColspan(e,t){const i=this.getItemMetadaWhenExists(e);if(!i||!i.columns)return 1;t>=this.columns.length&&(t=this.columns.length-1);const s=i.columns[this.columns[t].id]||i.columns[t];let n=s==null?void 0:s.colspan;return n==="*"?n=this.columns.length-t:n=n||1,n}getRowspan(e,t){let i=1;const s=this.getItemMetadaWhenExists(e);return s!=null&&s.columns&&Object.keys(s.columns).forEach(n=>{const o=Number(n);if(o===t){const l=s.columns[o];i=Number((l==null?void 0:l.rowspan)||1)}}),i}findFocusableRow(e,t,i){let s=e;const n=this._colsWithRowSpanCache[t]||new Set;let o=!1;return Array.from(n).forEach(l=>{const[a,h]=l.split(":").map(Number);!o&&e>=a&&e<=h&&(s=i==="up"?a:h,this.canCellBeActive(s,t)&&(o=!0))}),s}findFirstFocusableCell(e){let t=0,i=e,s=-1;for(;t<this.columns.length;){const n=this.getParentRowSpanByCell(e,t);if(i=n!==null&&n.start!==e?n.start:e,this.canCellBeActive(i,t)){s=t;break}t+=this.getColspan(i,t)}return{cell:s,row:i}}findLastFocusableCell(e){let t=0,i=e,s=-1;for(;t<this.columns.length;){const n=this.getParentRowSpanByCell(e,t);i=n!==null&&n.start!==e?n.start:e,this.canCellBeActive(i,t)&&(s=t),t+=this.getColspan(i,t)}return{cell:s,row:i}}findSpanStartingCell(e,t){const i=this.getParentRowSpanByCell(e,t),s=i!==null&&i.start!==e?i.start:e;let n=0,o=0;for(;n<this.columns.length;){if(n+=this.getColspan(s,n),n>t)return n=o,{cell:n,row:s};o=n}return{cell:n,row:s}}gotoRight(e,t,i,s){if(t<this.columns.length){let n=t+1,o=i;do{const l=this.findSpanStartingCell(i,n);if(o=l.row,n=l.cell,this.canCellBeActive(o,n)&&n>t)break;n+=this.getColspan(o,l.cell)}while(n<this.columns.length);if(n<this.columns.length)return{row:o,cell:n,posX:n,posY:i}}return null}gotoLeft(e,t,i,s){const n=this.findFirstFocusableCell(e);if(t<=0||n.cell>=t)return null;let o,l={row:e,cell:n.cell,posX:n.cell,posY:i};for(;;){if(o=this.gotoRight(l.row,l.cell,l.posY,l.posX),!o)return null;if(o.cell>=t){const a=this.findFocusableRow(i,l.cell,"up");return a!==l.row&&(l.row=a),l}l=o}}gotoDown(e,t,i,s){let n;const o=this.getDataLengthIncludingAddNew();do for(e+=this.getRowspan(e,s),n=t=0;t<=s;)n=t,t+=this.getColspan(e,t);while(e<=o&&!this.canCellBeActive(e,n));return e<=o?{row:e,cell:n,posX:s,posY:e}:null}gotoUp(e,t,i,s){let n;if(e>0){do for(e=this.findFocusableRow(e-1,s,"up"),n=t=0;t<=s;)n=t,t+=this.getColspan(e,t);while(e>=0&&!this.canCellBeActive(e,n));if(t<=this.columns.length)return{row:e,cell:n,posX:s,posY:e}}return null}gotoNext(e,t,i,s){var o;if(!Jt(e)&&!Jt(t)&&(e=t=i=s=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t,posY:i};let n=this.gotoRight(e,t,i,s);if(!n){let l;for(;!n&&++i<this.getDataLength()+(this._options.enableAddRow?1:0);)l=this.findFirstFocusableCell(i),e=((o=this.getParentRowSpanByCell(i,l.cell))==null?void 0:o.start)??i,n={row:e,cell:l.cell,posX:l.cell,posY:i}}return n}gotoPrev(e,t,i,s){var o;if(!Jt(e)&&!Jt(t)&&(e=i=this.getDataLengthIncludingAddNew()-1,t=s=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t,posY:i};let n=this.gotoLeft(e,t,i,s);if(!n){let l;for(;!n&&--i>=0;)l=this.findLastFocusableCell(i),l.cell>-1&&(e=((o=this.getParentRowSpanByCell(i,l.cell))==null?void 0:o.start)??i,n={row:e,cell:l.cell,posX:l.cell,posY:i})}return n}gotoRowStart(e,t,i,s){const n=this.findFirstFocusableCell(e);return{row:n.row,cell:n.cell,posX:n.cell,posY:e}}gotoRowEnd(e,t,i,s){const n=this.findLastFocusableCell(e);return n.cell===-1?null:{row:n.row,cell:n.cell,posX:n.cell,posY:e}}navigateRight(){return this.navigate("right")}navigateLeft(){return this.navigate("left")}navigateDown(){return this.navigate("down")}navigateUp(){return this.navigate("up")}navigateNext(){return this.navigate("next")}navigatePrev(){return this.navigate("prev")}navigateRowStart(){return this.navigate("home")}navigateRowEnd(){return this.navigate("end")}navigateTopStart(){return this.unsetActiveCell(),this.navigateToRow(0),this.navigate("home")}navigateBottomEnd(){return this.navigateBottom(),this.navigate("end")}navigate(e){var o;if(!this._options.enableCellNavigation||!this.activeCellNode&&e!=="prev"&&e!=="next")return!1;if(!((o=this.getEditorLock())!=null&&o.commitCurrentEdit()))return!0;this.setFocus(),this.unsetActiveCell();const t={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1};this.tabbingDirection=t[e];const n={up:this.gotoUp,down:this.gotoDown,left:this.gotoLeft,right:this.gotoRight,prev:this.gotoPrev,next:this.gotoNext,home:this.gotoRowStart,end:this.gotoRowEnd}[e].call(this,this.activeRow,this.activeCell,this.activePosY,this.activePosX);return this.navigateToPos(n)}navigateToPos(e){if(e){if(this.hasFrozenRows&&this._options.frozenBottom&&e.row===this.getDataLength())return;const t=e.row===this.getDataLength();return(!this._options.frozenBottom&&e.row>=this.actualFrozenRow||this._options.frozenBottom&&e.row<this.actualFrozenRow)&&this.scrollCellIntoView(e.row,e.cell,!t&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(e.row,e.cell)),this.activePosX=e.posX,this.activePosY=e.posY,!0}else return this.setActiveCellInternal(this.getCellNode(this.activeRow,this.activeCell)),!1}getCellNode(e,t){if(this.rowsCache[e]){this.ensureCellNodesInRowsCache(e);try{return this.rowsCache[e].cellNodesByColumnIdx.length>t?this.rowsCache[e].cellNodesByColumnIdx[t]:null}catch{return this.rowsCache[e].cellNodesByColumnIdx[t]}}return null}getRowCache(){return this.rowsCache}setActiveCell(e,t,i,s,n){!this.initialized||!this._options.enableCellNavigation||e>this.getDataLength()||e<0||t>=this.columns.length||t<0||(this.scrollCellIntoView(e,t,!1),this.setActiveCellInternal(this.getCellNode(e,t),i,s,n))}setActiveRow(e,t,i){t??(t=0),!(!this.initialized||e>this.getDataLength()||e<0||t>=this.columns.length||t<0)&&(this.activeRow=e,i||this.scrollCellIntoView(e,t,!1))}canCellBeActive(e,t){var o,l,a;if(!this._options.enableCellNavigation||e>=this.getDataLengthIncludingAddNew()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden||(((o=this.getParentRowSpanByCell(e,t))==null?void 0:o.start)??e)!==e)return!1;const s=this.getItemMetadaWhenExists(e);if((s==null?void 0:s.focusable)!==void 0)return!!s.focusable;const n=s==null?void 0:s.columns;return((l=n==null?void 0:n[this.columns[t].id])==null?void 0:l.focusable)!==void 0?!!n[this.columns[t].id].focusable:((a=n==null?void 0:n[t])==null?void 0:a.focusable)!==void 0?!!n[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=this.getItemMetadaWhenExists(e);if((i==null?void 0:i.selectable)!==void 0)return!!i.selectable;const s=(i==null?void 0:i.columns)&&(i.columns[this.columns[t].id]||i.columns[t]);return(s==null?void 0:s.selectable)!==void 0?!!s.selectable:!!this.columns[t].selectable}gotoCell(e,t,i,s){var n;if(this.initialized&&this.canCellBeActive(e,t)&&((n=this.getEditorLock())!=null&&n.commitCurrentEdit())){this.scrollCellIntoView(e,t,!1);const o=this.getCellNode(e,t),l=this.columns[t],a=!!(this._options.editable&&(l!=null&&l.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(o,i||e===this.getDataLength()||this._options.autoEdit,null,a,s),this.currentEditor||this.setFocus()}}commitCurrentEdit(){var s;const e=this,t=e.getDataItem(e.activeRow),i=e.columns[e.activeCell];if(e.currentEditor){if(e.currentEditor.isValueChanged()){const n=e.currentEditor.validate();if(n.valid){const o=e.activeRow,l=e.activeCell,a=e.currentEditor,h=e.currentEditor.serializeValue(),d=e.serializedEditorValue;if(e.activeRow<e.getDataLength()){const c={row:o,cell:l,editor:a,serializedValue:h,prevSerializedValue:d,execute:()=>{a.applyValue(t,h),e.updateRow(o),e.triggerEvent(e.onCellChange,{command:"execute",row:o,cell:l,item:t,column:i})},undo:()=>{a.applyValue(t,d),e.updateRow(o),e.triggerEvent(e.onCellChange,{command:"undo",row:o,cell:l,item:t,column:i})}};e._options.editCommandHandler?(e.makeActiveCellNormal(!0),e._options.editCommandHandler(t,i,c)):(c.execute(),e.makeActiveCellNormal(!0))}else{const c={};e.currentEditor.applyValue(c,e.currentEditor.serializeValue()),e.makeActiveCellNormal(!0),e.triggerEvent(e.onAddNewRow,{item:c,column:i})}return!((s=e.getEditorLock())!=null&&s.isActive())}else return e.activeCellNode&&(e.activeCellNode.classList.remove("invalid"),T.width(e.activeCellNode),e.activeCellNode.classList.add("invalid")),e.triggerEvent(e.onValidationError,{editor:e.currentEditor,cellNode:e.activeCellNode,validationResults:n,row:e.activeRow,cell:e.activeCell,column:i}),e.currentEditor.focus(),!1}e.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(e){const t=[],i=this.columns.length-1;for(let s=0;s<e.length;s++)t.push(new tt(e[s],0,e[s],i));return t}getSelectedRows(){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");return this.selectedRows.slice(0)}setSelectedRows(e,t){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");const i=this.getEditorLock();typeof(i==null?void 0:i.isActive)=="function"&&!i.isActive()&&this.selectionModel.setSelectedRanges(this.rowsToRanges(e),t||"SlickGrid.setSelectedRows")}sanitizeHtmlString(e){var t;return typeof((t=this._options)==null?void 0:t.sanitizer)!="function"||!e||typeof e!="string"?e:this._options.sanitizer(e)}}class Rd{constructor(e,t,i){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._clearFilterTriggered=!1,this._collectionObservers=[],this._shouldTriggerQuery=!0,this.searchTerms=[],this.isFilled=!1,this.isItemSelected=!1,this.valueName="label",this.enableTranslateLabel=!1,this.subscriptions=[],this._bindEventService=new Pe}get autocompleterOptions(){return this._autocompleterOptions||{}}get collectionOptions(){var e,t;return((t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.collectionOptions)??{}}get collection(){return this._collection}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)||{}}get filterDomElement(){return this._filterElm}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.autocompleter,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get customStructure(){var i,s,n,o,l;let e=(i=this.columnFilter)==null?void 0:i.customStructure;const t=((s=this.columnFilter)==null?void 0:s.type)??((n=this.columnDef)==null?void 0:n.type);return!e&&t===w.object&&((o=this.columnDef)!=null&&o.dataKey)&&((l=this.columnDef)!=null&&l.labelKey)&&(e={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),e}get defaultOperator(){return H.equal}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get instance(){return this._instance}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}init(e){var i,s,n,o,l,a;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this.filterContainerElm=e.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync&&!this.columnFilter.filterOptions)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the AutoComplete Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.autocompleter, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);this.enableTranslateLabel=((i=this.columnFilter)==null?void 0:i.enableTranslateLabel)??!1,this.labelName=((s=this.customStructure)==null?void 0:s.label)??"label",this.valueName=((n=this.customStructure)==null?void 0:n.value)??"value",this.labelPrefixName=((o=this.customStructure)==null?void 0:o.labelPrefix)??"labelPrefix",this.labelSuffixName=((l=this.customStructure)==null?void 0:l.labelSuffix)??"labelSuffix",this._locales=((a=this.gridOptions)==null?void 0:a.locales)??R.locales;const t=this.columnFilter.collection;return this._collection=t,this.renderDomElement(t),new Promise(async(h,d)=>{try{const c=this.columnFilter.collectionAsync;let u;c&&!this.columnFilter.collection?(u=Yo(c,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),h(u)):(u=t,h(t)),(c||this.columnFilter.enableCollectionWatch)&&(await(u??c),this.watchCollectionChanges())}catch(c){d(c)}})}clear(e=!0){this._filterElm&&(this._clearFilterTriggered=!0,this._shouldTriggerQuery=e,this.searchTerms=[],this._filterElm.value="",this._filterElm.dispatchEvent(new CustomEvent("input")),this.updateFilterStyle(!1))}destroy(){var e,t,i;typeof((e=this._instance)==null?void 0:e.destroy)=="function"&&this._instance.destroy(),this._filterElm,(i=(t=this._filterElm)==null?void 0:t.remove)==null||i.call(t),this._collection=void 0,this._bindEventService.unbindAll(),this._collectionObservers.forEach(s=>s==null?void 0:s.disconnect()),cs(this.subscriptions)}getValues(){var e;return((e=this._filterElm)==null?void 0:e.value)||""}setValues(e,t,i=!1){e&&this._filterElm&&(this._filterElm.value=e),this.updateFilterStyle(this.getValues()!==""),this.operator=t||this.defaultOperator,i&&this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:[this.getValues()],shouldTriggerQuery:!0})}filterCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const s=this.columnFilter.collectionFilterBy,n=this.columnFilter.collectionOptions&&this.columnFilter.collectionOptions.filterResultAfterEachPass||null;t=((i=this.collectionService)==null?void 0:i.filterCollection(t,s,n))||[]}return t}sortCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionSortBy){const s=this.columnFilter.collectionSortBy;t=((i=this.collectionService)==null?void 0:i.sortCollection(this.columnDef,t,s,this.enableTranslateLabel))||[]}return t}watchCollectionChanges(){var e;(e=this.columnFilter)!=null&&e.collection&&(this._collectionObservers.push(ci(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])})),hs(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&this._collectionObservers.push(ci(this.columnFilter.collection,i=>{this.renderDomElement(this.columnFilter.collection||i||[])}))}))}renderDomElement(e){var s;if(!Array.isArray(e)&&((s=this.collectionOptions)!=null&&s.collectionInsideObjectProperty)){const n=this.collectionOptions.collectionInsideObjectProperty;e=Ee(e,n||"")}let t=e;t&&(t=this.filterCollection(t),t=this.sortCollection(t));const i=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this._collection=t,this._filterElm=this.createFilterElement(t,i),this._bindEventService.bind(this._filterElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._filterElm,"blur",()=>{this.isItemSelected||this.clear()})}createFilterElement(e,t){var l,a,h,d,c,u,p,m,f,g,_;this._collection=e;const i=((l=this.columnDef)==null?void 0:l.id)??"";ee(this.filterContainerElm);let s=((a=this.gridOptions)==null?void 0:a.defaultFilterPlaceholder)??"";(h=this.columnFilter)!=null&&h.placeholder&&(s=this.columnFilter.placeholder),this._filterElm=v("input",{type:"text",ariaLabel:((d=this.columnFilter)==null?void 0:d.ariaLabel)??`${Ct(i+"")} Search Filter`,autocomplete:"off",ariaAutoComplete:"none",placeholder:s,className:`form-control search-filter slick-filter filter-${i} slick-autocomplete-container`,value:t??"",dataset:{columnid:`${i}`}});const n=t;Array.isArray(e)&&(e.every(C=>$i(C))?e=e.map(C=>({label:C,value:C})):e=e.map(C=>({label:C==null?void 0:C[this.labelName],value:C==null?void 0:C[this.valueName],labelPrefix:(C==null?void 0:C[this.labelPrefixName])??"",labelSuffix:(C==null?void 0:C[this.labelSuffixName])??""}))),this._autocompleterOptions={input:this._filterElm,debounceWaitMs:200,className:`slick-autocomplete ${((c=this.filterOptions)==null?void 0:c.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((u=this.translaterService)!=null&&u.translate)?this.translaterService.translate("NO_ELEMENTS_FOUND"):((p=this._locales)==null?void 0:p.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(C,b,S)=>{S.style.width=""},onSelect:C=>{this.isItemSelected=!0,this.handleSelect(C)},...this.filterOptions},(m=this.gridOptions)!=null&&m.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=he(this.autocompleterOptions.className).join(" "),(f=this._autocompleterOptions.renderItem)!=null&&f.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${fi(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(e)?this._autocompleterOptions.render=((g=this._autocompleterOptions.render)==null?void 0:g.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(_=this.filterOptions)!=null&&_.fetch?(jo(this._filterElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(C,b)=>{e&&b(e.filter(S=>((typeof S=="string"?S:S==null?void 0:S.label)||"").toLowerCase().includes(C.toLowerCase())))}}),this._filterElm.value=n??"";const o=v("div",{className:"autocomplete-filter-container"});return o.appendChild(this._filterElm),o.appendChild(v("span")),t&&this._filterElm.classList.add("filled"),this.filterContainerElm.appendChild(o),this.filterContainerElm.appendChild(document.createElement("span")),this._filterElm}handleSelect(e){var t;if(e!==void 0){const s=((t=this.filterOptions)==null?void 0:t.renderItem)??!1,n=typeof e=="string"?e:s?e[this.labelName]:e.label;let o=typeof e=="string"?e:s?e[this.valueName]:e.value;o=this.trimWhitespaceWhenEnabled(o),this.updateFilterStyle(o!==""),this.setValues(n),this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:[o],shouldTriggerQuery:this._shouldTriggerQuery}),this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}return!1}handleOnInputChange(e){var s;let t=((s=e==null?void 0:e.target)==null?void 0:s.value)??"";const i=this.filterOptions.triggerOnEveryKeyStroke??!1;if(t=this.trimWhitespaceWhenEnabled(t),this._clearFilterTriggered||t===""||i){const n={columnDef:this.columnDef,shouldTriggerQuery:this._shouldTriggerQuery};this._clearFilterTriggered?n.clearFilterTriggered=this._clearFilterTriggered:(n.operator=this.operator,n.searchTerms=[t]),this.updateFilterStyle(t!==""),this.callback(e,n)}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}renderRegularItem(e){const t=typeof e=="string"?e:(e==null?void 0:e.label)??"";return v("div",{textContent:t||""})}renderCustomItem(e){var s,n;const t=((n=(s=this._autocompleterOptions)==null?void 0:s.renderItem)==null?void 0:n.templateCallback(e))??"",i=document.createElement("div");return this.grid.applyHtmlCode(i,t),i}renderCollectionItem(e){var h;const t=((h=this.columnFilter)==null?void 0:h.enableRenderHtml)??!1,i=e.labelPrefix||"",s=e.label||"",n=e.labelSuffix||"",o=i+s+n,l=this.grid.sanitizeHtmlString(o)||"",a=document.createElement("div");return a[t?"innerHTML":"textContent"]=l,a}trimWhitespaceWhenEnabled(e){let t=e;const i=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;return typeof e=="string"&&i&&(t=e.trim()),t}updateFilterStyle(e){this.isItemSelected=e,e?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled")}}/*! name: vanilla-calendar-pro v2.9.10 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */var Ad=Object.defineProperty,Sl=Object.getOwnPropertySymbols,Pd=Object.prototype.hasOwnProperty,kd=Object.prototype.propertyIsEnumerable,ir=(r,e,t)=>e in r?Ad(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,yl=(r,e)=>{for(var t in e||(e={}))Pd.call(e,t)&&ir(r,t,e[t]);if(Sl)for(var t of Sl(e))kd.call(e,t)&&ir(r,t,e[t]);return r},Y=(r,e,t)=>(ir(r,typeof e!="symbol"?e+"":e,t),t);const Fd={calendar:"vanilla-calendar",calendarDefault:"vanilla-calendar_default",calendarMultiple:"vanilla-calendar_multiple",calendarMonth:"vanilla-calendar_month",calendarYear:"vanilla-calendar_year",calendarHidden:"vanilla-calendar_hidden",calendarToInput:"vanilla-calendar_to-input",calendarToInputTop:"vanilla-calendar_to-input_top",calendarToInputBottom:"vanilla-calendar_to-input_bottom",controls:"vanilla-calendar-controls",grid:"vanilla-calendar-grid",gridDisabled:"vanilla-calendar-grid_disabled",column:"vanilla-calendar-column",columnMonth:"vanilla-calendar-column_month",columnYear:"vanilla-calendar-column_year",header:"vanilla-calendar-header",headerContent:"vanilla-calendar-header__content",month:"vanilla-calendar-month",monthDisabled:"vanilla-calendar-month_disabled",year:"vanilla-calendar-year",yearDisabled:"vanilla-calendar-year_disabled",arrow:"vanilla-calendar-arrow",arrowPrev:"vanilla-calendar-arrow_prev",arrowNext:"vanilla-calendar-arrow_next",wrapper:"vanilla-calendar-wrapper",content:"vanilla-calendar-content",week:"vanilla-calendar-week",weekDay:"vanilla-calendar-week__day",weekDayWeekend:"vanilla-calendar-week__day_weekend",days:"vanilla-calendar-days",daysSelecting:"vanilla-calendar-days_selecting",months:"vanilla-calendar-months",monthsSelecting:"vanilla-calendar-months_selecting",monthsMonth:"vanilla-calendar-months__month",monthsMonthSelected:"vanilla-calendar-months__month_selected",monthsMonthDisabled:"vanilla-calendar-months__month_disabled",years:"vanilla-calendar-years",yearsSelecting:"vanilla-calendar-years_selecting",yearsYear:"vanilla-calendar-years__year",yearsYearSelected:"vanilla-calendar-years__year_selected",yearsYearDisabled:"vanilla-calendar-years__year_disabled",time:"vanilla-calendar-time",timeContent:"vanilla-calendar-time__content",timeHours:"vanilla-calendar-time__hours",timeMinutes:"vanilla-calendar-time__minutes",timeKeeping:"vanilla-calendar-time__keeping",timeRanges:"vanilla-calendar-time__ranges",timeRange:"vanilla-calendar-time__range",day:"vanilla-calendar-day",dayHoverFirst:"vanilla-calendar-day_hover-first",dayHoverLast:"vanilla-calendar-day_hover-last",dayHoverIntermediate:"vanilla-calendar-day_hover-intermediate",daySelectedFirst:"vanilla-calendar-day_selected-first",daySelectedLast:"vanilla-calendar-day_selected-last",daySelectedIntermediate:"vanilla-calendar-day_selected-intermediate",dayPopup:"vanilla-calendar-day__popup",dayBtn:"vanilla-calendar-day__btn",dayBtnPrev:"vanilla-calendar-day__btn_prev",dayBtnNext:"vanilla-calendar-day__btn_next",dayBtnToday:"vanilla-calendar-day__btn_today",dayBtnSelected:"vanilla-calendar-day__btn_selected",dayBtnHover:"vanilla-calendar-day__btn_hover",dayBtnDisabled:"vanilla-calendar-day__btn_disabled",dayBtnWeekend:"vanilla-calendar-day__btn_weekend",dayBtnHoliday:"vanilla-calendar-day__btn_holiday",weekNumbers:"vanilla-calendar-week-numbers",weekNumbersTitle:"vanilla-calendar-week-numbers__title",weekNumbersContent:"vanilla-calendar-week-numbers__content",weekNumber:"vanilla-calendar-week-number",isFocus:"vanilla-calendar-is-focus"},Dd=r=>`<div class="${r.controls}"><#ArrowPrev /><#ArrowNext /></div><div class="${r.grid}"><#Multiple><div class="${r.column}"><div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><#WeekNumbers /><div class="${r.content}"><#Week /><#Days /></div></div></div><#/Multiple></div><#ControlTime />`,Md=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,Ld=r=>`<div class="${r.header}"><#ArrowPrev /><div class="${r.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${r.wrapper}"><div class="${r.content}"><#Years /></div></div>`;class Nd{constructor(){var e;Y(this,"isInit",!1),Y(this,"isInputInit",!1),Y(this,"input",!1),Y(this,"type","default"),Y(this,"months",2),Y(this,"jumpMonths",1),Y(this,"jumpToSelectedDate",!1),Y(this,"toggleSelected",!0),Y(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),Y(this,"settings",{lang:"en",iso8601:!0,range:{min:void 0,max:void 0,disablePast:!1,disableGaps:!1,edgesOnly:!1,disableAllDays:!1,disableWeekday:void 0,disabled:void 0,enabled:void 0},selection:{day:"single",month:!0,year:!0,time:!1,controlTime:"all",stepHours:1,stepMinutes:1,cancelableDay:!0},selected:{dates:void 0,month:void 0,year:void 0,holidays:void 0,time:void 0},visibility:{theme:"system",themeDetect:"html[data-theme]",monthShort:!0,weekNumbers:!1,weekend:!0,today:!0,disabled:!1,daysOutside:!0,positionToInput:"left"}}),Y(this,"locale",{months:[],weekday:[]}),Y(this,"sanitizer",t=>t),Y(this,"actions",{clickDay:null,clickWeekNumber:null,clickMonth:null,clickYear:null,clickArrow:null,changeTime:null,changeToInput:null,getDays:null,getMonths:null,getYears:null,initCalendar:null,updateCalendar:null,destroyCalendar:null,showCalendar:null,hideCalendar:null}),Y(this,"popups",{}),Y(this,"CSSClasses",yl({},Fd)),Y(this,"DOMTemplates",{default:(e=this.CSSClasses,`<div class="${e.header}"><#ArrowPrev /><div class="${e.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${e.wrapper}"><#WeekNumbers /><div class="${e.content}"><#Week /><#Days /></div></div><#ControlTime />`),multiple:Dd(this.CSSClasses),month:Md(this.CSSClasses),year:Ld(this.CSSClasses)}),Y(this,"HTMLElement"),Y(this,"HTMLOriginalElement"),Y(this,"HTMLInputElement"),Y(this,"rangeMin"),Y(this,"rangeMax"),Y(this,"rangeDisabled"),Y(this,"rangeEnabled"),Y(this,"selectedDates"),Y(this,"selectedHolidays"),Y(this,"selectedMonth"),Y(this,"selectedYear"),Y(this,"selectedHours"),Y(this,"selectedMinutes"),Y(this,"selectedKeeping"),Y(this,"selectedTime"),Y(this,"currentType"),Y(this,"correctMonths"),Y(this,"viewYear"),Y(this,"dateMin"),Y(this,"dateMax")}}const Et=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,me=r=>new Date(`${r}T00:00:00`),wi=r=>r.reduce((e,t)=>{if(t instanceof Date||typeof t=="number"){const i=t instanceof Date?t:new Date(t);e.push(i.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(i,s,n)=>{const o=me(s),l=me(n),a=new Date(o.getTime());for(;a<=l;a.setDate(a.getDate()+1))e.push(Et(a));return i});return e},[]),Ms=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},is=r=>r?{0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(r)]||String(r):"",Ti={notFoundSelector:r=>`${r} is not found, check the first argument passed to new VanillaCalendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:'You specified "define" for "settings.lang" but did not provide the required values for "locale.weekday" or "locale.months".',incorrectTheme:'Incorrect name of theme in "settings.visibility.theme".',incorrectTime:"The value of the time property can be: false, true, 12 or 24."},Hd=r=>{var e;if(r.jumpToSelectedDate&&((e=r.settings.selected.dates)!=null&&e.length)&&r.settings.selected.month===void 0&&r.settings.selected.year===void 0){const s=me(wi(r.settings.selected.dates)[0]);r.settings.selected.month=s.getMonth(),r.settings.selected.year=s.getFullYear()}const t=r.settings.selected.month!==void 0&&Number(r.settings.selected.month)>=0&&Number(r.settings.selected.month)<12,i=r.settings.selected.year!==void 0&&Number(r.settings.selected.year)>=0&&Number(r.settings.selected.year)<=9999;r.selectedMonth=t?Number(r.settings.selected.month):r.date.today.getMonth(),r.selectedYear=i?Number(r.settings.selected.year):r.date.today.getFullYear(),r.viewYear=r.selectedYear},Vd=r=>{var e,t,i;r.date.min==="today"&&(r.date.min=Ms()),r.date.max==="today"&&(r.date.max=Ms()),r.settings.range.min==="today"&&(r.settings.range.min=Ms()),r.settings.range.max==="today"&&(r.settings.range.max=Ms()),r.settings.range.min=r.settings.range.min?me(r.date.min)>=me(r.settings.range.min)?r.date.min:r.settings.range.min:r.date.min,r.settings.range.max=r.settings.range.max?me(r.date.max)<=me(r.settings.range.max)?r.date.max:r.settings.range.max:r.date.max;const s=r.settings.range.disablePast&&!r.settings.range.disableAllDays&&me(r.settings.range.min)<r.date.today;r.rangeMin=s||r.settings.range.disableAllDays?Et(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?Et(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?wi(r.settings.range.disabled):r.settings.range.disableAllDays?[r.rangeMin]:[],r.rangeDisabled.length>1&&r.rangeDisabled.sort((n,o)=>+new Date(n)-+new Date(o)),r.rangeEnabled=r.settings.range.enabled?wi(r.settings.range.enabled):[],(e=r.rangeEnabled)!=null&&e[0]&&((t=r.rangeDisabled)!=null&&t[0])&&(r.rangeDisabled=r.rangeDisabled.filter(n=>!r.rangeEnabled.includes(n))),r.rangeEnabled.length>1&&r.rangeEnabled.sort((n,o)=>+new Date(n)-+new Date(o)),(i=r.rangeEnabled)!=null&&i[0]&&r.settings.range.disableAllDays&&(r.rangeMin=r.rangeEnabled[0],r.rangeMax=r.rangeEnabled[r.rangeEnabled.length-1])},Bd=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?wi(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?wi(r.settings.selected.holidays):[]},zd=r=>{r.dateMin=r.settings.visibility.disabled?me(r.date.min):me(r.rangeMin),r.dateMax=r.settings.visibility.disabled?me(r.date.max):me(r.rangeMax)},$d=r=>{const e=r.settings.selection.time===!0||r.settings.selection.time===12;if(e||r.settings.selection.time===24){let t=!1;if(typeof r.settings.selected.time=="string"){const i=e?/^([0-9]|0[1-9]|1[0-2]):([0-5][0-9])|(AM|PM)/g:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])/g;r.settings.selected.time.replace(i,(s,n,o,l)=>(n&&o&&(t=!0,r.selectedHours=n,r.selectedMinutes=o),l&&e?r.selectedKeeping=l:e&&(r.selectedKeeping="AM"),""))}!t&&e?(r.selectedHours=is(String(r.date.today.getHours())),r.selectedMinutes=String(r.date.today.getMinutes()),r.selectedKeeping=Number(r.date.today.getHours())>=12?"PM":"AM"):t||(r.selectedHours=String(r.date.today.getHours()),r.selectedMinutes=String(r.date.today.getMinutes())),r.selectedHours=Number(r.selectedHours)<10?`0${Number(r.selectedHours)}`:`${r.selectedHours}`,r.selectedMinutes=Number(r.selectedMinutes)<10?`0${Number(r.selectedMinutes)}`:`${r.selectedMinutes}`,r.selectedTime=`${r.selectedHours}:${r.selectedMinutes}${r.selectedKeeping?` ${r.selectedKeeping}`:""}`}else if(r.settings.selection.time)throw new Error(Ti.incorrectTime)},Wd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},El=r=>{r.currentType=r.type,Hd(r),Vd(r),Bd(r),zd(r),$d(r),Wd(r)},wl=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},sr=r=>{var e,t;if(r.currentType==="month")return;const i=(e=r.HTMLElement)==null?void 0:e.querySelector(`.${r.CSSClasses.arrowPrev}`),s=(t=r.HTMLElement)==null?void 0:t.querySelector(`.${r.CSSClasses.arrowNext}`);!i||!s||{default:()=>{const n=me(Et(new Date(r.selectedYear,r.selectedMonth,1))),o=new Date(n.getTime()),l=new Date(n.getTime());o.setMonth(o.getMonth()-r.jumpMonths),l.setMonth(l.getMonth()+r.jumpMonths),r.settings.selection.year||(r.dateMin.setFullYear(n.getFullYear()),r.dateMax.setFullYear(n.getFullYear()));const a=!r.settings.selection.month||o.getFullYear()<r.dateMin.getFullYear()||o.getFullYear()===r.dateMin.getFullYear()&&o.getMonth()<r.dateMin.getMonth(),h=!r.settings.selection.month||l.getFullYear()>r.dateMax.getFullYear()||l.getFullYear()===r.dateMax.getFullYear()&&l.getMonth()>r.dateMax.getMonth();wl({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{wl({arrowPrev:i,arrowNext:s,isPrevHidden:r.dateMin.getFullYear()&&r.viewYear-7<=r.dateMin.getFullYear(),isNextHidden:r.dateMax.getFullYear()&&r.viewYear+7>=r.dateMax.getFullYear()})}}[r.currentType==="multiple"?"default":r.currentType]()},Tl=(r,e)=>{if(!r)return null;const t=me(r),i=e?t.getDay()||7:t.getDay();t.setDate(t.getDate()+4-i);const s=new Date(t.getFullYear(),0,1),n=Math.ceil(((+t-+s)/864e5+1)/7);return{year:t.getFullYear(),week:n}};function nr(r){if(!r||!r.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const e=r.getBoundingClientRect(),t=document.documentElement;return{bottom:e.bottom,right:e.right,top:e.top+window.scrollY-t.clientTop,left:e.left+window.scrollX-t.clientLeft}}function Gd(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function rr(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function Ud(r){const{top:e,left:t}=Gd(),{top:i,left:s}=nr(r),{vh:n,vw:o}=rr(),l=i-e,a=s-t;return{top:l,bottom:n-(l+r.clientHeight),left:a,right:o-(a+r.clientWidth)}}function Ol(r,e,t=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!e||!r)return{canShow:i,parentPositions:s};const{bottom:n,top:o}=Ud(r),{top:l,left:a}=nr(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=rr(),p=u/2,m=c/2;return[{condition:l<m,position:"top"},{condition:l>m,position:"bottom"},{condition:a<p,position:"left"},{condition:a>p,position:"right"}].forEach(({condition:f,position:g})=>{f&&s.push(g)}),Object.assign(i,{top:h<=o-t,bottom:h<=n-t,left:d<=a,right:d<=u-a}),{canShow:i,parentPositions:s}}function jd(r,e){const t="left";if(!e||!r)return t;const{canShow:i,parentPositions:s}=Ol(r,e),n=i.left&&i.right;return(n&&i.bottom?"center":n&&i.top?["top","center"]:Array.isArray(s)?[s[0]==="bottom"?"top":"bottom",...s.slice(1)]:s)||t}const or=(r,e,t,i)=>{if(r){const s=t==="auto"?jd(r,e):t,n={top:-e.offsetHeight,bottom:r.offsetHeight,left:0,center:r.offsetWidth/2-e.offsetWidth/2,right:r.offsetWidth-e.offsetWidth},o=Array.isArray(s)?s[0]:"bottom",l=Array.isArray(s)?s[1]:s;o==="bottom"?(e.classList.remove(i.calendarToInputTop),e.classList.add(i.calendarToInputBottom)):(e.classList.remove(i.calendarToInputBottom),e.classList.add(i.calendarToInputTop));const{top:a,left:h}=nr(r),d=a+n[o];let c=h+n[l];const{vw:u}=rr();if(c+e.clientWidth>u){const p=window.innerWidth-document.body.clientWidth;c=u-e.clientWidth-p}else c<0&&(c=0);Object.assign(e.style,{left:`${c}px`,top:`${d}px`})}},Yd=(r,e,t,i)=>{const s=r.CSSClasses.dayPopup,n=i.querySelector(`[data-calendar-day="${e}"]`);if(n&&(t!=null&&t.modifier&&n.classList.add(...t.modifier.trim().split(" ")),t==null?void 0:t.html)){const o=n.parentElement,l=document.createElement("div");l.className=s,l.innerHTML=r.sanitizer(t.html),o.appendChild(l),setTimeout(()=>{if(l){const{canShow:a}=Ol(o,l),h=5;let d=o.offsetHeight,c=0;a.bottom||(d=-l.offsetHeight-h),a.left&&!a.right&&(c=o.offsetWidth-l.offsetWidth/2),!a.left&&a.right&&(c=l.offsetWidth/2),Object.assign(l.style,{left:`${c}px`,top:`${d}px`})}})}},qd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>Yd(r,i,s,e)))},Kd=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Tl(n==null?void 0:n.dataset.calendarDay,r.settings.iso8601);if(!o)return;const l=i.cloneNode(!0);l.innerText=String(o.week),l.dataset.calendarYearWeek=String(o.year),s.appendChild(l)},Xd=(r,e,t,i,s)=>{if(!r.settings.visibility.weekNumbers)return;i.textContent="";const n=document.createElement("b");n.className=r.CSSClasses.weekNumbersTitle,n.innerText="#",i.appendChild(n);const o=document.createElement("div");o.className=r.CSSClasses.weekNumbersContent,i.appendChild(o);const l=document.createElement("button");l.type="button",l.className=r.CSSClasses.weekNumber;const a=s.querySelectorAll(`.${r.CSSClasses.day}`),h=Math.ceil((e+t)/7);for(let d=0;d<h;d++)Kd(r,a,d===0?6:7*d,l,o)},Qd=(r,e,t)=>{var i,s,n,o,l;const a=(i=r.settings.range.disableWeekday)==null?void 0:i.includes(t),h=r.settings.range.disableAllDays&&!!((s=r.rangeEnabled)!=null&&s[0]);!a&&!h||(n=r.rangeEnabled)!=null&&n.includes(e)||(o=r.rangeDisabled)!=null&&o.includes(e)||(r.rangeDisabled.push(e),(l=r.rangeDisabled)==null||l.sort((d,c)=>+new Date(d)-+new Date(c)))},Zd=(r,e,t,i,s,n,o)=>{var l,a,h;if((me(r.rangeMin)>me(n)||me(r.rangeMax)<me(n)||(l=r.rangeDisabled)!=null&&l.includes(n)||!r.settings.selection.month&&o||!r.settings.selection.year&&me(n).getFullYear()!==e)&&(i.classList.add(r.CSSClasses.dayBtnDisabled),i.tabIndex=-1),r.settings.visibility.today&&Et(r.date.today)===n&&i.classList.add(r.CSSClasses.dayBtnToday),!r.settings.visibility.weekend||s!==0&&s!==6||i.classList.add(r.CSSClasses.dayBtnWeekend),(a=r.selectedHolidays)!=null&&a.includes(n)&&i.classList.add(r.CSSClasses.dayBtnHoliday),(h=r.selectedDates)!=null&&h.includes(n)&&(i.classList.add(r.CSSClasses.dayBtnSelected),r.selectedDates.length>1&&r.settings.selection.day==="multiple-ranged"&&(r.selectedDates[0]===n&&t.classList.add(r.CSSClasses.daySelectedFirst),r.selectedDates[r.selectedDates.length-1]===n&&t.classList.add(r.CSSClasses.daySelectedLast),r.selectedDates[0]!==n&&r.selectedDates[r.selectedDates.length-1]!==n&&t.classList.add(r.CSSClasses.daySelectedIntermediate))),r.settings.range.edgesOnly&&r.selectedDates.length>1&&r.settings.selection.day==="multiple-ranged"){const d=+new Date(r.selectedDates[0]),c=+new Date(r.selectedDates[r.selectedDates.length-1]),u=+new Date(n);u>d&&u<c&&(i.classList.add(r.CSSClasses.dayBtnSelected),t.classList.add(r.CSSClasses.daySelectedIntermediate))}},lr=(r,e,t,i,s,n,o,l)=>{const a=document.createElement("div");a.className=r.CSSClasses.day;const h=document.createElement("button");h.className=`${r.CSSClasses.dayBtn}${l?` ${l}`:""}`,h.type="button",h.innerText=String(i),h.dataset.calendarDay=n,r.settings.visibility.weekNumbers&&(()=>{const d=Tl(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),Qd(r,n,s),Zd(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Jd=(r,e,t,i,s)=>{let n=new Date(t,i,0).getDate()-(s-1);const o=i===0?t-1:t,l=i===0?12:i<10?`0${i}`:i;for(let a=s;a>0;a--,n++){const h=`${o}-${l}-${n}`,d=me(h).getDay();lr(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},ec=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=Et(o),a=o.getDay();lr(r,i,e,n,a,l,!1,null)}},tc=(r,e,t,i,s,n)=>{const o=n+t,l=7*Math.ceil(o/7)-o,a=s+1===12?i+1:i,h=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let d=1;d<=l;d++){const c=`${a}-${h}-${d<10?`0${d}`:String(d)}`,u=me(c).getDay();lr(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},Ls=r=>{const e=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.days}`),t=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.weekNumbers}`),i=new Date(r.selectedYear,r.selectedMonth,1);e.forEach((s,n)=>{const o=new Date(i);o.setMonth(o.getMonth()+n);const l=o.getMonth(),a=o.getFullYear(),h=new Date(a,l,1),d=new Date(a,l+1,0).getDate(),c=r.settings.iso8601?(h.getDay()!==0?h.getDay():7)-1:h.getDay();r.settings.selection.day&&s.classList.add(r.CSSClasses.daysSelecting),s.textContent="",Jd(r,s,a,l,c),ec(r,s,d,a,l),tc(r,s,d,a,l,c),Xd(r,c,d,t[n],s),qd(r,s)})},ic=(r,e,t,i)=>{const s=new Date(i.setMonth(r.selectedMonth+t)).getMonth(),n=r.settings.selection.month===!1||r.settings.selection.month==="only-arrows";e.tabIndex=n?-1:0,e.classList.toggle(r.CSSClasses.monthDisabled,n),e.setAttribute("data-calendar-selected-month",String(s)),e.innerText=r.locale.months[s]},sc=(r,e,t,i)=>{const s=new Date(i.setFullYear(r.selectedYear,r.selectedMonth+t)).getFullYear(),n=r.settings.selection.year===!1||r.settings.selection.year==="only-arrows";e.tabIndex=n?-1:0,e.classList.toggle(r.CSSClasses.yearDisabled,n),e.setAttribute("data-calendar-selected-year",String(s)),e.innerText=String(s)},Ns=r=>{var e,t;const i=(e=r.HTMLElement)==null?void 0:e.querySelectorAll("[data-calendar-selected-month]"),s=(t=r.HTMLElement)==null?void 0:t.querySelectorAll("[data-calendar-selected-year]");if(!(i!=null&&i[0])&&(s!=null&&s[0]))return;const n=new Date(r.selectedYear,r.selectedMonth,1);i==null||i.forEach((o,l)=>ic(r,o,l,n)),s==null||s.forEach((o,l)=>sc(r,o,l,n))},ar=(r,e)=>{const t=me(Et(new Date(r.selectedYear,r.selectedMonth,1)));({prev:()=>t.setMonth(t.getMonth()-r.jumpMonths),next:()=>t.setMonth(t.getMonth()+r.jumpMonths)})[e](),[r.selectedMonth,r.selectedYear]=[t.getMonth(),t.getFullYear()],Ns(r),sr(r),Ls(r)},nc=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,rc=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,oc=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,lc=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,ac=r=>`<div class="${r.CSSClasses.week}"></div>`,hc=r=>`<div class="${r.CSSClasses.days}"></div>`,dc=r=>`<div class="${r.CSSClasses.months}"></div>`,cc=r=>`<div class="${r.CSSClasses.years}"></div>`,uc=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",pc=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",mc=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:rc,ArrowPrev:nc,ControlTime:pc,Days:hc,Month:oc,Months:dc,Week:ac,WeekNumbers:uc,Year:lc,Years:cc},Symbol.toStringTag,{value:"Module"})),ss=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=(n=i.replace(/[/\s\n\t]/g,""),mc[n]);var n;const o=s?s(r):"";return r.sanitizer(o)}).replace(/[\n\t]/g,""),fc=(r,e)=>e.replace(/<#Multiple>(.*?)<#\/Multiple>/g,(t,i)=>{let s="";for(let n=0;n<r.correctMonths;n++)s+=i;return r.sanitizer(s)}).replace(/[\n\t]/g,""),hr=(r,e)=>{const{HTMLElement:t,CSSClasses:i,DOMTemplates:s,type:n,currentType:o,correctMonths:l}=r,a=(d,c)=>{if(!e)return;const u=t.querySelector(`.${i.controls}`);u&&t.removeChild(u),t.querySelector(`.${i.grid}`).classList.add(i.gridDisabled);const p=e.closest(`.${i.column}`);p.classList.add(d),p.innerHTML=ss(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=ss(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=fc(r,ss(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=ss(r,s.month)):a(i.columnMonth,s.month)},year:()=>{n!=="multiple"?(t.classList.add(i.calendarYear),t.classList.remove(i.calendarDefault,i.calendarMonth),t.innerHTML=ss(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},gc=(r,e,t,i,s)=>{const n=e.cloneNode(!1);return n.className=`${r.CSSClasses.yearsYear}${t===s?` ${r.CSSClasses.yearsYearSelected}`:i?` ${r.CSSClasses.yearsYearDisabled}`:""}`,n.dataset.calendarYear=String(s),n.title=String(s),n.innerText=String(s),i&&(n.tabIndex=-1),n},dr=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",hr(r,e),Ns(r),sr(r);const i=r.HTMLElement.querySelector(`.${r.CSSClasses.years}`);if(!r.settings.selection.year||!i)return;i.classList.add(r.CSSClasses.yearsSelecting);const s=r.type!=="multiple"||r.selectedYear===t?0:1,n=document.createElement("button");n.type="button";for(let o=r.viewYear-7;o<r.viewYear+8;o++){const l=o<r.dateMin.getFullYear()+s||o>r.dateMax.getFullYear(),a=gc(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},_c=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?ar(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],dr(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},Cc=(r,e)=>{var t;if(!r.settings.visibility.weekNumbers||!r.actions.clickWeekNumber)return;const i=e.target.closest(`.${r.CSSClasses.weekNumber}`),s=(t=r.HTMLElement)==null?void 0:t.querySelectorAll("[data-calendar-week-number]");if(!i||!s)return;const n=Number(i.innerText),o=Number(i.dataset.calendarYearWeek),l=Array.from(s).filter(a=>Number(a.dataset.calendarWeekNumber)===n);r.actions.clickWeekNumber(e,n,l,o,r)},xl=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),vc=(r,e)=>{const t=new Date(`1978-01-0${e+1}T00:00:00.000Z`).toLocaleString(r.settings.lang,{weekday:"short",timeZone:"UTC"});r.locale.weekday.push(xl(t))},bc=(r,e)=>{const t=new Date(`1978-${e+1<=9?`0${e+1}`:e+1}-01T00:00:00.000Z`).toLocaleString(r.settings.lang,{month:"long",timeZone:"UTC"});r.locale.months.push(xl(t))},Sc=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(Ti.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)vc(r,e);for(let e=0;e<12;e++)bc(r,e)}},Il=r=>{if(r.type!=="multiple")return 0;const e=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.column}`),t=Array.from(e).findIndex(i=>i.classList.contains(`${r.CSSClasses.columnMonth}`));return t>0?t:0},yc=(r,e,t,i,s,n)=>{const o=e.cloneNode(!1);return o.className=`${r.CSSClasses.monthsMonth}${t===n?` ${r.CSSClasses.monthsMonthSelected}`:s?` ${r.CSSClasses.monthsMonthDisabled}`:""}`,o.title=i,o.innerText=`${r.settings.visibility.monthShort?i.substring(0,3):i}`,o.dataset.calendarMonth=String(n),s&&(o.tabIndex=-1),o},Rl=(r,e)=>{var t,i;const s=e!=null&&e.dataset.calendarSelectedMonth?Number(e.dataset.calendarSelectedMonth):r.selectedMonth,n=(t=e==null?void 0:e.closest(`.${r.CSSClasses.column}`))==null?void 0:t.querySelector(`.${r.CSSClasses.year}`),o=n?Number(n.dataset.calendarSelectedYear):r.selectedYear;r.currentType="month",hr(r,e),Ns(r);const l=(i=r.HTMLElement)==null?void 0:i.querySelector(`.${r.CSSClasses.months}`);if(!r.settings.selection.month||!l)return;l.classList.add(r.CSSClasses.monthsSelecting);const a=r.jumpMonths>1?r.locale.months.map((d,c)=>s-r.jumpMonths*c).concat(r.locale.months.map((d,c)=>s+r.jumpMonths*c)).filter(d=>d>=0&&d<=12):Array.from(Array(12).keys()),h=document.createElement("button");h.type="button";for(let d=0;d<12;d++){const c=r.locale.months[d],u=d<r.dateMin.getMonth()+Il(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+Il(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=yc(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},cr=(r,e)=>r&&e?{0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"12",PM:"12"}}[Number(r)][e]:"",Hs=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),Al=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},oi=(r,e,t,i)=>{({hours:()=>{r.selectedHours=t},minutes:()=>{r.selectedMinutes=t}})[i](),r.selectedTime=`${r.selectedHours}:${r.selectedMinutes}${r.selectedKeeping?` ${r.selectedKeeping}`:""}`,r.actions.changeTime&&r.actions.changeTime(e,r),r.input&&r.HTMLInputElement&&r.actions.changeToInput&&r.actions.changeToInput(e,r)},Pl=(r,e,t,i,s,n)=>{e.addEventListener("input",o=>{const l=o.target,a=Number(l.value),h=a<10?`0${a}`:`${a}`;if(s!=="hours"||n!==12)return t.value=h,void oi(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,oi(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=is(l.value),oi(r,o,is(l.value),s))})},kl=(r,e,t,i,s,n)=>{t.addEventListener("change",o=>{const l=o.target,a=Number(l.value),h=a<10?`0${a}`:`${a}`;s==="hours"&&n===12?l.value&&a<=n&&a>0?(l.value=h,e.value=cr(h,r.selectedKeeping),oi(r,o,h,s)):l.value&&a<24&&(a>n||a===0)?(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),l.value=is(l.value),e.value=h,oi(r,o,is(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,oi(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Ec=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=cr(r.selectedHours,r.selectedKeeping),oi(r,i,r.selectedHours,"hours")})},wc=(r,e,t)=>{const i=t===24?23:t||12,s=Hs(e,r.CSSClasses.timeRange,"hours"),n=Hs(e,r.CSSClasses.timeRange,"minutes"),o=Hs(e,r.CSSClasses.timeHours,"hours"),l=Hs(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);Al(s,o,r.CSSClasses.isFocus),Al(n,l,r.CSSClasses.isFocus),Pl(r,s,o,a,"hours",i),Pl(r,n,l,a,"minutes",0),kl(r,s,o,a,"hours",i),kl(r,n,l,a,"minutes",59),a&&Ec(r,a,s)},Fl=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,Dl=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Tc=r=>{const e=r.HTMLElement.querySelector(`.${r.CSSClasses.time}`);if(!e)return;const t=r.settings.selection.time===!0?12:r.settings.selection.time,i=r.settings.selection.controlTime==="range",[s,n]=[0,23],[o,l]=[0,59];e.innerHTML=r.sanitizer(`<div class="${r.CSSClasses.timeContent}">${Fl("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${Fl("minutes",r.CSSClasses.timeMinutes,r.selectedMinutes,i)}${t===12?`<button type="button" class="${r.CSSClasses.timeKeeping}"${i?"disabled":""}>${r.selectedKeeping}</button>`:""}</div><div class="${r.CSSClasses.timeRanges}">${Dl("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?cr(r.selectedHours,r.selectedKeeping):r.selectedHours)}${Dl("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),wc(r,e,t)},Oc=(r,e,t)=>{const i=document.createElement("b");e.textContent="";for(let s=0;s<t.length;s++){const n=t[s],o=i.cloneNode(!0);o.className=`${r.CSSClasses.weekDay}`,o.className=`${r.CSSClasses.weekDay}${r.settings.visibility.weekend&&r.settings.iso8601?s===5||s===6?` ${r.CSSClasses.weekDayWeekend}`:"":r.settings.visibility.weekend&&!r.settings.iso8601&&(s===0||s===6)?` ${r.CSSClasses.weekDayWeekend}`:""}`,o.innerText=`${n}`,e.appendChild(o)}},Ml=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>Oc(r,t,e)))},Ll=["light","dark","system"],Vs={value:!1,set:()=>{Vs.value=!0},check:()=>Vs.value},Nl=(r,e)=>Ll.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),li=(r,e)=>{r.dataset.calendarTheme=e},Hl=(r,e)=>{var t;if(t=e,li(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||Vs.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>li(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),Vs.set()},xc=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=Nl(e,t);n&&li(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Ic=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void Hl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=Nl(t,i);s?(li(r.HTMLElement,s),xc(r,t,i)):Hl(r,e)},Rc=r=>{if(!Ll.includes(r.settings.visibility.theme))throw new Error(Ti.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void li(r.HTMLElement,"light");({light:()=>li(r.HTMLElement,"light"),dark:()=>li(r.HTMLElement,"dark"),system:()=>Ic(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},ns=r=>{const e={default:()=>{Ml(r),Ls(r)},multiple:()=>{Ml(r),Ls(r)},month:()=>Rl(r),year:()=>dr(r)};Rc(r),Sc(r),hr(r),Ns(r),sr(r),Tc(r),e[r.currentType]()},Z={self:null,rangeMin:void 0,rangeMax:void 0},Vl=()=>{var r;if(!((r=Z.self)!=null&&r.HTMLElement))return;const{CSSClasses:e}=Z.self;Z.self.HTMLElement.querySelectorAll(`.${Z.self.CSSClasses.dayBtnHover}`).forEach(t=>{var i;t.classList.remove(Z.self.CSSClasses.dayBtnHover),(i=t.parentElement)==null||i.classList.remove(e.dayHoverIntermediate,e.dayHoverFirst,e.dayHoverLast)})},Ac=(r,e,t)=>{var i,s,n;if(!((i=Z.self)!=null&&i.selectedDates))return;const o=Et(r),{CSSClasses:l}=Z.self;if((s=Z.self.rangeDisabled)!=null&&s.includes(o))return;const a=(n=Z.self.HTMLElement)==null?void 0:n.querySelectorAll(`[data-calendar-day="${o}"]`);a==null||a.forEach(h=>{var d;h.classList.add(l.dayBtnHover),(d=h.parentElement)==null||d.classList.add(l.dayHoverIntermediate)}),e==null||e.forEach(h=>{var d;return(d=h.parentElement)==null?void 0:d.classList.add(l.dayHoverFirst)}),t==null||t.forEach(h=>{var d;return(d=h.parentElement)==null?void 0:d.classList.add(l.dayHoverLast)})},ur=r=>{var e;if(!r.target||!((e=Z.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Z.self.CSSClasses.days}`))return void Vl();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=me(Z.self.selectedDates[0]),n=me(i),o=Z.self.HTMLElement.querySelectorAll(`[data-calendar-day="${Z.self.selectedDates[0]}"]`),l=Z.self.HTMLElement.querySelectorAll(`[data-calendar-day="${i}"]`),[a,h]=s<n?[o,l]:[l,o],[d,c]=s<n?[s,n]:[n,s];Vl();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))Ac(u,a,h)},pr=r=>{Z.self&&r.key==="Escape"&&(Z.self.selectedDates=[],Z.self.HTMLElement.removeEventListener("mousemove",ur),document.removeEventListener("keydown",pr),ns(Z.self))},Pc=()=>{var r,e,t;if(!((e=(r=Z.self)==null?void 0:r.selectedDates)!=null&&e[0])||!((t=Z.self.rangeDisabled)!=null&&t[0]))return;const i=me(Z.self.selectedDates[0]),[s,n]=Z.self.rangeDisabled.map(o=>me(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Z.self.rangeMin=Et(new Date(s.setDate(s.getDate()+1)))),n&&(Z.self.rangeMax=Et(new Date(n.setDate(n.getDate()-1))))},Bl=(r,e)=>{var t;if(e){const i=r.selectedDates.length===1&&r.selectedDates[0].includes(e);r.selectedDates=i&&!r.settings.selection.cancelableDay?[e,e]:i&&r.settings.selection.cancelableDay?[]:r.selectedDates.length>1?[e]:[...r.selectedDates,e],(t=r.selectedDates)==null||t.sort((s,n)=>+new Date(s)-+new Date(n))}r.settings.range.disableGaps&&(Z.rangeMin=Z.rangeMin?Z.rangeMin:r.rangeMin,Z.rangeMax=Z.rangeMax?Z.rangeMax:r.rangeMax),Z.self=r,{set:()=>{r.HTMLElement.addEventListener("mousemove",ur),document.addEventListener("keydown",pr),r.settings.range.disableGaps&&Pc()},reset:()=>{const[i,s]=[r.selectedDates[0],r.selectedDates[r.selectedDates.length-1]];r.selectedDates=r.selectedDates[0]!==r.selectedDates[r.selectedDates.length-1]?r.settings.range.edgesOnly?[i,s]:wi([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",ur),document.removeEventListener("keydown",pr),r.settings.range.disableGaps&&Z.self&&(Z.self.rangeMin=Z.rangeMin,Z.self.rangeMax=Z.rangeMax)}}[r.selectedDates.length===1?"set":"reset"]()},zl=(r,e,t)=>{if(!e.dataset.calendarDay)return;const i=e.dataset.calendarDay,s=e.classList.contains(r.CSSClasses.dayBtnSelected);if(s&&!r.settings.selection.cancelableDay)return;let n=!0;r.toggleSelected!==void 0&&(n=typeof r.toggleSelected=="function"?r.toggleSelected(r):r.toggleSelected),s&&!n||(r.selectedDates=s?r.selectedDates.filter(o=>o!==i):t?[...r.selectedDates,i]:[i])},kc=(r,e)=>{var t;const i=e.target,s=a=>i.closest(`.${a}`),n=s(r.CSSClasses.dayBtn);if(!r.settings.selection.day||!["single","multiple","multiple-ranged"].includes(r.settings.selection.day)||!n)return;({single:()=>zl(r,n,!1),multiple:()=>zl(r,n,!0),"multiple-ranged":()=>Bl(r,n.dataset.calendarDay)})[r.settings.selection.day](),(t=r.selectedDates)==null||t.sort((a,h)=>+new Date(a)-+new Date(h)),r.actions.clickDay&&r.actions.clickDay(e,r),r.input&&r.HTMLInputElement&&r.HTMLElement&&r.actions.changeToInput&&r.actions.changeToInput(e,r);const o=s(r.CSSClasses.dayBtnPrev),l=s(r.CSSClasses.dayBtnNext);({prev:()=>ar(r,"prev"),next:()=>ar(r,"next"),default:()=>Ls(r)})[o?"prev":l?"next":"default"]()},$l=(r,e,t,i,s)=>{const n=r.HTMLElement.querySelectorAll(`.${r.CSSClasses.column}`),o=Array.from(n).findIndex(a=>a.classList.contains(e)),l=Number(n[o].querySelector(`.${t}`).getAttribute(s));return r.currentType==="month"&&o>=0?i-o:r.currentType==="year"&&r.selectedYear!==l?i-1:i},Fc=(r,e,t,i,s)=>{const n={year:()=>{var o,l;return(l=(o=r.actions).clickYear)==null?void 0:l.call(o,e,r)},month:()=>{var o,l;return(l=(o=r.actions).clickMonth)==null?void 0:l.call(o,e,r)}};({year:()=>{if(r.type==="multiple"){const o=$l(r,r.CSSClasses.columnYear,r.CSSClasses.year,Number(s.dataset.calendarYear),"data-calendar-selected-year"),l=r.selectedMonth<r.dateMin.getMonth()&&o<=r.dateMin.getFullYear(),a=r.selectedMonth>r.dateMax.getMonth()&&o>=r.dateMax.getFullYear(),h=o<r.dateMin.getFullYear(),d=o>r.dateMax.getFullYear();l||h?(r.selectedYear=r.dateMin.getFullYear(),r.selectedMonth=r.dateMin.getMonth()):a||d?(r.selectedYear=r.dateMax.getFullYear(),r.selectedMonth=r.dateMax.getMonth()):r.selectedYear=o}else r.selectedYear=Number(s.dataset.calendarYear)},month:()=>{if(r.type==="multiple"){const o=$l(r,r.CSSClasses.columnMonth,r.CSSClasses.month,Number(s.dataset.calendarMonth),"data-calendar-selected-month"),l=s.closest(`.${i.column}`).querySelector(`.${r.CSSClasses.year}`);r.selectedYear=Number(l.dataset.calendarSelectedYear);const a=o<r.dateMin.getMonth()&&r.selectedYear<=r.dateMin.getFullYear(),h=o>r.dateMax.getMonth()&&r.selectedYear>=r.dateMax.getFullYear();r.selectedMonth=a?r.dateMin.getMonth():h?r.dateMax.getMonth():o}else r.selectedMonth=Number(s.dataset.calendarMonth)}})[t](),n[t](),r.currentType=r.type,ns(r)},Wl=(r,e,t,i)=>{if(!r.settings.selection[t])return;const s=e.target,n=d=>s.closest(`.${d}`),o=n(i.header),l=n(i.item),a=n(r.CSSClasses.grid),h=n(r.CSSClasses.column);r.currentType!==t&&o?{year:()=>dr(r,s),month:()=>Rl(r,s)}[t]():l?Fc(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,ns(r))},Gl=r=>{const e=t=>{_c(r,t),Cc(r,t),kc(r,t),Wl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),Wl(r,t,"year",{header:r.CSSClasses.year,item:r.CSSClasses.yearsYear,column:r.CSSClasses.columnYear})};return r.HTMLElement.addEventListener("click",e),()=>r.HTMLElement.removeEventListener("click",e)},Ul=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=yl({},r.settings.selected);r.settings.selected.year=e?l.year:r.selectedYear,r.settings.selected.month=t?l.month:r.selectedMonth,r.settings.selected.holidays=s?l.holidays:r.selectedHolidays,r.settings.selected.time=n?l.time:r.selectedTime,r.settings.selected.dates=i==="only-first"&&((o=r.selectedDates)!=null&&o[0])?[r.selectedDates[0]]:i===!0?l.dates:r.selectedDates,El(r),ns(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&Bl(r)},jl=(r,e=!0)=>{r.isInputInit=!0;const t=document.createElement("div");return t.className=`${r.CSSClasses.calendar} ${r.CSSClasses.calendarToInput} ${r.CSSClasses.calendarHidden}`,r.HTMLElement=t,document.body.appendChild(r.HTMLElement),r.HTMLElement.style.visibility="hidden",e&&queueMicrotask(()=>{or(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),Ul(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),Gl(r)},Dc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>or(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),i=o=>{o.key==="Escape"&&(r!=null&&r.HTMLInputElement&&(r!=null&&r.HTMLElement)&&r.hide(),document.removeEventListener("keydown",i))},s=o=>{var l;r&&o.target!==r.HTMLInputElement&&!((l=r.HTMLElement)!=null&&l.contains(o.target))&&(r.HTMLInputElement&&r.HTMLElement&&r.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",s,{capture:!0}))},n=()=>{r.isInputInit?(or(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(jl(r)),window.addEventListener("resize",t),document.addEventListener("click",s,{capture:!0}),document.addEventListener("keydown",i)};return r.HTMLInputElement.addEventListener("click",n),r.HTMLInputElement.addEventListener("focus",n),()=>{e.forEach(o=>o())}},Mc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(Ti.notInit);r.input&&!r.isInputInit&&jl(r,!1),Ul(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},Lc=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(Ti.notInit);r.input?((t=(e=r.HTMLElement)==null?void 0:e.parentElement)==null||t.removeChild(r.HTMLElement),(s=(i=r.HTMLInputElement)==null?void 0:i.replaceWith)==null||s.call(i,r.HTMLOriginalElement),r.HTMLInputElement=void 0):(o=(n=r.HTMLElement)==null?void 0:n.replaceWith)==null||o.call(n,r.HTMLOriginalElement),r.HTMLElement=r.HTMLOriginalElement,r.actions.destroyCalendar&&r.actions.destroyCalendar(r)};class Yl extends Nd{constructor(e,t){if(super(),Y(this,"init",()=>{return(s=this).HTMLOriginalElement=s.HTMLElement.cloneNode(!0),s.isInit=!0,s.input?Dc(s):(El(s),ns(s),s.actions.initCalendar&&s.actions.initCalendar(s),Gl(s));var s}),Y(this,"update",s=>Mc(this,s)),Y(this,"destroy",()=>Lc(this)),Y(this,"show",()=>{var s;(s=this).currentType?(s.HTMLElement.classList.remove(s.CSSClasses.calendarHidden),s.actions.showCalendar&&s.actions.showCalendar(s)):s.HTMLElement.click()}),Y(this,"hide",()=>{var s;(s=this).currentType&&(s.HTMLElement.classList.add(s.CSSClasses.calendarHidden),s.actions.hideCalendar&&s.actions.hideCalendar(s))}),this.HTMLElement=typeof e=="string"?document.querySelector(e):e,!this.HTMLElement)throw new Error(Ti.notFoundSelector(e));if(!t)return;const i=(s,n)=>{Object.keys(n).forEach(o=>{typeof s[o]!="object"||typeof n[o]!="object"||n[o]instanceof Date?s[o]=n[o]:i(s[o],n[o])})};i(this,t)}}class ql{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._lastClickIsDate=!1,this._shouldTriggerQuery=!0,this.hasTimePicker=!1,this.inputFilterType="range",this.searchTerms=[],this._bindEventService=new Pe}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)||{}}get currentDateOrDates(){return this._currentDateOrDates}get defaultOperator(){return this.inputFilterType==="compound"?H.empty:this.gridOptions.defaultFilterRangeOperator||H.rangeInclusive}get pickerOptions(){return this._pickerOptions||{}}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.date,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get operator(){var e;return this.inputFilterType==="compound"?this._operator||this.columnFilter.operator||this.defaultOperator:((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.inputFilterType==="compound"?this._operator=e:this.columnFilter&&(this.columnFilter.operator=e)}init(e){if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.inputFilterType==="compound"&&(this.operator=e.operator||""),this.searchTerms=(e==null?void 0:e.searchTerms)??[],this.filterContainerElm=e.filterContainerElm;const t=this.inputFilterType==="compound"?Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"":this.searchTerms;this._filterElm=this.createDomFilterElement(t),this.updateFilterStyle(this.searchTerms.length>0),this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this)),this._bindEventService.bind(document.body,"keydown",i=>{(i.key==="Escape"||i.key==="Tab")&&this.hide()}),this._bindEventService.bind(this._dateInputElm,"keydown",i=>{i.key==="Backspace"&&this.clear(!0,!1)})}clear(e=!0,t=!0){this.calendarInstance&&(this._clearFilterTriggered=t,this._shouldTriggerQuery=e,this._currentValue="",this.searchTerms=[],this._currentDateStrings=[],this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.calendarInstance&&Mn(this.calendarInstance)),this.onTriggerEvent(new Event("keyup")),this.updateFilterStyle(!1)}destroy(){var e,t,i,s;this._bindEventService.unbindAll(),(e=this.calendarInstance)==null||e.destroy(),ee(this.filterContainerElm),(t=this.filterContainerElm)==null||t.remove(),(i=this._selectOperatorElm)==null||i.remove(),(s=this._filterElm)==null||s.remove()}hide(){var e;typeof((e=this.calendarInstance)==null?void 0:e.hide)=="function"&&this.calendarInstance.hide()}show(){var e;typeof((e=this.calendarInstance)==null?void 0:e.show)=="function"&&this.calendarInstance.show()}getValues(){return this._currentDateOrDates}setValues(e,t,i=!1){let s;this.inputFilterType==="compound"?s=Array.isArray(e)?e[0]:e:typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?s=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(s=e),this.calendarInstance&&s!==void 0&&(Gi(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:s,updatePickerUI:!0}),this._currentDateOrDates=e&&s?s:void 0);const n=this.getValues()||[],o=Array.isArray(n)?n:[n];if(this.updateFilterStyle(o.length>0),this.operator=t||this.defaultOperator,t&&this._selectOperatorElm){const l=pi(this.operator);this._selectOperatorElm.value=l}i&&this.callback(void 0,{columnDef:this.columnDef,searchTerms:o,operator:this.operator,shouldTriggerQuery:!0})}buildDatePickerInput(e){var u,p,m,f,g,_,C,b,S,E,y;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||w.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||w.dateUtc,n=Ke(s),o=this.columnFilter.type||this.columnDef.type||w.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Ke(this.hasTimePicker?w.dateTimeIsoAM_PM:w.dateIso),a=(((p=this.filterOptions)==null?void 0:p.locale)??((f=(m=this.translaterService)==null?void 0:m.getCurrentLanguage)==null?void 0:f.call(m)))||this.gridOptions.locale||"en";let h;this.inputFilterType==="compound"?e&&(h=e,this._currentDateOrDates=e):(typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?h=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(h=e),Array.isArray(h)&&(this._currentDateOrDates=h,this._currentDateStrings=h.map(x=>vt(x,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:x=>this.grid.sanitizeHtmlString(x),toggleSelected:!1,actions:{clickDay:x=>{this._lastClickIsDate=!0},changeToInput:(x,O)=>{if(O.HTMLInputElement){let I=[],A="",D="";if(O.selectedDates[1]){O.selectedDates.sort((W,K)=>+new Date(W)-+new Date(K)),A=O.selectedDates[0],D=O.selectedDates[O.selectedDates.length-1];const L=et(O.selectedDates[0],n,"en-US"),M=et(D,n,"en-US");O.HTMLInputElement.value=`${L} — ${M}`,I=[A,D]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=vt(A,w.dateIso,s),I=O.selectedDates):O.HTMLInputElement.value="";if(this.hasTimePicker&&A){const L=gs(A,l);L.setHours(+(O.selectedHours||0)),L.setMinutes(+(O.selectedMinutes||0)),O.HTMLInputElement.value=vt(L,void 0,s),I=[L]}if(this.inputFilterType==="compound"?this._currentValue=vt(I[0],void 0,i):Array.isArray(I)&&(this._currentDateStrings=I.map(L=>vt(L,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=I.map(L=>L instanceof Date?L:gs(L,l)),this._currentValue){const L=this.hasTimePicker?new Event("keyup"):void 0;this.onTriggerEvent(L)}this.inputFilterType==="range"&&O.selectedDates.length<2&&(this._lastClickIsDate=!1),this._lastClickIsDate&&(O.hide(),this._lastClickIsDate=!1)}}},settings:{lang:a,iso8601:!1,visibility:{theme:(g=this.gridOptions)!=null&&g.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.inputFilterType==="range"&&(d.type="multiple",d.months=2,d.jumpMonths=2,d.settings={...d.settings,range:{edgesOnly:!0},selection:{day:"multiple-ranged"},visibility:{...(_=d.settings)==null?void 0:_.visibility,daysOutside:!1}}),this.hasTimePicker&&((C=d.settings).selection??(C.selection={}),d.settings.selection.time=24),this._pickerOptions=de(!0,{},d,{settings:this.filterOptions});let c=((b=this.gridOptions)==null?void 0:b.defaultFilterPlaceholder)??"";(S=this.columnFilter)!=null&&S.placeholder&&(c=this.columnFilter.placeholder),this._dateInputElm=v("input",{type:"text",className:"form-control date-picker",placeholder:c,readOnly:!0,dataset:{input:"",columnid:`${t}`}}),this.calendarInstance=new Yl(this._dateInputElm,this._pickerOptions),this.calendarInstance.init(),(y=(E=this._pickerOptions.settings)==null?void 0:E.selected)!=null&&y.dates&&(h=this._pickerOptions.settings.selected.dates),h&&Gi(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,oldVal:void 0,newVal:h,updatePickerUI:!1})}getOperatorOptionValues(){var t;let e;return(t=this.columnFilter)!=null&&t.compoundOperatorList?e=this.columnFilter.compoundOperatorList:e=Nn(this.gridOptions,this.translaterService),Hn(this.gridOptions,e,"numeric"),e}createDomFilterElement(e){var i;const t=((i=this.columnDef)==null?void 0:i.id)??"";if(ee(this.filterContainerElm),this.buildDatePickerInput(e),this.inputFilterType==="range"){const s=v("div",{className:`date-picker form-group search-filter slick-filter filter-${t}`});return Array.isArray(e)&&e.length>0&&e[0]!==""&&(this._currentDateOrDates=e,this._currentValue=e[0]),s.appendChild(this._dateInputElm),s&&this.filterContainerElm.appendChild(s),s}else{this._selectOperatorElm=Ln(this.getOperatorOptionValues(),this.grid);const s=v("div",{className:`date-picker form-group search-filter slick-filter filter-${t}`}),n=v("div",{className:"input-group date-picker"},s);if(v("div",{className:"input-group-addon input-group-prepend operator"},n).appendChild(this._selectOperatorElm),n.appendChild(this._dateInputElm),this.operator){const l=pi(this.operator);this._selectOperatorElm.value=l}return this._currentDateOrDates=e,this._currentValue=e,s&&this.filterContainerElm.appendChild(s),s}}onTriggerEvent(e){if(this._clearFilterTriggered)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,shouldTriggerQuery:this._shouldTriggerQuery}),this.updateFilterStyle(!1);else if(this.inputFilterType==="range"){const t=this._currentDateStrings?this._currentDateStrings:[this._currentValue];this.updateFilterStyle(t.length>0),this.callback(e,{columnDef:this.columnDef,searchTerms:t,operator:this.operator||"",shouldTriggerQuery:this._shouldTriggerQuery})}else if(this.inputFilterType==="compound"&&this._selectOperatorElm){const t=this._selectOperatorElm.value;this.updateFilterStyle(!!this._currentValue);const i=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput===void 0,s=i&&q(this._currentDateOrDates)||this._currentDateOrDates===""&&q(this._lastSearchValue);(!i||!i||s)&&this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentValue?[this._currentValue]:null,operator:t||"",shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._lastSearchValue=this._currentValue}updateFilterStyle(e){e?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled")}}class Nc extends ql{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Kl{constructor(e){this.translaterService=e}filterCollection(e,t,i=ui.chain){let s=[];return Array.isArray(t)?(s=i===ui.merge?[]:[...e],t.forEach(n=>{if(i===ui.merge){const o=this.singleFilterCollection(e,n);s=Oo([...s,...o])}else s=this.singleFilterCollection(s,n)})):s=this.singleFilterCollection(e,t),s}preParseByMutationDateItems(e,t,i){const s=[];t.getColumns().forEach(n=>{const o=this.getParseDateInfo(n,i);o&&s.push(o)}),e.forEach(n=>{s.forEach(({columnId:o,dateFormat:l,queryFieldName:a})=>{this.reassignDateWhenValid(n,o,l,a)})})}parseSingleDateItem(e,t,i){i&&t.getColumns().forEach(s=>{const n=this.getParseDateInfo(s,i);n&&this.reassignDateWhenValid(e,s.id,n.dateFormat,n.queryFieldName)})}singleFilterCollection(e,t){let i=[];if(t){const s=t.property,n=t.operator||H.equal,o=typeof t.value>"u"?"":t.value;switch(n){case H.equal:s?i=e.filter(l=>l[s]===o):i=e.filter(l=>l===o);break;case H.contains:s?i=e.filter(l=>{var a;return((a=l[s])==null?void 0:a.toString().indexOf(o.toString()))!==-1}):i=e.filter(l=>l!=null&&l.toString().indexOf(o.toString())!==-1);break;case H.notContains:s?i=e.filter(l=>{var a;return((a=l[s])==null?void 0:a.toString().indexOf(o.toString()))===-1}):i=e.filter(l=>l!=null&&l.toString().indexOf(o.toString())===-1);break;case H.notEqual:default:s?i=e.filter(l=>l[s]!==o):i=e.filter(l=>l!==o)}}return i}sortCollection(e,t,i,s){if(s&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let n=[];if(i){if(Array.isArray(i))n=t.sort((o,l)=>{var a,h,d,c;for(let u=0,p=i.length;u<p;u++){const m=i[u];if(m!=null&&m.property){const f=m.sortDesc?ae.desc:ae.asc,g=m.property,_=(m==null?void 0:m.fieldType)??(e==null?void 0:e.type)??w.string,C=s?(h=(a=this.translaterService)==null?void 0:a.translate)==null?void 0:h.call(a,o[g]||" "):o[g],b=s?(c=(d=this.translaterService)==null?void 0:d.translate)==null?void 0:c.call(d,l[g]||" "):l[g],S=_i(_,C,b,f,e);if(S!==ae.neutral)return S}}return ae.neutral});else if(i!=null&&i.property){const o=i.property,l=i.sortDesc?ae.desc:ae.asc,a=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??w.string;n=t.sort((h,d)=>{var m,f;const c=s?((m=this.translaterService)==null?void 0:m.translate)&&this.translaterService.translate(h[o]||" "):h[o],u=s?((f=this.translaterService)==null?void 0:f.translate)&&this.translaterService.translate(d[o]||" "):d[o],p=_i(a,c,u,l,e);return p!==ae.neutral?p:ae.neutral})}else if(i&&!i.property){const o=i.sortDesc?ae.desc:ae.asc,l=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??w.string;n=t.sort((a,h)=>{var p,m;const d=s?((p=this.translaterService)==null?void 0:p.translate)&&this.translaterService.translate(a||" "):a,c=s?((m=this.translaterService)==null?void 0:m.translate)&&this.translaterService.translate(h||" "):h,u=_i(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}getParseDateInfo(e,t){const i=e.type||w.string,s=Ke(i);if(It(i)&&t){const n=typeof t=="string"?`${t}${e.id}`:`${e.id}`;return{columnId:e.id,dateFormat:s,queryFieldName:n}}}reassignDateWhenValid(e,t,i,s){const n=bt(e[t],i,!1);n&&(e[s]=n)}}class Hc{init(e){this._grid=e,e.hasDataView()&&(this._dataView=e.getData())}getDataItem(e){return this._dataView?this._dataView.getItem(e):this._grid.getDataItem(e)}getDataItems(){return this._dataView?this._dataView.getItems():this._grid.getData()}getDataLength(){return this._dataView?this._dataView.getItemCount():this._grid.getDataLength()}setDataItems(e){this._dataView?this._dataView.setItems(e):this._grid.setData(e)}}function Xl(r,e,t,i,s=!1,n,o){var O,I,A,D,L;const l=(t==null?void 0:t.id)??"",a=i.getOptions(),h=(r==="editor"?t==null?void 0:t.editor:t==null?void 0:t.filter)??{},d=(h==null?void 0:h.collectionOptions)??{},c=(d==null?void 0:d.separatorBetweenTextLabels)??"",u=(h==null?void 0:h.enableTranslateLabel)??!1,p=(a==null?void 0:a.enableTranslate)??!1,m=(h==null?void 0:h.enableRenderHtml)??!1,f=((O=h==null?void 0:h.customStructure)==null?void 0:O.label)??"label",g=((I=h==null?void 0:h.customStructure)==null?void 0:I.labelPrefix)??"labelPrefix",_=((A=h==null?void 0:h.customStructure)==null?void 0:A.labelSuffix)??"labelSuffix",C=((D=h==null?void 0:h.customStructure)==null?void 0:D.optionLabel)??"value",b=((L=h==null?void 0:h.customStructure)==null?void 0:L.value)??"value",S=v("select",{className:"ms-filter search-filter"}),E=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];S.classList.add(...E),S.multiple=s;const y=[];let x=!1;return Array.isArray(e)&&(e.every(M=>typeof M=="number"||typeof M=="string")?e.forEach(M=>{const W={text:String(M),value:M};r==="filter"&&Array.isArray(o)&&(W.selected=o.findIndex(K=>K===M)>=0),y.push(W),(W.selected&&s||W.selected&&!s&&M!=="")&&(x=!0)}):e.forEach(M=>{if(M===void 0||typeof M=="object"&&M[f]===void 0&&M.labelKey===void 0)throw new Error("[Slickgrid-Universal] Select Filter/Editor collection with value/label (or value/labelKey when using Locale) is required to populate the Select list, for example:: { filter: model: Filters.multipleSelect, collection: [ { value: '1', label: 'One' } ]')");const W=M.labelKey||M[f],K=(M.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let J=M[g]||"",X=M[_]||"",ie=M.hasOwnProperty(C)?M[C]:"";ie!=null&&ie.toString&&(ie=ie.toString().replace(/"/g,"'")),J=u&&n&&J&&typeof J=="string"?n.translate(J||" "):J,X=u&&n&&X&&typeof X=="string"?n.translate(X||" "):X,ie=u&&n&&ie&&typeof ie=="string"?n.translate(ie||" "):ie;let nt=[J,typeof K=="string"||typeof K=="number"?K.toString():K,X].filter(qe=>qe).join(c);const fe={text:"",value:""};m&&(nt=i.sanitizeHtmlString(nt)),fe.text=nt;let xe=M[b];xe==null&&(xe=""),r==="filter"&&Array.isArray(o)&&(fe.selected=o.findIndex(qe=>`${qe}`==`${M[b]}`)>=0),fe.value=`${xe??""}`,y.push(fe),(fe.selected&&s||fe.selected&&!s&&M[b]!=="")&&(x=!0)})),{selectElement:S,dataCollection:y,hasFoundSearchTerm:x}}class Vc{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var c,u,p,m,f,g,_,C,b,S,E,y,x,O;if((c=this.sharedService.gridOptions)!=null&&c.enableTranslate&&!((u=this.translaterService)!=null&&u.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((p=this.sharedService.gridOptions)==null?void 0:p[t])??{},n=((m=this.sharedService.gridOptions)==null?void 0:m.enableTranslate)??!1,o=((f=this.sharedService.gridOptions)==null?void 0:f.locales)??R.locales,l=s==null?void 0:s[e],a=s==null?void 0:s[`${e}Key`],h=this.sharedService.gridOptions,d=lt(h);if(a&&((g=this.translaterService)!=null&&g.translate))i=this.translaterService.translate(a||" ");else switch(e){case"commandTitle":i=l||n&&((_=this.translaterService)==null?void 0:_.getCurrentLanguage)&&((C=this.translaterService)==null?void 0:C.translate(`${d}COMMANDS`))||(o==null?void 0:o.TEXT_COMMANDS);break;case"columnTitle":i=l||n&&((b=this.translaterService)==null?void 0:b.getCurrentLanguage)&&((S=this.translaterService)==null?void 0:S.translate(`${d}COLUMNS`))||(o==null?void 0:o.TEXT_COLUMNS);break;case"forceFitTitle":i=l||n&&((E=this.translaterService)==null?void 0:E.getCurrentLanguage)&&((y=this.translaterService)==null?void 0:y.translate(`${d}FORCE_FIT_COLUMNS`))||(o==null?void 0:o.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=l||n&&((x=this.translaterService)==null?void 0:x.getCurrentLanguage)&&((O=this.translaterService)==null?void 0:O.translate(`${d}SYNCHRONOUS_RESIZE`))||(o==null?void 0:o.TEXT_SYNCHRONOUS_RESIZE);break;default:i=l;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const o of e)o.hasOwnProperty(t)&&(o[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,o[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var l,a;let s="";const n=(l=this.sharedService)==null?void 0:l.gridOptions,o=(n==null?void 0:n.locales)??R.locales;return i?s=i:n.enableTranslate&&((a=this.translaterService)!=null&&a.translate)?s=this.translaterService.translate(e||" "):t in o?s=o[t]:s=t,s}}class Bc{constructor(e){this.pluginName="AutoTooltips",this._defaults={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:void 0,replaceExisting:!0},this._eventHandler=new pe,this._addonOptions=e}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e){this._addonOptions={...this._defaults,...this.addonOptions},this._grid=e,this._addonOptions.enableForCells&&this._eventHandler.subscribe(this._grid.onMouseEnter,this.handleMouseEnter.bind(this)),this._addonOptions.enableForHeaderCells&&this._eventHandler.subscribe(this._grid.onHeaderMouseEnter,this.handleHeaderMouseEnter.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}handleMouseEnter(e){var i,s,n,o;const t=this._grid.getCellFromEvent(e);if(t){let l=this._grid.getCellNode(t.row,t.cell),a;this._addonOptions&&l&&(!l.title||(i=this._addonOptions)!=null&&i.replaceExisting)&&(l.clientWidth<l.scrollWidth?(a=((s=l.textContent)==null?void 0:s.trim())??"",(n=this._addonOptions)!=null&&n.maxToolTipLength&&a.length>((o=this._addonOptions)==null?void 0:o.maxToolTipLength)&&(a=a.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):a="",l.title=a),l=null}}handleHeaderMouseEnter(e,t){const i=t.column;let s;const n=e.target;if(n&&(s=n.closest(".slick-header-column"),s&&!(i!=null&&i.toolTip))){const o=n.clientWidth<s.clientWidth?(i==null?void 0:i.name)??"":"";s.title=we(_t(o,"innerHTML"))}s=null}}class zc{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new pe,this._bindingEventService=new Pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get commandQueue(){return this._commandQueue}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get undoRedoBuffer(){return this._undoRedoBuffer}init(e,t){this._grid=e,this.createUndoRedoBuffer(),this._cellSelectionModel=new jc,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new Wc,this._cellExternalCopyManagerPlugin.init(this._grid,this._addonOptions),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(i,s)})}dispose(){var e,t;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(e=this._cellSelectionModel)==null||e.dispose(),(t=this._cellExternalCopyManagerPlugin)==null||t.dispose()}createUndoRedoBuffer(){let e=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:t=>{this._commandQueue[e]=t,e++,t.execute()},undo:()=>{if(e===0)return;e--;const t=this._commandQueue[e];t&&Ui.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&Ui.cancelCurrentEdit()&&t.execute()}}}getDefaultOptions(){let e=0;return{clipboardCommandHandler:t=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,t)},dataItemColumnValueExtractor:(t,i,s=0,n=0)=>{var h,d,c;const o=this._grid.getActiveCell(),l=this._grid.getCellEditor()&&(o==null?void 0:o.row)===s&&(o==null?void 0:o.cell)===n,a=((h=this.addonOptions)==null?void 0:h.copyActiveEditorCell)||!1;if(!this.gridOptions.editable||!i.editor||!l||a){const u=i.exportWithFormatter!==void 0?i.exportWithFormatter:(d=this.gridOptions.textExportOptions)==null?void 0:d.exportWithFormatter;if(i.formatter&&u){const p=i.formatter(s,n,t[i.field],i,t,this._grid),m=ei(p)?p:p.html||p.text;if(i.sanitizeDataExport||(c=this.gridOptions.textExportOptions)!=null&&c.sanitizeDataExport){const f=m instanceof HTMLElement?m.innerHTML:m;return we(f??"")}return p}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:t=>{for(let i=0;i<t;i++)this._grid.getData().addItem({[this.gridOptions.datasetIdPropertyName||"id"]:`newRow_${e++}`})},replaceNewlinesWith:!1,removeDoubleQuotesOnPaste:!1}}handleBodyKeyDown(e){e.key==="Z"&&(e.ctrlKey||e.metaKey)&&(e.shiftKey?this._undoRedoBuffer.redo():this._undoRedoBuffer.undo())}}const $c=2e3,Ql=100,Bs=()=>{};class Wc{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this._dataWrapper=new Hc,this.onCopyCells=new P("onCopyCells"),this.onCopyCancelled=new P("onCopyCancelled"),this.onPasteCells=new P("onPasteCells"),this.onBeforePasteCell=new P("onBeforePasteCell"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e,t){var n;this._grid=e,this._dataWrapper.init(e),this._addonOptions={...this._addonOptions,...t},this._copiedCellStyleLayerKey=this._addonOptions.copiedCellStyleLayerKey||"copy-manager",this._copiedCellStyle=this._addonOptions.copiedCellStyle||"copied",this._bodyElement=this._addonOptions.bodyElement||document.body,this._onCopyInit=this._addonOptions.onCopyInit||void 0,this._onCopySuccess=this._addonOptions.onCopySuccess||void 0;const i=e.getPubSubService();i&&T.addSlickEventPubSubWhenDefined(i,this),this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const s=e.getSelectionModel();if(!s)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new SlickCellSelectionModel())");this._eventHandler.subscribe(s.onSelectedRangesChanged,()=>{var o;!this._grid.getEditorLock().isActive()&&!((o=document.activeElement)!=null&&o.classList.contains("slick-filter"))&&this._grid.focus()}),e&&typeof((n=this._addonOptions)==null?void 0:n.onBeforePasteCell)=="function"&&this._eventHandler.subscribe(this.onBeforePasteCell,(o,l)=>{var d,c;const a=e.getColumns()[l.cell],h={row:l.row,cell:l.cell,dataView:e.getData(),grid:e,columnDef:a,dataContext:e.getDataItem(l.row)};return(c=(d=this._addonOptions).onBeforePasteCell)==null?void 0:c.call(d,o,h)})}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=_t(this._addonOptions.headerColumnValueExtractor(e),"innerHTML");if(t)return we(t)}return _t(e.name||"","innerHTML")}getDataItemValueForColumn(e,t,i,s,n){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const l=this._addonOptions.dataItemColumnValueExtractor(e,t,i,s);if(l)return l instanceof HTMLElement?we(l.innerHTML):l}let o="";if(t)if(t.editorClass){const l=document.createElement("p"),a=new t.editorClass({container:l,column:t,event:n,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Bs,commitChanges:Bs});a.loadValue(e),o=a.serializeValue(),a.destroy(),l.remove()}else o=e[t.field||""];return o}setDataItemValueForColumn(e,t,i){if(!(t!=null&&t.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter){const s=this._addonOptions.dataItemColumnValueSetter(e,t,i);if(s!==!0)return s}if(t.editorClass){const s=document.createElement("div"),n=new t.editorClass({container:s,column:t,event:null,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Bs,commitChanges:Bs});n.loadValue(e);const o=n.validate(void 0,i);if(!o.valid){const l=this._grid.getActiveCell();this._grid.onValidationError.notify({editor:n,cellNode:this._grid.getActiveCellNode(),validationResults:o,row:l==null?void 0:l.row,cell:l==null?void 0:l.cell,column:t,grid:this._grid})}n.applyValue(e,i),n.destroy(),s.remove()}else e[t.field]=i}}setIncludeHeaderWhenCopying(e){this._addonOptions.includeHeaderWhenCopying=e}createTextBox(e){const t=document.documentElement.scrollTop||document.body.scrollTop,i=v("textarea",{value:e,style:{position:"absolute",opacity:"0",top:`${t}px`}},this._bodyElement);return i.select(),i}decodeTabularData(e,t){var b;const i=e.getColumns(),n=t.value.split(/[\n\f\r](?=(?:[^"]*"[^"]*")*[^"]*$)/);n[n.length-1]===""&&n.pop();let o=0;const l=[];this._bodyElement.removeChild(t);for(const S of n)S.startsWith('"')&&S.endsWith('"')?l[o++]=[S.replaceAll(`
8
8
  `,this._addonOptions.replaceNewlinesWith||`
9
- `).replaceAll("\r","").replaceAll('"',this._addonOptions.removeDoubleQuotesOnPaste?"":'"')]:l[o++]=S.split(" ");const a=this._grid.getActiveCell(),h=(b=this._grid.getSelectionModel())==null?void 0:b.getSelectedRanges(),d=h!=null&&h.length?h[0]:null;let c,u;if(d)c=d.fromRow,u=d.fromCell;else if(a)c=a.row,u=a.cell;else return;let p=!1,m=l.length,f=l.length?l[0].length:0;l.length===1&&l[0].length===1&&d&&(p=!0,m=d.toRow-d.fromRow+1,f=d.toCell-d.fromCell+1);const g=this._dataWrapper.getDataLength()-c;if(g<m&&typeof this._addonOptions.newRowCreator=="function"){const S=m-g,E=this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S);const y=this._dataWrapper.getDataLength();y!==E+S&&console.warn(`[Slickgrid-Universal] The "newRowCreator" did not add the correct amount of rows, it should add "${S}" rows but it added "${y-E}" rows`),this._grid.render()}if(c+m>this._dataWrapper.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const S=c+m-this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S)}const C={isClipboardCommand:!0,clippedRange:l,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:p,activeRow:c,activeCell:u,destH:m,destW:f,maxDestY:this._dataWrapper.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var E;C.h=0;for(let y=0;y<C.destH;y++){C.oldValues[y]=[],C.w=0,C.h++;let x=0;for(let O=0;O<C.destW;O++){const I=c+y,A=u+O,D=i[A];if(D.hidden){C.destW++,x++;continue}if(C.w++,I<C.maxDestY&&A<C.maxDestX){const M=this._dataWrapper.getDataItem(I);if(this._grid.triggerEvent(this.onBeforePasteCell,{row:I,cell:A,dt:M,column:D,target:"grid"}).getReturnValue()===!1)continue;C.oldValues[y][O-x]=M[D.field],p?this.setDataItemValueForColumn(M,D,l[0][0]):this.setDataItemValueForColumn(M,D,l[y]?l[y][O-x]:""),this._grid.updateCell(I,A),this._grid.onCellChange.notify({row:I,cell:A,item:M,grid:this._grid,column:{}})}}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]})},undo:()=>{var E;for(let y=0;y<C.destH;y++)for(let x=0;x<C.destW;x++){const O=c+y,I=u+x;if(O<C.maxDestY&&I<C.maxDestX){const A=this._dataWrapper.getDataItem(O);p?this.setDataItemValueForColumn(A,i[I],C.oldValues[0][0]):this.setDataItemValueForColumn(A,i[I],C.oldValues[y][x]),this._grid.updateCell(O,I),this._grid.onCellChange.notify({row:O,cell:I,item:A,grid:this._grid,column:{}})}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new le,{ranges:[S]})}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(C):C.execute()}handleKeyDown(e){var i,s,n;let t;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(e.key==="Escape"&&this._copiedRanges&&(e.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(e,{ranges:this._copiedRanges}),this._copiedRanges=null),(e.key==="c"||e.key==="Insert")&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),t=((i=this._grid.getSelectionModel())==null?void 0:i.getSelectedRanges())??[],t.length!==0)){this._copiedRanges=t,this.markCopySelection(t),this.onCopyCells.notify({ranges:t}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(e,{ranges:t});const o=this._grid.getColumns();let l="";for(let a=0;a<t.length;a++){const h=t[a],d=[];for(let c=h.fromRow;c<h.toRow+1;c++){const u=[],p=this._dataWrapper.getDataItem(c);if(d.length===0&&this._addonOptions.includeHeaderWhenCopying){const m=[];for(let f=h.fromCell;f<h.toCell+1;f++)o[f]&&(o[f].name instanceof HTMLElement?we(o[f].name.innerHTML):o[f].name).length>0&&!o[f].hidden&&m.push(this.getHeaderValueForColumn(o[f]));d.push(m.join(" "))}for(let m=h.fromCell;m<h.toCell+1;m++)o[m]&&(o[m].name instanceof HTMLElement?we(o[m].name.innerHTML):o[m].name).length>0&&!o[m].hidden&&u.push(this.getDataItemValueForColumn(p,o[m],c,m,e));d.push(u.join(" "))}l+=d.join(`\r
9
+ `).replaceAll("\r","").replaceAll('"',this._addonOptions.removeDoubleQuotesOnPaste?"":'"')]:l[o++]=S.split(" ");const a=this._grid.getActiveCell(),h=(b=this._grid.getSelectionModel())==null?void 0:b.getSelectedRanges(),d=h!=null&&h.length?h[0]:null;let c,u;if(d)c=d.fromRow,u=d.fromCell;else if(a)c=a.row,u=a.cell;else return;let p=!1,m=l.length,f=l.length?l[0].length:0;l.length===1&&l[0].length===1&&d&&(p=!0,m=d.toRow-d.fromRow+1,f=d.toCell-d.fromCell+1);const g=this._dataWrapper.getDataLength()-c;if(g<m&&typeof this._addonOptions.newRowCreator=="function"){const S=m-g,E=this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S);const y=this._dataWrapper.getDataLength();y!==E+S&&console.warn(`[Slickgrid-Universal] The "newRowCreator" did not add the correct amount of rows, it should add "${S}" rows but it added "${y-E}" rows`),this._grid.render()}if(c+m>this._dataWrapper.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const S=c+m-this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S)}const C={isClipboardCommand:!0,clippedRange:l,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:p,activeRow:c,activeCell:u,destH:m,destW:f,maxDestY:this._dataWrapper.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var E;C.h=0;for(let y=0;y<C.destH;y++){C.oldValues[y]=[],C.w=0,C.h++;let x=0;for(let O=0;O<C.destW;O++){const I=c+y,A=u+O,D=i[A];if(D.hidden){C.destW++,x++;continue}if(C.w++,I<C.maxDestY&&A<C.maxDestX){const L=this._dataWrapper.getDataItem(I);if(this._grid.triggerEvent(this.onBeforePasteCell,{row:I,cell:A,dt:L,column:D,target:"grid"}).getReturnValue()===!1)continue;C.oldValues[y][O-x]=L[D.field],p?this.setDataItemValueForColumn(L,D,l[0][0]):this.setDataItemValueForColumn(L,D,l[y]?l[y][O-x]:""),this._grid.updateCell(I,A),this._grid.onCellChange.notify({row:I,cell:A,item:L,grid:this._grid,column:{}})}}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]})},undo:()=>{var E;for(let y=0;y<C.destH;y++)for(let x=0;x<C.destW;x++){const O=c+y,I=u+x;if(O<C.maxDestY&&I<C.maxDestX){const A=this._dataWrapper.getDataItem(O);p?this.setDataItemValueForColumn(A,i[I],C.oldValues[0][0]):this.setDataItemValueForColumn(A,i[I],C.oldValues[y][x]),this._grid.updateCell(O,I),this._grid.onCellChange.notify({row:O,cell:I,item:A,grid:this._grid,column:{}})}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new le,{ranges:[S]})}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(C):C.execute()}handleKeyDown(e){var i,s,n;let t;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(e.key==="Escape"&&this._copiedRanges&&(e.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(e,{ranges:this._copiedRanges}),this._copiedRanges=null),(e.key==="c"||e.key==="Insert")&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),t=((i=this._grid.getSelectionModel())==null?void 0:i.getSelectedRanges())??[],t.length!==0)){this._copiedRanges=t,this.markCopySelection(t),this.onCopyCells.notify({ranges:t}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(e,{ranges:t});const o=this._grid.getColumns();let l="";for(let a=0;a<t.length;a++){const h=t[a],d=[];for(let c=h.fromRow;c<h.toRow+1;c++){const u=[],p=this._dataWrapper.getDataItem(c);if(d.length===0&&this._addonOptions.includeHeaderWhenCopying){const m=[];for(let f=h.fromCell;f<h.toCell+1;f++)o[f]&&(o[f].name instanceof HTMLElement?we(o[f].name.innerHTML):o[f].name).length>0&&!o[f].hidden&&m.push(this.getHeaderValueForColumn(o[f]));d.push(m.join(" "))}for(let m=h.fromCell;m<h.toCell+1;m++)o[m]&&(o[m].name instanceof HTMLElement?we(o[m].name.innerHTML):o[m].name).length>0&&!o[m].hidden&&u.push(this.getDataItemValueForColumn(p,o[m],c,m,e));d.push(u.join(" "))}l+=d.join(`\r
10
10
  `)+`\r
11
- `}if(window.clipboardData)return window.clipboardData.setData("Text",l),!0;{const a=document.activeElement,h=this.createTextBox(l);if(h.focus(),window.setTimeout(()=>{this._bodyElement.removeChild(h),a?a.focus():console.log("No element to restore focus to after copy?")},((s=this.addonOptions)==null?void 0:s.clipboardPasteDelay)??Ql),typeof this._onCopySuccess=="function"){const d=t.length===1?t[0].toRow+1-t[0].fromRow:t.length;this._onCopySuccess(d)}return!1}}if(!this._addonOptions.readOnlyMode&&(e.key==="v"&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.key==="Insert"&&e.shiftKey&&!e.ctrlKey)){const o=this.createTextBox("");return window.setTimeout(()=>this.decodeTabularData(this._grid,o),((n=this.addonOptions)==null?void 0:n.clipboardPasteDelay)??Ql),!1}}}markCopySelection(e){var s;this.clearCopySelection();const t=this._grid.getColumns(),i={};for(const n of e)for(let o=n.fromRow;o<=n.toRow;o++){i[o]={};for(let l=n.fromCell;l<=n.toCell&&l<t.length;l++)i[o][t[l].id]=this._copiedCellStyle}this._grid.setCellCssStyles(this._copiedCellStyleLayerKey,i),window.clearTimeout(this._clearCopyTI),this._clearCopyTI=window.setTimeout(()=>this.clearCopySelection(),((s=this.addonOptions)==null?void 0:s.clearCopySelectionDelay)||$c)}}class zs{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new Pe,this._eventHandler=new pe}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get menuCssClass(){return this._menuPluginCssPrefix||this._menuCssPrefix}get menuElement(){return this._menuElm||document.querySelector(`.${this.menuCssClass}${this.gridUidSelector}`)}dispose(){var e,t,i,s,n;(e=this._eventHandler)==null||e.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(t=this._commandTitleElm)==null||t.remove(),(i=this._optionTitleElm)==null||i.remove(),this.disposeAllMenus(),ee(this._menuElm),(s=this.menuElement)==null||s.remove(),(n=this._menuElm)==null||n.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(e=>e.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(e=>e.remove())}setOptions(e){this._addonOptions={...this._addonOptions,...e}}addSubMenuTitleWhenExists(e,t){if(e!=="divider"&&(e!=null&&e.subMenuTitle)){const i=document.createElement("div");i.className="slick-menu-title",i.textContent=e.subMenuTitle;const s=e.subMenuTitleCssClass;s&&i.classList.add(...he(s)),t.appendChild(i)}}populateCommandOrOptionItems(e,t,i,s,n,o,l){if(n&&s&&t)for(const a of s)this.populateSingleCommandOrOptionItem(e,t,i,a,n,o,l)}populateCommandOrOptionTitle(e,t,i,s){var n;if(t){const o=s>0,l=((n=this._menuElm)==null?void 0:n.querySelector(`.slick-${e}-header`))??v("div",{className:`slick-${e}-header`}),a=`${e}Title`;o||(t!=null&&t[a]?(ee(l),this[`_${e}TitleElm`]=v("span",{className:"slick-menu-title",textContent:t[a]}),l.appendChild(this[`_${e}TitleElm`]),l.classList.add("with-title")):l.classList.add("no-title"),i.appendChild(l))}}populateSingleCommandOrOptionItem(e,t,i,s,n,o,l){var h;let a=null;if(n&&s&&t){const d=(n==null?void 0:n.level)||0,c=this._camelPluginName==="headerButtons"?"":"-item",u=`${this._menuCssPrefix}${c}`;let p=!0,m=!0;if(typeof s=="object"&&(p=this.extensionUtility.runOverrideFunctionWhenExists(s.itemVisibilityOverride,n),m=this.extensionUtility.runOverrideFunctionWhenExists(s.itemUsabilityOverride,n)),!p)return null;if(typeof s=="object"&&s.itemUsabilityOverride&&(s.disabled=!m),a=v("li",{className:u,role:"menuitem"}),typeof s=="object"&&q(s[e])&&(a.dataset[e]=s==null?void 0:s[e]),i&&i.appendChild(a),typeof s=="object"&&s.divider||s==="divider")return a.classList.add(`${u}-divider`),a;if(s.disabled&&a.classList.add(`${u}-disabled`),(s.hidden||s.showOnHover)&&a.classList.add(`${u}-hidden`),s.cssClass&&a.classList.add(...he(s.cssClass)),s.tooltip&&(a.title=s.tooltip),this._camelPluginName!=="headerButtons"){const g=v("div",{className:`${this._menuCssPrefix}-icon`});a.appendChild(g),s.iconCssClass?g.classList.add(...he(s.iconCssClass)):!s.commandItems&&!s.optionItems&&(g.textContent="◦");const _=v("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof s=="object"&&s.title||""},a);s.textCssClass&&_.classList.add(...he(s.textCssClass))}const f=d>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(a,"click",g=>o.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),((h=this._addonOptions)==null?void 0:h.subMenuOpenByEvent)==="mouseover"&&typeof l=="function"&&this._bindEventService.bind(a,"mouseover",g=>l.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),s.commandItems||s.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(...he(this._addonOptions.subItemChevronClass)):g.textContent="⮞",a.classList.add("slick-submenu-item"),a.appendChild(g)}}return a}}class Zl extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(e){var i,s,n,o,l;(i=this.menuElement)==null||i.remove(),this._menuElm=void 0;const t=this.grid.getCellFromEvent(e);if(t){this._currentCell=t.cell??0,this._currentRow=t.row??0;const a=((s=this._addonOptions)==null?void 0:s.commandItems)||[],h=((n=this._addonOptions)==null?void 0:n.optionItems)||[],d={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(e,d),typeof e.stopPropagation=="function"&&(this.pubSubService.publish(`on${ti(this._camelPluginName)}BeforeMenuShow`,d),typeof((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(e,d)===!1)||(this._menuElm=this.createMenu(a,h),this._menuElm&&(this._menuElm.style.top=`${(e.pageY||0)+5}px`,this._menuElm.style.left=`${e.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${ti(this._camelPluginName)}AfterMenuShow`,d),typeof((l=this.addonOptions)==null?void 0:l.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(e,d)===!1))return}return this._menuElm}createMenu(e,t,i=0,s){var _,C,b,S,E;const n=this.grid.getColumns()[this._currentCell],o=this.grid.getDataItem(this._currentRow),l=(s==null?void 0:s.command)||(s==null?void 0:s.option);let a=i===1&&l?String(l).replace(/\s/g,""):"";a&&(this._subMenuParentId=a),i>1&&(a=this._subMenuParentId);let h=!0,d=!0;if(this._camelPluginName==="contextMenu"){if(h=this.checkIsColumnAllowed(((_=this._addonOptions)==null?void 0:_.optionShownOverColumnIds)??[],n.id),d=this.checkIsColumnAllowed(((C=this._addonOptions)==null?void 0:C.commandShownOverColumnIds)??[],n.id),!n||(!d||!e.length)&&(!h||!t.length)){this.hideMenu();return}}else if(!n||!n.cellMenu||!e.length&&!t.length)return;const c=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===a)return u;this.disposeSubMenus()}const p=document.createElement("div");p.className=c,i>0&&(p.classList.add("slick-submenu"),(b=this.gridOptions)!=null&&b.darkMode&&p.classList.add("slick-dark-mode"),a&&(p.dataset.subMenuParent=a));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,f=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(p.style.maxHeight=m),f&&(p.style.maxWidth=f),(S=this.addonOptions)!=null&&S.width&&(p.style.width=Pt((E=this.addonOptions)==null?void 0:E.width));const g=v("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&h&&t.length>0){const y=v("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},p);this.populateCommandOrOptionTitle("option",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&this.populateCommandOrOptionCloseBtn("option",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("option",this.addonOptions,y,t,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&d&&e.length>0){const y=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},p);this.populateCommandOrOptionTitle("command",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&(!h||t.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("command",this.addonOptions,y,e,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return i++,p}closeMenu(e,t){var i;if(this.menuElement){if(typeof((i=this.addonOptions)==null?void 0:i.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(e,t)===!1)return;this.hideMenu()}}hideMenu(){var e;(e=this.menuElement)==null||e.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(e,t){return(e==null?void 0:e.length)>0?e.findIndex(i=>i===t)>=0:!0}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.closeMenu(e,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(e){e.defaultPrevented||this.closeMenu(e,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(e,t,i,s=0){(i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems||i.optionItems?(this.repositionSubMenu(i,t,s,e),this._lastMenuTypeClicked=t):s===0&&this.disposeSubMenus())}handleMenuItemCommandClick(e,t,i,s=0){var n;if((i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(t==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const o=this._currentCell,l=this._currentRow,a=this.grid.getColumns()[this._currentCell],h=this.grid.getDataItem(this._currentRow),d=i[t]!==void 0?i[t]:"";if(d!==void 0&&!i[`${t}Items`]){const c={cell:this._currentCell,row:this._currentRow,grid:this.grid,[t]:d,item:i,column:a,dataContext:h},u=t==="command"?"onCommand":"onOptionSelected",p=`${this._camelPluginName}:${u}`;this.pubSubService.publish(p,c),typeof((n=this._addonOptions)==null?void 0:n[u])=="function"&&this._addonOptions[u](e,c),typeof i.action=="function"&&i.action.call(this,e,c),e.defaultPrevented||this.closeMenu(e,{cell:o,row:l,grid:this.grid})}else(i.commandItems||i.optionItems)&&this.repositionSubMenu(i,t,s,e);this._lastMenuTypeClicked=t}}populateCommandOrOptionCloseBtn(e,t,i){this._bindEventService.bind(t,"click",n=>this.handleCloseButtonClicked(n),void 0,"parent-menu");const s=i.querySelector(`.slick-${e}-header`)??v("div",{className:`slick-${e}-header`});s==null||s.appendChild(t),i.appendChild(s),s.classList.add("with-close")}repositionSubMenu(e,t,i,s){(s.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==t)&&this.disposeSubMenus();const n=this.createMenu((e==null?void 0:e.commandItems)||[],(e==null?void 0:e.optionItems)||[],i+1,e);n&&(n.style.display="block",document.body.appendChild(n),this.repositionMenu(s,n))}repositionMenu(e,t){var n;const i=t==null?void 0:t.classList.contains("slick-submenu"),s=i?e.target.closest(`.${this._menuCssPrefix}-item`):e.target.closest(".slick-cell");if(t&&s){t.style.top="0px",t.style.left="0px";const o=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,l=ge(s);let a=s&&this._camelPluginName==="cellMenu"?l.left:o.pageX,h=s&&this._camelPluginName==="cellMenu"?l.top:o.pageY;i&&this._camelPluginName==="contextMenu"&&(a=l.left,h=l.top);const d=s.offsetWidth||0,c=(t==null?void 0:t.offsetHeight)||0,u=(t==null?void 0:t.offsetWidth)||this._addonOptions.width||0,p=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),f=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:_}=Vi(s),C=g+m-p,b=_-m+p;(C<c&&b>C?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),i?h-=c-m-s.clientHeight:h-=c-m):(t.classList.remove("dropup"),t.classList.add("dropdown"),h=h+m,this._camelPluginName==="cellMenu"&&(i?h+=m:h+=p+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let _=a+Number(u);i&&(_+=s.clientWidth);const C=document.documentElement.clientWidth;(_>=g.width||_>=C?"left":"right")==="left"||!i&&this._addonOptions.dropSide==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!i?a-=Number(u)-d-f:a-=Number(u)-f):(t.classList.remove("dropleft"),t.classList.add("dropright"),i?a+=f+s.offsetWidth:a+=f)}t.style.top=`${h}px`,t.style.left=`${a}px`}}}class Gc extends Zl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.pluginName="CellMenu",this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,subMenuOpenByEvent:"mouseover"},this._camelPluginName="cellMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-cell-menu",this.init(i.gridOptions.cellMenu)}init(e){this._addonOptions={...this._defaults,...e},this.sortMenuItems(this.sharedService.allColumns),this._eventHandler.subscribe(this.grid.onClick,this.handleCellClick.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateCellMenu(){var i;const e=(i=this.sharedService)==null?void 0:i.gridOptions,t=this.sharedService.allColumns;e!=null&&e.enableTranslate&&Array.isArray(t)&&t.forEach(s=>{if(s!=null&&s.cellMenu&&(Array.isArray(s.cellMenu.commandItems)||Array.isArray(s.cellMenu.optionItems))){const n=s.cellMenu.commandItems||[],o=s.cellMenu.optionItems||[];s.cellMenu.commandTitleKey&&(s.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.commandTitleKey,"TEXT_COMMANDS")||s.cellMenu.commandTitle),s.cellMenu.optionTitleKey&&(s.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.optionTitleKey,"TEXT_COMMANDS")||s.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(n,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(o,"optionItems")}})}handleCellClick(e,t){var s;this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const n=this.grid.getDataItem(i.row),o=this.grid.getColumns()[i.cell];o!=null&&o.cellMenu&&!((s=this.gridOptions.cellMenu)!=null&&s.activateCellOnMenuClick)&&e.preventDefault(),this._addonOptions={...this._addonOptions,...o.cellMenu};const l=t||{};if(l.column=o,l.dataContext=n,l.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,l))return;this._menuElm=this.createParentMenu(e),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(e){e.forEach(t=>{var i,s;(i=t==null?void 0:t.cellMenu)!=null&&i.commandItems&&this.extensionUtility.sortItems(t.cellMenu.commandItems||[],"positionOrder"),(s=t==null?void 0:t.cellMenu)!=null&&s.optionItems&&this.extensionUtility.sortItems(t.cellMenu.optionItems||[],"positionOrder")})}}class Uc{constructor(e,t){this.grid=e,this.pluginName="CellRangeDecorator",this._defaults={selectionCssClass:"slick-range-decorator",selectionCss:{border:"2px dashed red",zIndex:"9999"},offset:{top:-1,left:-1,height:-2,width:-2}},this._options=Zt(this._defaults,t)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var e;(e=this._elem)==null||e.remove(),this._elem=null}show(e){var s,n;this._elem||(this._elem=v("div",{className:this._options.selectionCssClass}),Object.keys(this._options.selectionCss).forEach(o=>{this._elem.style[o]=this._options.selectionCss[o]}),this._elem.style.position="absolute",(s=this.grid.getActiveCanvasNode())==null||s.appendChild(this._elem));const t=this.grid.getCellNodeBox(e.fromRow,e.fromCell),i=this.grid.getCellNodeBox(e.toRow,e.toCell);return t&&i&&((n=this._options)!=null&&n.offset)&&(this._elem.style.top=`${t.top+this._options.offset.top}px`,this._elem.style.left=`${t.left+this._options.offset.left}px`,this._elem.style.height=`${i.bottom-t.top+this._options.offset.height}px`,this._elem.style.width=`${i.right-t.left+this._options.offset.width}px`),this._elem}}class mr{constructor(e){this.pluginName="CellRangeSelector",this._currentlySelectedRange=null,this._canvas=null,this._dragging=!1,this._gridUid="",this._columnOffset=0,this._rowOffset=0,this._isRightCanvas=!1,this._isBottomCanvas=!1,this._xDelayForNextCell=0,this._yDelayForNextCell=0,this._viewportHeight=0,this._viewportWidth=0,this._isRowMoveRegistered=!1,this._scrollLeft=0,this._scrollTop=0,this._defaults={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},this.onBeforeCellRangeSelected=new P("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new P("onCellRangeSelecting"),this.onCellRangeSelected=new P("onCellRangeSelected"),this._eventHandler=new pe,this._options=Zt(this._defaults,e)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var e;return this._gridUid||(((e=this._grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(e){this._grid=e,this._decorator=this._options.cellDecorator||new Uc(e,this._options),this._canvas=e.getCanvasNode(),this._gridOptions=e.getOptions(),this._gridUid=e.getUID();const t=e.getPubSubService();t&&T.addSlickEventPubSubWhenDefined(t,this),this._eventHandler.subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this)).subscribe(this._grid.onScroll,this.handleScroll.bind(this))}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),ee(this._activeCanvas),ee(this._canvas),(t=this._decorator)==null||t.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(e,t){var m;const i=((m=e==null?void 0:e.touches)==null?void 0:m[0])??e,s=this._activeViewport.scrollLeft,n=this._activeViewport.scrollTop,o=s+this._viewportWidth,l=n+this._viewportHeight,a=ge(this._activeViewport),h=a.left,d=a.top,c=h+this._viewportWidth,u=d+this._viewportHeight,p={e,dd:t,viewport:{left:s,top:n,right:o,bottom:l,offset:{left:h,top:d,right:c,bottom:u}},offset:{x:0,y:0},isOutsideViewport:!1};return i.pageX<h?p.offset.x=i.pageX-h:i.pageX>c&&(p.offset.x=i.pageX-c),i.pageY<d?p.offset.y=d-i.pageY:i.pageY>u&&(p.offset.y=u-i.pageY),p.isOutsideViewport=!!p.offset.x||!!p.offset.y,p}stopIntervalTimer(){this._autoScrollTimerId&&(window.clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(e,t){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||e.stopImmediatePropagation();const i=e.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(i,t),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(i,t)}handleDragOutsideViewport(){if(this._xDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.x)*this.addonOptions.accelerateInterval,this._yDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.y)*this.addonOptions.accelerateInterval,!this._autoScrollTimerId){let e=0,t=0;this._autoScrollTimerId=window.setInterval(()=>{let i=!1,s=!1;this._draggingMouseOffset.offset.x?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._xDelayForNextCell):e=0,this._draggingMouseOffset.offset.y?(t+=this.addonOptions.minIntervalToShowNextCell,s=t>=this._yDelayForNextCell):t=0,(i||s)&&(i&&(e=0),s&&(t=0),this.handleDragToNewPosition(i,s))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(e,t){let i=this._draggingMouseOffset.e.pageX,s=this._draggingMouseOffset.e.pageY;const n=this._draggingMouseOffset.offset.x,o=this._draggingMouseOffset.offset.y,l=this._draggingMouseOffset.viewport.offset;e&&n&&(n>0?i=l.right+this._moveDistanceForOneCell.x:i=l.left-this._moveDistanceForOneCell.x),t&&o&&(o>0?s=l.top-this._moveDistanceForOneCell.y:s=l.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:i,pageY:s},this._draggingMouseOffset.dd)}handleDragTo(e,t){var n;const i=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,s=this._grid.getCellFromPoint(i.pageX-ge(this._activeCanvas).left+this._columnOffset,i.pageY-ge(this._activeCanvas).top+this._rowOffset);if(s!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&s.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&s.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&s.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&s.row<this._gridOptions.frozenRow))return;if(this.addonOptions.autoScroll&&this._draggingMouseOffset){const o=this._grid.getCellNodeBox(s.row,s.cell);if(o){const l=this._draggingMouseOffset.viewport;(o.left<l.left||o.right>l.right||o.top<l.top||o.bottom>l.bottom)&&this._grid.scrollCellIntoView(s.row,s.cell)}}if(!this._grid.canCellBeSelected(s.row,s.cell))return;if(t!=null&&t.range){t.range.end=s;const o=new tt(t.range.start.row??0,t.range.start.cell??0,s.row,s.cell);this._decorator.show(o),this.onCellRangeSelecting.notify({range:o})}}}handleDragEnd(e,t){this._decorator.hide(),this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new tt(t.range.start.row??0,t.range.start.cell??0,t.range.end.row,t.range.end.cell)}))}handleDragInit(e){var n,o;this._activeCanvas=this._grid.getActiveCanvasNode(e),this._activeViewport=this._grid.getActiveViewportNode(e);const t=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-t.width,this._viewportHeight=this._activeViewport.offsetHeight-t.height,this._moveDistanceForOneCell={x:this._grid.getAbsoluteColumnMinWidth()/2,y:this._gridOptions.rowHeight/2},this._rowOffset=0,this._columnOffset=0,this._isBottomCanvas=this._activeCanvas.classList.contains("grid-canvas-bottom"),this._gridOptions.frozenRow>-1&&this._isBottomCanvas){const l=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((n=document.querySelector(l))==null?void 0:n.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((o=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:o.clientWidth)??0);const i=this._grid.getCellFromEvent(e),s=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(s&&i&&s.row===i.row&&s.cell===i.cell))&&(e.stopImmediatePropagation(),e.preventDefault())}handleDragStart(e,t){const i=this._grid.getCellFromEvent(e);if(i&&this.onBeforeCellRangeSelected.notify(i).getReturnValue()!==!1&&this._grid.canCellBeSelected(i.row,i.cell)&&(this._dragging=!0,e.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const s=ge(this._canvas);let n=t.startX-s.left;this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(n+=this._scrollLeft);let o=t.startY-s.top;this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(o+=this._scrollTop);const l=this._grid.getCellFromPoint(n,o);return t.range={start:l,end:{}},this._currentlySelectedRange=t.range,this._decorator.show(new tt(l.row,l.cell))}handleScroll(e,t){this._scrollTop=t.scrollTop,this._scrollLeft=t.scrollLeft}}class jc{constructor(e){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._selector=e===void 0||e.cellRangeSelector===void 0?new mr({selectionCss:{border:"2px solid black"}}):e.cellRangeSelector,this._addonOptions=e}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(e){this._grid=e,(this._addonOptions===void 0||this._addonOptions.cellRangeSelector===void 0)&&(this._selector=new mr({selectionCss:{border:`2px solid ${this._grid.getOptions().darkMode?"white":"black"}`}})),e.hasDataView()&&(this._dataView=e.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)).subscribe(this._selector.onBeforeCellRangeSelected,this.handleBeforeCellRangeSelected.bind(this)).subscribe(this._selector.onCellRangeSelected,this.handleCellRangeSelected.bind(this)),e.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var e,t;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(e=this._grid)==null||e.unregisterPlugin(this._selector),(t=this._selector)==null||t.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(e,t){let i=e.length!==t.length;if(!i){for(let s=0;s<e.length;s++)if(e[s].fromCell!==t[s].fromCell||e[s].fromRow!==t[s].fromRow||e[s].toCell!==t[s].toCell||e[s].toRow!==t[s].toRow){i=!0;break}}return!i}refreshSelections(){this.setSelectedRanges(this.getSelectedRanges())}removeInvalidRanges(e){const t=[];for(let i=0;i<e.length;i++){const s=e[i];this._grid.canCellBeSelected(s.fromRow,s.fromCell)&&this._grid.canCellBeSelected(s.toRow,s.toCell)&&t.push(s)}return t}resetPageRowCount(){this._cachedPageRowCount=0}setSelectedRanges(e,t="SlickCellSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;const i=!this.rangesAreEqual(this._ranges,e);if(this._ranges=this.removeInvalidRanges(e),i){const s=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,s)}}handleActiveCellChange(e,t){var n,o;this._prevSelectedRow=void 0;const i=q(t.cell),s=q(t.row);(n=this._addonOptions)!=null&&n.selectActiveCell&&s&&i?this.setSelectedRanges([new tt(t.row,t.cell)]):(!((o=this._addonOptions)!=null&&o.selectActiveCell)||!s&&!i)&&this.setSelectedRanges([])}handleBeforeCellRangeSelected(e){const t=this._grid.getCellFromEvent(e),i=this._grid.getActiveCell();if(this._grid.getEditorLock().isActive()&&i&&t&&i.row===t.row&&i.cell===t.cell)return e.stopPropagation(),!1}handleCellRangeSelected(e,t){this._grid.setActiveCell(t.range.fromRow,t.range.fromCell,!1,!1,!0),this.setSelectedRanges([t.range])}isKeyAllowed(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageDown","PageUp","Home","End","a","A"].some(t=>t===e)}handleKeyDown(e){var l,a;let t,i;const s=this._grid.getColumns().length,n=this._grid.getActiveCell();let o=0;if(this._dataView&&"getPagingInfo"in this._dataView?o=((l=this._dataView)==null?void 0:l.getPagingInfo().pageSize)||this._dataView.getLength():o=this._grid.getDataLength(),n&&(e.shiftKey||e.ctrlKey)&&!e.altKey&&this.isKeyAllowed(e.key)&&(t=this.getSelectedRanges().slice(),t.length||t.push(new tt(n.row,n.cell)),i=t.pop(),typeof(i==null?void 0:i.contains)=="function")){i.contains(n.row,n.cell)||(i=new tt(n.row,n.cell));let h=i.toRow-i.fromRow,d=i.toCell-i.fromCell,c,u=0;e.ctrlKey&&((a=e.key)==null?void 0:a.toLowerCase())==="a"&&(this._grid.setActiveCell(0,0,!1,!1,!0),n.row=0,n.cell=0,c=s-1,u=o-1);const p=n.row===i.fromRow?1:-1,m=n.cell===i.fromCell?1:-1,f=e.key.startsWith("Arrow");f&&!e.ctrlKey?(e.key==="ArrowLeft"?d-=m:e.key==="ArrowRight"?d+=m:e.key==="ArrowUp"?h-=p:e.key==="ArrowDown"&&(h+=p),u=n.row+p*h):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=n.row),!e.ctrlKey&&e.shiftKey&&e.key==="Home"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowLeft"?(c=0,u=n.row):!e.ctrlKey&&e.shiftKey&&e.key==="End"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowRight"?(c=s-1,u=n.row):e.ctrlKey&&e.shiftKey&&e.key==="ArrowUp"?u=0:e.ctrlKey&&e.shiftKey&&e.key==="ArrowDown"?u=o-1:e.ctrlKey&&e.shiftKey&&e.key==="Home"?(c=0,u=0):e.ctrlKey&&e.shiftKey&&e.key==="End"?(c=s-1,u=o-1):e.key==="PageUp"?(this._prevSelectedRow>=0&&(u=this._prevSelectedRow-this._cachedPageRowCount),u<0&&(u=0)):e.key==="PageDown"&&(this._prevSelectedRow<=o-1&&(u=this._prevSelectedRow+this._cachedPageRowCount),u>o-1&&(u=o-1)),this._prevSelectedRow=u),c??(c=n.cell+m*d);const g=new tt(n.row,n.cell,u,c);if(this.removeInvalidRanges([g]).length){t.push(g);const _=p>0?g.toRow:g.fromRow,C=m>0?g.toCell:g.fromCell;f?(this._grid.scrollRowIntoView(_),this._grid.scrollCellIntoView(_,C,!1)):(this._grid.scrollRowIntoView(u),this._grid.scrollCellIntoView(u,C,!1))}else t.push(i);this.setSelectedRanges(t),e.preventDefault(),e.stopPropagation(),this._prevKeyDown=e.key}}}class fr{constructor(e){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._options={...this._defaults,...e}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return(e=this._grid)==null?void 0:e.getOptions()}init(e){this._grid=e,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),!this._selector&&this._options.dragToSelect&&(this._selector=new mr({selectionCss:{border:"none"},autoScroll:this._options.autoScrollWhenDrag}),this.addonOptions.cellRangeSelector=this._selector),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onClick,this.handleClick.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)),this._selector&&(this._grid.registerPlugin(this._selector),this._selector.onCellRangeSelecting.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.subscribe(this.handleBeforeCellRangeSelected.bind(this)))}destroy(){this.dispose()}dispose(){this._eventHandler.unsubscribeAll(),this.disposeSelector()}disposeSelector(){var e,t;this._selector&&(this._selector.onCellRangeSelecting.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._grid.unregisterPlugin(this._selector),(e=this._selector)==null||e.destroy(),(t=this._selector)==null||t.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(e){this.setSelectedRanges(this.rowsToRanges(e),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(e,t="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;this._ranges=e;const i=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,i)}getRowsRange(e,t){let i;const s=[];for(i=e;i<=t;i++)s.push(i);for(i=t;i<e;i++)s.push(i);return s}handleBeforeCellRangeSelected(e,t){let i=!1;if(this.gridOptions.enableRowMoveManager&&(i=this.isHandlerColumn(t.cell)??!1),this._grid.getEditorLock().isActive()||i)return e.stopPropagation(),!1;this._grid.setActiveCell(t.row,t.cell)}handleCellRangeSelected(e,t){if(!this.gridOptions.multiSelect||!this.addonOptions.selectActiveRow)return!1;this.setSelectedRanges([new tt(t.range.fromRow,0,t.range.toRow,this._grid.getColumns().length-1)])}handleActiveCellChange(e,t){this._options.selectActiveRow&&t.row!==null&&this.setSelectedRanges([new tt(t.row,0,t.row,this._grid.getColumns().length-1)])}handleClick(e){const t=this._grid.getCellFromEvent(e);if(!t||!this._grid.canCellBeActive(t.row,t.cell)||!this.gridOptions.multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;let i=this.rangesToRows(this._ranges);const s=i.indexOf(t.row);if(s===-1&&(e.ctrlKey||e.metaKey))i.push(t.row),this._grid.setActiveCell(t.row,t.cell);else if(s!==-1&&(e.ctrlKey||e.metaKey))i=i.filter(o=>o!==t.row),this._grid.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){const o=i.pop(),l=Math.min(t.row,o),a=Math.max(t.row,o);i=[];for(let h=l;h<=a;h++)h!==o&&i.push(h);i.push(o),this._grid.setActiveCell(t.row,t.cell)}const n=this.rowsToRanges(i);return this.setSelectedRanges(n),e.stopImmediatePropagation(),!0}handleKeyDown(e){const t=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){let i=this.getSelectedRows();i.sort((l,a)=>l-a),i.length||(i=[t.row]);let s,n=i[0],o=i[i.length-1];if(e.key==="ArrowDown"?s=t.row<o||n===o?++o:++n:s=t.row<o?--o:--n,s>=0&&s<this._grid.getDataLength()){this._grid.scrollRowIntoView(s);const l=this.rowsToRanges(this.getRowsRange(n,o));this.setSelectedRanges(l)}e.preventDefault(),e.stopPropagation()}}isHandlerColumn(e){const i=this._grid.getColumns()[e].behavior||"";return/move|selectAndMove/.test(i)}rangesToRows(e){const t=[];for(let i=0;i<e.length;i++)for(let s=e[i].fromRow;s<=e[i].toRow;s++)t.push(s);return t}rowsToRanges(e){const t=[],i=this._grid.getColumns().length-1;return e.forEach(s=>t.push(new tt(s,0,s,i))),t}}const Jl="mdi-icon-check",ea="mdi-icon-uncheck";class ta{constructor(e,t){this.pubSubService=e,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,applySelectOnAllPages:!0,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},this._addonOptions=this._defaults,this._checkboxColumnCellIndex=null,this._isSelectAllChecked=!1,this._isUsingDataView=!1,this._selectedRowsLookup={},this._selectAll_UID=this.createUID(),this._bindEventService=new Pe,this._eventHandler=new pe,this._addonOptions={...this._defaults,...t}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(e){this._selectedRowsLookup=e}init(e){this._grid=e,this._isUsingDataView=!Array.isArray(e.getData()),this._isUsingDataView&&(this._dataView=e.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(e.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(e.onClick,this.handleClick.bind(this)).subscribe(e.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&(this._eventHandler.subscribe(e.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),this._addonOptions.applySelectOnAllPages&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,this.handleDataViewSelectedIdsChanged.bind(this)).subscribe(this._dataView.onPagingInfoChanged,this.handleDataViewSelectedIdsChanged.bind(this))),this._addonOptions.hideInFilterHeaderRow||this.addCheckboxToFilterHeaderRow(e),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new fr(this.gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionModel)),this.gridOptions.preselectedRows&&this._rowSelectionModel&&this._grid.getSelectionModel()&&window.setTimeout(()=>this.selectRows(this.gridOptions.preselectedRows||[])),typeof this._addonOptions.selectableOverride=="function"&&this.selectableOverride(this._addonOptions.selectableOverride)}dispose(){this._bindEventService.unbindAll(),this._eventHandler.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.checkboxSelector},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.checkboxSelector)==null?void 0:i.columnIndexPosition)??0;n>0?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(e){var t;if(this._addonOptions={...this._addonOptions,...e},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const i=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");if(i){i.style.display="flex",i.ariaChecked=String(this._isSelectAllChecked);const s=i.querySelector('input[type="checkbox"]');s&&(s.ariaChecked=String(this._isSelectAllChecked),s.checked=this._isSelectAllChecked)}}}deSelectRows(e){const t=[];for(const i of e)this._selectedRowsLookup[i]&&(t[t.length]=i);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(i=>t.indexOf(i)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(e){var s;const t=[];for(const n of e)this._selectedRowsLookup[n]&&(t[t.length]=n);const i=(s=this._grid.getSelectedRows())==null?void 0:s.concat(t);this._grid.setSelectedRows(i)}createCheckboxElement(e,t=!1){var o;const i=(o=this.gridOptions)!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment,s=v("label",{className:"checkbox-selector-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"});return n.appendChild(v("input",{id:e,type:"checkbox",checked:t,ariaChecked:String(t)})),n.appendChild(v("div",{className:`mdi ${t?Jl:ea}`})),s.appendChild(n),i.appendChild(s),i}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:e,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var t;const e=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");e&&(e.style.display="none")}toggleRowSelection(e){this.toggleRowSelectionWithEvent(null,e)}toggleRowSelectionWithEvent(e,t){const i=this._grid.getDataItem(t);if(!this.checkSelectableOverride(t,i,this._grid))return;const s=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(e,{row:t,previousSelectedRows:s});const n=this._selectedRowsLookup[t]?this._grid.getSelectedRows().filter(o=>o!==t):this._grid.getSelectedRows().concat(t);this._grid.setSelectedRows(n,"click.toggle"),this._grid.setActiveCell(t,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(e,{row:t,previousSelectedRows:s})}selectableOverride(e){this._selectableOverride=e}addCheckboxToFilterHeaderRow(e){this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{if(i.column.field===(this._addonOptions.field||"_checkbox_selector")){ee(i.node);const s=`header-filter-selector${this._selectAll_UID}`,n=v("label",{id:"filter-checkbox-selectall-container",htmlFor:s}),o=v("div",{className:"icon-checkbox-container"});o.appendChild(v("input",{id:s,type:"checkbox",ariaChecked:"false"})),o.appendChild(v("div",{className:"mdi mdi-icon-uncheck"})),n.appendChild(o),i.node.appendChild(n),this._headerRowNode=i.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(n,"click",l=>this.handleHeaderClick(l,i))}})}checkboxSelectionFormatter(e,t,i,s,n,o){if(n&&this.checkSelectableOverride(e,n,o)){const l=this.createUID()+e;return this.createCheckboxElement(`selector${l}`,!!this._selectedRowsLookup[e])}return null}checkSelectableOverride(e,t,i){return typeof this._selectableOverride=="function"?this._selectableOverride(e,t,i):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const e=this._grid.getColumns();for(let t=0;t<e.length;t++)e[t].id===this._addonOptions.columnId&&(this._checkboxColumnCellIndex=t)}return this._checkboxColumnCellIndex}handleDataViewSelectedIdsChanged(){var s,n;const e=this._dataView.getAllSelectedFilteredIds(),t=this._dataView.getFilteredItems();let i=0;if(typeof this._selectableOverride=="function"&&e.length>0)for(let o=0;o<this._dataView.getItemCount();o++){const l=this._dataView.getItemByIdx(o),a=this._dataView.getIdPropertyName(),h=l[a];t.findIndex(c=>c[a]===h)>=0&&!this.checkSelectableOverride(o,l,this._grid)&&i++}if(this._isSelectAllChecked=e.length+i>=t.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const o=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`),l=(n=this.headerRowNode)==null?void 0:n.querySelector(".icon-checkbox-container .mdi");o&&(o.ariaChecked=String(this._isSelectAllChecked),o.checked=this._isSelectAllChecked),l&&(l.className=`mdi ${this._isSelectAllChecked?Jl:ea}`)}}handleClick(e,t){if(this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(e,t.row),e.stopPropagation(),e.stopImmediatePropagation()}}handleHeaderClick(e,t){if(t.column.id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}let i=e.target.checked;const s=i?"click.selectAll":"click.unselectAll",n=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(e,{previousSelectedRows:n,caller:s});let o=[];if(i){const l=[];for(let a=0;a<this._grid.getDataLength();a++){const h=this._grid.getDataItem(a);!h.__group&&!h.__groupTotals&&this.checkSelectableOverride(a,h,this._grid)&&l.push(a)}o=l,i=!0}if(this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages){const l=[],a=this._dataView.getFilteredItems();for(let h=0;h<a.length;h++){const d=a[h];this.checkSelectableOverride(h,d,this._grid)&&l.push(d[this._dataView.getIdPropertyName()])}this._dataView.setSelectedIds(l,{isRowBeingAdded:i})}this._grid.setSelectedRows(o,s),this._addonOptions.onSelectAllToggleEnd&&this._addonOptions.onSelectAllToggleEnd(e,{rows:o,previousSelectedRows:n,caller:s}),e.stopPropagation(),e.stopImmediatePropagation()}}handleKeyDown(e,t){e.key===" "&&this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&((!this._grid.getEditorLock().isActive()||this._grid.getEditorLock().commitCurrentEdit())&&this.toggleRowSelectionWithEvent(e,t.row),e.preventDefault(),e.stopImmediatePropagation())}handleSelectedRowsChanged(){var a;const e=this._grid.getSelectedRows(),t={};let i=0,s=0,n=0,o=0;if(typeof this._selectableOverride=="function")for(n=0;n<this._grid.getDataLength();n++){const h=this._grid.getDataItem(n);this.checkSelectableOverride(s,h,this._grid)||o++}const l=[];for(s=0;s<e.length;s++){i=e[s];const h=this._grid.getDataItem(i);this.checkSelectableOverride(s,h,this._grid)?(t[i]=!0,t[i]!==this._selectedRowsLookup[i]&&(this._grid.invalidateRow(i),delete this._selectedRowsLookup[i])):l.push(i)}if(typeof this._selectedRowsLookup=="object"&&Object.keys(this._selectedRowsLookup).forEach(h=>{h!==void 0&&this._grid.invalidateRow(+h)}),this._selectedRowsLookup=t,this._grid.render(),this._isSelectAllChecked=((e==null?void 0:e.length)??0)+o>=this._grid.getDataLength(),(!this._isUsingDataView||!this._addonOptions.applySelectOnAllPages)&&(!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow)){const h=(a=this.headerRowNode)==null?void 0:a.querySelector(`#header-filter-selector${this._selectAll_UID}`);h&&(h.ariaChecked=String(this._isSelectAllChecked),h.checked=this._isSelectAllChecked)}if(l.length>0){for(const h of l){const d=e.indexOf(h);e.splice(d,1)}this._grid.setSelectedRows(e,"click.toggle")}}renderSelectAllCheckbox(e){const t=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!e),this._addonOptions.toolTip);t==null||t.classList.add("header-checkbox-selectall")}}class ia extends zs{constructor(e,t,i,s,n){var o;super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._areVisibleColumnDifferent=!1,this._columns=[],this._columnCheckboxes=[],this._commandMenuElm=null,this._headerElm=null,this._isMenuOpen=!1,this._subMenuParentId="",this._defaults={dropSide:"left",showButton:!0,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",marginBottom:15,menuWidth:18,minHeight:150,contentMinWidth:0,resizeOnShowHeaderRow:!1,syncResizeTitle:"Synchronous resize",subMenuOpenByEvent:"mouseover",headerColumnValueExtractor:l=>_t(l.columnPickerLabel||l.name||"","innerHTML")},this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-grid-menu",this._camelPluginName="gridMenu",this._columns=this.sharedService.allColumns??[],this._gridUid=((o=this.grid)==null?void 0:o.getUID())??"",this.onAfterMenuShow=new P("onAfterMenuShow"),this.onBeforeMenuShow=new P("onBeforeMenuShow"),this.onMenuClose=new P("onMenuClose"),this.onCommand=new P("onCommand"),this.onColumnsChanged=new P("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,e=>this.hideMenu(e)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(e,t)=>{if(t&&t.optionsBefore&&t.optionsAfter){const i=t.optionsBefore.frozenColumn>=0&&t.optionsAfter.frozenColumn===-1,s=t.optionsBefore.frozenColumn===-1&&t.optionsAfter.frozenColumn>=0;(i||s)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",T.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const e=this._userOriginalGridMenu.commandItems,t=this._userOriginalGridMenu&&Array.isArray(e)?e:[];this._addonOptions.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var e,t;this._bindEventService.unbindAll(),(e=this._menuElm)==null||e.remove(),this._menuElm=null,(t=this._gridMenuButtonElm)==null||t.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(oa.call(this,this._menuElm),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",la.bind(this),void 0,"parent-menu"))}createGridMenu(){var n,o;const e=this._gridUid?`.${this._gridUid}`:"",t=((n=this._addonOptions)==null?void 0:n.menuWidth)||this._defaults.menuWidth,i=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",s=this.grid.getContainerNode();if(this._headerElm=s.querySelector(`.slick-header-${i}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${t}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const h=s.querySelector(`${e} .slick-headerrow`);h&&(h.style.width=`calc(100% - ${t}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=v("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(o=this._addonOptions)!=null&&o.iconCssClass&&this._gridMenuButtonElm.classList.add(...he(this._addonOptions.iconCssClass));const h=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[h]),this._bindEventService.bind(this._gridMenuButtonElm,"click",this.showGridMenu.bind(this))}this.sharedService.gridOptions.gridMenu={...this._defaults,...this._addonOptions},this.translateTitleLabels(this._addonOptions),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this)),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this))}}createCommandMenu(e,t=0,i){const s=i==null?void 0:i.command;let n=t===1&&s?s.replace(/\s/g,""):"";n&&(this._subMenuParentId=n),t>1&&(n=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${t} ${this._gridUid}`,l=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${t}${this.gridUidSelector}`);if(l){if(l.dataset.subMenuParent===n)return l;this.disposeSubMenus()}const a=v("div",{role:"menu",className:o,ariaLabel:t>1?"SubMenu":"Grid Menu"});t>0&&(a.classList.add("slick-submenu"),n&&(a.dataset.subMenuParent=n));const h={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:t};return this._commandMenuElm=this.recreateCommandList(e,a,h,i),t++,a}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(e){var i,s,n;const t={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",t),!(typeof((i=this._addonOptions)==null?void 0:i.onMenuClose)=="function"&&this._addonOptions.onMenuClose(e,t)===!1||this.onMenuClose.notify(t,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((s=this.grid)==null?void 0:s.autosizeColumns)=="function"){const o=this.grid.getUID()||"";this._areVisibleColumnDifferent&&o&&document.querySelector(`.${o}`)!==null&&(this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this._areVisibleColumnDifferent=!1)}this.disposeSubMenus(),(n=this._menuElm)==null||n.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(e,t,i,s){var a,h;const n=((a=e==null?void 0:e.touches)==null?void 0:a[0])??e,o=t.classList.contains("slick-submenu"),l=o?e.target.closest(".slick-menu-item"):n.target;if(l){const d=i||this._gridMenuButtonElm,c=ge(i),u=ge(l),p=s??this._addonOptions,m=getComputedStyle(d),f=parseInt((m==null?void 0:m.width)??((h=this._defaults)==null?void 0:h.menuWidth),10),g=(t==null?void 0:t.offsetWidth)??0,_=(p==null?void 0:p.contentMinWidth)??this._defaults.contentMinWidth??0,C=(_>g?_:g)||0,b=c.top,S=c.right;let E,y;if(o?(y=u.top,E=u.left):(y=b+d.offsetHeight,E=(p==null?void 0:p.dropSide)==="right"?S-f:S-C),o){const D=(t==null?void 0:t.clientHeight)||0,{bottom:M,top:L}=Vi(l);(M<D&&L>M?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),y-=D-l.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}const x=this.grid.getGridPosition();let O=E+Number(g);o&&(O+=l.clientWidth);const I=document.documentElement.clientWidth;(O>=x.width||O>=I?"left":"right")==="left"||!o&&(p==null?void 0:p.dropSide)==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),o&&(E-=Number(g))):(t.classList.remove("dropleft"),t.classList.add("dropright"),o&&(E+=l.offsetWidth)),t.style.top=`${y}px`,t.style.left=`${E}px`,_>0&&(t.style.minWidth=`${_}px`),t.style.opacity="1",t.style.display="block"}}openGridMenu(){const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(e,"target",{writable:!0,configurable:!0,value:v("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(e)}showGridMenu(e,t){var s,n,o;const i=((s=e==null?void 0:e.touches)==null?void 0:s[0])??e;if(e.preventDefault(),ee(this._menuElm),(n=this._menuElm)==null||n.remove(),this._addonOptions){const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},a={...this._addonOptions,...t};if(a&&!this.extensionUtility.runOverrideFunctionWhenExists(a.menuUsabilityOverride,l)||typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",l),typeof(a==null?void 0:a.onBeforeMenuShow)=="function"&&a.onBeforeMenuShow(e,l)===!1||this.onBeforeMenuShow.notify(l,null,this).getReturnValue()===!1))return;this._menuElm=this.createCommandMenu(((o=this._addonOptions)==null?void 0:o.commandItems)??[]),this.createColumnPickerContainer(),$s.call(this),this._columnCheckboxes=[],ha.call(this,a),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const h=((a==null?void 0:a.marginBottom)!==void 0?a.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=Pt(a==null?void 0:a.minHeight,""),(a==null?void 0:a.height)!==void 0?this._menuElm.style.height=Pt(a.height,""):this._menuElm.style.maxHeight=Pt(a==null?void 0:a.maxHeight,`${window.innerHeight-i.clientY-h}px`);let d=e.target.nodeName==="BUTTON"?e.target:e.target.querySelector("button");d||(d=e.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(e,this._menuElm,d,a),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",l),typeof(a==null?void 0:a.onAfterMenuShow)=="function"&&a.onAfterMenuShow(e,l),this.onAfterMenuShow.notify(l,null,this)}}translateGridMenu(){var e;if(this.sharedService.gridOptions.gridMenu){this.sharedService.gridOptions.gridMenu.commandItems=[],this.sharedService.gridOptions.gridMenu.commandTitle="",this.sharedService.gridOptions.gridMenu.columnTitle="",this.sharedService.gridOptions.gridMenu.forceFitTitle="",this.sharedService.gridOptions.gridMenu.syncResizeTitle="";const t=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(((e=this._addonOptions)==null?void 0:e.commandItems)||[],"commandItems"),this.extensionUtility.sortItems(this.sharedService.gridOptions.gridMenu.commandItems,"positionOrder"),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this.translateTitleLabels(this._addonOptions),this.extensionUtility.translateItems(this._columns,"nameKey","name")}}translateTitleLabels(e){e&&(e.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),e.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),e.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(e){var l,a;const t=this.gridOptions.backendServiceApi||null,i=[],s=this.gridOptions,n=lt(s),o=(l=this._addonOptions)==null?void 0:l.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const d="clear-pinning";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${n}${(o==null?void 0:o.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:d,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const d="clear-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${n}${(o==null?void 0:o.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:d,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const d="toggle-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(t&&!this._addonOptions.hideRefreshDatasetCommand){const d="refresh-dataset";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${n}${(o==null?void 0:o.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:d,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const d="toggle-dark-mode";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${n}${(o==null?void 0:o.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:d,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const d="toggle-preheader";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const d="clear-sorting";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${n}${(o==null?void 0:o.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:d,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const d="export-csv";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:d,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const d="export-excel";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${n}${(o==null?void 0:o.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:d,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const d="export-text-delimited";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:d,positionOrder:57})}const h=((a=this._addonOptions)==null?void 0:a.commandItems)||[];(Array.isArray(i)&&i.length>0||Array.isArray(h)&&h.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return i}executeGridMenuInternalCustomCommands(e,t){var s,n,o;const i=((s=this.sharedService)==null?void 0:s.externalRegisteredResources)||[];if(t!=null&&t.command)switch(t.command){case"clear-pinning":const l=[...this.sharedService.visibleColumns],a={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(a),this.sharedService.gridOptions.frozenColumn=a.frozenColumn,this.sharedService.gridOptions.frozenRow=a.frozenRow,this.sharedService.gridOptions.frozenBottom=a.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=a.enableMouseWheelScrollHandler,Array.isArray(l)&&this.grid.setColumns(l),this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this.pubSubService.publish("onGridMenuClearAllPinning");break;case"clear-filter":this.filterService.clearFilters(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllFilters");break;case"clear-sorting":this.sortService.clearSorting(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllSorting");break;case"export-csv":const d=i.find(g=>g.className==="TextExportService");d!=null&&d.exportToFile?d.exportToFile({delimiter:Ot.comma,format:ve.csv}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"export-excel":const c=i.find(g=>g.className==="ExcelExportService");c!=null&&c.exportToExcel?c.exportToExcel():console.error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Grid Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };");break;case"export-text-delimited":const u=i.find(g=>g.className==="TextExportService");u!=null&&u.exportToFile?u.exportToFile({delimiter:Ot.tab,format:ve.txt}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"toggle-dark-mode":const p=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!p}),this.sharedService.gridOptions.darkMode=!p;break;case"toggle-filter":let m=((n=this.gridOptions)==null?void 0:n.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const f=((o=this.gridOptions)==null?void 0:o.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!f);break;case"refresh-dataset":this.extensionUtility.refreshBackendDataset();break}}getDefaultGridMenuOptions(){return{commandTitle:void 0,columnTitle:this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),forceFitTitle:this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),syncResizeTitle:this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"),iconCssClass:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._isMenuOpen&&this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu(e)}}handleMenuItemCommandClick(e,t,i,s=0){var n,o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,item:i,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(e,a),this.pubSubService.publish("onGridMenuCommand",a),typeof((n=this._addonOptions)==null?void 0:n.onCommand)=="function"&&this._addonOptions.onCommand(e,a),this.onCommand.notify(a,null,this),typeof i.action=="function"&&i.action.call(this,e,a),!((o=this._addonOptions)!=null&&o.leaveOpen)&&!e.defaultPrevented&&this.hideMenu(e),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s)}handleMenuItemMouseOver(e,t,i,s=0){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s):s===0&&this.disposeSubMenus())}recreateCommandList(e,t,i,s){const n=i.level||0;if(e.length>0){const o=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},t);if(n===0){this.populateCommandOrOptionTitle("command",this.addonOptions,o,n);const l=t.querySelector(".slick-command-header")??v("div",{className:"slick-command-header"});l.classList.add("with-close"),ra.call(this,l),o.appendChild(l)}return s&&n>0&&this.addSubMenuTitleWhenExists(s,o),this.populateCommandOrOptionItems("command",this._addonOptions,o,e,i,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),o}return null}repositionSubMenu(e,t,i){const s=(t==null?void 0:t.commandItems)||[],n=this.createCommandMenu(s,i+1,t);n.style.display="block",document.body.appendChild(n),this.repositionMenu(e,n)}}const sa="mdi-icon-picker-check",na="mdi-icon-picker-uncheck";function ra(r){const t=v("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof _r?"slick-column-picker":"slick-grid-menu"}});r.appendChild(t)}function oa(r){var t,i;const e=this;(t=e.addonOptions)!=null&&t.columnTitle&&(e._columnTitleElm=v("div",{className:"slick-menu-title",textContent:((i=e.addonOptions)==null?void 0:i.columnTitle)??e._defaults.columnTitle},r))}function la(r){var o,l;const e=this,t=e instanceof _r?"columnPicker":"gridMenu",i=(o=r.target)==null?void 0:o.closest(".icon-checkbox-container"),s=i==null?void 0:i.querySelector(".mdi"),n=!!r.target.checked;if(r.target.ariaChecked=String(n),aa(s,n),r.target.dataset.option==="autoresize"){const a=e.getVisibleColumns();e.grid.setOptions({forceFitColumns:n}),e.grid.setColumns(a);return}if(r.target.dataset.option==="syncresize"){e.grid.setOptions({syncColumnCellResize:n});return}if(r.target.type==="checkbox"){e._areVisibleColumnDifferent=!0;const a=r.target.dataset.columnid||"",h=[];if(e._columnCheckboxes.forEach((u,p)=>{u.checked&&h.push(e.columns[p])}),!h.length){r.target.checked=!0,aa(s,!0);return}if(e.grid.setColumns(h),(!e.sharedService.visibleColumns||Array.isArray(h)&&h.length!==e.sharedService.visibleColumns.length)&&(e.sharedService.visibleColumns=h),e.gridOptions.enableRowSelection&&n){const u=e.grid.getSelectedRows();e.grid.setSelectedRows(u)}const d=e.gridOptions.frozenColumn??-1;d>=0&&e.extensionUtility.readjustFrozenColumnIndexWhenNeeded(d,e.columns,h);const c={columnId:a,showing:n,allColumns:e.columns,visibleColumns:h,columns:h,grid:e.grid};e.pubSubService.publish(`on${ti(t)}ColumnsChanged`,c),typeof((l=e.addonOptions)==null?void 0:l.onColumnsChanged)=="function"&&e.addonOptions.onColumnsChanged(r,c),e.onColumnsChanged.notify(c,null,e)}}function aa(r,e=!1){r&&(r.className=`mdi ${e?sa:na}`)}function gr(r,e,t,i=!1){const s=v("label",{className:"checkbox-picker-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"}),o=v("input",{id:e,type:"checkbox",dataset:t}),l=v("div",{className:`mdi ${i?sa:na}`}),a=v("span",{className:"checkbox-label"});return n.appendChild(o),n.appendChild(l),s.appendChild(n),s.appendChild(a),r.appendChild(s),i&&(o.ariaChecked="true",o.checked=!0),{inputElm:o,labelElm:s,labelSpanElm:a}}function ha(r){const e=this,t=e instanceof ia,i=t?"gridmenu-":"";for(const s of e.columns){const n=s.id,o=document.createElement("li");(s.excludeFromColumnPicker&&!t||s.excludeFromGridMenu&&t)&&(o.className="hidden");const l=`${e._gridUid}-${i}colpicker-${n}`,a=e.grid.getColumnIndex(n)>=0,{inputElm:h,labelElm:d,labelSpanElm:c}=gr(o,l,{columnid:`${n}`},a);e._columnCheckboxes.push(h);const p=(typeof(r==null?void 0:r.headerColumnValueExtractor)=="function"?r.headerColumnValueExtractor:e._defaults.headerColumnValueExtractor)(s,e.gridOptions);this.grid.applyHtmlCode(c,p),o.appendChild(d),e._listElm.appendChild(o)}if((!r.hideForceFitButton||!r.hideSyncResizeButton)&&e._listElm.appendChild(document.createElement("hr")),!(r!=null&&r.hideForceFitButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-forcefit`,{labelSpanElm:o}=gr(s,n,{option:"autoresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.forceFitTitle)??"",e._listElm.appendChild(s)}if(!(r!=null&&r.hideSyncResizeButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-syncresize`,{labelSpanElm:o}=gr(s,n,{option:"syncresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.syncResizeTitle)??"",e._listElm.appendChild(s)}}function $s(){const r=this,e=r.grid.getColumns().slice(0),t=new Array(r.columns.length);for(let i=0;i<t.length;i++)r.grid.getColumnIndex(r.columns[i].id)===void 0?t[i]=r.columns[i]:t[i]=e.shift();r._columns=t}class _r{constructor(e,t,i){var s,n;this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._areVisibleColumnDifferent=!1,this._columns=[],this._gridUid="",this._menuElm=null,this._columnCheckboxes=[],this._defaults={hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",minHeight:150,syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:o=>_t(o.columnPickerLabel||o.name||"","innerHTML")},this._bindEventService=new Pe,this.onColumnsChanged=new P("onColumnsChanged"),this._eventHandler=new pe,this._columns=this.sharedService.allColumns??[],this._gridUid=((n=(s=this.grid)==null?void 0:s.getUID)==null?void 0:n.call(s))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){return this.sharedService.gridOptions??{}}get grid(){return this.sharedService.slickGrid}get menuElement(){return this._menuElm}init(){this._gridUid=this.grid.getUID()??"",this.gridOptions.columnPicker={...this._defaults,...this.gridOptions.columnPicker},this.onColumnsChanged.setPubSubService(this.pubSubService),this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker"),this._eventHandler.subscribe(this.grid.onPreHeaderContextMenu,e=>{["slick-column-name","slick-header-column"].some(t=>{var i;return(i=e.target)==null?void 0:i.classList.contains(t)})&&this.handleHeaderContextMenu(e)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.bind(this)),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this),void 0,"body"),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this),void 0,"body")}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this.disposeMenu()}disposeMenu(){var e,t;this._bindEventService.unbindAll("parent-menu"),(e=this._listElm)==null||e.remove(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}createPickerMenu(){const e=v("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return $s.call(this),oa.call(this,e),ra.call(this,e),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(e,"click",la.bind(this),void 0,"parent-menu"),document.body.appendChild(e),e}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}translateColumnPicker(){this.addonOptions&&(this.addonOptions.columnTitle="",this.addonOptions.forceFitTitle="",this.addonOptions.syncResizeTitle="",this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker")),this.extensionUtility.translateItems(this._columns,"nameKey","name"),this.translateTitleLabels(this.addonOptions)}handleBodyMouseDown(e){var t;(this._menuElm!==e.target&&!((t=this._menuElm)!=null&&t.contains(e.target))||e.target.className==="close"&&e.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(e){e.preventDefault(),ee(this._menuElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),ha.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(e)}repositionMenu(e){var i;const t=((i=e==null?void 0:e.touches)==null?void 0:i[0])??e;if(this._menuElm){const s=this.grid.getGridPosition(),n=this._menuElm.clientWidth||0;let o=t.pageX||0;s!=null&&s.width&&o+n>=s.width&&(o=o-n),this._menuElm.style.top=`${t.pageY-10}px`,this._menuElm.style.left=`${o}px`,this._menuElm.style.minHeight=Pt(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=Pt(this.addonOptions.maxHeight,`${window.innerHeight-t.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm)}}translateTitleLabels(e){e&&(e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Ws=(r,e,t,i,s,n)=>{const o=i.params||{};if(!o.formatters||!Array.isArray(o.formatters))throw new Error(`[Slickgrid-Universal] The multiple formatter requires the "formatters" to be provided as a column params.
12
- For example: this.columnDefinitions = [{ id: title, field: title, formatter: Formatters.multiple, params: { formatters: [Formatters.lowercase, Formatters.uppercase] }`);const l=o.formatters;let a=t;return l.forEach((h,d)=>{if(typeof h!="function")throw new Error(`[Slickgrid-Universal] the "params.formatters" at index(${d}) to be used by "Formatters.multiple" is invalid, please verify all formatter functions.`);a=h.call(void 0,r,e,a,i,s,n)}),a};function da(r,e){if(Array.isArray(r)){for(const t of r)if(t.editor)if(t.formatter&&t.formatter!==Ws&&t.formatter!==e){const i=t.formatter;t.formatter=Ws,t.params={...t.params,formatters:[i,e]}}else t.formatter&&t.formatter===Ws&&t.params?t.params.formatters.findIndex(i=>i===e)===-1&&(t.params.formatters=[...t.params.formatters,e]):t.formatter=e}}function Se(r,e,t,i){let s,n,o="",l="";switch(t){case"currency":s=R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL;break;case"decimal":s=R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL;break;case"percent":s=R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL;break}const a=e&&typeof e.getOptions=="function"?e.getOptions():{},h=wt("minDecimal",r,a,s),d=wt("maxDecimal",r,a,n),c=wt("decimalSeparator",r,a,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR),u=wt("thousandSeparator",r,a,R.DEFAULT_NUMBER_THOUSAND_SEPARATOR),p=wt("displayNegativeNumberWithParentheses",r,a,R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET),m=wt("currencyPrefix",r,a,""),f=wt("currencySuffix",r,a,"");return i==="cell"&&(o=wt("numberPrefix",r,a,""),l=wt("numberSuffix",r,a,"")),{minDecimal:h,maxDecimal:d,decimalSeparator:c,thousandSeparator:u,wrapNegativeNumber:p,currencyPrefix:m,currencySuffix:f,numberPrefix:o,numberSuffix:l}}function wt(r,e,t,i){var n;const s=e&&e.params;return s&&s.hasOwnProperty(r)?s[r]:(n=t==null?void 0:t.formatterOptions)!=null&&n.hasOwnProperty(r)?t.formatterOptions[r]:i}function ye(r,e){const t=Ke(r,{withZeroPadding:!0});return(i,s,n,o,l,a)=>{var g,_;const h=a&&typeof a.getOptions=="function"?a.getOptions():{},d=((g=h==null?void 0:h.formatterOptions)==null?void 0:g.dateSeparator)??e,c=(o==null?void 0:o.type)??w.date,u=Ke(c,{withDefaultIso8601:!0}),p=((_=o==null?void 0:o.params)==null?void 0:_.parseDateAsUtc)??!1,m=bt(n,u);let f=n;if(m){let C=m;p&&(C=Yh(m)),f=et(C,t,"en-US")}if(f&&d!==e){const C=new RegExp(e,"ig");f=f.replace(C,d)}return f}}function Cr(r,e,t,i,s,n){let o=!1;t!=null&&t.hasOwnProperty("exportWithFormatter")?o=!!t.exportWithFormatter:n!=null&&n.hasOwnProperty("exportWithFormatter")&&(o=!!n.exportWithFormatter);let l;i&&t.exportCustomFormatter?l=t.exportCustomFormatter:o&&t.formatter&&(l=t.formatter);const a=Gs(l,r,e,t,i,s);return n!=null&&n.sanitizeDataExport&&typeof a=="string"?we(a):a}function Gs(r,e,t,i,s,n){let o="",a=i.field||i.id||"";if(typeof i.field=="string"&&i.field.indexOf(".")>0){const d=i.field.split(".");a=d.length>0?d[0]:i.field}const h=s!=null&&s.hasOwnProperty(a)?s[a]:null;if(typeof r=="function"){const d=r(e,t,h,i,s,n),c=ei(d)?d:d.html||d.text;o=_t(c)}else o=s!=null&&s.hasOwnProperty(a)?h:"";return o==null&&(o=""),typeof o=="object"&&!(o instanceof Date)&&Object.entries(o).length===0&&(o=""),o}class Yc extends Zl{constructor(e,t,i,s){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.treeDataService=s,this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!1,optionShownOverColumnIds:[],commandShownOverColumnIds:[],subMenuOpenByEvent:"mouseover"},this.pluginName="ContextMenu",this._camelPluginName="contextMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-context-menu",this.init(i.gridOptions.contextMenu)}init(e){this._addonOptions={...this._defaults,...e};const t=this._addonOptions&&Array.isArray(this._addonOptions.commandItems)?this._addonOptions.commandItems:[];this._addonOptions.commandItems=[...t,...this.addMenuCustomCommands(t)],this._addonOptions={...this._addonOptions},this.sharedService.gridOptions.contextMenu=this._addonOptions,this.sortMenuItems(),this._eventHandler.subscribe(this.grid.onContextMenu,this.handleOnContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateContextMenu(){var i;const e=((i=this.sharedService)==null?void 0:i.gridOptions)??{},t=this.sharedService.gridOptions.contextMenu;if(t&&(e!=null&&e.enableTranslate)){const s=t.commandItems||[],n=t.optionItems||[];t.commandTitleKey&&(t.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.commandTitleKey,"TEXT_COMMANDS")||t.commandTitle),t.optionTitleKey&&(t.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.optionTitleKey,"TEXT_COMMANDS")||t.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(s,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(n,"optionItems")}}handleOnContextMenu(e,t){this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const s=this.grid.getDataItem(i.row),n=this.grid.getColumns()[i.cell],o=t||{};if(o.cell=i.cell,o.row=i.row,o.column=n,o.dataContext=s,o.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,o))return;this._menuElm=this.createParentMenu(e),this._menuElm&&e.preventDefault(),this._menuElm&&this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}addMenuCustomCommands(e){var l;const t=[],i=this.sharedService&&this.sharedService.gridOptions||{},s=i==null?void 0:i.contextMenu,n=(l=this.sharedService)==null?void 0:l.dataView,o=lt(i);if(s&&!s.hideCopyCellValueCommand){const a="copy";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCopyCellValueCommand||"mdi mdi-content-copy",titleKey:`${o}COPY`,disabled:!1,command:a,positionOrder:50,action:(h,d)=>{this.copyToClipboard(d)},itemUsabilityOverride:h=>{const d=h==null?void 0:h.column,c=h==null?void 0:h.dataContext;if(typeof d.queryFieldNameGetterFn=="function"){const u=Ni(d,c,"");if(u!==""&&u!==void 0)return!0}else if(d&&c.hasOwnProperty(d.field))return c[d.field]!==""&&c[d.field]!==null&&c[d.field]!==void 0;return!1}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportCsvCommand){const a="export-csv";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportCsvCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_CSV`,disabled:!1,command:a,positionOrder:51,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.comma,format:ve.csv});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&i.enableExcelExport&&s&&!s.hideExportExcelCommand){const a="export-excel";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${o}EXPORT_TO_EXCEL`,disabled:!1,command:a,positionOrder:52,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="ExcelExportService");if(d!=null&&d.exportToExcel)d.exportToExcel();else throw new Error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Context Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };")}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportTextDelimitedCommand){const a="export-text-delimited";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_TAB_DELIMITED`,disabled:!1,command:a,positionOrder:53,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.tab,format:ve.txt});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&(i.enableGrouping||i.enableDraggableGrouping||i.enableTreeData)){if(s&&!s.hideCopyCellValueCommand&&t.push({divider:!0,command:"",positionOrder:54}),i&&!i.enableTreeData&&s&&!s.hideClearAllGrouping){const a="clear-grouping";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconClearGroupingCommand||"mdi mdi-close",titleKey:`${o}CLEAR_ALL_GROUPING`,disabled:!1,command:a,positionOrder:55,action:()=>{n.setGrouping([]),this.pubSubService.publish("onContextMenuClearGrouping")},itemUsabilityOverride:()=>{const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideCollapseAllGroups){const a="collapse-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCollapseAllGroupsCommand||"mdi mdi-arrow-collapse",titleKey:`${o}COLLAPSE_ALL_GROUPS`,disabled:!1,command:a,positionOrder:56,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!0):n.collapseAllGroups(),this.pubSubService.publish("onContextMenuCollapseAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideExpandAllGroups){const a="expand-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExpandAllGroupsCommand||"mdi mdi-arrow-expand",titleKey:`${o}EXPAND_ALL_GROUPS`,disabled:!1,command:a,positionOrder:57,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!1):n.expandAllGroups(),this.pubSubService.publish("onContextMenuExpandAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}}return this.extensionUtility.translateMenuItemsFromTitleKey(t),t}copyToClipboard(e){var t,i;try{if(e&&e.grid&&e.command){const s=((t=this.sharedService)==null?void 0:t.gridOptions)??{},n=(e==null?void 0:e.cell)??0,o=(e==null?void 0:e.row)??0,l=e==null?void 0:e.column,a=e==null?void 0:e.dataContext,h=(i=this.sharedService)==null?void 0:i.slickGrid,d=s&&(s.excelExportOptions||s.textExportOptions);let c=Cr(o,n,l,a,h,d);typeof l.queryFieldNameGetterFn=="function"&&(c=Ni(l,a,""));let u=c;typeof c=="string"&&(u=c.replace(/^([·|⮞|⮟]\s*)|([·|⮞|⮟])\s*/gi,"").replace(/[\u00b7|\u034f]/gi,"").trim());const p=document.createElement("textarea");p&&document.body&&(p.style.position="absolute",p.style.opacity="0",p.value=u,document.body.appendChild(p),p.select(),document.execCommand("copy",!1,u)&&p.remove())}}catch{}}sortMenuItems(){var t,i;const e=(i=(t=this.sharedService)==null?void 0:t.gridOptions)==null?void 0:i.contextMenu;e&&(this.extensionUtility.sortItems(e.commandItems||[],"positionOrder"),this.extensionUtility.sortItems(e.optionItems||[],"positionOrder"))}}class qc{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._gridColumns=[],this._gridUid="",this._isInitialized=!1,this._reorderedColumns=[],this._subscriptions=[],this._defaults={dropPlaceHolderText:"Drop a column header here to group by the column",hideGroupSortIcons:!1,hideToggleAllButton:!1,toggleAllButtonText:"",toggleAllPlaceholderText:"Toggle all Groups"},this._bindingEventService=new Pe,this.onGroupChanged=new P("onGroupChanged"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}get dropboxElement(){return this._dropzoneElm}get droppableInstance(){return this._droppableInstance}get sortableLeftInstance(){return this._sortableLeftInstance}get sortableRightInstance(){return this._sortableRightInstance}get eventHandler(){return this._eventHandler}get grid(){return this._grid??this.sharedService.slickGrid??{}}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridContainer(){return this.grid.getContainerNode()}set isInitialized(e){this._isInitialized=e}init(e,t){var i,s;if(this._addonOptions={...this._defaults,...t},this._grid=e,e){if(this._gridUid=e.getUID(),this._gridColumns=e.getColumns(),this._dropzoneElm=e.getTopHeaderPanel()||e.getPreHeaderPanel(),!this._dropzoneElm)throw new Error("[Slickgrid-Universal] Draggable Grouping requires the pre-header to be created and shown for the plugin to work correctly (use `createPreHeaderPanel` and `showPreHeaderPanel`).");if(this._dropzoneElm.classList.add("slick-dropzone"),this.onGroupChanged.setPubSubService(this.pubSubService),!this._addonOptions.hideToggleAllButton){this._groupToggler=v("div",{className:"slick-group-toggle-all",title:this._addonOptions.toggleAllPlaceholderText??"",style:{display:"none"}});const n=v("span",{className:"slick-group-toggle-all-icon"},this._groupToggler);this.gridOptions.enableTranslate&&this._addonOptions.toggleAllButtonTextKey&&(this._addonOptions.toggleAllButtonText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllButtonTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this.gridOptions.enableTranslate&&this._addonOptions.toggleAllPlaceholderTextKey&&(this._addonOptions.toggleAllPlaceholderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllPlaceholderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._groupToggler.title=this._addonOptions.toggleAllPlaceholderText??"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(v("span",{className:"slick-group-toggle-all-text",textContent:this._addonOptions.toggleAllButtonText||""})),this._dropzoneElm.appendChild(this._groupToggler),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuCollapseAllGroups",()=>this.toggleGroupToggler(n,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(n,!1,!1)))}this._dropzonePlaceholderElm=v("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&((i=this._addonOptions)!=null&&i.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=((s=this._addonOptions)==null?void 0:s.dropPlaceHolderText)??this._defaults.dropPlaceHolderText??"",this.setupColumnDropbox(),this._eventHandler.subscribe(e.onHeaderCellRendered,(n,o)=>{var a;const l=o.node;if(!Tn((a=o.column)==null?void 0:a.grouping)&&l&&(l.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const h=v("span",{className:"slick-column-groupable"},l);this._addonOptions.groupIconCssClass&&h.classList.add(...he(this._addonOptions.groupIconCssClass))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const n of this._gridColumns){const o=n.field;e.updateColumnHeader(o)}}return this}dispose(){var e,t;this.destroySortableInstances(),(e=this._droppableInstance)!=null&&e.el&&((t=this._droppableInstance)==null||t.destroy()),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),ee(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel,.${this.gridUid} .slick-topheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const e=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const t of Array.from(e)){const i=this._dropzoneElm.querySelector(".slick-groupby-remove");i==null||i.remove(),t==null||t.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var e,t,i,s;(e=this._sortableLeftInstance)!=null&&e.el&&((t=this._sortableLeftInstance)==null||t.destroy()),(i=this._sortableRightInstance)!=null&&i.el&&((s=this._sortableRightInstance)==null||s.destroy())}setAddonOptions(e){this._addonOptions={...this._addonOptions,...e}}setColumns(e){this._gridColumns=e}setDroppedGroups(e){this._dropzonePlaceholderElm.style.display="none";const t=Array.isArray(e)?e:[e];for(const i of t){const s=this.grid.getHeaderColumn(i);this.handleGroupByDrop(this._dropzoneElm,s)}}setupColumnReorder(e,t,i,s,n,o,l,a,h){this.destroySortableInstances();const d=e.getTopHeaderPanel()||e.getPreHeaderPanel(),c=d.querySelector(".slick-draggable-dropzone-placeholder"),u=d.querySelector(".slick-group-toggle-all"),p={animation:50,ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:m=>{m.item.classList.add("slick-header-column-active"),c&&(c.style.display="inline-block"),d.querySelectorAll(".slick-dropped-grouping").forEach(g=>g.style.display="none"),u&&(u.style.display="none")},onEnd:m=>{var b,S,E;m.item.classList.remove("slick-header-column-active"),d==null||d.classList.remove("slick-dropzone-hover"),(b=c==null?void 0:c.parentElement)==null||b.classList.remove("slick-dropzone-placeholder-hover");const f=d.querySelectorAll(".slick-dropped-grouping");if(f.forEach(y=>y.style.display="flex"),f.length&&(c&&(c.style.display="none"),u&&(u.style.display="inline-flex")),!e.getEditorLock().commitCurrentEdit())return;const g=((S=this.sortableLeftInstance)==null?void 0:S.toArray())??[];if(t.length>1){const y=((E=this._sortableRightInstance)==null?void 0:E.toArray())??[];for(const x of y)g.push(x)}const _=[],C=e.getColumns();for(const y of g)_.push(C[l.call(e,y)]);s.call(e,_),h.call(e,e.onColumnsReordered,{grid:e,impactedColumns:_}),m.stopPropagation(),n.call(e)}};return this._sortableLeftInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-left`),p),this._sortableRightInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-right`),p),this._addonOptions.initialGroupBy&&!this._isInitialized&&this.setDroppedGroups(this._addonOptions.initialGroupBy),this._isInitialized=!0,{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(e){this.columnsGroupBy.push(e),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(e,t,i,s){this._bindingEventService.bind(t,"click",()=>{const n=this._bindingEventService.boundedEvents.filter(o=>o.element===t);for(const o of n)this._bindingEventService.unbind(o.element,"click",o.listener);this.removeGroupBy(e,i,s)})}addGroupSortClickHandler(e,t){const{grouping:i,type:s}=e;this._bindingEventService.bind(t,"click",()=>{if(this.toggleGroupAll(e,!1),i){const n=i.sortAsc?ae.desc:ae.asc;i.comparer=(o,l)=>_i(s||"text",o.value,l.value,n,e,this.gridOptions),this.getGroupBySortIcon(t,!i.sortAsc),this.updateGroupBy("sort-group"),i.sortAsc=!i.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(e,t=!0){t?this._addonOptions.sortAscIconCssClass?(e.classList.remove(...he(this._addonOptions.sortDescIconCssClass)),e.classList.add(...he(this._addonOptions.sortAscIconCssClass))):(e.classList.add("slick-groupby-sort-asc-icon"),e.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(e.classList.remove(...he(this._addonOptions.sortAscIconCssClass)),e.classList.add(...he(this._addonOptions.sortDescIconCssClass))):this._addonOptions.sortDescIconCssClass||(e.classList.add("slick-groupby-sort-desc-icon"),e.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(e,t){var n,o,l;const i=(n=t.getAttribute("data-id"))==null?void 0:n.replace(this._gridUid,"");let s=!0;for(const a of this.columnsGroupBy)a.id===i&&(s=!1);if(s){for(const a of this._gridColumns)if(a.id===i&&a.grouping&&!Tn(a.grouping)){const h=t.querySelector(".slick-column-name"),d=v("div",{id:`${this._gridUid}_${a.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${a.id}`}});v("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:h?h.textContent:t.textContent},d);const c=v("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&c.classList.add(...he(this._addonOptions.deleteIconCssClass)),this._addonOptions.deleteIconCssClass||c.classList.add("slick-groupby-remove-icon");let u;((o=this._addonOptions)==null?void 0:o.hideGroupSortIcons)!==!0&&a.sortable&&(((l=a.grouping)==null?void 0:l.sortAsc)===void 0&&(a.grouping.sortAsc=!0),u=v("div",{className:"slick-groupby-sort"},d),this.getGroupBySortIcon(u,a.grouping.sortAsc)),d.appendChild(c),d.appendChild(document.createElement("div")),e.appendChild(d),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(a),this.addColumnGroupBy(a),this.addGroupByRemoveClickHandler(a.id,c,t,d),u&&this.addGroupSortClickHandler(a,u)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-flex")}}toggleGroupAll({grouping:e},t){var s;const i=(s=this._groupToggler)==null?void 0:s.querySelector(".slick-group-toggle-all-icon");t===!0||e!=null&&e.collapsed?(i==null||i.classList.add("collapsed"),i==null||i.classList.remove("expanded")):(i==null||i.classList.add("expanded"),i==null||i.classList.remove("collapsed"))}removeFromArray(e,t){if(Array.isArray(e)){const i=e.findIndex(s=>s.id===t.id);i>=0&&e.splice(i,1)}return e}removeGroupBy(e,t,i){i.remove();const s=[];this._gridColumns.forEach(n=>s[n.id]=n),this.removeFromArray(this.columnsGroupBy,s[e]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const e=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");e&&this._dropzoneElm&&(this._bindingEventService.bind(e,"dragover",t=>t.preventDefault()),this._bindingEventService.bind(e,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(e,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const e=this._dropzoneElm;this._droppableInstance=B.create(e,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:t=>{var s,n;const i=t.item;(s=i.getAttribute("id"))!=null&&s.replace(this._gridUid,"")&&this.handleGroupByDrop(e,B.utils.clone(t.item)),(n=i.parentNode)==null||n.removeChild(i)},onUpdate:()=>{var s;const t=((s=this._droppableInstance)==null?void 0:s.toArray())??[],i=[];for(const n of t)for(const o of this.columnsGroupBy)if(o.id===n){i.push(o);break}this.columnsGroupBy=i,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",t=>{const i=t.target.classList.contains("slick-group-toggle-all-icon")?t.target:t.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(i,i==null?void 0:i.classList.contains("expanded"))})}toggleGroupToggler(e,t=!0,i=!0){e&&(t===!0?(e.classList.add("collapsed"),e.classList.remove("expanded"),i&&this.dataView.collapseAllGroups()):(e.classList.remove("collapsed"),e.classList.add("expanded"),i&&this.dataView.expandAllGroups()))}updateGroupBy(e){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:e,groupColumns:[]});return}const t=[];this.columnsGroupBy.forEach(i=>t.push(i.grouping)),this.dataView.setGrouping(t),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:e,groupColumns:t})}triggerOnGroupChangedEvent(e){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new le,e),this.onGroupChanged.notify(e)}}class Kc extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Pe,this._eventHandler=new pe,this.init(i.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns())}dispose(){super.dispose(),this._buttonElms.forEach(e=>e.remove())}handleHeaderCellRendered(e,t){var s;const i=t.column;if((s=i.header)!=null&&s.buttons&&Array.isArray(i.header.buttons)){let n=i.header.buttons.length;for(;n--;){const o=i.header.buttons[n],l=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,o,t,this.handleButtonClick.bind(this));l&&o.handler&&!o.disabled&&this._bindEventService.bind(l,"click",a=>o.handler.call(this,a)),l&&(this._buttonElms.push(l),t.node.appendChild(l))}}}handleBeforeHeaderCellDestroy(e,t){var s,n,o;if((s=t.column.header)!=null&&s.buttons&&((n=this._addonOptions)!=null&&n.buttonCssClass)){const l=(((o=this._addonOptions)==null?void 0:o.buttonCssClass)||"").replace(/(\s+)/g,".");l&&t.node.querySelectorAll(`.${l}`).forEach(a=>a.remove())}}handleButtonClick(e,t,i,s,n){var o;if(i.command&&!i.disabled){const l=i.command||"",a={grid:this.grid,column:n,button:i};l&&(a.command=l),typeof i.action=="function"&&!i.disabled&&i.action.call(this,e,a),l!==null&&!i.disabled&&((o=this._addonOptions)!=null&&o.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",a),this._addonOptions.onCommand(e,a),n!=null&&n.id&&this.grid.updateColumnHeader(n.id))}e.preventDefault(),e.stopPropagation()}}class Xc extends zs{constructor(e,t,i,s,n){super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._subMenuParentId="",this._defaults={autoAlign:!0,autoAlignOffset:0,buttonCssClass:null,buttonImage:null,minWidth:100,hideColumnHideCommand:!1,hideSortCommands:!1,title:"",subMenuOpenByEvent:"mouseover"},this.pluginName="HeaderMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-header-menu",this._camelPluginName="headerMenu",this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(this.sharedService.columnDefinitions),this.init(s.gridOptions.headerMenu)}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(t,i)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(i.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var e;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(e=this._menuElm)==null||e.remove(),this._activeHeaderColumnElm=void 0}hideColumn(e){var t,i;if((i=(t=this.sharedService)==null?void 0:t.slickGrid)!=null&&i.getColumnIndex){const s=this.sharedService.slickGrid.getColumnIndex(e.id),n=this.sharedService.slickGrid.getColumns(),o=this.sharedService.gridOptions.frozenColumn??-1;o>=0&&o>=s&&(this.sharedService.gridOptions.frozenColumn=o-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const l=En(n,s);this.sharedService.visibleColumns=l,this.sharedService.slickGrid.setColumns(l),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:l,hiddenColumn:e})}}hideMenu(){var e;this.disposeSubMenus(),(e=this._menuElm)==null||e.remove(),this._menuElm=void 0}repositionSubMenu(e,t,i,s){const n=this.createCommandMenu(t.commandItems||[],s,i+1,t);document.body.appendChild(n),this.repositionMenu(e,n)}repositionMenu(e,t){var p,m;const i=e.target,s=t.classList.contains("slick-submenu"),n=s?e.target.closest(".slick-menu-item"):i,o=this.sharedService.gridContainerElement.querySelector(".slickgrid-container")??this.sharedService.gridContainerElement,l=co(o,i),a=this.grid.getGridPosition(),h=t.offsetWidth,d=ge(n);let c=s?d.left:(l==null?void 0:l.left)??0,u=s?d.top:((l==null?void 0:l.top)??0)+(((p=this.addonOptions)==null?void 0:p.menuOffsetTop)??0)+i.clientHeight;if(s){const f=(t==null?void 0:t.clientHeight)||0,{bottom:g,top:_}=Vi(n);(g<f&&_>g?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),u-=f-n.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}if(s&&n){const f=c+Number(h)+n.clientWidth,g=document.documentElement.clientWidth;(f>=a.width||f>=g?"left":"right")==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),c-=h):(t.classList.remove("dropleft"),t.classList.add("dropright"),c+=n.offsetWidth)}else c=(l==null?void 0:l.left)??0,this.addonOptions.autoAlign&&(a!=null&&a.width)&&c+(t.clientWidth??0)>=a.width&&(c=c+i.clientWidth-t.clientWidth+(((m=this.addonOptions)==null?void 0:m.autoAlignOffset)||0));t.style.top=`${u}px`,t.style.left=`${c}px`}translateHeaderMenu(){var e;(e=this.sharedService.gridOptions)!=null&&e.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(e,t){var n;const s=(n=t.column.header)==null?void 0:n.menu;if(s&&t.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,t))return;const o=v("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},t.node);this.addonOptions.buttonCssClass&&o.classList.add(...he(this.addonOptions.buttonCssClass)),this.addonOptions.tooltip&&(o.title=this.addonOptions.tooltip),this._bindEventService.bind(o,"click",l=>{this.disposeAllMenus(),this.createParentMenu(l,t.column,s)})}}handleBeforeHeaderCellDestroy(e,t){var s;(s=t.column.header)!=null&&s.menu&&t.node.querySelectorAll(".slick-header-menu-button").forEach(n=>n.remove())}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._menuElm!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu()}}handleMenuItemCommandClick(e,t,i,s=0,n){var o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,column:n,item:i};this.executeHeaderMenuInternalCommands(e,a),this.pubSubService.publish("onHeaderMenuCommand",a),typeof((o=this.addonOptions)==null?void 0:o.onCommand)=="function"&&this.addonOptions.onCommand(e,a),typeof i.action=="function"&&i.action.call(this,e,a),e.defaultPrevented||this.hideMenu(),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s,n)}handleMenuItemMouseOver(e,t,i,s=0,n){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s,n):s===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(e){const t=this.sharedService.gridOptions,i=t.headerMenu||{},s=lt(t);return Array.isArray(e)&&t.enableHeaderMenu&&e.forEach(n=>{var o,l,a;if(n&&!n.excludeFromHeaderMenu){n.header?n.header.menu||(n.header.menu={commandItems:[]}):n.header={menu:{commandItems:[]}};const h=((l=(o=n==null?void 0:n.header)==null?void 0:o.menu)==null?void 0:l.commandItems)??[];let d=!1;if(i&&!i.hideFreezeColumnsCommand&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="freeze-columns")||h.push({iconCssClass:i.iconFreezeColumns||"mdi mdi-pin-outline",titleKey:`${s}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:45})),i&&!i.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="column-resize-by-content")||h.push({iconCssClass:i.iconColumnResizeByContentCommand||"mdi mdi-arrow-expand-horizontal",titleKey:`${s}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:47})),d&&!h.some(c=>c!=="divider"&&c.positionOrder===48)&&h.push({divider:!0,command:"",positionOrder:48}),t.enableSorting&&n.sortable&&i&&!i.hideSortCommands&&(h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-asc")||h.push({iconCssClass:i.iconSortAscCommand||"mdi mdi-sort-ascending",titleKey:`${s}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-desc")||h.push({iconCssClass:i.iconSortDescCommand||"mdi mdi-sort-descending",titleKey:`${s}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),h.some(c=>c!=="divider"&&c.positionOrder===52)||h.push({divider:!0,command:"",positionOrder:52}),!i.hideClearSortCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-sort")&&h.push({iconCssClass:i.iconClearSortCommand||"mdi mdi-sort-variant-off",titleKey:`${s}REMOVE_SORT`,command:"clear-sort",positionOrder:58})),(a=n.filter)!=null&&a.filterShortcuts&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="filter-shortcuts-root-menu")){const c=[];n.filter.filterShortcuts.forEach(p=>{const m=p.title?fi(p.title):(p.titleKey||"").toLowerCase().replaceAll("_","-");c.push({...p,command:m,action:(f,g)=>{const _=this.filterService.getFiltersMetadata().find(C=>C.columnDef.id===g.column.id);_==null||_.setValues(p.searchTerms,p.operator,!0)}})});const u=i.filterShortcutsPositionOrder??55;h.push({iconCssClass:i.iconFilterShortcutSubMenu||"mdi mdi-filter-outline",titleKey:`${s}FILTER_SHORTCUTS`,command:"filter-shortcuts-root-menu",positionOrder:u,commandItems:c}),d&&!h.some(p=>p!=="divider"&&p.positionOrder===u+1)&&h.push({divider:!0,command:"",positionOrder:u+1})}t.enableFiltering&&n.filterable&&i&&!i.hideFilterCommand&&!i.hideClearFilterCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-filter")&&h.push({iconCssClass:i.iconClearFilterCommand||"mdi mdi-filter-remove-outline",titleKey:`${s}REMOVE_FILTER`,command:"clear-filter",positionOrder:57}),i&&!i.hideColumnHideCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="hide-column")&&h.push({iconCssClass:i.iconColumnHideCommand||"mdi mdi-close",titleKey:`${s}HIDE_COLUMN`,command:"hide-column",positionOrder:59}),this.extensionUtility.translateMenuItemsFromTitleKey(h),this.extensionUtility.sortItems(h,"positionOrder")}}),i}clearColumnFilter(e,t){t!=null&&t.column&&this.filterService.clearFilterByColumnId(e,t.column.id)}clearColumnSort(e,t){t!=null&&t.column&&this.sharedService&&this.sortService.clearSortByColumnId(e,t.column.id)}executeHeaderMenuInternalCommands(e,t){var i;if(t!=null&&t.command)switch(t.command){case"hide-column":this.hideColumn(t.column),(i=this.sharedService.gridOptions)!=null&&i.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(e,t);break;case"clear-sort":this.clearColumnSort(e,t);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:t.column.id});break;case"freeze-columns":const s=[...this.sharedService.visibleColumns],o={frozenColumn:s.findIndex(d=>d.id===t.column.id),enableMouseWheelScrollHandler:!0},l=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(o,!1,!0),this.sharedService.gridOptions.frozenColumn=o.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=o.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=t.column.id,this.sharedService.hasColumnsReordered||Array.isArray(s)&&Array.isArray(this.sharedService.allColumns)&&s.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(s):this.sharedService.slickGrid.setColumns(l),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const h=t.command==="sort-asc";this.sortColumn(e,t,h);break}}createParentMenu(e,t,i){var n,o,l,a,h;const s={grid:this.grid,column:t,menu:i};typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",s),typeof((n=this.addonOptions)==null?void 0:n.onBeforeMenuShow)=="function"&&((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow(e,s))===!1)||(this._menuElm=this.createCommandMenu(i.commandItems,t),(l=this.grid.getContainerNode())==null||l.appendChild(this._menuElm),this.repositionMenu(e,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",s),!(typeof((a=this.addonOptions)==null?void 0:a.onAfterMenuShow)=="function"&&((h=this.addonOptions)==null?void 0:h.onAfterMenuShow(e,s))===!1)&&(e.preventDefault(),e.stopPropagation()))}createCommandMenu(e,t,i=0,s){var u;const n=s==null?void 0:s.command;let o=i===1&&n?n.replace(/\s/g,""):"";o&&(this._subMenuParentId=o),i>1&&(o=this._subMenuParentId);const l=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,a=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(a){if(a.dataset.subMenuParent===o)return a;this.disposeSubMenus()}const h=v("div",{ariaExpanded:"true",ariaLabel:i>1?"SubMenu":"Header Menu",role:"menu",className:l,style:{minWidth:`${this.addonOptions.minWidth}px`}});i>0&&(h.classList.add("slick-submenu"),o&&(h.dataset.subMenuParent=o),(u=this.gridOptions)!=null&&u.darkMode&&h.classList.add("slick-dark-mode"));const d=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},h),c={grid:this.grid,column:t,level:i,menu:{commandItems:e}};return s&&i>0&&this.addSubMenuTitleWhenExists(s,d),this.populateCommandOrOptionItems("command",this.addonOptions,d,e,c,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),i++,h}resetHeaderMenuTranslations(e){e.forEach(t=>{var i,s;if((s=(i=t==null?void 0:t.header)==null?void 0:i.menu)!=null&&s.commandItems&&!t.excludeFromHeaderMenu){const n=t.header.menu.commandItems||[];this.extensionUtility.translateMenuItemsFromTitleKey(n)}})}sortColumn(e,t,i=!0){if(t!=null&&t.column){const s=t.column,n=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(s.id+""):[];let o=oe.local;n.push({columnId:s.id,sortCol:s,sortAsc:i}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:n,grid:this.sharedService.slickGrid}),o=oe.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,n),o=oe.local):t.grid.onSort.notify(n);const l=n.map(a=>{var h;return{columnId:((h=a==null?void 0:a.sortCol)==null?void 0:h.id)??"",sortAsc:(a==null?void 0:a.sortAsc)??!0}});if(this.sharedService.slickGrid.setSortColumns(l),o){const a=[];l.forEach(h=>{a.push({columnId:`${h.columnId}`,direction:h.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(o,a)}}}}const Us="slick-rbe-editmode",Qc="slick-rbe-unsaved-cell",ca="slick-rbe-unsaved-highlight",vr="action-btns--delete",br="action-btns--edit",Sr="action-btns--update",yr="action-btns--cancel";class ua{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.pluginName="RowBasedEdit",this._defaults={actionsColumnLabel:"Actions",allowMultipleRows:!1,columnId:"_slick_rowbasededit_action",columnIndexPosition:-1,reorderable:!1},this._editedRows=new Map,this._currentLang="en",this._translations={},this.onBeforeEditCellHandler=(s,n)=>{var o;return this._editedRows.has((o=n.item)==null?void 0:o[this.gridOptions.datasetIdPropertyName??"id"])},this._eventHandler=new pe,this._addonOptions=i}get addonOptions(){return this._addonOptions}get gridOptions(){return this._grid.getOptions()||{}}get eventHandler(){return this._eventHandler}init(e,t){var n,o;this._grid=e,this._gridService=t,this._addonOptions={...this._defaults,...this.addonOptions};const i=this._grid.getData();if(this._eventHandler.subscribe(this._grid.onBeforeEditCell,this.onBeforeEditCellHandler),this.checkOptionsRequirements(this.gridOptions),this.gridOptions.autoEdit||(this._grid.setOptions({autoEdit:!0}),console.warn('[Slickgrid-Universal] The Row Based Edit Plugin works best with the gridOption "autoEdit" enabled, the option has now been set automatically for you.')),this._existingEditCommandHandler=this.gridOptions.editCommandHandler,this._grid.setOptions({editCommandHandler:this.rowBasedEditCommandHandler.bind(this)}),this.gridOptions.enableExcelCopyBuffer===!0){const l=(n=this.gridOptions.excelCopyBufferOptions)==null?void 0:n.onBeforePasteCell;this._grid.setOptions({excelCopyBufferOptions:{...this.gridOptions.excelCopyBufferOptions,onBeforePasteCell:(a,h)=>{let d=!0;if(l&&(d=l(a,h),d===!1))return!1;const c=i.getItem(h.row),u=this.gridOptions.datasetIdPropertyName??"id";return!!(this._editedRows.has(c[u])&&d===!0)}}})}const s=i.getItemMetadata;i.getItemMetadata=this.updateItemMetadata((o=s==null?void 0:s.bind)==null?void 0:o.call(s,i)),this._eventHandler.subscribe(this._grid.onSetOptions,this.optionsUpdatedHandler.bind(this)),this._eventHandler.subscribe(i.onRowsOrCountChanged,this.handleAllRowRerender.bind(this)),this.translate()}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),(t=this.pubSubService)==null||t.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowBasedEditOptions},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.rowBasedEditOptions)==null?void 0:i.columnIndexPosition)??-1;n===-1?e.push(s):n>0&&n<e.length?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t,i,s,n;return{id:String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId),name:(i=this._addonOptions)==null?void 0:i.actionsColumnLabel,field:"action",minWidth:70,width:75,maxWidth:75,excludeFromExport:!0,reorderable:(s=this._addonOptions)==null?void 0:s.reorderable,formatter:this.actionColumnFormatter.bind(this),onCellClick:this.onCellClickHandler.bind(this),...((n=this._addonOptions)==null?void 0:n.actionColumnConfig)??{}}}rowBasedEditCommandHandler(e,t,i){var c;this._existingEditCommandHandler&&this._existingEditCommandHandler(e,t,i);const s=Array.isArray(i.prevSerializedValue)?i.prevSerializedValue:[i.prevSerializedValue],n=Array.isArray(i.serializedValue)?i.serializedValue:[i.serializedValue],o=(c=this._gridService)==null?void 0:c.getAllColumnDefinitions().filter(u=>u.editor!==void 0),l=[],a=this.gridOptions.datasetIdPropertyName??"id";s.forEach((u,p)=>{const m=s[p],f=n[p];if(m!==f||f===""){const g=Array.isArray(i.prevSerializedValue)?o==null?void 0:o[p]:t;if(!g)return;this._grid.invalidate(),i.execute(),this.renderUnsavedCellStyling(e[a],g),l.push(g)}});const h=this._editedRows.get(e[a]),d=[...(h==null?void 0:h.editCommands)||[]];l.length>0&&d.push(i),this._editedRows.set(e[a],{columns:[...(h==null?void 0:h.columns)||[],...l],editCommands:d,cssStyleKeys:(h==null?void 0:h.cssStyleKeys)||[]})}translate(e=!1){var t;return this._currentLang=((t=this.extensionUtility.translaterService)==null?void 0:t.getCurrentLanguage())??"en",(!this._translations[this._currentLang]||e)&&(this._translations[this._currentLang]={btnUpdateTitle:this.getTitleOrDefault("updateButtonTitle","Update the row"),btnEditTitle:this.getTitleOrDefault("editButtonTitle","Edit the Row"),btnDeleteTitle:this.getTitleOrDefault("deleteButtonTitle","Delete the Row"),btnCancelTitle:this.getTitleOrDefault("cancelButtonTitle","Cancel changes of the Row")}),this._translations[this._currentLang]}checkOptionsRequirements(e){if(!(e!=null&&e.enableCellNavigation))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption cell navigation (enableCellNavigation = true)");if(!(e!=null&&e.editable))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption editable (editable = true)")}undoRowEdit(e){const t=this.gridOptions.datasetIdPropertyName??"id",i=this._editedRows.get(e[t]),s=this._grid.getData().getRowByItem(e);if(s!==void 0&&(i!=null&&i.editCommands)&&i.editCommands.length||Ui.cancelCurrentEdit()){for(;i.editCommands.length>0;){const n=i.editCommands.pop();n&&n.undo()}i.columns.forEach(n=>{this.removeUnsavedStylingFromCell(n,s)}),i.columns=[],this._grid.invalidate()}}renderUnsavedCellStyling(e,t){var i,s;if(t){const n=(i=this._grid.getData())==null?void 0:i.getRowById(e);if(n!==void 0&&n>=0){const o={[n]:{[t.id]:Qc}},l=`${ca}_${[t.id]}${n}`;this._grid.setCellCssStyles(l,o),(s=this._editedRows.get(e))==null||s.cssStyleKeys.push(l)}}}handleAllRowRerender(e,t){this._editedRows.forEach((i,s)=>{i.cssStyleKeys.forEach(n=>{this._grid.removeCellCssStyles(n)}),i.cssStyleKeys=[],i.columns.forEach(n=>{this.renderUnsavedCellStyling(s,n)})})}removeUnsavedStylingFromCell(e,t){const i=`${ca}_${[e.id]}${t}`;this._grid.removeCellCssStyles(i)}removeUnsavedStylingFromRow(e){this._grid.getColumns().forEach(t=>{this.removeUnsavedStylingFromCell(t,e)})}optionsUpdatedHandler(e,t){this._addonOptions={...this._defaults,...t.optionsAfter.rowBasedEditOptions}}async onCellClickHandler(e,t){var l,a,h,d,c,u,p,m,f,g,_,C,b,S,E;const i=t.dataContext,s=e.target,n=this.gridOptions.datasetIdPropertyName??"id",o=this._editedRows.get(i[n]);if((s.classList.contains(vr)||(l=s.parentElement)!=null&&l.classList.contains(vr))&&this._gridService){if((h=(a=this._addonOptions)==null?void 0:a.actionButtons)!=null&&h.deleteButtonPrompt&&!window.confirm(this._addonOptions.actionButtons.deleteButtonPrompt))return;this.toggleEditmode(i,!1),this._gridService.deleteItem(i)}else if(s.classList.contains(br)||(d=s.parentElement)!=null&&d.classList.contains(br)){if(!((c=this._addonOptions)!=null&&c.allowMultipleRows)&&this._editedRows.size>0)return;typeof((u=this._addonOptions)==null?void 0:u.onBeforeEditMode)=="function"&&this._addonOptions.onBeforeEditMode(t),this.toggleEditmode(i,!0)}else if(s.classList.contains(Sr)||(p=s.parentElement)!=null&&p.classList.contains(Sr)){if((f=(m=this._addonOptions)==null?void 0:m.actionButtons)!=null&&f.updateButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.updateButtonPrompt)||(this._grid.getCellEditor()&&((g=this._grid.getActiveCell())==null?void 0:g.row)===t.row&&((_=this._grid.getEditController())==null||_.commitCurrentEdit()),(C=this._addonOptions)!=null&&C.onBeforeRowUpdated&&await this._addonOptions.onBeforeRowUpdated(t)!==!0))return;this.removeUnsavedStylingFromRow(t.row),this.toggleEditmode(i,!1)}else if(s.classList.contains(yr)||(b=s.parentElement)!=null&&b.classList.contains(yr)){if((E=(S=this._addonOptions)==null?void 0:S.actionButtons)!=null&&E.cancelButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.cancelButtonPrompt))return;this.undoRowEdit(i),this.toggleEditmode(i,!1)}}actionColumnFormatter(e,t,i,s,n){var d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I;const o=this.gridOptions,l=this._editedRows.has(n==null?void 0:n[o.datasetIdPropertyName??"id"]),a=this._translations[this._currentLang]??this.translate(),h=document.createDocumentFragment();return h.appendChild(v("span",{className:`${((c=(d=o.rowBasedEditOptions)==null?void 0:d.actionButtons)==null?void 0:c.editButtonClassName)||"button-style padding-1px mr-2"} action-btns `+br,title:a.btnEditTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((p=(u=o.rowBasedEditOptions)==null?void 0:u.actionButtons)==null?void 0:p.iconEditButtonClassName)||"mdi mdi-table-edit text-color-primary"})),h.appendChild(v("span",{className:`${((f=(m=o.rowBasedEditOptions)==null?void 0:m.actionButtons)==null?void 0:f.deleteButtonClassName)||"button-style padding-1px"} action-btns `+vr,title:a.btnDeleteTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((_=(g=o.rowBasedEditOptions)==null?void 0:g.actionButtons)==null?void 0:_.iconDeleteButtonClassName)||"mdi mdi-close text-color-danger"})),h.appendChild(v("span",{className:`${((b=(C=o.rowBasedEditOptions)==null?void 0:C.actionButtons)==null?void 0:b.updateButtonClassName)||"button-style padding-1px mr-2"} action-btns `+Sr,title:a.btnUpdateTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((E=(S=o.rowBasedEditOptions)==null?void 0:S.actionButtons)==null?void 0:E.iconUpdateButtonClassName)||"mdi mdi-check-bold text-color-success"})),h.appendChild(v("span",{className:`${((x=(y=o.rowBasedEditOptions)==null?void 0:y.actionButtons)==null?void 0:x.cancelButtonClassName)||"button-style padding-1px"} action-btns `+yr,title:a.btnCancelTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((I=(O=o.rowBasedEditOptions)==null?void 0:O.actionButtons)==null?void 0:I.iconCancelButtonClassName)||"mdi mdi-cancel text-color-danger"})),h}toggleEditmode(e,t){const i=this.gridOptions.datasetIdPropertyName??"id";t?this._editedRows.set(e[i],{columns:[],editCommands:[],cssStyleKeys:[]}):this._editedRows.delete(e[i]),this._grid.invalidate()}updateItemMetadata(e){return t=>{const i=this._grid.getData().getItem(t);let s={cssClasses:""};if(typeof e=="function"){const n=e(t);n&&(s=n)}if(s&&i){const n=this.gridOptions.datasetIdPropertyName??"id";this._editedRows.has(i[n])&&!s.cssClasses.includes(Us)?s.cssClasses=(s.cssClasses||"")+" "+Us:!this._editedRows.has(i[n])&&s.cssClasses.includes(Us)&&(s.cssClasses=s.cssClasses.replace(Us,""))}return s}}getTitleOrDefault(e,t){var s,n,o;const i=(s=this.gridOptions.rowBasedEditOptions)==null?void 0:s.actionButtons;return(i==null?void 0:i[e+"Key"])&&((o=(n=this.extensionUtility.translaterService)==null?void 0:n.translate)==null?void 0:o.call(n,(i==null?void 0:i[e+"Key"])||""))||(i==null?void 0:i[e])||t}}class pa{constructor(e){this.pubSubService=e,this.pluginName="RowMoveManager",this._dragging=!1,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,reorderable:!1,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new P("onBeforeMoveRows"),this.onMoveRows=new P("onMoveRows"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){var i;this._addonOptions={...this._defaults,...t},this._grid=e,this._canvas=this._grid.getCanvasNode(),T.addSlickEventPubSubWhenDefined(this.pubSubService,this),typeof((i=this._addonOptions)==null?void 0:i.usabilityOverride)=="function"&&this.usabilityOverride(this._addonOptions.usabilityOverride),this._eventHandler.subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this))}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowMoveManager},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=Array.isArray(e)&&e.find(a=>(a==null?void 0:a.behavior)==="selectAndMove"),o=n||s,l=((i=t==null?void 0:t.rowMoveManager)==null?void 0:i.columnIndexPosition)??0;l>0?e.splice(l,0,o):e.unshift(o),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:e,reorderable:this._addonOptions.reorderable,resizable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(e){this._usabilityOverride=e}setOptions(e){this._addonOptions={...this._addonOptions,...e}}handleDragInit(e){e.stopImmediatePropagation()}handleDragEnd(e,t){var i,s,n;if(this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),(i=t.guide)==null||i.remove(),(s=t.selectionProxy)==null||s.remove(),(n=t.clonedSlickRow)==null||n.remove(),t.canMove)){const o={grid:this._grid,rows:t.selectedRows,insertBefore:t.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(e instanceof le?e.getNativeEvent():e,o),this.onMoveRows.notify(o)}}handleDrag(e,t){var i,s,n;if(this._dragging){e.stopImmediatePropagation();const o=e.getNativeEvent(),a=(((i=o==null?void 0:o.touches)==null?void 0:i[0])??o).pageY-ge(this._canvas).top;t.selectionProxy.style.top=`${a-5}px`,t.selectionProxy.style.display="block",t.clonedSlickRow&&(t.clonedSlickRow.style.top=`${a-6}px`,t.clonedSlickRow.style.display="block");const h=Math.max(0,Math.min(Math.round(a/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(h!==t.insertBefore){const d={grid:this._grid,rows:t.selectedRows,insertBefore:h};if(((n=(s=this._addonOptions)==null?void 0:s.onBeforeMoveRows)==null?void 0:n.call(s,o,d))===!1||this.onBeforeMoveRows.notify(d).getReturnValue()===!1?t.canMove=!1:t.canMove=!0,this._usabilityOverride&&t.canMove){const c=this._grid.getDataItem(h);t.canMove=this.checkUsabilityOverride(h,c,this._grid)}t.canMove?t.guide.style.top=`${h*(this.gridOptions.rowHeight||0)}px`:t.guide.style.top="-1000px",t.insertBefore=h}}}handleDragStart(e,t){var o,l,a,h,d;const i=this._grid.getCellFromEvent(e)||{cell:-1,row:-1},s=i.row,n=this._grid.getDataItem(s);if(this.checkUsabilityOverride(s,n,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[i.cell].behavior||""))return!1;if(this._dragging=!0,e.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const p=(o=this._grid.getCellNode(i.row,i.cell))==null?void 0:o.closest(".slick-row");p&&(t.clonedSlickRow=p.cloneNode(!0),t.clonedSlickRow.classList.add("slick-reorder-shadow-row"),t.clonedSlickRow.style.display="none",t.clonedSlickRow.style.marginLeft=Pt((l=this._addonOptions)==null?void 0:l.rowMoveShadowMarginLeft,"0px"),t.clonedSlickRow.style.marginTop=Pt((a=this._addonOptions)==null?void 0:a.rowMoveShadowMarginTop,"0px"),t.clonedSlickRow.style.opacity=`${((h=this._addonOptions)==null?void 0:h.rowMoveShadowOpacity)??.95}`,t.clonedSlickRow.style.transform=`scale(${((d=this.addonOptions)==null?void 0:d.rowMoveShadowScale)??.75})`,this._canvas.appendChild(t.clonedSlickRow))}let c=this._addonOptions.singleRowMove?[i.row]:this._grid.getSelectedRows();(c.length===0||!c.some(p=>p===i.row))&&(c=[i.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(c));const u=this.gridOptions.rowHeight;t.selectedRows=c,t.selectionProxy=v("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${u*c.length}px`}},this._canvas),t.guide=v("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),t.insertBefore=-1}}checkUsabilityOverride(e,t,i){return typeof this._usabilityOverride=="function"?this._usabilityOverride(e,t,i):!0}moveIconFormatter(e,t,i,s,n,o){return this.checkUsabilityOverride(e,n,o)?{addClasses:"cell-reorder dnd",html:v("div",{className:this._addonOptions.cssClass||""})}:""}}class Zc{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(e,t,i,s,n,o,l,a){this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this.translaterService=l,this.lazyGridService=a,this._extensionCreatedList={},this._extensionList={},this._requireInitExternalExtensions=[]}dispose(){if(this.sharedService.visibleColumns=[],typeof this._extensionList=="object"){const e=Object.keys(this._extensionList);e.forEach(t=>{var i;if(this._extensionList.hasOwnProperty(t)){const s=this._extensionList[t];typeof((i=s==null?void 0:s.instance)==null?void 0:i.dispose)=="function"&&s.instance.dispose()}}),e.forEach(t=>{delete this._extensionList[t]})}this._cellMenuPlugin=null,this._cellExcelCopyManagerPlugin=null,this._checkboxSelectColumn=null,this._contextMenuPlugin=null,this._columnPickerControl=null,this._draggleGroupingPlugin=null,this._gridMenuControl=null,this._groupItemMetadataProviderService=null,this._headerMenuPlugin=null,this._rowMoveManagerPlugin=null,this._rowSelectionModel=null,this._extensionCreatedList=null,this._extensionList={}}addExtensionToList(e,t){this._extensionList[e]=t}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(e){var t;if((t=this._extensionCreatedList)!=null&&t.hasOwnProperty(e))return this._extensionCreatedList[e]}getExtensionByName(e){var t;return(t=this._extensionList)==null?void 0:t[e]}getExtensionInstanceByName(e){var t;return(t=this.getExtensionByName(e))==null?void 0:t.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var e,t,i,s,n,o,l,a,h,d,c,u,p;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableRowBasedEdit){this._rowBasedEdit=this._rowBasedEdit||new ua(this.extensionUtility,this.pubSubService,this.gridOptions.rowBasedEditOptions);const m=(e=this.lazyGridService)==null?void 0:e.call(this);if(!m)throw new Error("[Slickgrid-Universal] the RowBasedEdit Plugin requires a GridService to be configured and available");this._rowBasedEdit.init(this.sharedService.slickGrid,m),(t=this.gridOptions.rowBasedEditOptions)!=null&&t.onExtensionRegistered&&this.gridOptions.rowBasedEditOptions.onExtensionRegistered(this._rowBasedEdit),this._extensionList[G.rowBasedEdit]={name:G.rowBasedEdit,instance:this._rowBasedEdit}}if(this.gridOptions.enableAutoTooltip){const m=new Bc((i=this.gridOptions)==null?void 0:i.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[G.autoTooltip]={name:G.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new zc,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),(s=this.gridOptions.excelCopyBufferOptions)!=null&&s.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[G.cellExternalCopyManager]={name:G.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new Gc(this.extensionUtility,this.pubSubService,this.sharedService),(n=this.gridOptions.cellMenu)!=null&&n.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[G.cellMenu]={name:G.cellMenu,instance:this._cellMenuPlugin}),!this._rowSelectionModel&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowDetailView||this.gridOptions.enableRowMoveManager)){if(!this._rowSelectionModel||!this.sharedService.slickGrid.getSelectionModel()){const m=this.gridOptions.rowSelectionOptions??{};this.gridOptions.enableRowMoveManager&&((o=this.gridOptions.rowMoveManager)==null?void 0:o.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new fr(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[G.rowSelection]={name:G.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new ta(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(G.checkboxSelector),f=m==null?void 0:m.instance;f&&((l=this.gridOptions.checkboxSelector)!=null&&l.onExtensionRegistered&&this.gridOptions.checkboxSelector.onExtensionRegistered(f),this._extensionList[G.checkboxSelector]={name:G.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new _r(this.extensionUtility,this.pubSubService,this.sharedService),(a=this.gridOptions.columnPicker)!=null&&a.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[G.columnPicker]={name:G.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new Yc(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),(h=this.gridOptions.contextMenu)!=null&&h.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),(d=this.gridOptions.draggableGrouping)!=null&&d.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new ia(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(c=this.gridOptions.gridMenu)!=null&&c.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[G.gridMenu]={name:G.gridMenu,instance:this._gridMenuControl}),this.gridOptions.enableHeaderButton){const m=new Kc(this.extensionUtility,this.pubSubService,this.sharedService);(u=this.gridOptions.headerButton)!=null&&u.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[G.headerButton]={name:G.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new Xc(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(p=this.gridOptions.headerMenu)!=null&&p.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[G.headerMenu]={name:G.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new pa(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(G.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[G.rowMoveManager]={name:G.rowMoveManager,instance:this._rowMoveManagerPlugin})}this._requireInitExternalExtensions.length&&this._requireInitExternalExtensions.forEach(m=>{m.instance.init(this.sharedService.slickGrid,void 0)})}}createExtensionsBeforeGridCreation(e,t){var s,n,o;const i=[];t.enableCheckboxSelector&&(this.getCreatedExtensionByName(G.checkboxSelector)||(this._checkboxSelectColumn=new ta(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),i.push({name:G.checkboxSelector,instance:this._checkboxSelectColumn,columnIndexPosition:((s=t==null?void 0:t.checkboxSelector)==null?void 0:s.columnIndexPosition)??i.length}))),t.enableRowMoveManager&&(this.getCreatedExtensionByName(G.rowMoveManager)||(this._rowMoveManagerPlugin=new pa(this.pubSubService),i.push({name:G.rowMoveManager,instance:this._rowMoveManagerPlugin,columnIndexPosition:((n=t==null?void 0:t.rowMoveManager)==null?void 0:n.columnIndexPosition)??i.length}))),t.enableRowBasedEdit&&(this.getCreatedExtensionByName(G.rowBasedEdit)||(this._rowBasedEdit=new ua(this.extensionUtility,this.pubSubService),i.push({name:G.rowBasedEdit,instance:this._rowBasedEdit,columnIndexPosition:((o=t==null?void 0:t.rowMoveManager)==null?void 0:o.columnIndexPosition)??i.length}))),t.preRegisterExternalExtensions&&t.preRegisterExternalExtensions(this.pubSubService).forEach(a=>{i.push(a),this._requireInitExternalExtensions.push(a),this._extensionList[a.name]||this.addExtensionToList(a.name,a)}),this.createExtensionByTheirColumnIndex(i,e,t),t.enableDraggableGrouping&&(this.getCreatedExtensionByName(G.draggableGrouping)||(this._draggleGroupingPlugin=new qc(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(t.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(e){var t,i;if(typeof((i=(t=this.sharedService)==null?void 0:t.slickGrid)==null?void 0:i.getColumns)=="function"){const s=this.sharedService.slickGrid.getColumnIndex(e.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),s),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(e){this.extensionUtility.refreshBackendDataset(e)}removeColumnByIndex(e,t){return Array.isArray(e)?e.filter((i,s)=>t!==s):e}translateAllExtensions(e){this.translateCellMenu(),this.translateContextMenu(),this.translateHeaderMenu(),this.translateRowEditPlugin(),this.translateColumnHeaders(e)}translateCellMenu(){var e;(e=this._cellMenuPlugin)==null||e.translateCellMenu()}translateColumnPicker(){var e;(e=this._columnPickerControl)==null||e.translateColumnPicker()}translateContextMenu(){var e;(e=this._contextMenuPlugin)==null||e.translateContextMenu()}translateGridMenu(){var e;(e=this._gridMenuControl)==null||e.translateGridMenu()}translateHeaderMenu(){var e;(e=this._headerMenuPlugin)==null||e.translateHeaderMenu()}translateRowEditPlugin(){var e;(e=this._rowBasedEdit)==null||e.translate()}translateColumnHeaders(e,t){var s;if(this.sharedService&&this.gridOptions&&this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');e&&((s=this.translaterService)!=null&&s.use)&&this.translaterService.getCurrentLanguage()!==e&&this.translaterService.use(e);let i=t;i||(i=this.sharedService.columnDefinitions),this.translateItems(i,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"columnGroupKey","columnGroup"),this.renderColumnHeaders(i,Array.isArray(t))}renderColumnHeaders(e,t=!1){var s;let i=e;i||(i=this.sharedService.columnDefinitions),Array.isArray(i)&&((s=this.sharedService.slickGrid)!=null&&s.setColumns)&&((i.length>this.sharedService.allColumns.length||t)&&(this.sharedService.allColumns=i),this.sharedService.slickGrid.setColumns(i)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns,this._columnPickerControl.translateColumnPicker()),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=this.sharedService.allColumns??[],this._gridMenuControl.recreateGridMenu(),this._gridMenuControl.translateGridMenu())}createExtensionByTheirColumnIndex(e,t,i){e.sort((s,n)=>((s==null?void 0:s.columnIndexPosition)??0)-((n==null?void 0:n.columnIndexPosition)??0)),e.forEach(s=>{const n=s.instance.create(t,i);n&&(this._extensionCreatedList[s.name]={name:s.name,instance:n})})}translateItems(e,t,i){var s,n;if((s=this.gridOptions)!=null&&s.enableTranslate&&!((n=this.translaterService)!=null&&n.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.extensionUtility.translateItems(e,t,i)}}function ma(r,e,t){if(t&&(r!=null&&r.hasOwnProperty(t)||e!=null&&e.hasOwnProperty(t)))return r[t]===e||r===e[t]||r[t]===e[t];if(typeof r=="object"&&typeof e=="object"&&Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(r.hasOwnProperty(i)&&r[i]!==e[i])return!1;return!0}function Jc(r){switch(r&&r.toUpperCase()||""){case"IN":case"NIN":case"NOT_IN":case"IN_CONTAINS":case"NIN_CONTAINS":case"NOT_IN_CONTAINS":case"IN_COLLECTION":case"NOT_IN_COLLECTION":return!0;default:return!1}}const jt=(r,e,t)=>{switch(r.toUpperCase()){case"<":case"LT":return e<t;case"<=":case"LE":return e<=t;case">":case"GT":return e>t;case">=":case"GE":return e>=t;case"!=":case"<>":case"NE":return e!==t;case"=":case"==":case"EQ":return e===t;case"IN":return t&&Array.isArray(t)?t.includes(e):!1;case"NIN":case"NOT_IN":return t&&Array.isArray(t)?!t.includes(e):!1;case"IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?!t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?t.some(i=>e.includes(i)):!1;case"NOT_IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?!t.some(i=>e.includes(i)):!1}return!0},fa=(r,e)=>{let[t,i]=e;if(t===void 0&&!r.operator)return!0;r.cellValue=r.cellValue===void 0||r.cellValue===null?"":r.cellValue.toString();const s=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(r.cellValue,!0):r.cellValue.toLowerCase();if(typeof t=="string"&&(t=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(t,!0):t.toLowerCase()),typeof i=="string"&&(i=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(i,!0):i.toLowerCase()),r.operator===H.startsWithEndsWith&&t!==void 0&&i!==void 0)return tu(s,[t,i]);if(t!==void 0&&i!==void 0){let o=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;o!==H.rangeInclusive&&o!==H.rangeExclusive&&(o=r.defaultFilterRangeOperator);const l=o===H.rangeInclusive,a=Er(l?">=":">",s,t,r.searchInputLastChar),h=Er(l?"<=":"<",s,i,r.searchInputLastChar);return a&&h}return Er(r.operator,s,t,r.searchInputLastChar)};function eu(r){let t=Array.isArray(r)&&r||[""];const i=[];let s,n;if(t.length===1&&typeof t[0]=="string"){const o=t[0];o.indexOf("..")>0?t=o.split(".."):o.indexOf("*")>0&&o.indexOf("*")<o.length-1&&(t=o.split("*"))}if(t.length===2)s=`${t[0]}`,n=`${t[1]}`;else{const o=Array.isArray(r)&&r.length>0?r[0]:"";s=o==null?"":`${o}`}return s!==void 0&&n!==void 0?i.push(s,n):s!==void 0&&i.push(s),i}function Er(r,e,t,i){return r==="*"||r===H.endsWith||r==="*z"?e.endsWith(t):r===""&&i==="*"||r===H.startsWith||r==="a*"?e.startsWith(t):r===""||r===H.contains?e.indexOf(t)>-1:r==="<>"||r===H.notContains?e.indexOf(t)===-1:jt(r||"==",e,t)}function tu(r,[e,t]){return r.startsWith(e)&&r.endsWith(t)}const iu=(r,e)=>{if(e===void 0&&!r.operator)return!0;switch((r.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!ma(r.cellValue,e,r.dataKey);case"=":case"==":case"EQ":default:return ma(r.cellValue,e,r.dataKey)}};function su(r){return(Array.isArray(r)&&r.length>0?r[0]:"")||""}const ga=(r,e)=>{const t=parseFloat(r.cellValue),[i,s]=e;if(i===void 0&&!r.operator)return!0;if(i!==void 0&&s!==void 0){let n=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;n!==H.rangeInclusive&&n!==H.rangeExclusive&&(n=r.defaultFilterRangeOperator);const o=n===H.rangeInclusive,l=jt(o?">=":">",t,+i),a=jt(o?"<=":"<",t,+s);return l&&a}return jt(r.operator||"==",t,+i)};function nu(r){const t=Array.isArray(r)&&r||[0],i=[];let s,n;if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split("..");s=parseFloat(Array.isArray(o)?o[0]:""),n=parseFloat(Array.isArray(o)?o[1]:"")}else s=parseFloat(t[0]);return U(s,!0)&&U(n,!0)?i.push(s,n):U(s,!0)&&i.push(s),i}const _a=(r,e)=>ms(r.cellValue)===ms(e);function ru(r){const e=Array.isArray(r)&&r[0]||!1;return ms(e)}const Ca=r=>{const e=r.operator;let t;return Array.isArray(r.cellValue)&&(e==="IN_COLLECTION"||e==="NOT_IN_COLLECTION")?t=r.cellValue.length?r.cellValue.map(i=>`${i}`):[]:t=r.cellValue===void 0||r.cellValue===null?"":`${r.cellValue}`,jt(e||"IN",t,r.searchTerms||[])};function ou(r,e){const t=r&&(r.filterSearchType||r.fieldType)||w.dateIso,i=Ke(t),[s,n]=e,o=bt(r.cellValue,i,!0);if(!s&&!n||!o)return!1;const l=i==="ISO8601"||i.toLowerCase().includes("h")?o.valueOf():Ho(new Date(o)).valueOf();if(s&&n){let h=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;h!==H.rangeInclusive&&h!==H.rangeExclusive&&(h=r.defaultFilterRangeOperator);const d=h===H.rangeInclusive,c=jt(d?">=":">",l,s.valueOf()),u=jt(d?"<=":"<",l,n.valueOf());return c&&u}const a=i==="ISO8601"||i.toLowerCase().includes("h")?s.valueOf():Ho(new Date(s)).valueOf();return jt(r.operator||"==",l,a)}function lu(r,e){const t=Array.isArray(r)&&r||[],i=e||w.dateIso,s=Ke(i),n=[];if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split(".."),l=Array.isArray(o)&&o[0]||"",a=Array.isArray(o)&&o[1]||"",h=bt(l,s,!0),d=bt(a,s,!0);if(!h||!d)return[];n.push(h,d)}else{const o=bt(t[0],s,!0);if(!o)return[];n.push(o)}return n}const au=(r,e)=>{if(Jc(r.operator))return Ca(r);switch(va(r.filterSearchType||r.fieldType)){case"boolean":return _a(r,e);case"date":return ou(r,e||[]);case"number":return ga(r,e||[]);case"object":return iu(r,e);case"string":default:return fa(r,e||[])}};function js(r,e){const t=va(e);let i;switch(t){case"boolean":i=ru(r);break;case"date":i=lu(r,e);break;case"number":i=nu(r);break;case"object":i=su(r);break;case"string":i=eu(r);break}return i}function va(r){if(It(r))return"date";switch(r){case w.boolean:return"boolean";case w.integer:case w.float:case w.number:return"number";case w.object:return"object";case w.string:case w.text:case w.password:case w.readonly:default:return"string"}}const ba={executeFilterConditionTest:au,booleanFilter:_a,collectionSearchFilter:Ca,numberFilter:ga,stringFilter:fa};class hu{constructor(e,t,i,s){var n;this.config=e,this.translaterService=t,this.collectionService=i,this.rxjs=s,this._options=((n=this.config)==null?void 0:n.options)??{}}addRxJsResource(e){this.rxjs=e}createFilter(e){let t;return e!=null&&e.model&&(t=typeof e.model=="function"?new e.model(this.translaterService,this.collectionService,this.rxjs):e.model),!t&&this._options.defaultFilter&&(t=new this._options.defaultFilter(this.translaterService,this.collectionService,this.rxjs)),t}}class du{constructor(e,t,i,s,n){this.filterFactory=e,this.pubSubService=t,this.sharedService=i,this.backendUtilities=s,this.rxjs=n,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new P,this._eventHandler=new pe,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get isFilterFirstRender(){return this._isFilterFirstRender}get onSearchChange(){return this._onSearchChange}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}addRxJsResource(e){this.rxjs=e}init(e){this._grid=e,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var e;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((e=this.rxjs)!=null&&e.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let e=this._filtersMetadata.pop();for(;e;)typeof(e==null?void 0:e.destroy)=="function"&&e.destroy(),e=this._filtersMetadata.pop()}}bindBackendOnFilter(e){this._filtersMetadata=[],this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{i.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(i,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=i.column.id)}),this.subscribeToOnHeaderRowCellRendered(e),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(e){this._filtersMetadata=[],this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid,dataView:this._dataView}),this._dataView.setFilter(this.customLocalFilter.bind(this)),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,async(t,i)=>{const s=(i==null?void 0:i.clearFilterTriggered)??!1;s||await this.emitFilterChanged(oe.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),s||await this.emitFilterChanged(oe.local),i.columnId!==null&&this._dataView.refresh(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{this.addFilterTemplateToHeaderRow(i)}),this.subscribeToOnHeaderRowCellRendered(e)}async clearFilterByColumnId(e,t){await this.pubSubService.publish("onBeforeFilterClear",{columnId:t},0);const i=this._gridOptions.backendServiceApi??!1,s=i?oe.remote:oe.local,n=Object.keys(this._columnFilters);let o;Array.isArray(n)&&(o=n.find(a=>a===`${t}`));const l=this._filtersMetadata.find(a=>a.columnDef.id===t);return l!=null&&l.clear&&l.clear(!0),i&&o!==void 0&&this.onBackendFilterChange(e,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(s),!0}async clearFilters(e=!0){var i,s;e&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(n=>{n!=null&&n.clear&&n.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(n=>{var o;(o=n.filter)!=null&&o.searchTerms&&delete n.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const t=this._gridOptions.backendServiceApi;if(t&&e){const n={clearFilterTriggered:!0,shouldTriggerQuery:e,grid:this._grid,columnFilters:this._columnFilters},l=t.service.processOnFilterChanged(void 0,n),a=((i=this._gridOptions.pagination)==null?void 0:i.totalItems)??0;(s=this.backendUtilities)==null||s.executeBackendCallback(t,l,n,new Date,a,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:h=>this._previousFilters=this.extractBasicFilterDetails(h.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);e&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(e,t){var l;const i=t==null?void 0:t.grid,s=(t==null?void 0:t.columnFilters)??{},n=this._gridOptions.enableTreeData??!1,o=this._gridOptions.treeDataOptions;if(n&&o){const a=o.collapsedPropName??R.treeDataProperties.COLLAPSED_PROP,h=o.parentPropName??R.treeDataProperties.PARENT_PROP,d=(o==null?void 0:o.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,c=this._gridOptions.datasetIdPropertyName??"id",u=o.autoRecalcTotalsOnFilterChange??!1;let p=!1;if(e[h]!==null){let m=this._dataView.getItemById(e[h]);for(;m;){if(m[a])if(u)p=!0;else return!1;m=this._dataView.getItemById(m[h])}}if(this._tmpPreFilteredData instanceof Set){const m=this._tmpPreFilteredData.has(e[c]);if(u){const f=Li(this.sharedService.hierarchicalDataset,g=>g[c]===e[c],d);if(f&&(f.__filteredOut=!m),p)return!1}return m}}else if(typeof s=="object")for(const a of Object.keys(s)){const h=s[a],d=(l=h.columnDef)==null?void 0:l.filter;if(typeof(d==null?void 0:d.filterPredicate)=="function"){if(!d.filterPredicate(e,h))return!1}else{const c=this.preProcessFilterConditionOnDataContext(e,h,i);if(typeof c=="boolean")return c;let u=h==null?void 0:h.parsedSearchTerms;if(u===void 0&&(u=js(h.searchTerms,h.columnDef.type||w.string),u!==void 0&&(h.parsedSearchTerms=u)),!ba.executeFilterConditionTest(c,u))return!1}}return!0}parseFormInputFilterConditions(e,t){var p;const i=de(!0,[],e)||[];let s=Array.isArray(i)&&i.length===1?i[0]:"";const n=t.columnDef,o=((p=n.filter)==null?void 0:p.type)??n.type??w.string;let l=null;o!==w.object&&(s=s==null?"":`${s}`,l=(n.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?s.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[s,"","","","",s,""]);const a=(l==null?void 0:l[2])||"",h=(l==null?void 0:l[3])||"";let d=(l==null?void 0:l[4])||t.operator,c=(l==null?void 0:l[1])||(l==null?void 0:l[5])||"";const u=(l==null?void 0:l[6])||(d==="*z"?"*":"");return typeof s=="string"&&(s=s.replace("'","''"),a&&h?(c=s,d=H.startsWithEndsWith):d==="*"||d==="*z"?d=H.endsWith:(d==="a*"||u==="*")&&(d=H.startsWith)),Array.isArray(l)&&l.length>=1&&Array.isArray(i)&&i.length===1&&(i[0]=c.length>0&&c.substring(0,1)===" "?c.substring(1):c),{dataKey:n.dataKey,fieldType:o,searchTerms:i||[],operator:d,searchInputLastChar:u,filterSearchType:n.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(e,t,i){var u,p,m;const s=t.columnDef,n=t.columnId;let o=i.getColumnIndex(n);if(!s&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(o=this.sharedService.allColumns.findIndex(f=>f.field===n)),!s)return!0;if(this._gridOptions.enableRowDetailView){const f=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";e[`${f}isPadding`]&&e[`${f}parent`]&&(e=e[`${f}parent`])}let l=((u=s.filter)==null?void 0:u.queryField)||s.queryFieldFilter||s.queryField||s.field||"";typeof s.queryFieldNameGetterFn=="function"&&(l=s.queryFieldNameGetterFn(e));const a=((p=s.filter)==null?void 0:p.type)??s.type??w.string;let h=e[l];(l==null?void 0:l.indexOf("."))>=0&&(h=Ee(e,l));const d=t.operator,c=t.searchTerms||[];if(!c||Array.isArray(c)&&(c.length===0||c.length===1&&d===c[0]))return!0;if(c&&Array.isArray(c)&&a!==w.object)for(let f=0,g=c.length;f<g;f++)c[f]=(c[f]===void 0||c[f]===null?"":c[f])+"";if(((m=s==null?void 0:s.params)==null?void 0:m.useFormatterOuputToFilter)===!0){const f=this._gridOptions.datasetIdPropertyName||"id",g=this._dataView&&typeof this._dataView.getIdxById=="function"?this._dataView.getIdxById(e[f]):0,_=s&&typeof s.formatter=="function"?s.formatter(g||0,o,h,s,e,this._grid):"";h=we(_)}return typeof h=="number"&&(h=h.toString()),{dataKey:s.dataKey,fieldType:a,searchTerms:c,cellValue:h,operator:d,searchInputLastChar:t.searchInputLastChar,filterSearchType:s.filterSearchType,ignoreAccentOnStringFilterAndSort:this._gridOptions.ignoreAccentOnStringFilterAndSort??!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(e,t){var g,_,C,b,S,E;const i=this._gridOptions.treeDataOptions,s=(i==null?void 0:i.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,n=(i==null?void 0:i.parentPropName)??R.treeDataProperties.PARENT_PROP,o=(i==null?void 0:i.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,l=this._gridOptions.datasetIdPropertyName??"id",a=(_=(g=this._gridOptions.presets)==null?void 0:g.treeData)==null?void 0:_.toggledItems,h=((C=this._gridOptions.treeDataOptions)==null?void 0:C.initiallyCollapsed)??!1,d=(b=this._gridOptions.treeDataOptions)==null?void 0:b.columnId,c=(S=this._gridOptions.treeDataOptions)==null?void 0:S.excludeChildrenWhenFilteringTree,u=!c&&((E=this._gridOptions.treeDataOptions)==null?void 0:E.autoApproveParentItemWhenTreeColumnIsValid)===!0,p={},m=new Set,f=new Map;return Array.isArray(e)&&(e.forEach(y=>{p[y[l]]=y,delete p[y[l]].__used}),typeof t=="object"&&Object.keys(t).forEach(y=>{var L;const x=t[y],O=x!=null&&x.searchTerms?de(!0,[],x.searchTerms):[],I=this.parseFormInputFilterConditions(O,x),A=x.columnDef,D=((L=A==null?void 0:A.filter)==null?void 0:L.type)??(A==null?void 0:A.type)??w.string,M=js(I.searchTerms,D);M!==void 0&&(x.parsedSearchTerms=M)}),e.forEach(y=>{const x=y[o];let O=!0;for(const I of Object.keys(t)){const A=t[I],D=this.preProcessFilterConditionOnDataContext(y,A,this._grid);if(D){const M=A==null?void 0:A.parsedSearchTerms,L=typeof D=="boolean"?D:ba.executeFilterConditionTest(D,M);if(L&&u&&x&&A.columnId===d){f.set(y[l],!0);break}if(L||!c&&f.get(y[n])===!0){if(x&&A.columnId===d&&f.set(y[l],!0),L||!c&&A.columnId===d)continue}else x&&f.get(y[n])!==!0&&A.columnId!==d&&f.set(y[l],!1)}O=!1}if(O){m.add(y[l]);let I=p[y[n]]??!1;const A=!h;for(!this._isTreePresetExecuted&&Array.isArray(a)&&a.some(D=>D.itemId===I.id&&D.isCollapsed===A)&&(I[s]=A);I;)I.__used??m.add(I[l]),p[I[l]].__used=!0,I=p[I[n]]??!1}})),this._isTreePresetExecuted=!0,m}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t;const e=[];if(this._columnFilters)for(const i of Object.keys(this._columnFilters)){const s=this._columnFilters[i],n={columnId:i||""},o=this.sharedService.allColumns.find(a=>a.id===n.columnId),l=((t=o==null?void 0:o.filter)==null?void 0:t.emptySearchTermReturnAllValues)??!0;s!=null&&s.searchTerms&&(n.searchTerms=s.searchTerms),s.operator&&(n.operator=s.operator),s.targetSelector&&(n.targetSelector=s.targetSelector),Array.isArray(n.searchTerms)&&n.searchTerms.length>0&&(!l||n.searchTerms[0]!=="")&&e.push(n)}return e}emitFilterChanged(e,t=!1){const i=t?"onBeforeFilterChange":"onFilterChanged";if(e===oe.remote&&this._gridOptions.backendServiceApi){let s=[];const n=this._gridOptions.backendServiceApi.service;return n!=null&&n.getCurrentFilters&&(s=n.getCurrentFilters()),this.pubSubService.publish(i,s)}else if(e===oe.local)return this.pubSubService.publish(i,this.getCurrentLocalFilters())}async onBackendFilterChange(e,t){var o,l;const i=t==null?void 0:t.shouldTriggerQuery;if(i&&await this.emitFilterChanged(oe.remote,!0),!t||!t.grid)throw new Error('Something went wrong when trying to bind the "onBackendFilterChange(event, args)" function, it seems that "args" is not populated correctly');const s=this._gridOptions.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;if(s.preProcess&&s.preProcess(),i){const a=await s.service.processOnFilterChanged(e,t),h=((o=this._gridOptions.pagination)==null?void 0:o.totalItems)??0;(l=this.backendUtilities)==null||l.executeBackendCallback(s,a,t,n,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:d=>this._previousFilters=this.extractBasicFilterDetails(d.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(e){return Array.isArray(e)&&(this._columnDefinitions.forEach(t=>{var s;(s=t.filter)!=null&&s.searchTerms&&delete t.filter.searchTerms;const i=e.find(n=>n.columnId===t.id);i&&Array.isArray(i==null?void 0:i.searchTerms)&&(t.filter=t.filter||{},t.filter.operator=i.operator||t.filter.operator||"",t.filter.searchTerms=i.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(e){var i;const t=e??((i=this._dataView)==null?void 0:i.getItems())??[];this._dataView&&this._gridOptions.enableTreeData&&t.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(t,this._columnFilters),this._dataView.refresh()):t.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&queueMicrotask(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableFiltering;s!==e&&(t&&e&&this.clearFilters(),this.disableAllFilteringCommands(e),this._grid.setOptions({enableFiltering:s},!1,!0),this._grid.setHeaderRowVisibility(s),this._gridOptions.enableFiltering=!e,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(e=!0){const t=this._gridOptions.enableFiltering;this.disableFilterFunctionality(t,e)}toggleHeaderFilterRow(){let e=this._gridOptions.showHeaderRow??!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(e){this._grid&&Array.isArray(e)&&this._grid.setSortColumns(e)}async updateFilters(e,t=!0,i=!0,s=!1){var n;if(!this._filtersMetadata||this._filtersMetadata.length===0||!this._gridOptions||!this._gridOptions.enableFiltering)throw new Error('[Slickgrid-Universal] in order to use "updateFilters" method, you need to have Filterable Columns defined in your grid and "enableFiltering" set in your Grid Options');if(Array.isArray(e)){this.clearFilters(!1),e.forEach(a=>{const h=this._filtersMetadata.find(d=>a.columnId===d.columnDef.id);if(a&&h){const d=a.operator||h.defaultOperator;this.updateColumnFilters(a.searchTerms,h.columnDef,d),h.setValues(a.searchTerms||[],d),(s||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:h.columnDef,operator:d,searchTerms:a.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const o=this._gridOptions.backendServiceApi,l=o?oe.remote:oe.local;if(t&&await this.emitFilterChanged(l,!0),this._dataView.refresh(),o){const a=o==null?void 0:o.service;a!=null&&a.updateFilters&&(a.updateFilters(e,!0),i&&((n=this.backendUtilities)==null||n.refreshBackendDataset(this._gridOptions)))}t&&await this.emitFilterChanged(l)}return!0}async updateSingleFilter(e,t=!0,i=!0){var n,o;const s=this.sharedService.allColumns.find(l=>l.id===e.columnId);if(s&&e.columnId){this._columnFilters={};const l=((n=s.filter)==null?void 0:n.emptySearchTermReturnAllValues)??!0;Array.isArray(e.searchTerms)&&(e.searchTerms.length>1||e.searchTerms.length===1&&(!l||e.searchTerms[0]!==""))&&(this._columnFilters[e.columnId]={columnId:e.columnId,operator:e.operator,searchTerms:e.searchTerms,columnDef:s,type:s.type??w.string});const a=this._gridOptions.backendServiceApi,h=a?oe.remote:oe.local;if(t&&await this.emitFilterChanged(h,!0),a){const d=a==null?void 0:a.service;d!=null&&d.updateFilters&&(d.updateFilters(this._columnFilters,!0),i&&((o=this.backendUtilities)==null||o.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();t&&await this.emitFilterChanged(h)}return!0}drawFilterTemplate(e,t){let i;if(typeof t=="string"){if(i=document.querySelector(t),i===null)return null}else i=t;const s=typeof e=="string"?this.sharedService.allColumns.find(o=>o.id===e):e;if(((s==null?void 0:s.id)??"")!=="selector"&&(s!=null&&s.filterable)){let o,l;const a=this.filterFactory.createFilter(s.filter);l=s&&s.filter&&s.filter.operator||a&&a.operator,this._columnFilters[s.id]?(o=this._columnFilters[s.id].searchTerms||void 0,l=this._columnFilters[s.id].operator||void 0):s.filter&&(o=s.filter.searchTerms||void 0,this.updateColumnFilters(o,s,l));const h={grid:this._grid,operator:l,searchTerms:o,columnDef:s,filterContainerElm:i,callback:this.callbackSearchEvent.bind(this)};return a&&(a.init(h),o&&a.setValues&&a.setValues(o,l)),a}return null}addFilterTemplateToHeaderRow(e,t=!0){const i=e.column;if(((i==null?void 0:i.id)??"")!=="selector"&&(i!=null&&i.filterable)&&!(i!=null&&i.hidden)){let n,o;const l=this.filterFactory.createFilter(i.filter);o=i&&i.filter&&i.filter.operator||l&&l.operator,this._columnFilters[i.id]?(n=this._columnFilters[i.id].searchTerms||void 0,o=this._columnFilters[i.id].operator||void 0):i.filter&&(n=i.filter.searchTerms||void 0,this.updateColumnFilters(n,i,o));const a={grid:this._grid,operator:o,searchTerms:n,columnDef:i,filterContainerElm:e.node,callback:this.callbackSearchEvent.bind(this)};if(l&&a.filterContainerElm){l.init(a,t);const h=this._filtersMetadata.findIndex(d=>l.columnDef.id===d.columnDef.id);h===-1?this._filtersMetadata.push(l):this._filtersMetadata[h]=l,n&&l.setValues&&l.setValues(n,o)}}}callbackSearchEvent(e,t){var i,s;if(t){const n=e!=null&&e.target?e.target.value:void 0,o=t.searchTerms&&Array.isArray(t.searchTerms)?t.searchTerms:n?[n]:void 0,l=t.columnDef||null,a=(l==null?void 0:l.id)??"",h=((i=l==null?void 0:l.filter)==null?void 0:i.type)??(l==null?void 0:l.type)??w.string,d=t.operator||void 0,c=o&&Array.isArray(o),u=c&&o&&o.length,p={...this._columnFilters},m=((s=l.filter)==null?void 0:s.emptySearchTermReturnAllValues)??!0;let f;if(l&&a)if(!c||u===0||u===1&&Array.isArray(o)&&m&&o[0]==="")delete this._columnFilters[a];else{const C=`${a}`,b={columnId:C,columnDef:l,parsedSearchTerms:[],type:h,targetSelector:this.getSelectorStringFromElement(e==null?void 0:e.target)},S=this.parseFormInputFilterConditions(o,b);b.operator=d||S.operator||bn(h),f=js(S.searchTerms,h),f!==void 0&&(b.parsedSearchTerms=f),b.searchTerms=S.searchTerms||[],this._columnFilters[C]=b}const g=e&&typeof e.isPropagationStopped!="function"?de({},new le,e):e,_=e==null?void 0:e.key;if(this._onSearchChange&&(t.forceOnSearchChangeEvent||_==="Enter"||!pt(p,this._columnFilters))){const C={clearFilterTriggered:t.clearFilterTriggered,shouldTriggerQuery:t.shouldTriggerQuery,columnId:a,columnDef:l,columnFilters:this._columnFilters,operator:d||bn(h),searchTerms:o,parsedSearchTerms:f,grid:this._grid,target:e==null?void 0:e.target};this.pubSubService.publish("onBeforeSearchChange",C)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(C,g)}}}disableAllFilteringCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var o,l;(o=n==null?void 0:n.header)!=null&&o.menu&&((l=n.header.menu.commandItems)==null||l.forEach(a=>{a&&typeof a!="string"&&a.command==="clear-filter"&&(a.hidden=e)}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{if(n&&typeof n!="string"){const o=n.command;(o==="clear-filter"||o==="toggle-filter")&&(n.hidden=e)}}),t}extractBasicFilterDetails(e){const t=[];if(e&&typeof e=="object")for(const i of Object.keys(e)){const{operator:s,searchTerms:n}=e[`${i}`];t.push({columnId:i,operator:s,searchTerms:n})}return t}getSelectorStringFromElement(e){return e!=null&&e.localName?e!=null&&e.className?`${e.localName}.${Array.from(e.classList).join(".")}`:e.localName:""}removeAllColumnFiltersProperties(){typeof this._columnFilters=="object"&&Object.keys(this._columnFilters).forEach(e=>{e&&this._columnFilters[e]&&delete this._columnFilters[e]})}subscribeToOnHeaderRowCellRendered(e){this._eventHandler.subscribe(e.onBeforeHeaderRowCellDestroy,(t,i)=>{var n;const s=this._filtersMetadata.find(o=>o.columnDef.id===i.column.id);(n=s==null?void 0:s.destroy)==null||n.call(s)})}updateColumnFilters(e,t,i){var o;const s=((o=t.filter)==null?void 0:o.type)??t.type??w.string,n=js(e,s);e&&t&&(this._columnFilters[t.id]={columnId:t.id,columnDef:t,searchTerms:e,operator:i,parsedSearchTerms:n,type:s})}}const Ys={skipError:!1,triggerEvent:!0},rs={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},wr={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Sa={applySetColumns:!0,autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1},cu={autoResizeColumns:!0,triggerEvent:!0};class uu{constructor(e,t,i,s,n,o,l){this.gridStateService=e,this.filterService=t,this.pubSubService=i,this.paginationService=s,this.sharedService=n,this.sortService=o,this.treeDataService=l}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}dispose(){var e;(e=this._rowSelectionPlugin)==null||e.dispose()}init(e){this._grid=e}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearPinning(e=!0){const t=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),e&&Array.isArray(t)&&this.sharedService.slickGrid.setColumns(t)}setPinning(e,t=!0,i=!1,s=!0){To(e)?this.clearPinning():(this.sharedService.slickGrid.setOptions(e,i,s),this.sharedService.gridOptions={...this.sharedService.gridOptions,...e}),t&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(e){if(!e||!e.grid||!e.grid.getColumns||!e.grid.getDataItem)throw new Error("[Slickgrid-Universal] To get the column definition and data, we need to have these arguments passed as objects (row, cell, grid)");return{row:e.row,cell:e.cell,columnDef:e.grid.getColumns()[e.cell],dataContext:e.grid.getDataItem(e.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error(`[Slickgrid-Universal] We could not find SlickGrid Grid object or it's "getDataItem" method`);return this._grid.getDataItem(e)}getDataItemByRowIndex(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');return this._grid.getDataItem(e)}getDataItemByRowIndexes(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');const t=[];return Array.isArray(e)&&e.forEach(i=>{t.push(this._grid.getDataItem(i))}),t}getSelectedRows(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');return this._grid.getSelectedRows()}getSelectedRowsDataItem(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');const e=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(e)}hideColumnById(e,t){if(this._grid){t={...Sa,...t};const i=this._grid.getColumns(),s=i.findIndex(n=>n.id===e);if(s>=0){const n=En(i,s);t!=null&&t.applySetColumns&&(this.sharedService.visibleColumns=n,this._grid.setColumns(n));const o=this.sharedService.allColumns.findIndex(l=>l.id===e);return o&&(t!=null&&t.hideFromColumnPicker&&(this.sharedService.allColumns[o].excludeFromColumnPicker=!0),t!=null&&t.hideFromGridMenu&&(this.sharedService.allColumns[o].excludeFromGridMenu=!0)),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns"],n),s}}return-1}hideColumnByIds(e,t){if(Array.isArray(e)){const i=this._grid.getColumns().filter(s=>!e.includes(s.id));t={...Sa,...t};for(const s of e)this.hideColumnById(s,{...t,triggerEvent:!1,applySetColumns:!1,autoResizeColumns:!1});this.sharedService.visibleColumns=i,this._grid.setColumns(i),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns","onHideColumns"],i)}}showColumnByIds(e,t){if(this._grid){t={...cu,...t};const i=this.sharedService.allColumns.filter(s=>e.includes(s.id));this._grid.setColumns(i),this.sharedService.visibleColumns=i,this.executeVisibilityCommands(t,["onShowColumns"],this.sharedService.visibleColumns)}}executeVisibilityCommands(e,t,i){e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&t.forEach(s=>this.pubSubService.publish(s,{columns:i}))}highlightRow(e,t){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new fr(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),t||(t=this._gridOptions.rowHighlightDuration),Array.isArray(e)?e.forEach(i=>this._grid.highlightRow(i)):this._grid.highlightRow(e,t)}setSelectedRow(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows([e])}setSelectedRows(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows(e)}renderGrid(){var e;typeof((e=this._grid)==null?void 0:e.invalidate)=="function"&&this._grid.invalidate()}resetGrid(e){var t,i,s;if(this.clearPinning(!1),this._grid){const n=this.sharedService.allColumns||[];Array.isArray(n)&&n.length>0&&(this._grid.setColumns(n),(t=this._gridOptions)!=null&&t.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(e))}typeof((i=this.filterService)==null?void 0:i.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((s=this.sortService)==null?void 0:s.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(e,t){var h,d,c,u;const i={...rs,...t};if(!(i!=null&&i.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const s=this._gridOptions.datasetIdPropertyName||"id";if(!(i!=null&&i.skipError)&&(!e||!e.hasOwnProperty(s)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${s}" property`);if((h=this._gridOptions)!=null&&h.enableTreeData&&(t==null?void 0:t.position)==="top")throw new Error('[Slickgrid-Universal] Please note that `addItem({ position: "top" })` is not supported when used with Tree Data because of the extra complexity.');const n=i==null?void 0:i.position;n==="bottom"||(d=this._gridOptions)!=null&&d.enableTreeData?this._dataView.addItem(e):this._dataView.insertItem(0,e);let o=0;const l=(e==null?void 0:e[s])??"";return(c=this._gridOptions)!=null&&c.enableTreeData?(this.invalidateHierarchicalDataset(),o=this._dataView.getRowById(l),i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0,!1)):i.resortGrid?(this._dataView.reSort(),o=this._dataView.getRowById(l)):(o=n==="bottom"?this._dataView.getRowById(l):0,i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0)),i.highlightRow&&o!==void 0&&this.highlightRow(o),o!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),!((u=this._gridOptions)!=null&&u.backendServiceApi)&&this._gridOptions.enablePagination&&(n==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),o}addItems(e,t){var l,a,h,d;const i={...rs,...t},s=this._gridOptions.datasetIdPropertyName||"id",n=i==null?void 0:i.position,o=[];if(Array.isArray(e))this._dataView.beginUpdate(!0),n==="bottom"||(l=this._gridOptions)!=null&&l.enableTreeData?this._dataView.addItems(e):this._dataView.insertItems(0,e),this._dataView.endUpdate();else return[this.addItem(e,i)||0];if((a=this._gridOptions)!=null&&a.enableTreeData){this.invalidateHierarchicalDataset();const c=((h=e[0])==null?void 0:h[s])??"",u=this._dataView.getRowById(c);i.scrollRowIntoView&&this._grid.scrollRowIntoView(u??0,!1)}else i.resortGrid&&this._dataView.reSort();return n&&i.scrollRowIntoView&&!((d=this._gridOptions)!=null&&d.enableTreeData)&&(n==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),e.forEach(c=>o.push(this._dataView.getRowById(c[s]))),i.highlightRow&&this.highlightRow(o),i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),o}deleteItem(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!(t!=null&&t.skipError)&&(!e||!e.hasOwnProperty(i)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${i}" property`);return this.deleteItemById(e[i],t)}deleteItems(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return this.deleteItem(e,t),[e[i]];this._dataView.beginUpdate(!0);const s=[];return e.forEach(n=>{(n==null?void 0:n[i])!==void 0&&s.push(n[i])}),this._dataView.deleteItems(s),this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),s}deleteItemById(e,t){if(t={...Ys,...t},!(t!=null&&t.skipError)&&e==null)throw new Error('[Slickgrid-Universal] Cannot delete a row without a valid "id"');return!(this.gridStateService&&this.gridStateService.needToPreserveRowSelection()||!1)&&this._grid&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows([]),this._dataView.deleteItem(e),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}deleteItemByIds(e,t){if(t={...Ys,...t},Array.isArray(e)){this._dataView.beginUpdate(!0);for(let i=0;i<e.length;i++)e[i]!==null&&this.deleteItemById(e[i],{triggerEvent:!1});return this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}return[]}updateItem(e,t){t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${i}" property`);return this.updateItemById(s,e,t)}updateItems(e,t){var o;t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return[this.updateItem(e,t)];this._dataView.beginUpdate(!0);const s=[],n=[];return e.forEach(l=>{const a=!l||!l.hasOwnProperty(i)?void 0:l[i];if(n.push(a),this._dataView.getIdxById(a)!==void 0){const h=this._dataView.getRowById(a);h!==void 0&&(s.push(h),this._grid.updateRow(h))}}),this._dataView.updateItems(n,e),this._dataView.endUpdate(),(o=this._gridOptions)!=null&&o.enableTreeData&&this.invalidateHierarchicalDataset(),t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent&&this.pubSubService.publish("onItemUpdated",e),s}updateItemById(e,t,i){var n;if(i={...wr,...i},!(i!=null&&i.skipError)&&e===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const s=this._dataView.getRowById(e);if(!(i!=null&&i.skipError)&&!t&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${e}`);return this._dataView.getIdxById(e)!==void 0&&(this._dataView.updateItem(e,t),s!==void 0&&this._grid.updateRow(s),(n=this._gridOptions)!=null&&n.enableTreeData&&this.invalidateHierarchicalDataset(),i.scrollRowIntoView&&s!==void 0&&this._grid.scrollRowIntoView(s),i.highlightRow&&s!==void 0&&this.highlightRow(s),s!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(s),i.triggerEvent&&this.pubSubService.publish("onItemUpdated",t)),s}upsertItem(e,t){t={...rs,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${i}" property`);return this.upsertItemById(s,e,t)}upsertItems(e,t){if(t={...rs,...t},!Array.isArray(e))return[this.upsertItem(e,t)];this._dataView.beginUpdate(!0);const i=[];e.forEach(n=>{i.push(this.upsertItem(n,{...t,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const s=i.map(n=>n.added!==void 0?n.added:n.updated);if(t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent){this.pubSubService.publish("onItemUpserted",e);const n=i.filter(l=>l.added!==void 0);Array.isArray(n)&&n.length>0&&this.pubSubService.publish("onItemAdded",n);const o=i.filter(l=>l.updated!==void 0);Array.isArray(o)&&o.length>0&&this.pubSubService.publish("onItemUpdated",o)}return i}upsertItemById(e,t,i){let s=!1;if(i={...rs,...i},!(i!=null&&i.skipError)&&e===void 0&&!this.hasRowSelectionEnabled())throw new Error('[Slickgrid-Universal] Calling Upsert of an item requires the item to include a valid and unique "id" property');let n,o;return this._dataView.getRowById(e)===void 0?(n=this.addItem(t,i),s=!0):(o=this.updateItem(t,{highlightRow:i.highlightRow,selectRow:i.selectRow,triggerEvent:i.triggerEvent}),s=!1),i.triggerEvent&&(this.pubSubService.publish("onItemUpserted",t),s?this.pubSubService.publish("onItemAdded",t):this.pubSubService.publish("onItemUpdated",t)),{added:n,updated:o}}invalidateHierarchicalDataset(e){var t;if((t=this._gridOptions)!=null&&t.enableTreeData&&this.treeDataService){const i=e??this._dataView.getItems(),s=this.sortService.getCurrentColumnSorts(),n=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(i||[],this.sharedService.allColumns,this._gridOptions,s);this.sharedService.hierarchicalDataset=n.hierarchical,this.filterService.refreshTreeDataFilters(e),this._dataView.setItems(n.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class pu{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new pe}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onBeforeEditCell,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onBeforeEditCell=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onBeforeEditCell(i instanceof le?i.getNativeEvent():i,o)}})}bindOnCellChange(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onCellChange,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellChange=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellChange(i instanceof le?i.getNativeEvent():i,o)}})}bindOnClick(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onClick,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellClick=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellClick(i instanceof le?i.getNativeEvent():i,o)}})}}class mu{constructor(e,t,i,s,n,o){this.extensionService=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0,this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(e){this._selectedRowDataContextIds=e}init(e){this._grid=e,this.subscribeToAllGridChanges(e)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(e,t=!0,i=!1){var s,n,o,l,a,h;if(Array.isArray(e)&&e.length>0){const d=this.getAssociatedGridColumns(this._grid,e);if(d&&Array.isArray(d)&&d.length>0){if(Array.isArray(this.sharedService.allColumns)){const c=[];if(this._gridOptions.enableCheckboxSelector){const u=((n=(s=this._gridOptions)==null?void 0:s.checkboxSelector)==null?void 0:n.columnIndexPosition)??0;c.push({columnId:"_checkbox_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowDetailView){const u=((l=(o=this._gridOptions)==null?void 0:o.rowDetailView)==null?void 0:l.columnIndexPosition)??0;c.push({columnId:"_detail_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowMoveManager){const u=((h=(a=this._gridOptions)==null?void 0:a.rowMoveManager)==null?void 0:h.columnIndexPosition)??0;c.push({columnId:"_move",columnIndexPosition:u})}this.addColumnDynamicWhenFeatureEnabled(c,this.sharedService.allColumns,d)}d.forEach(c=>c.originalWidth=c.width||c.originalWidth),this._grid.setColumns(d),this.sharedService.visibleColumns=d,t?this._grid.autosizeColumns():(i||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var o;const{frozenColumn:e,frozenRow:t,frozenBottom:i}=this.sharedService.gridOptions,s={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:t,frozenBottom:i}},n=this.getCurrentPagination();if(n&&(s.pagination=n),this.hasRowSelectionEnabled()){const l=this.getCurrentRowSelections();l&&(s.rowSelection=l)}if((o=this._gridOptions)!=null&&o.enableTreeData){const l=this.getCurrentTreeDataToggleState();l&&(s.treeData=l)}return s}getColumns(){return this._columns}getAssociatedCurrentColumns(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{i!=null&&i.id&&t.push({columnId:i.id,cssClass:i.cssClass||"",headerCssClass:i.headerCssClass||"",width:i.width||0})}),t}getAssociatedGridColumns(e,t){const i=[],s=this.sharedService.allColumns||e.getColumns();return t&&Array.isArray(t)&&t.forEach(n=>{const o=s.find(l=>l.id===n.columnId);o!=null&&o.id&&i.push({...o,cssClass:n.cssClass||o.cssClass,headerCssClass:n.headerCssClass||o.headerCssClass,width:n.width})}),this._columns=i,i}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentFilters)return i.getCurrentFilters()}else if((t=this.filterService)!=null&&t.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var e;if((e=this._gridOptions)!=null&&e.enablePagination)if(this._gridOptions.backendServiceApi){const t=this._gridOptions.backendServiceApi.service;if(t!=null&&t.getCurrentPagination)return t.getCurrentPagination()}else return this.sharedService.currentPagination;return null}getCurrentRowSelections(){return this._grid&&this._dataView&&this.hasRowSelectionEnabled()?{gridRowIndexes:this._grid.getSelectedRows()||[],dataContextIds:this._dataView.getAllSelectedIds()||[],filteredDataContextIds:this._dataView.getAllSelectedFilteredIds()||[]}:null}getCurrentSorters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentSorters)return i.getCurrentSorters()}else if((t=this.sortService)!=null&&t.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var e;return(e=this._gridOptions)!=null&&e.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if((t=this._gridOptions)!=null&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const i=this._gridOptions.dataView.syncGridSelection;typeof i=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof i=="object"&&(e=i.preserveHidden||i.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(e){const t=e||this._columns,i=this.getAssociatedCurrentColumns(t);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(e=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,e&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var e,t;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const i=(t=(e=this.extensionService)==null?void 0:e.getExtensionByName)==null?void 0:t.call(e,G.rowSelection);i!=null&&i.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(e){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(G.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(G.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",e),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",e),this.bindSlickGridOnSetOptionsEventToGridStateChange(e),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(t,i)=>{const s=(this._selectedRowIndexes||[]).slice(),n=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=i.filteredIds,this._selectedRowIndexes=i.rows,!pt(this.selectedRowDataContextIds,n)||!pt(this._selectedRowIndexes,s)){const o={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:i.selectedRowIds,filteredDataContextIds:i.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:o,type:$e.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe(["onHeaderMenuHideColumns","onHideColumns","onShowColumns"],t=>{const i=this.getAssociatedCurrentColumns(t.columns);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(e,t,i){e.sort((s,n)=>s.columnIndexPosition-n.columnIndexPosition),e.forEach(s=>{const n=t.findIndex(l=>l.id===s.columnId),o=i.findIndex(l=>l.id===s.columnId);if(n>=0&&o===-1){const l=t[n];n===0?i.unshift(l):i.splice(n,0,l)}})}bindExtensionAddonEventToGridStateChange(e,t){var n,o,l;const i=(o=(n=this.extensionService)==null?void 0:n.getExtensionByName)==null?void 0:o.call(n,e),s=(l=i==null?void 0:i.instance)==null?void 0:l[t];s&&typeof s.subscribe=="function"&&this._eventHandler.subscribe(s,(a,h)=>{const d=h==null?void 0:h.columns,c=this.getAssociatedCurrentColumns(d);this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(e,t){const i=t==null?void 0:t[e];i&&typeof i.subscribe=="function"&&this._eventHandler.subscribe(i,()=>{const s=t.getColumns(),n=this.getAssociatedCurrentColumns(s);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(e){const t=e.onSetOptions;this._eventHandler.subscribe(t,(i,s)=>{const{frozenBottom:n,frozenColumn:o,frozenRow:l}=s.optionsBefore,{frozenBottom:a,frozenColumn:h,frozenRow:d}=s.optionsAfter;if(n!==a||o!==h||l!==d){const c={frozenBottom:a,frozenColumn:h,frozenRow:d},u=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.pinning},gridState:u})}})}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class fu{constructor(e){this.extensionUtility=e,this._subscriptions=[],this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}init(e){this._grid=e,e&&this._gridOptions&&this._gridOptions.createPreHeaderPanel&&(this._gridOptions.enableTranslate&&this.translateHeaderGrouping(),this._eventHandler.subscribe(e.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._eventHandler.subscribe(e.onSetOptions,(t,i)=>{var s,n;((s=i==null?void 0:i.optionsBefore)==null?void 0:s.frozenColumn)!==((n=i==null?void 0:i.optionsAfter)==null?void 0:n.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75))}dispose(){this._eventHandler.unsubscribeAll()}delayRenderPreHeaderRowGroupingTitles(e=0){window.setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),e)}renderPreHeaderRowGroupingTitles(){var t;const e=this._columnDefinitions.length;if(((t=this._gridOptions)==null?void 0:t.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0){const i=this._gridOptions.frozenColumn;this.renderHeaderGroups(this._grid.getPreHeaderPanelLeft(),0,i+1),this.renderHeaderGroups(this._grid.getPreHeaderPanelRight(),i+1,e)}else this.renderHeaderGroups(this._grid.getPreHeaderPanel(),0,e)}renderHeaderGroups(e,t,i){var c,u,p;ee(e),e.className="slick-header-columns",e.style.left="-1000px",e.style.width=`${this._grid.getHeadersWidth()}px`,(c=e.parentElement)==null||c.classList.add("slick-header");const s=this._grid.getHeaderColumnWidthDiff();let n,o=null,l="",a=0;const h=((u=this._gridOptions)==null?void 0:u.frozenHeaderWidthCalcDifferential)??0,d=((p=this._gridOptions)==null?void 0:p.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let m=t;m<i;m++)n=this._columnDefinitions[m],n&&(l===n.columnGroup&&m>0?(a+=n.width||0,o!=null&&o.style&&(o.style.width=`${a-s-h}px`)):(a=n.width||0,o=v("div",{className:`slick-state-default slick-header-column ${d?"frozen":""}`,dataset:{group:n.columnGroup},style:{width:`${a-s}px`}}),v("span",{className:"slick-column-name",textContent:n.columnGroup||""},o),e.appendChild(o)),l=n.columnGroup||"")}translateHeaderGrouping(){const e=this._grid.getColumns();this.extensionUtility.translateItems(e,"columnGroupKey","columnGroup"),this._grid.setColumns(e),this.renderPreHeaderRowGroupingTitles()}}class gu{constructor(e,t,i,s){this.pubSubService=e,this.sharedService=t,this.backendUtilities=i,this.rxjs=s,this._initialized=!1,this._isLocalGrid=!0,this._dataFrom=1,this._dataTo=1,this._itemsPerPage=0,this._pageCount=1,this._pageNumber=1,this._totalItems=0,this._availablePageSizes=[],this._subscriptions=[],this._isCursorBased=!1,this._eventHandler=new pe}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}set paginationOptions(e){this._paginationOptions=e}get paginationOptions(){return this._paginationOptions}get availablePageSizes(){return this._availablePageSizes}get dataFrom(){return this._dataFrom}get dataTo(){return this._dataTo}get itemsPerPage(){return this._itemsPerPage}get pageCount(){return this._pageCount}get pageNumber(){return this._pageNumber}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(e){this.rxjs=e}init(e,t,i){var n,o;if(this._availablePageSizes=t.pageSizes||[],this.grid=e,this._backendServiceApi=i,this._paginationOptions=t,this._isLocalGrid=!i,this._pageNumber=t.pageNumber||1,this._isCursorBased=((n=i==null?void 0:i.options)==null?void 0:n.useCursor)??!1,i&&(!i.service||!i.process))throw new Error('BackendServiceApi requires the following 2 properties "process" and "service" to be defined.');this._isLocalGrid&&this.dataView&&(this._eventHandler.subscribe(this.dataView.onPagingInfoChanged,(l,a)=>{this._totalItems!==a.totalRows&&(this.updateTotalItems(a.totalRows),this._previousPagination={pageNumber:a.pageNum,pageSize:a.pageSize,pageSizes:this.availablePageSizes,totalItems:a.totalRows})}),queueMicrotask(()=>{this.dataView&&(this.dataView.setRefreshHints({isFilterUnchanged:!0}),this.dataView.setPagingOptions({pageSize:this.paginationOptions.pageSize,pageNum:this._pageNumber-1}))})),this._subscriptions.push(this.pubSubService.subscribe(["onFilterChanged","onFilterCleared"],()=>this.resetPagination())),(o=i==null?void 0:i.options)!=null&&o.infiniteScroll&&this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",l=>this.processOnItemAddedOrRemoved(l,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",l=>this.processOnItemAddedOrRemoved(l,!1)))),this.refreshPagination(!1,!1,!0);const s=this.getFullPagination();this._previousPagination={pageNumber:s.pageNumber,pageSize:s.pageSize,pageSizes:s.pageSizes,totalItems:this.totalItems},this._initialized=!0,hs(t,"totalItems",l=>this._totalItems=l)}dispose(){this._initialized=!1,this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}getCurrentPagination(){return{pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes}}getFullPagination(){return{pageCount:this._pageCount,pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes,totalItems:this._totalItems,dataFrom:this._dataFrom,dataTo:this._dataTo}}getCurrentPageNumber(){return this._pageNumber}getCurrentItemPerPage(){return this._itemsPerPage}changeItemPerPage(e,t,i=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/e),this._itemsPerPage=e,i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToFirstPage(e,t=!0){return this._pageNumber=1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToLastPage(e,t=!0){return this._pageNumber=this._pageCount||1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToNextPage(e,t=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(e,t,i=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const s=this._pageNumber;return e<1?this._pageNumber=1:e>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=e,this._pageNumber!==s?i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(e,t=!0){return this._pageNumber>1?(this._pageNumber--,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(e=!1,t=!0,i=!1){var o,l,a;const s={...this.getFullPagination()};if(this._paginationOptions){const h=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=h.pageSize:this._itemsPerPage=+((a=(l=(o=this._backendServiceApi)==null?void 0:o.options)==null?void 0:l.paginationOptions)!=null&&a.first?this._backendServiceApi.options.paginationOptions.first:h.pageSize)),(e||this._totalItems!==h.totalItems)&&(e?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&h.pageNumber&&h.pageNumber>1&&(this._pageNumber=h.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=h.pageSizes||[],!this._totalItems&&h.totalItems&&(this._totalItems=h.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),t&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),i&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const n=this.getFullPagination();this._previousPagination={pageNumber:n.pageNumber,pageSize:n.pageSize,pageSizes:n.pageSizes,totalItems:this.totalItems}}resetPagination(e=!0,t=!0){var i,s;this._isLocalGrid&&this.dataView&&((s=(i=this.sharedService)==null?void 0:i.gridOptions)!=null&&s.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,e),t&&this.grid.scrollTo(0)}togglePaginationVisibility(e){var t;if(this.grid&&((t=this.sharedService)!=null&&t.gridOptions)){const i=e!==void 0?e:!this.sharedService.gridOptions.enablePagination;if(i&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const s=e?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:s,pageNum:0})}this.sharedService.gridOptions.enablePagination=i,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:i})}}processOnPageChanged(e,t,i){return console.assert(!this.isCursorBased||i,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((s,n)=>{var o,l,a;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:e-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),s(this.getFullPagination());else{const h=+this._itemsPerPage,d=new Date;if((o=this._backendServiceApi)!=null&&o.preProcess&&this._backendServiceApi.preProcess(),(l=this._backendServiceApi)!=null&&l.process){const c=this.isCursorBased&&i?this._backendServiceApi.service.processOnPaginationChanged(t,i):this._backendServiceApi.service.processOnPaginationChanged(t,{newPage:e,pageSize:h}),u=this._backendServiceApi.process(c);u instanceof Promise?u.then(p=>{var f;(f=this.backendUtilities)==null||f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems);const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s(this.getFullPagination())}).catch(p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)}):(a=this.rxjs)!=null&&a.isObservable(u)&&this._subscriptions.push(u.subscribe(p=>{var f;const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s((f=this.backendUtilities)==null?void 0:f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems))},p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){((this._pageNumber-1)*this._itemsPerPage>this._totalItems||this._totalItems>0&&this._pageNumber===0)&&(this._pageNumber=1),this._totalItems===0?(this._dataFrom=0,this._dataTo=1,this._pageNumber=0):(this._dataFrom=this._pageNumber>1?this._pageNumber*this._itemsPerPage-this._itemsPerPage+1:1,this._dataTo=this._totalItems<this._itemsPerPage?this._totalItems:(this._pageNumber||1)*this._itemsPerPage,this._dataTo>this._totalItems&&(this._dataTo=this._totalItems)),this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var i,s,n,o,l,a,h,d,c;const e=((i=this._previousPagination)==null?void 0:i.pageNumber)!==this.getFullPagination().pageNumber,t=((s=this._previousPagination)==null?void 0:s.pageSize)!==this.getFullPagination().pageSize;t&&this.changeItemPerPage(((n=this._previousPagination)==null?void 0:n.pageSize)??0,null,!1),e&&this.goToPageNumber(((o=this._previousPagination)==null?void 0:o.pageNumber)??0,null,!1),(e||t)&&(this.refreshPagination(),(c=(a=(l=this._backendServiceApi)==null?void 0:l.service)==null?void 0:a.updatePagination)==null||c.call(a,((h=this._previousPagination)==null?void 0:h.pageNumber)??0,((d=this._previousPagination)==null?void 0:d.pageSize)??0))}setCursorBased(e){this._isCursorBased=e,e&&this.setCursorPageInfo({startCursor:"",endCursor:"",hasNextPage:!1,hasPreviousPage:!1}),this.goToFirstPage(),this.pubSubService.publish("onPaginationSetCursorBased",{isCursorBased:e})}setCursorPageInfo(e){this._cursorPageInfo=e}updateTotalItems(e,t=!1){this._totalItems=e,this._paginationOptions&&(this._paginationOptions.totalItems=e,this.refreshPagination(!1,t))}processOnItemAddedOrRemoved(e,t=!0){if(e!==null){const i=this._dataTo,s=Array.isArray(e)?e.length:1,n=t?+s:-s;this._totalItems+=n,this.recalculateFromToIndexes(),this._dataTo=i+n,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const _u=20,Cu=25,vu=35,bu=180,Su=300,yu=200;class Eu{get autoHeightRecalcRow(){return this._autoHeightRecalcRow||100}get isAutoHeightEnabled(){var e;return!!(this.gridOptions.enableAutoResize&&((e=this.gridOptions.autoResize)!=null&&e.autoHeight))}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(e){this._intervalRetryDelay=e}get resizeByContentOptions(){var e;return((e=this.gridOptions)==null?void 0:e.resizeByContentOptions)??{}}constructor(e){this.pubSubService=e,this._allHeaderHeight=0,this._autoHeightRecalcRow=0,this._intervalRetryDelay=yu,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new pe,this._bindingEventService=new Pe}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),window.clearInterval(this._intervalId),window.clearTimeout(this._timer),((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(e,t){var s,n,o,l,a,h;if(!e||!this.gridOptions||!t)throw new Error(`
11
+ `}if(window.clipboardData)return window.clipboardData.setData("Text",l),!0;{const a=document.activeElement,h=this.createTextBox(l);if(h.focus(),window.setTimeout(()=>{this._bodyElement.removeChild(h),a?a.focus():console.log("No element to restore focus to after copy?")},((s=this.addonOptions)==null?void 0:s.clipboardPasteDelay)??Ql),typeof this._onCopySuccess=="function"){const d=t.length===1?t[0].toRow+1-t[0].fromRow:t.length;this._onCopySuccess(d)}return!1}}if(!this._addonOptions.readOnlyMode&&(e.key==="v"&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.key==="Insert"&&e.shiftKey&&!e.ctrlKey)){const o=this.createTextBox("");return window.setTimeout(()=>this.decodeTabularData(this._grid,o),((n=this.addonOptions)==null?void 0:n.clipboardPasteDelay)??Ql),!1}}}markCopySelection(e){var s;this.clearCopySelection();const t=this._grid.getColumns(),i={};for(const n of e)for(let o=n.fromRow;o<=n.toRow;o++){i[o]={};for(let l=n.fromCell;l<=n.toCell&&l<t.length;l++)i[o][t[l].id]=this._copiedCellStyle}this._grid.setCellCssStyles(this._copiedCellStyleLayerKey,i),window.clearTimeout(this._clearCopyTI),this._clearCopyTI=window.setTimeout(()=>this.clearCopySelection(),((s=this.addonOptions)==null?void 0:s.clearCopySelectionDelay)||$c)}}class zs{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new Pe,this._eventHandler=new pe}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get menuCssClass(){return this._menuPluginCssPrefix||this._menuCssPrefix}get menuElement(){return this._menuElm||document.querySelector(`.${this.menuCssClass}${this.gridUidSelector}`)}dispose(){var e,t,i,s,n;(e=this._eventHandler)==null||e.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(t=this._commandTitleElm)==null||t.remove(),(i=this._optionTitleElm)==null||i.remove(),this.disposeAllMenus(),ee(this._menuElm),(s=this.menuElement)==null||s.remove(),(n=this._menuElm)==null||n.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(e=>e.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(e=>e.remove())}setOptions(e){this._addonOptions={...this._addonOptions,...e}}addSubMenuTitleWhenExists(e,t){if(e!=="divider"&&(e!=null&&e.subMenuTitle)){const i=document.createElement("div");i.className="slick-menu-title",i.textContent=e.subMenuTitle;const s=e.subMenuTitleCssClass;s&&i.classList.add(...he(s)),t.appendChild(i)}}populateCommandOrOptionItems(e,t,i,s,n,o,l){if(n&&s&&t)for(const a of s)this.populateSingleCommandOrOptionItem(e,t,i,a,n,o,l)}populateCommandOrOptionTitle(e,t,i,s){var n;if(t){const o=s>0,l=((n=this._menuElm)==null?void 0:n.querySelector(`.slick-${e}-header`))??v("div",{className:`slick-${e}-header`}),a=`${e}Title`;o||(t!=null&&t[a]?(ee(l),this[`_${e}TitleElm`]=v("span",{className:"slick-menu-title",textContent:t[a]}),l.appendChild(this[`_${e}TitleElm`]),l.classList.add("with-title")):l.classList.add("no-title"),i.appendChild(l))}}populateSingleCommandOrOptionItem(e,t,i,s,n,o,l){var h;let a=null;if(n&&s&&t){const d=(n==null?void 0:n.level)||0,c=this._camelPluginName==="headerButtons"?"":"-item",u=`${this._menuCssPrefix}${c}`;let p=!0,m=!0;if(typeof s=="object"&&(p=this.extensionUtility.runOverrideFunctionWhenExists(s.itemVisibilityOverride,n),m=this.extensionUtility.runOverrideFunctionWhenExists(s.itemUsabilityOverride,n)),!p)return null;if(typeof s=="object"&&s.itemUsabilityOverride&&(s.disabled=!m),a=v("li",{className:u,role:"menuitem"}),typeof s=="object"&&q(s[e])&&(a.dataset[e]=s==null?void 0:s[e]),i&&i.appendChild(a),typeof s=="object"&&s.divider||s==="divider")return a.classList.add(`${u}-divider`),a;if(s.disabled&&a.classList.add(`${u}-disabled`),(s.hidden||s.showOnHover)&&a.classList.add(`${u}-hidden`),s.cssClass&&a.classList.add(...he(s.cssClass)),s.tooltip&&(a.title=s.tooltip),this._camelPluginName!=="headerButtons"){const g=v("div",{className:`${this._menuCssPrefix}-icon`});a.appendChild(g),s.iconCssClass?g.classList.add(...he(s.iconCssClass)):!s.commandItems&&!s.optionItems&&(g.textContent="◦");const _=v("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof s=="object"&&s.title||""},a);s.textCssClass&&_.classList.add(...he(s.textCssClass))}const f=d>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(a,"click",g=>o.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),((h=this._addonOptions)==null?void 0:h.subMenuOpenByEvent)==="mouseover"&&typeof l=="function"&&this._bindEventService.bind(a,"mouseover",g=>l.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),s.commandItems||s.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(...he(this._addonOptions.subItemChevronClass)):g.textContent="⮞",a.classList.add("slick-submenu-item"),a.appendChild(g)}}return a}}class Zl extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(e){var i,s,n,o,l;(i=this.menuElement)==null||i.remove(),this._menuElm=void 0;const t=this.grid.getCellFromEvent(e);if(t){this._currentCell=t.cell??0,this._currentRow=t.row??0;const a=((s=this._addonOptions)==null?void 0:s.commandItems)||[],h=((n=this._addonOptions)==null?void 0:n.optionItems)||[],d={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(e,d),typeof e.stopPropagation=="function"&&(this.pubSubService.publish(`on${ti(this._camelPluginName)}BeforeMenuShow`,d),typeof((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(e,d)===!1)||(this._menuElm=this.createMenu(a,h),this._menuElm&&(this._menuElm.style.top=`${(e.pageY||0)+5}px`,this._menuElm.style.left=`${e.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${ti(this._camelPluginName)}AfterMenuShow`,d),typeof((l=this.addonOptions)==null?void 0:l.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(e,d)===!1))return}return this._menuElm}createMenu(e,t,i=0,s){var _,C,b,S,E;const n=this.grid.getColumns()[this._currentCell],o=this.grid.getDataItem(this._currentRow),l=(s==null?void 0:s.command)||(s==null?void 0:s.option);let a=i===1&&l?String(l).replace(/\s/g,""):"";a&&(this._subMenuParentId=a),i>1&&(a=this._subMenuParentId);let h=!0,d=!0;if(this._camelPluginName==="contextMenu"){if(h=this.checkIsColumnAllowed(((_=this._addonOptions)==null?void 0:_.optionShownOverColumnIds)??[],n.id),d=this.checkIsColumnAllowed(((C=this._addonOptions)==null?void 0:C.commandShownOverColumnIds)??[],n.id),!n||(!d||!e.length)&&(!h||!t.length)){this.hideMenu();return}}else if(!n||!n.cellMenu||!e.length&&!t.length)return;const c=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===a)return u;this.disposeSubMenus()}const p=document.createElement("div");p.className=c,i>0&&(p.classList.add("slick-submenu"),(b=this.gridOptions)!=null&&b.darkMode&&p.classList.add("slick-dark-mode"),a&&(p.dataset.subMenuParent=a));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,f=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(p.style.maxHeight=m),f&&(p.style.maxWidth=f),(S=this.addonOptions)!=null&&S.width&&(p.style.width=Pt((E=this.addonOptions)==null?void 0:E.width));const g=v("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&h&&t.length>0){const y=v("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},p);this.populateCommandOrOptionTitle("option",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&this.populateCommandOrOptionCloseBtn("option",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("option",this.addonOptions,y,t,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&d&&e.length>0){const y=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},p);this.populateCommandOrOptionTitle("command",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&(!h||t.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("command",this.addonOptions,y,e,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return i++,p}closeMenu(e,t){var i;if(this.menuElement){if(typeof((i=this.addonOptions)==null?void 0:i.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(e,t)===!1)return;this.hideMenu()}}hideMenu(){var e;(e=this.menuElement)==null||e.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(e,t){return(e==null?void 0:e.length)>0?e.findIndex(i=>i===t)>=0:!0}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.closeMenu(e,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(e){e.defaultPrevented||this.closeMenu(e,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(e,t,i,s=0){(i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems||i.optionItems?(this.repositionSubMenu(i,t,s,e),this._lastMenuTypeClicked=t):s===0&&this.disposeSubMenus())}handleMenuItemCommandClick(e,t,i,s=0){var n;if((i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(t==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const o=this._currentCell,l=this._currentRow,a=this.grid.getColumns()[this._currentCell],h=this.grid.getDataItem(this._currentRow),d=i[t]!==void 0?i[t]:"";if(d!==void 0&&!i[`${t}Items`]){const c={cell:this._currentCell,row:this._currentRow,grid:this.grid,[t]:d,item:i,column:a,dataContext:h},u=t==="command"?"onCommand":"onOptionSelected",p=`${this._camelPluginName}:${u}`;this.pubSubService.publish(p,c),typeof((n=this._addonOptions)==null?void 0:n[u])=="function"&&this._addonOptions[u](e,c),typeof i.action=="function"&&i.action.call(this,e,c),e.defaultPrevented||this.closeMenu(e,{cell:o,row:l,grid:this.grid})}else(i.commandItems||i.optionItems)&&this.repositionSubMenu(i,t,s,e);this._lastMenuTypeClicked=t}}populateCommandOrOptionCloseBtn(e,t,i){this._bindEventService.bind(t,"click",n=>this.handleCloseButtonClicked(n),void 0,"parent-menu");const s=i.querySelector(`.slick-${e}-header`)??v("div",{className:`slick-${e}-header`});s==null||s.appendChild(t),i.appendChild(s),s.classList.add("with-close")}repositionSubMenu(e,t,i,s){(s.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==t)&&this.disposeSubMenus();const n=this.createMenu((e==null?void 0:e.commandItems)||[],(e==null?void 0:e.optionItems)||[],i+1,e);n&&(n.style.display="block",document.body.appendChild(n),this.repositionMenu(s,n))}repositionMenu(e,t){var n;const i=t==null?void 0:t.classList.contains("slick-submenu"),s=i?e.target.closest(`.${this._menuCssPrefix}-item`):e.target.closest(".slick-cell");if(t&&s){t.style.top="0px",t.style.left="0px";const o=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,l=ge(s);let a=s&&this._camelPluginName==="cellMenu"?l.left:o.pageX,h=s&&this._camelPluginName==="cellMenu"?l.top:o.pageY;i&&this._camelPluginName==="contextMenu"&&(a=l.left,h=l.top);const d=s.offsetWidth||0,c=(t==null?void 0:t.offsetHeight)||0,u=(t==null?void 0:t.offsetWidth)||this._addonOptions.width||0,p=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),f=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:_}=Vi(s),C=g+m-p,b=_-m+p;(C<c&&b>C?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),i?h-=c-m-s.clientHeight:h-=c-m):(t.classList.remove("dropup"),t.classList.add("dropdown"),h=h+m,this._camelPluginName==="cellMenu"&&(i?h+=m:h+=p+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let _=a+Number(u);i&&(_+=s.clientWidth);const C=document.documentElement.clientWidth;(_>=g.width||_>=C?"left":"right")==="left"||!i&&this._addonOptions.dropSide==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!i?a-=Number(u)-d-f:a-=Number(u)-f):(t.classList.remove("dropleft"),t.classList.add("dropright"),i?a+=f+s.offsetWidth:a+=f)}t.style.top=`${h}px`,t.style.left=`${a}px`}}}class Gc extends Zl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.pluginName="CellMenu",this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,subMenuOpenByEvent:"mouseover"},this._camelPluginName="cellMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-cell-menu",this.init(i.gridOptions.cellMenu)}init(e){this._addonOptions={...this._defaults,...e},this.sortMenuItems(this.sharedService.allColumns),this._eventHandler.subscribe(this.grid.onClick,this.handleCellClick.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateCellMenu(){var i;const e=(i=this.sharedService)==null?void 0:i.gridOptions,t=this.sharedService.allColumns;e!=null&&e.enableTranslate&&Array.isArray(t)&&t.forEach(s=>{if(s!=null&&s.cellMenu&&(Array.isArray(s.cellMenu.commandItems)||Array.isArray(s.cellMenu.optionItems))){const n=s.cellMenu.commandItems||[],o=s.cellMenu.optionItems||[];s.cellMenu.commandTitleKey&&(s.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.commandTitleKey,"TEXT_COMMANDS")||s.cellMenu.commandTitle),s.cellMenu.optionTitleKey&&(s.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.optionTitleKey,"TEXT_COMMANDS")||s.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(n,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(o,"optionItems")}})}handleCellClick(e,t){var s;this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const n=this.grid.getDataItem(i.row),o=this.grid.getColumns()[i.cell];o!=null&&o.cellMenu&&!((s=this.gridOptions.cellMenu)!=null&&s.activateCellOnMenuClick)&&e.preventDefault(),this._addonOptions={...this._addonOptions,...o.cellMenu};const l=t||{};if(l.column=o,l.dataContext=n,l.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,l))return;this._menuElm=this.createParentMenu(e),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(e){e.forEach(t=>{var i,s;(i=t==null?void 0:t.cellMenu)!=null&&i.commandItems&&this.extensionUtility.sortItems(t.cellMenu.commandItems||[],"positionOrder"),(s=t==null?void 0:t.cellMenu)!=null&&s.optionItems&&this.extensionUtility.sortItems(t.cellMenu.optionItems||[],"positionOrder")})}}class Uc{constructor(e,t){this.grid=e,this.pluginName="CellRangeDecorator",this._defaults={selectionCssClass:"slick-range-decorator",selectionCss:{border:"2px dashed red",zIndex:"9999"},offset:{top:-1,left:-1,height:-2,width:-2}},this._options=Zt(this._defaults,t)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var e;(e=this._elem)==null||e.remove(),this._elem=null}show(e){var s,n;this._elem||(this._elem=v("div",{className:this._options.selectionCssClass}),Object.keys(this._options.selectionCss).forEach(o=>{this._elem.style[o]=this._options.selectionCss[o]}),this._elem.style.position="absolute",(s=this.grid.getActiveCanvasNode())==null||s.appendChild(this._elem));const t=this.grid.getCellNodeBox(e.fromRow,e.fromCell),i=this.grid.getCellNodeBox(e.toRow,e.toCell);return t&&i&&((n=this._options)!=null&&n.offset)&&(this._elem.style.top=`${t.top+this._options.offset.top}px`,this._elem.style.left=`${t.left+this._options.offset.left}px`,this._elem.style.height=`${i.bottom-t.top+this._options.offset.height}px`,this._elem.style.width=`${i.right-t.left+this._options.offset.width}px`),this._elem}}class mr{constructor(e){this.pluginName="CellRangeSelector",this._currentlySelectedRange=null,this._canvas=null,this._dragging=!1,this._gridUid="",this._columnOffset=0,this._rowOffset=0,this._isRightCanvas=!1,this._isBottomCanvas=!1,this._xDelayForNextCell=0,this._yDelayForNextCell=0,this._viewportHeight=0,this._viewportWidth=0,this._isRowMoveRegistered=!1,this._scrollLeft=0,this._scrollTop=0,this._defaults={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},this.onBeforeCellRangeSelected=new P("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new P("onCellRangeSelecting"),this.onCellRangeSelected=new P("onCellRangeSelected"),this._eventHandler=new pe,this._options=Zt(this._defaults,e)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var e;return this._gridUid||(((e=this._grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(e){this._grid=e,this._decorator=this._options.cellDecorator||new Uc(e,this._options),this._canvas=e.getCanvasNode(),this._gridOptions=e.getOptions(),this._gridUid=e.getUID();const t=e.getPubSubService();t&&T.addSlickEventPubSubWhenDefined(t,this),this._eventHandler.subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this)).subscribe(this._grid.onScroll,this.handleScroll.bind(this))}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),ee(this._activeCanvas),ee(this._canvas),(t=this._decorator)==null||t.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(e,t){var m;const i=((m=e==null?void 0:e.touches)==null?void 0:m[0])??e,s=this._activeViewport.scrollLeft,n=this._activeViewport.scrollTop,o=s+this._viewportWidth,l=n+this._viewportHeight,a=ge(this._activeViewport),h=a.left,d=a.top,c=h+this._viewportWidth,u=d+this._viewportHeight,p={e,dd:t,viewport:{left:s,top:n,right:o,bottom:l,offset:{left:h,top:d,right:c,bottom:u}},offset:{x:0,y:0},isOutsideViewport:!1};return i.pageX<h?p.offset.x=i.pageX-h:i.pageX>c&&(p.offset.x=i.pageX-c),i.pageY<d?p.offset.y=d-i.pageY:i.pageY>u&&(p.offset.y=u-i.pageY),p.isOutsideViewport=!!p.offset.x||!!p.offset.y,p}stopIntervalTimer(){this._autoScrollTimerId&&(window.clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(e,t){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||e.stopImmediatePropagation();const i=e.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(i,t),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(i,t)}handleDragOutsideViewport(){if(this._xDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.x)*this.addonOptions.accelerateInterval,this._yDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.y)*this.addonOptions.accelerateInterval,!this._autoScrollTimerId){let e=0,t=0;this._autoScrollTimerId=window.setInterval(()=>{let i=!1,s=!1;this._draggingMouseOffset.offset.x?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._xDelayForNextCell):e=0,this._draggingMouseOffset.offset.y?(t+=this.addonOptions.minIntervalToShowNextCell,s=t>=this._yDelayForNextCell):t=0,(i||s)&&(i&&(e=0),s&&(t=0),this.handleDragToNewPosition(i,s))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(e,t){let i=this._draggingMouseOffset.e.pageX,s=this._draggingMouseOffset.e.pageY;const n=this._draggingMouseOffset.offset.x,o=this._draggingMouseOffset.offset.y,l=this._draggingMouseOffset.viewport.offset;e&&n&&(n>0?i=l.right+this._moveDistanceForOneCell.x:i=l.left-this._moveDistanceForOneCell.x),t&&o&&(o>0?s=l.top-this._moveDistanceForOneCell.y:s=l.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:i,pageY:s},this._draggingMouseOffset.dd)}handleDragTo(e,t){var n;const i=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,s=this._grid.getCellFromPoint(i.pageX-ge(this._activeCanvas).left+this._columnOffset,i.pageY-ge(this._activeCanvas).top+this._rowOffset);if(s!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&s.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&s.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&s.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&s.row<this._gridOptions.frozenRow))return;if(this.addonOptions.autoScroll&&this._draggingMouseOffset){const o=this._grid.getCellNodeBox(s.row,s.cell);if(o){const l=this._draggingMouseOffset.viewport;(o.left<l.left||o.right>l.right||o.top<l.top||o.bottom>l.bottom)&&this._grid.scrollCellIntoView(s.row,s.cell)}}if(!this._grid.canCellBeSelected(s.row,s.cell))return;if(t!=null&&t.range){t.range.end=s;const o=new tt(t.range.start.row??0,t.range.start.cell??0,s.row,s.cell);this._decorator.show(o),this.onCellRangeSelecting.notify({range:o})}}}handleDragEnd(e,t){this._decorator.hide(),this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new tt(t.range.start.row??0,t.range.start.cell??0,t.range.end.row,t.range.end.cell)}))}handleDragInit(e){var n,o;this._activeCanvas=this._grid.getActiveCanvasNode(e),this._activeViewport=this._grid.getActiveViewportNode(e);const t=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-t.width,this._viewportHeight=this._activeViewport.offsetHeight-t.height,this._moveDistanceForOneCell={x:this._grid.getAbsoluteColumnMinWidth()/2,y:this._gridOptions.rowHeight/2},this._rowOffset=0,this._columnOffset=0,this._isBottomCanvas=this._activeCanvas.classList.contains("grid-canvas-bottom"),this._gridOptions.frozenRow>-1&&this._isBottomCanvas){const l=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((n=document.querySelector(l))==null?void 0:n.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((o=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:o.clientWidth)??0);const i=this._grid.getCellFromEvent(e),s=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(s&&i&&s.row===i.row&&s.cell===i.cell))&&(e.stopImmediatePropagation(),e.preventDefault())}handleDragStart(e,t){const i=this._grid.getCellFromEvent(e);if(i&&this.onBeforeCellRangeSelected.notify(i).getReturnValue()!==!1&&this._grid.canCellBeSelected(i.row,i.cell)&&(this._dragging=!0,e.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const s=ge(this._canvas);let n=t.startX-s.left;this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(n+=this._scrollLeft);let o=t.startY-s.top;this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(o+=this._scrollTop);const l=this._grid.getCellFromPoint(n,o);return t.range={start:l,end:{}},this._currentlySelectedRange=t.range,this._decorator.show(new tt(l.row,l.cell))}handleScroll(e,t){this._scrollTop=t.scrollTop,this._scrollLeft=t.scrollLeft}}class jc{constructor(e){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._selector=e===void 0||e.cellRangeSelector===void 0?new mr({selectionCss:{border:"2px solid black"}}):e.cellRangeSelector,this._addonOptions=e}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(e){this._grid=e,(this._addonOptions===void 0||this._addonOptions.cellRangeSelector===void 0)&&(this._selector=new mr({selectionCss:{border:`2px solid ${this._grid.getOptions().darkMode?"white":"black"}`}})),e.hasDataView()&&(this._dataView=e.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)).subscribe(this._selector.onBeforeCellRangeSelected,this.handleBeforeCellRangeSelected.bind(this)).subscribe(this._selector.onCellRangeSelected,this.handleCellRangeSelected.bind(this)),e.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var e,t;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(e=this._grid)==null||e.unregisterPlugin(this._selector),(t=this._selector)==null||t.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(e,t){let i=e.length!==t.length;if(!i){for(let s=0;s<e.length;s++)if(e[s].fromCell!==t[s].fromCell||e[s].fromRow!==t[s].fromRow||e[s].toCell!==t[s].toCell||e[s].toRow!==t[s].toRow){i=!0;break}}return!i}refreshSelections(){this.setSelectedRanges(this.getSelectedRanges())}removeInvalidRanges(e){const t=[];for(let i=0;i<e.length;i++){const s=e[i];this._grid.canCellBeSelected(s.fromRow,s.fromCell)&&this._grid.canCellBeSelected(s.toRow,s.toCell)&&t.push(s)}return t}resetPageRowCount(){this._cachedPageRowCount=0}setSelectedRanges(e,t="SlickCellSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;const i=!this.rangesAreEqual(this._ranges,e);if(this._ranges=this.removeInvalidRanges(e),i){const s=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,s)}}handleActiveCellChange(e,t){var n,o;this._prevSelectedRow=void 0;const i=q(t.cell),s=q(t.row);(n=this._addonOptions)!=null&&n.selectActiveCell&&s&&i?this.setSelectedRanges([new tt(t.row,t.cell)]):(!((o=this._addonOptions)!=null&&o.selectActiveCell)||!s&&!i)&&this.setSelectedRanges([])}handleBeforeCellRangeSelected(e){const t=this._grid.getCellFromEvent(e),i=this._grid.getActiveCell();if(this._grid.getEditorLock().isActive()&&i&&t&&i.row===t.row&&i.cell===t.cell)return e.stopPropagation(),!1}handleCellRangeSelected(e,t){this._grid.setActiveCell(t.range.fromRow,t.range.fromCell,!1,!1,!0),this.setSelectedRanges([t.range])}isKeyAllowed(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageDown","PageUp","Home","End","a","A"].some(t=>t===e)}handleKeyDown(e){var l,a;let t,i;const s=this._grid.getColumns().length,n=this._grid.getActiveCell();let o=0;if(this._dataView&&"getPagingInfo"in this._dataView?o=((l=this._dataView)==null?void 0:l.getPagingInfo().pageSize)||this._dataView.getLength():o=this._grid.getDataLength(),n&&(e.shiftKey||e.ctrlKey)&&!e.altKey&&this.isKeyAllowed(e.key)&&(t=this.getSelectedRanges().slice(),t.length||t.push(new tt(n.row,n.cell)),i=t.pop(),typeof(i==null?void 0:i.contains)=="function")){i.contains(n.row,n.cell)||(i=new tt(n.row,n.cell));let h=i.toRow-i.fromRow,d=i.toCell-i.fromCell,c,u=0;e.ctrlKey&&((a=e.key)==null?void 0:a.toLowerCase())==="a"&&(this._grid.setActiveCell(0,0,!1,!1,!0),n.row=0,n.cell=0,c=s-1,u=o-1);const p=n.row===i.fromRow?1:-1,m=n.cell===i.fromCell?1:-1,f=e.key.startsWith("Arrow");f&&!e.ctrlKey?(e.key==="ArrowLeft"?d-=m:e.key==="ArrowRight"?d+=m:e.key==="ArrowUp"?h-=p:e.key==="ArrowDown"&&(h+=p),u=n.row+p*h):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=n.row),!e.ctrlKey&&e.shiftKey&&e.key==="Home"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowLeft"?(c=0,u=n.row):!e.ctrlKey&&e.shiftKey&&e.key==="End"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowRight"?(c=s-1,u=n.row):e.ctrlKey&&e.shiftKey&&e.key==="ArrowUp"?u=0:e.ctrlKey&&e.shiftKey&&e.key==="ArrowDown"?u=o-1:e.ctrlKey&&e.shiftKey&&e.key==="Home"?(c=0,u=0):e.ctrlKey&&e.shiftKey&&e.key==="End"?(c=s-1,u=o-1):e.key==="PageUp"?(this._prevSelectedRow>=0&&(u=this._prevSelectedRow-this._cachedPageRowCount),u<0&&(u=0)):e.key==="PageDown"&&(this._prevSelectedRow<=o-1&&(u=this._prevSelectedRow+this._cachedPageRowCount),u>o-1&&(u=o-1)),this._prevSelectedRow=u),c??(c=n.cell+m*d);const g=new tt(n.row,n.cell,u,c);if(this.removeInvalidRanges([g]).length){t.push(g);const _=p>0?g.toRow:g.fromRow,C=m>0?g.toCell:g.fromCell;f?(this._grid.scrollRowIntoView(_),this._grid.scrollCellIntoView(_,C,!1)):(this._grid.scrollRowIntoView(u),this._grid.scrollCellIntoView(u,C,!1))}else t.push(i);this.setSelectedRanges(t),e.preventDefault(),e.stopPropagation(),this._prevKeyDown=e.key}}}class fr{constructor(e){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._options={...this._defaults,...e}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return(e=this._grid)==null?void 0:e.getOptions()}init(e){this._grid=e,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),!this._selector&&this._options.dragToSelect&&(this._selector=new mr({selectionCss:{border:"none"},autoScroll:this._options.autoScrollWhenDrag}),this.addonOptions.cellRangeSelector=this._selector),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onClick,this.handleClick.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)),this._selector&&(this._grid.registerPlugin(this._selector),this._selector.onCellRangeSelecting.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.subscribe(this.handleBeforeCellRangeSelected.bind(this)))}destroy(){this.dispose()}dispose(){this._eventHandler.unsubscribeAll(),this.disposeSelector()}disposeSelector(){var e,t;this._selector&&(this._selector.onCellRangeSelecting.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._grid.unregisterPlugin(this._selector),(e=this._selector)==null||e.destroy(),(t=this._selector)==null||t.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(e){this.setSelectedRanges(this.rowsToRanges(e),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(e,t="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;this._ranges=e;const i=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,i)}getRowsRange(e,t){let i;const s=[];for(i=e;i<=t;i++)s.push(i);for(i=t;i<e;i++)s.push(i);return s}handleBeforeCellRangeSelected(e,t){let i=!1;if(this.gridOptions.enableRowMoveManager&&(i=this.isHandlerColumn(t.cell)??!1),this._grid.getEditorLock().isActive()||i)return e.stopPropagation(),!1;this._grid.setActiveCell(t.row,t.cell)}handleCellRangeSelected(e,t){if(!this.gridOptions.multiSelect||!this.addonOptions.selectActiveRow)return!1;this.setSelectedRanges([new tt(t.range.fromRow,0,t.range.toRow,this._grid.getColumns().length-1)])}handleActiveCellChange(e,t){this._options.selectActiveRow&&t.row!==null&&this.setSelectedRanges([new tt(t.row,0,t.row,this._grid.getColumns().length-1)])}handleClick(e){const t=this._grid.getCellFromEvent(e);if(!t||!this._grid.canCellBeActive(t.row,t.cell)||!this.gridOptions.multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;let i=this.rangesToRows(this._ranges);const s=i.indexOf(t.row);if(s===-1&&(e.ctrlKey||e.metaKey))i.push(t.row),this._grid.setActiveCell(t.row,t.cell);else if(s!==-1&&(e.ctrlKey||e.metaKey))i=i.filter(o=>o!==t.row),this._grid.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){const o=i.pop(),l=Math.min(t.row,o),a=Math.max(t.row,o);i=[];for(let h=l;h<=a;h++)h!==o&&i.push(h);i.push(o),this._grid.setActiveCell(t.row,t.cell)}const n=this.rowsToRanges(i);return this.setSelectedRanges(n),e.stopImmediatePropagation(),!0}handleKeyDown(e){const t=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){let i=this.getSelectedRows();i.sort((l,a)=>l-a),i.length||(i=[t.row]);let s,n=i[0],o=i[i.length-1];if(e.key==="ArrowDown"?s=t.row<o||n===o?++o:++n:s=t.row<o?--o:--n,s>=0&&s<this._grid.getDataLength()){this._grid.scrollRowIntoView(s);const l=this.rowsToRanges(this.getRowsRange(n,o));this.setSelectedRanges(l)}e.preventDefault(),e.stopPropagation()}}isHandlerColumn(e){const i=this._grid.getColumns()[e].behavior||"";return/move|selectAndMove/.test(i)}rangesToRows(e){const t=[];for(let i=0;i<e.length;i++)for(let s=e[i].fromRow;s<=e[i].toRow;s++)t.push(s);return t}rowsToRanges(e){const t=[],i=this._grid.getColumns().length-1;return e.forEach(s=>t.push(new tt(s,0,s,i))),t}}const Jl="mdi-icon-check",ea="mdi-icon-uncheck";class ta{constructor(e,t){this.pubSubService=e,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,applySelectOnAllPages:!0,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},this._addonOptions=this._defaults,this._checkboxColumnCellIndex=null,this._isSelectAllChecked=!1,this._isUsingDataView=!1,this._selectedRowsLookup={},this._selectAll_UID=this.createUID(),this._bindEventService=new Pe,this._eventHandler=new pe,this._addonOptions={...this._defaults,...t}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(e){this._selectedRowsLookup=e}init(e){this._grid=e,this._isUsingDataView=!Array.isArray(e.getData()),this._isUsingDataView&&(this._dataView=e.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(e.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(e.onClick,this.handleClick.bind(this)).subscribe(e.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&(this._eventHandler.subscribe(e.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),this._addonOptions.applySelectOnAllPages&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,this.handleDataViewSelectedIdsChanged.bind(this)).subscribe(this._dataView.onPagingInfoChanged,this.handleDataViewSelectedIdsChanged.bind(this))),this._addonOptions.hideInFilterHeaderRow||this.addCheckboxToFilterHeaderRow(e),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new fr(this.gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionModel)),this.gridOptions.preselectedRows&&this._rowSelectionModel&&this._grid.getSelectionModel()&&window.setTimeout(()=>this.selectRows(this.gridOptions.preselectedRows||[])),typeof this._addonOptions.selectableOverride=="function"&&this.selectableOverride(this._addonOptions.selectableOverride)}dispose(){this._bindEventService.unbindAll(),this._eventHandler.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.checkboxSelector},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.checkboxSelector)==null?void 0:i.columnIndexPosition)??0;n>0?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(e){var t;if(this._addonOptions={...this._addonOptions,...e},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const i=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");if(i){i.style.display="flex",i.ariaChecked=String(this._isSelectAllChecked);const s=i.querySelector('input[type="checkbox"]');s&&(s.ariaChecked=String(this._isSelectAllChecked),s.checked=this._isSelectAllChecked)}}}deSelectRows(e){const t=[];for(const i of e)this._selectedRowsLookup[i]&&(t[t.length]=i);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(i=>t.indexOf(i)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(e){var s;const t=[];for(const n of e)this._selectedRowsLookup[n]&&(t[t.length]=n);const i=(s=this._grid.getSelectedRows())==null?void 0:s.concat(t);this._grid.setSelectedRows(i)}createCheckboxElement(e,t=!1){var o;const i=(o=this.gridOptions)!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment,s=v("label",{className:"checkbox-selector-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"});return n.appendChild(v("input",{id:e,type:"checkbox",checked:t,ariaChecked:String(t)})),n.appendChild(v("div",{className:`mdi ${t?Jl:ea}`})),s.appendChild(n),i.appendChild(s),i}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:e,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var t;const e=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");e&&(e.style.display="none")}toggleRowSelection(e){this.toggleRowSelectionWithEvent(null,e)}toggleRowSelectionWithEvent(e,t){const i=this._grid.getDataItem(t);if(!this.checkSelectableOverride(t,i,this._grid))return;const s=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(e,{row:t,previousSelectedRows:s});const n=this._selectedRowsLookup[t]?this._grid.getSelectedRows().filter(o=>o!==t):this._grid.getSelectedRows().concat(t);this._grid.setSelectedRows(n,"click.toggle"),this._grid.setActiveCell(t,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(e,{row:t,previousSelectedRows:s})}selectableOverride(e){this._selectableOverride=e}addCheckboxToFilterHeaderRow(e){this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{if(i.column.field===(this._addonOptions.field||"_checkbox_selector")){ee(i.node);const s=`header-filter-selector${this._selectAll_UID}`,n=v("label",{id:"filter-checkbox-selectall-container",htmlFor:s}),o=v("div",{className:"icon-checkbox-container"});o.appendChild(v("input",{id:s,type:"checkbox",ariaChecked:"false"})),o.appendChild(v("div",{className:"mdi mdi-icon-uncheck"})),n.appendChild(o),i.node.appendChild(n),this._headerRowNode=i.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(n,"click",l=>this.handleHeaderClick(l,i))}})}checkboxSelectionFormatter(e,t,i,s,n,o){if(n&&this.checkSelectableOverride(e,n,o)){const l=this.createUID()+e;return this.createCheckboxElement(`selector${l}`,!!this._selectedRowsLookup[e])}return null}checkSelectableOverride(e,t,i){return typeof this._selectableOverride=="function"?this._selectableOverride(e,t,i):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const e=this._grid.getColumns();for(let t=0;t<e.length;t++)e[t].id===this._addonOptions.columnId&&(this._checkboxColumnCellIndex=t)}return this._checkboxColumnCellIndex}handleDataViewSelectedIdsChanged(){var s,n;const e=this._dataView.getAllSelectedFilteredIds(),t=this._dataView.getFilteredItems();let i=0;if(typeof this._selectableOverride=="function"&&e.length>0)for(let o=0;o<this._dataView.getItemCount();o++){const l=this._dataView.getItemByIdx(o),a=this._dataView.getIdPropertyName(),h=l[a];t.findIndex(c=>c[a]===h)>=0&&!this.checkSelectableOverride(o,l,this._grid)&&i++}if(this._isSelectAllChecked=e.length+i>=t.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const o=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`),l=(n=this.headerRowNode)==null?void 0:n.querySelector(".icon-checkbox-container .mdi");o&&(o.ariaChecked=String(this._isSelectAllChecked),o.checked=this._isSelectAllChecked),l&&(l.className=`mdi ${this._isSelectAllChecked?Jl:ea}`)}}handleClick(e,t){if(this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(e,t.row),e.stopPropagation(),e.stopImmediatePropagation()}}handleHeaderClick(e,t){if(t.column.id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}let i=e.target.checked;const s=i?"click.selectAll":"click.unselectAll",n=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(e,{previousSelectedRows:n,caller:s});let o=[];if(i){const l=[];for(let a=0;a<this._grid.getDataLength();a++){const h=this._grid.getDataItem(a);!h.__group&&!h.__groupTotals&&this.checkSelectableOverride(a,h,this._grid)&&l.push(a)}o=l,i=!0}if(this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages){const l=[],a=this._dataView.getFilteredItems();for(let h=0;h<a.length;h++){const d=a[h];this.checkSelectableOverride(h,d,this._grid)&&l.push(d[this._dataView.getIdPropertyName()])}this._dataView.setSelectedIds(l,{isRowBeingAdded:i})}this._grid.setSelectedRows(o,s),this._addonOptions.onSelectAllToggleEnd&&this._addonOptions.onSelectAllToggleEnd(e,{rows:o,previousSelectedRows:n,caller:s}),e.stopPropagation(),e.stopImmediatePropagation()}}handleKeyDown(e,t){e.key===" "&&this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&((!this._grid.getEditorLock().isActive()||this._grid.getEditorLock().commitCurrentEdit())&&this.toggleRowSelectionWithEvent(e,t.row),e.preventDefault(),e.stopImmediatePropagation())}handleSelectedRowsChanged(){var a;const e=this._grid.getSelectedRows(),t={};let i=0,s=0,n=0,o=0;if(typeof this._selectableOverride=="function")for(n=0;n<this._grid.getDataLength();n++){const h=this._grid.getDataItem(n);this.checkSelectableOverride(s,h,this._grid)||o++}const l=[];for(s=0;s<e.length;s++){i=e[s];const h=this._grid.getDataItem(i);this.checkSelectableOverride(s,h,this._grid)?(t[i]=!0,t[i]!==this._selectedRowsLookup[i]&&(this._grid.invalidateRow(i),delete this._selectedRowsLookup[i])):l.push(i)}if(typeof this._selectedRowsLookup=="object"&&Object.keys(this._selectedRowsLookup).forEach(h=>{h!==void 0&&this._grid.invalidateRow(+h)}),this._selectedRowsLookup=t,this._grid.render(),this._isSelectAllChecked=((e==null?void 0:e.length)??0)+o>=this._grid.getDataLength(),(!this._isUsingDataView||!this._addonOptions.applySelectOnAllPages)&&(!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow)){const h=(a=this.headerRowNode)==null?void 0:a.querySelector(`#header-filter-selector${this._selectAll_UID}`);h&&(h.ariaChecked=String(this._isSelectAllChecked),h.checked=this._isSelectAllChecked)}if(l.length>0){for(const h of l){const d=e.indexOf(h);e.splice(d,1)}this._grid.setSelectedRows(e,"click.toggle")}}renderSelectAllCheckbox(e){const t=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!e),this._addonOptions.toolTip);t==null||t.classList.add("header-checkbox-selectall")}}class ia extends zs{constructor(e,t,i,s,n){var o;super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._areVisibleColumnDifferent=!1,this._columns=[],this._columnCheckboxes=[],this._commandMenuElm=null,this._headerElm=null,this._isMenuOpen=!1,this._subMenuParentId="",this._defaults={dropSide:"left",showButton:!0,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",marginBottom:15,menuWidth:18,minHeight:150,contentMinWidth:0,resizeOnShowHeaderRow:!1,syncResizeTitle:"Synchronous resize",subMenuOpenByEvent:"mouseover",headerColumnValueExtractor:l=>_t(l.columnPickerLabel||l.name||"","innerHTML")},this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-grid-menu",this._camelPluginName="gridMenu",this._columns=this.sharedService.allColumns??[],this._gridUid=((o=this.grid)==null?void 0:o.getUID())??"",this.onAfterMenuShow=new P("onAfterMenuShow"),this.onBeforeMenuShow=new P("onBeforeMenuShow"),this.onMenuClose=new P("onMenuClose"),this.onCommand=new P("onCommand"),this.onColumnsChanged=new P("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,e=>this.hideMenu(e)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(e,t)=>{if(t&&t.optionsBefore&&t.optionsAfter){const i=t.optionsBefore.frozenColumn>=0&&t.optionsAfter.frozenColumn===-1,s=t.optionsBefore.frozenColumn===-1&&t.optionsAfter.frozenColumn>=0;(i||s)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",T.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const e=this._userOriginalGridMenu.commandItems,t=this._userOriginalGridMenu&&Array.isArray(e)?e:[];this._addonOptions.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var e,t;this._bindEventService.unbindAll(),(e=this._menuElm)==null||e.remove(),this._menuElm=null,(t=this._gridMenuButtonElm)==null||t.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(oa.call(this,this._menuElm),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",la.bind(this),void 0,"parent-menu"))}createGridMenu(){var n,o;const e=this._gridUid?`.${this._gridUid}`:"",t=((n=this._addonOptions)==null?void 0:n.menuWidth)||this._defaults.menuWidth,i=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",s=this.grid.getContainerNode();if(this._headerElm=s.querySelector(`.slick-header-${i}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${t}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const h=s.querySelector(`${e} .slick-headerrow`);h&&(h.style.width=`calc(100% - ${t}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=v("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(o=this._addonOptions)!=null&&o.iconCssClass&&this._gridMenuButtonElm.classList.add(...he(this._addonOptions.iconCssClass));const h=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[h]),this._bindEventService.bind(this._gridMenuButtonElm,"click",this.showGridMenu.bind(this))}this.sharedService.gridOptions.gridMenu={...this._defaults,...this._addonOptions},this.translateTitleLabels(this._addonOptions),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this)),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this))}}createCommandMenu(e,t=0,i){const s=i==null?void 0:i.command;let n=t===1&&s?s.replace(/\s/g,""):"";n&&(this._subMenuParentId=n),t>1&&(n=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${t} ${this._gridUid}`,l=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${t}${this.gridUidSelector}`);if(l){if(l.dataset.subMenuParent===n)return l;this.disposeSubMenus()}const a=v("div",{role:"menu",className:o,ariaLabel:t>1?"SubMenu":"Grid Menu"});t>0&&(a.classList.add("slick-submenu"),n&&(a.dataset.subMenuParent=n));const h={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:t};return this._commandMenuElm=this.recreateCommandList(e,a,h,i),t++,a}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(e){var i,s,n;const t={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",t),!(typeof((i=this._addonOptions)==null?void 0:i.onMenuClose)=="function"&&this._addonOptions.onMenuClose(e,t)===!1||this.onMenuClose.notify(t,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((s=this.grid)==null?void 0:s.autosizeColumns)=="function"){const o=this.grid.getUID()||"";this._areVisibleColumnDifferent&&o&&document.querySelector(`.${o}`)!==null&&(this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this._areVisibleColumnDifferent=!1)}this.disposeSubMenus(),(n=this._menuElm)==null||n.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(e,t,i,s){var a,h;const n=((a=e==null?void 0:e.touches)==null?void 0:a[0])??e,o=t.classList.contains("slick-submenu"),l=o?e.target.closest(".slick-menu-item"):n.target;if(l){const d=i||this._gridMenuButtonElm,c=ge(i),u=ge(l),p=s??this._addonOptions,m=getComputedStyle(d),f=parseInt((m==null?void 0:m.width)??((h=this._defaults)==null?void 0:h.menuWidth),10),g=(t==null?void 0:t.offsetWidth)??0,_=(p==null?void 0:p.contentMinWidth)??this._defaults.contentMinWidth??0,C=(_>g?_:g)||0,b=c.top,S=c.right;let E,y;if(o?(y=u.top,E=u.left):(y=b+d.offsetHeight,E=(p==null?void 0:p.dropSide)==="right"?S-f:S-C),o){const D=(t==null?void 0:t.clientHeight)||0,{bottom:L,top:M}=Vi(l);(L<D&&M>L?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),y-=D-l.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}const x=this.grid.getGridPosition();let O=E+Number(g);o&&(O+=l.clientWidth);const I=document.documentElement.clientWidth;(O>=x.width||O>=I?"left":"right")==="left"||!o&&(p==null?void 0:p.dropSide)==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),o&&(E-=Number(g))):(t.classList.remove("dropleft"),t.classList.add("dropright"),o&&(E+=l.offsetWidth)),t.style.top=`${y}px`,t.style.left=`${E}px`,_>0&&(t.style.minWidth=`${_}px`),t.style.opacity="1",t.style.display="block"}}openGridMenu(){const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(e,"target",{writable:!0,configurable:!0,value:v("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(e)}showGridMenu(e,t){var s,n,o;const i=((s=e==null?void 0:e.touches)==null?void 0:s[0])??e;if(e.preventDefault(),ee(this._menuElm),(n=this._menuElm)==null||n.remove(),this._addonOptions){const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},a={...this._addonOptions,...t};if(a&&!this.extensionUtility.runOverrideFunctionWhenExists(a.menuUsabilityOverride,l)||typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",l),typeof(a==null?void 0:a.onBeforeMenuShow)=="function"&&a.onBeforeMenuShow(e,l)===!1||this.onBeforeMenuShow.notify(l,null,this).getReturnValue()===!1))return;this._menuElm=this.createCommandMenu(((o=this._addonOptions)==null?void 0:o.commandItems)??[]),this.createColumnPickerContainer(),$s.call(this),this._columnCheckboxes=[],ha.call(this,a),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const h=((a==null?void 0:a.marginBottom)!==void 0?a.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=Pt(a==null?void 0:a.minHeight,""),(a==null?void 0:a.height)!==void 0?this._menuElm.style.height=Pt(a.height,""):this._menuElm.style.maxHeight=Pt(a==null?void 0:a.maxHeight,`${window.innerHeight-i.clientY-h}px`);let d=e.target.nodeName==="BUTTON"?e.target:e.target.querySelector("button");d||(d=e.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(e,this._menuElm,d,a),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",l),typeof(a==null?void 0:a.onAfterMenuShow)=="function"&&a.onAfterMenuShow(e,l),this.onAfterMenuShow.notify(l,null,this)}}translateGridMenu(){var e;if(this.sharedService.gridOptions.gridMenu){this.sharedService.gridOptions.gridMenu.commandItems=[],this.sharedService.gridOptions.gridMenu.commandTitle="",this.sharedService.gridOptions.gridMenu.columnTitle="",this.sharedService.gridOptions.gridMenu.forceFitTitle="",this.sharedService.gridOptions.gridMenu.syncResizeTitle="";const t=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(((e=this._addonOptions)==null?void 0:e.commandItems)||[],"commandItems"),this.extensionUtility.sortItems(this.sharedService.gridOptions.gridMenu.commandItems,"positionOrder"),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this.translateTitleLabels(this._addonOptions),this.extensionUtility.translateItems(this._columns,"nameKey","name")}}translateTitleLabels(e){e&&(e.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),e.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),e.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(e){var l,a;const t=this.gridOptions.backendServiceApi||null,i=[],s=this.gridOptions,n=lt(s),o=(l=this._addonOptions)==null?void 0:l.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const d="clear-pinning";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${n}${(o==null?void 0:o.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:d,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const d="clear-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${n}${(o==null?void 0:o.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:d,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const d="toggle-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(t&&!this._addonOptions.hideRefreshDatasetCommand){const d="refresh-dataset";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${n}${(o==null?void 0:o.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:d,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const d="toggle-dark-mode";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${n}${(o==null?void 0:o.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:d,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const d="toggle-preheader";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const d="clear-sorting";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${n}${(o==null?void 0:o.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:d,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const d="export-csv";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:d,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const d="export-excel";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${n}${(o==null?void 0:o.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:d,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const d="export-text-delimited";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:d,positionOrder:57})}const h=((a=this._addonOptions)==null?void 0:a.commandItems)||[];(Array.isArray(i)&&i.length>0||Array.isArray(h)&&h.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return i}executeGridMenuInternalCustomCommands(e,t){var s,n,o;const i=((s=this.sharedService)==null?void 0:s.externalRegisteredResources)||[];if(t!=null&&t.command)switch(t.command){case"clear-pinning":const l=[...this.sharedService.visibleColumns],a={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(a),this.sharedService.gridOptions.frozenColumn=a.frozenColumn,this.sharedService.gridOptions.frozenRow=a.frozenRow,this.sharedService.gridOptions.frozenBottom=a.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=a.enableMouseWheelScrollHandler,Array.isArray(l)&&this.grid.setColumns(l),this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this.pubSubService.publish("onGridMenuClearAllPinning");break;case"clear-filter":this.filterService.clearFilters(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllFilters");break;case"clear-sorting":this.sortService.clearSorting(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllSorting");break;case"export-csv":const d=i.find(g=>g.className==="TextExportService");d!=null&&d.exportToFile?d.exportToFile({delimiter:Ot.comma,format:ve.csv}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"export-excel":const c=i.find(g=>g.className==="ExcelExportService");c!=null&&c.exportToExcel?c.exportToExcel():console.error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Grid Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };");break;case"export-text-delimited":const u=i.find(g=>g.className==="TextExportService");u!=null&&u.exportToFile?u.exportToFile({delimiter:Ot.tab,format:ve.txt}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"toggle-dark-mode":const p=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!p}),this.sharedService.gridOptions.darkMode=!p;break;case"toggle-filter":let m=((n=this.gridOptions)==null?void 0:n.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const f=((o=this.gridOptions)==null?void 0:o.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!f);break;case"refresh-dataset":this.extensionUtility.refreshBackendDataset();break}}getDefaultGridMenuOptions(){return{commandTitle:void 0,columnTitle:this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),forceFitTitle:this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),syncResizeTitle:this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"),iconCssClass:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._isMenuOpen&&this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu(e)}}handleMenuItemCommandClick(e,t,i,s=0){var n,o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,item:i,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(e,a),this.pubSubService.publish("onGridMenuCommand",a),typeof((n=this._addonOptions)==null?void 0:n.onCommand)=="function"&&this._addonOptions.onCommand(e,a),this.onCommand.notify(a,null,this),typeof i.action=="function"&&i.action.call(this,e,a),!((o=this._addonOptions)!=null&&o.leaveOpen)&&!e.defaultPrevented&&this.hideMenu(e),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s)}handleMenuItemMouseOver(e,t,i,s=0){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s):s===0&&this.disposeSubMenus())}recreateCommandList(e,t,i,s){const n=i.level||0;if(e.length>0){const o=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},t);if(n===0){this.populateCommandOrOptionTitle("command",this.addonOptions,o,n);const l=t.querySelector(".slick-command-header")??v("div",{className:"slick-command-header"});l.classList.add("with-close"),ra.call(this,l),o.appendChild(l)}return s&&n>0&&this.addSubMenuTitleWhenExists(s,o),this.populateCommandOrOptionItems("command",this._addonOptions,o,e,i,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),o}return null}repositionSubMenu(e,t,i){const s=(t==null?void 0:t.commandItems)||[],n=this.createCommandMenu(s,i+1,t);n.style.display="block",document.body.appendChild(n),this.repositionMenu(e,n)}}const sa="mdi-icon-picker-check",na="mdi-icon-picker-uncheck";function ra(r){const t=v("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof _r?"slick-column-picker":"slick-grid-menu"}});r.appendChild(t)}function oa(r){var t,i;const e=this;(t=e.addonOptions)!=null&&t.columnTitle&&(e._columnTitleElm=v("div",{className:"slick-menu-title",textContent:((i=e.addonOptions)==null?void 0:i.columnTitle)??e._defaults.columnTitle},r))}function la(r){var o,l;const e=this,t=e instanceof _r?"columnPicker":"gridMenu",i=(o=r.target)==null?void 0:o.closest(".icon-checkbox-container"),s=i==null?void 0:i.querySelector(".mdi"),n=!!r.target.checked;if(r.target.ariaChecked=String(n),aa(s,n),r.target.dataset.option==="autoresize"){const a=e.getVisibleColumns();e.grid.setOptions({forceFitColumns:n}),e.grid.setColumns(a);return}if(r.target.dataset.option==="syncresize"){e.grid.setOptions({syncColumnCellResize:n});return}if(r.target.type==="checkbox"){e._areVisibleColumnDifferent=!0;const a=r.target.dataset.columnid||"",h=[];if(e._columnCheckboxes.forEach((u,p)=>{u.checked&&h.push(e.columns[p])}),!h.length){r.target.checked=!0,aa(s,!0);return}if(e.grid.setColumns(h),(!e.sharedService.visibleColumns||Array.isArray(h)&&h.length!==e.sharedService.visibleColumns.length)&&(e.sharedService.visibleColumns=h),e.gridOptions.enableRowSelection&&n){const u=e.grid.getSelectedRows();e.grid.setSelectedRows(u)}const d=e.gridOptions.frozenColumn??-1;d>=0&&e.extensionUtility.readjustFrozenColumnIndexWhenNeeded(d,e.columns,h);const c={columnId:a,showing:n,allColumns:e.columns,visibleColumns:h,columns:h,grid:e.grid};e.pubSubService.publish(`on${ti(t)}ColumnsChanged`,c),typeof((l=e.addonOptions)==null?void 0:l.onColumnsChanged)=="function"&&e.addonOptions.onColumnsChanged(r,c),e.onColumnsChanged.notify(c,null,e)}}function aa(r,e=!1){r&&(r.className=`mdi ${e?sa:na}`)}function gr(r,e,t,i=!1){const s=v("label",{className:"checkbox-picker-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"}),o=v("input",{id:e,type:"checkbox",dataset:t}),l=v("div",{className:`mdi ${i?sa:na}`}),a=v("span",{className:"checkbox-label"});return n.appendChild(o),n.appendChild(l),s.appendChild(n),s.appendChild(a),r.appendChild(s),i&&(o.ariaChecked="true",o.checked=!0),{inputElm:o,labelElm:s,labelSpanElm:a}}function ha(r){const e=this,t=e instanceof ia,i=t?"gridmenu-":"";for(const s of e.columns){const n=s.id,o=document.createElement("li");(s.excludeFromColumnPicker&&!t||s.excludeFromGridMenu&&t)&&(o.className="hidden");const l=`${e._gridUid}-${i}colpicker-${n}`,a=e.grid.getColumnIndex(n)>=0,{inputElm:h,labelElm:d,labelSpanElm:c}=gr(o,l,{columnid:`${n}`},a);e._columnCheckboxes.push(h);const p=(typeof(r==null?void 0:r.headerColumnValueExtractor)=="function"?r.headerColumnValueExtractor:e._defaults.headerColumnValueExtractor)(s,e.gridOptions);this.grid.applyHtmlCode(c,p),o.appendChild(d),e._listElm.appendChild(o)}if((!r.hideForceFitButton||!r.hideSyncResizeButton)&&e._listElm.appendChild(document.createElement("hr")),!(r!=null&&r.hideForceFitButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-forcefit`,{labelSpanElm:o}=gr(s,n,{option:"autoresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.forceFitTitle)??"",e._listElm.appendChild(s)}if(!(r!=null&&r.hideSyncResizeButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-syncresize`,{labelSpanElm:o}=gr(s,n,{option:"syncresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.syncResizeTitle)??"",e._listElm.appendChild(s)}}function $s(){const r=this,e=r.grid.getColumns().slice(0),t=new Array(r.columns.length);for(let i=0;i<t.length;i++)r.grid.getColumnIndex(r.columns[i].id)===void 0?t[i]=r.columns[i]:t[i]=e.shift();r._columns=t}class _r{constructor(e,t,i){var s,n;this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._areVisibleColumnDifferent=!1,this._columns=[],this._gridUid="",this._menuElm=null,this._columnCheckboxes=[],this._defaults={hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",minHeight:150,syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:o=>_t(o.columnPickerLabel||o.name||"","innerHTML")},this._bindEventService=new Pe,this.onColumnsChanged=new P("onColumnsChanged"),this._eventHandler=new pe,this._columns=this.sharedService.allColumns??[],this._gridUid=((n=(s=this.grid)==null?void 0:s.getUID)==null?void 0:n.call(s))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){return this.sharedService.gridOptions??{}}get grid(){return this.sharedService.slickGrid}get menuElement(){return this._menuElm}init(){this._gridUid=this.grid.getUID()??"",this.gridOptions.columnPicker={...this._defaults,...this.gridOptions.columnPicker},this.onColumnsChanged.setPubSubService(this.pubSubService),this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker"),this._eventHandler.subscribe(this.grid.onPreHeaderContextMenu,e=>{["slick-column-name","slick-header-column"].some(t=>{var i;return(i=e.target)==null?void 0:i.classList.contains(t)})&&this.handleHeaderContextMenu(e)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.bind(this)),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this),void 0,"body"),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this),void 0,"body")}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this.disposeMenu()}disposeMenu(){var e,t;this._bindEventService.unbindAll("parent-menu"),(e=this._listElm)==null||e.remove(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}createPickerMenu(){const e=v("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return $s.call(this),oa.call(this,e),ra.call(this,e),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(e,"click",la.bind(this),void 0,"parent-menu"),document.body.appendChild(e),e}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}translateColumnPicker(){this.addonOptions&&(this.addonOptions.columnTitle="",this.addonOptions.forceFitTitle="",this.addonOptions.syncResizeTitle="",this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker")),this.extensionUtility.translateItems(this._columns,"nameKey","name"),this.translateTitleLabels(this.addonOptions)}handleBodyMouseDown(e){var t;(this._menuElm!==e.target&&!((t=this._menuElm)!=null&&t.contains(e.target))||e.target.className==="close"&&e.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(e){e.preventDefault(),ee(this._menuElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),ha.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(e)}repositionMenu(e){var i;const t=((i=e==null?void 0:e.touches)==null?void 0:i[0])??e;if(this._menuElm){const s=this.grid.getGridPosition(),n=this._menuElm.clientWidth||0;let o=t.pageX||0;s!=null&&s.width&&o+n>=s.width&&(o=o-n),this._menuElm.style.top=`${t.pageY-10}px`,this._menuElm.style.left=`${o}px`,this._menuElm.style.minHeight=Pt(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=Pt(this.addonOptions.maxHeight,`${window.innerHeight-t.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm)}}translateTitleLabels(e){e&&(e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Ws=(r,e,t,i,s,n)=>{const o=i.params||{};if(!o.formatters||!Array.isArray(o.formatters))throw new Error(`[Slickgrid-Universal] The multiple formatter requires the "formatters" to be provided as a column params.
12
+ For example: this.columnDefinitions = [{ id: title, field: title, formatter: Formatters.multiple, params: { formatters: [Formatters.lowercase, Formatters.uppercase] }`);const l=o.formatters;let a=t;return l.forEach((h,d)=>{if(typeof h!="function")throw new Error(`[Slickgrid-Universal] the "params.formatters" at index(${d}) to be used by "Formatters.multiple" is invalid, please verify all formatter functions.`);a=h.call(void 0,r,e,a,i,s,n)}),a};function da(r,e){if(Array.isArray(r)){for(const t of r)if(t.editor)if(t.formatter&&t.formatter!==Ws&&t.formatter!==e){const i=t.formatter;t.formatter=Ws,t.params={...t.params,formatters:[i,e]}}else t.formatter&&t.formatter===Ws&&t.params?t.params.formatters.findIndex(i=>i===e)===-1&&(t.params.formatters=[...t.params.formatters,e]):t.formatter=e}}function Se(r,e,t,i){let s,n,o="",l="";switch(t){case"currency":s=R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL;break;case"decimal":s=R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL;break;case"percent":s=R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL;break}const a=e&&typeof e.getOptions=="function"?e.getOptions():{},h=wt("minDecimal",r,a,s),d=wt("maxDecimal",r,a,n),c=wt("decimalSeparator",r,a,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR),u=wt("thousandSeparator",r,a,R.DEFAULT_NUMBER_THOUSAND_SEPARATOR),p=wt("displayNegativeNumberWithParentheses",r,a,R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET),m=wt("currencyPrefix",r,a,""),f=wt("currencySuffix",r,a,"");return i==="cell"&&(o=wt("numberPrefix",r,a,""),l=wt("numberSuffix",r,a,"")),{minDecimal:h,maxDecimal:d,decimalSeparator:c,thousandSeparator:u,wrapNegativeNumber:p,currencyPrefix:m,currencySuffix:f,numberPrefix:o,numberSuffix:l}}function wt(r,e,t,i){var n;const s=e&&e.params;return s&&s.hasOwnProperty(r)?s[r]:(n=t==null?void 0:t.formatterOptions)!=null&&n.hasOwnProperty(r)?t.formatterOptions[r]:i}function ye(r,e){const t=Ke(r,{withZeroPadding:!0});return(i,s,n,o,l,a)=>{var g,_;const h=a&&typeof a.getOptions=="function"?a.getOptions():{},d=((g=h==null?void 0:h.formatterOptions)==null?void 0:g.dateSeparator)??e,c=(o==null?void 0:o.type)??w.date,u=Ke(c,{withDefaultIso8601:!0}),p=((_=o==null?void 0:o.params)==null?void 0:_.parseDateAsUtc)??!1,m=bt(n,u);let f=n;if(m){let C=m;p&&(C=Yh(m)),f=et(C,t,"en-US")}if(f&&d!==e){const C=new RegExp(e,"ig");f=f.replace(C,d)}return f}}function Cr(r,e,t,i,s,n){let o=!1;t!=null&&t.hasOwnProperty("exportWithFormatter")?o=!!t.exportWithFormatter:n!=null&&n.hasOwnProperty("exportWithFormatter")&&(o=!!n.exportWithFormatter);let l;i&&t.exportCustomFormatter?l=t.exportCustomFormatter:o&&t.formatter&&(l=t.formatter);const a=Gs(l,r,e,t,i,s);return n!=null&&n.sanitizeDataExport&&typeof a=="string"?we(a):a}function Gs(r,e,t,i,s,n){let o="",a=i.field||i.id||"";if(typeof i.field=="string"&&i.field.indexOf(".")>0){const d=i.field.split(".");a=d.length>0?d[0]:i.field}const h=s!=null&&s.hasOwnProperty(a)?s[a]:null;if(typeof r=="function"){const d=r(e,t,h,i,s,n),c=ei(d)?d:d.html||d.text;o=_t(c)}else o=s!=null&&s.hasOwnProperty(a)?h:"";return o==null&&(o=""),typeof o=="object"&&!(o instanceof Date)&&Object.entries(o).length===0&&(o=""),o}class Yc extends Zl{constructor(e,t,i,s){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.treeDataService=s,this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!1,optionShownOverColumnIds:[],commandShownOverColumnIds:[],subMenuOpenByEvent:"mouseover"},this.pluginName="ContextMenu",this._camelPluginName="contextMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-context-menu",this.init(i.gridOptions.contextMenu)}init(e){this._addonOptions={...this._defaults,...e};const t=this._addonOptions&&Array.isArray(this._addonOptions.commandItems)?this._addonOptions.commandItems:[];this._addonOptions.commandItems=[...t,...this.addMenuCustomCommands(t)],this._addonOptions={...this._addonOptions},this.sharedService.gridOptions.contextMenu=this._addonOptions,this.sortMenuItems(),this._eventHandler.subscribe(this.grid.onContextMenu,this.handleOnContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateContextMenu(){var i;const e=((i=this.sharedService)==null?void 0:i.gridOptions)??{},t=this.sharedService.gridOptions.contextMenu;if(t&&(e!=null&&e.enableTranslate)){const s=t.commandItems||[],n=t.optionItems||[];t.commandTitleKey&&(t.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.commandTitleKey,"TEXT_COMMANDS")||t.commandTitle),t.optionTitleKey&&(t.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.optionTitleKey,"TEXT_COMMANDS")||t.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(s,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(n,"optionItems")}}handleOnContextMenu(e,t){this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const s=this.grid.getDataItem(i.row),n=this.grid.getColumns()[i.cell],o=t||{};if(o.cell=i.cell,o.row=i.row,o.column=n,o.dataContext=s,o.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,o))return;this._menuElm=this.createParentMenu(e),this._menuElm&&e.preventDefault(),this._menuElm&&this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}addMenuCustomCommands(e){var l;const t=[],i=this.sharedService&&this.sharedService.gridOptions||{},s=i==null?void 0:i.contextMenu,n=(l=this.sharedService)==null?void 0:l.dataView,o=lt(i);if(s&&!s.hideCopyCellValueCommand){const a="copy";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCopyCellValueCommand||"mdi mdi-content-copy",titleKey:`${o}COPY`,disabled:!1,command:a,positionOrder:50,action:(h,d)=>{this.copyToClipboard(d)},itemUsabilityOverride:h=>{const d=h==null?void 0:h.column,c=h==null?void 0:h.dataContext;if(typeof d.queryFieldNameGetterFn=="function"){const u=Ni(d,c,"");if(u!==""&&u!==void 0)return!0}else if(d&&c.hasOwnProperty(d.field))return c[d.field]!==""&&c[d.field]!==null&&c[d.field]!==void 0;return!1}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportCsvCommand){const a="export-csv";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportCsvCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_CSV`,disabled:!1,command:a,positionOrder:51,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.comma,format:ve.csv});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&i.enableExcelExport&&s&&!s.hideExportExcelCommand){const a="export-excel";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${o}EXPORT_TO_EXCEL`,disabled:!1,command:a,positionOrder:52,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="ExcelExportService");if(d!=null&&d.exportToExcel)d.exportToExcel();else throw new Error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Context Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };")}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportTextDelimitedCommand){const a="export-text-delimited";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_TAB_DELIMITED`,disabled:!1,command:a,positionOrder:53,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.tab,format:ve.txt});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&(i.enableGrouping||i.enableDraggableGrouping||i.enableTreeData)){if(s&&!s.hideCopyCellValueCommand&&t.push({divider:!0,command:"",positionOrder:54}),i&&!i.enableTreeData&&s&&!s.hideClearAllGrouping){const a="clear-grouping";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconClearGroupingCommand||"mdi mdi-close",titleKey:`${o}CLEAR_ALL_GROUPING`,disabled:!1,command:a,positionOrder:55,action:()=>{n.setGrouping([]),this.pubSubService.publish("onContextMenuClearGrouping")},itemUsabilityOverride:()=>{const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideCollapseAllGroups){const a="collapse-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCollapseAllGroupsCommand||"mdi mdi-arrow-collapse",titleKey:`${o}COLLAPSE_ALL_GROUPS`,disabled:!1,command:a,positionOrder:56,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!0):n.collapseAllGroups(),this.pubSubService.publish("onContextMenuCollapseAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideExpandAllGroups){const a="expand-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExpandAllGroupsCommand||"mdi mdi-arrow-expand",titleKey:`${o}EXPAND_ALL_GROUPS`,disabled:!1,command:a,positionOrder:57,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!1):n.expandAllGroups(),this.pubSubService.publish("onContextMenuExpandAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}}return this.extensionUtility.translateMenuItemsFromTitleKey(t),t}copyToClipboard(e){var t,i;try{if(e&&e.grid&&e.command){const s=((t=this.sharedService)==null?void 0:t.gridOptions)??{},n=(e==null?void 0:e.cell)??0,o=(e==null?void 0:e.row)??0,l=e==null?void 0:e.column,a=e==null?void 0:e.dataContext,h=(i=this.sharedService)==null?void 0:i.slickGrid,d=s&&(s.excelExportOptions||s.textExportOptions);let c=Cr(o,n,l,a,h,d);typeof l.queryFieldNameGetterFn=="function"&&(c=Ni(l,a,""));let u=c;typeof c=="string"&&(u=c.replace(/^([·|⮞|⮟]\s*)|([·|⮞|⮟])\s*/gi,"").replace(/[\u00b7|\u034f]/gi,"").trim());const p=document.createElement("textarea");p&&document.body&&(p.style.position="absolute",p.style.opacity="0",p.value=u,document.body.appendChild(p),p.select(),document.execCommand("copy",!1,u)&&p.remove())}}catch{}}sortMenuItems(){var t,i;const e=(i=(t=this.sharedService)==null?void 0:t.gridOptions)==null?void 0:i.contextMenu;e&&(this.extensionUtility.sortItems(e.commandItems||[],"positionOrder"),this.extensionUtility.sortItems(e.optionItems||[],"positionOrder"))}}class qc{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._gridColumns=[],this._gridUid="",this._isInitialized=!1,this._reorderedColumns=[],this._subscriptions=[],this._defaults={dropPlaceHolderText:"Drop a column header here to group by the column",hideGroupSortIcons:!1,hideToggleAllButton:!1,toggleAllButtonText:"",toggleAllPlaceholderText:"Toggle all Groups"},this._bindingEventService=new Pe,this.onGroupChanged=new P("onGroupChanged"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}get dropboxElement(){return this._dropzoneElm}get droppableInstance(){return this._droppableInstance}get sortableLeftInstance(){return this._sortableLeftInstance}get sortableRightInstance(){return this._sortableRightInstance}get eventHandler(){return this._eventHandler}get grid(){return this._grid??this.sharedService.slickGrid??{}}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridContainer(){return this.grid.getContainerNode()}set isInitialized(e){this._isInitialized=e}init(e,t){var i,s;if(this._addonOptions={...this._defaults,...t},this._grid=e,e){if(this._gridUid=e.getUID(),this._gridColumns=e.getColumns(),this._dropzoneElm=e.getTopHeaderPanel()||e.getPreHeaderPanel(),!this._dropzoneElm)throw new Error("[Slickgrid-Universal] Draggable Grouping requires the pre-header to be created and shown for the plugin to work correctly (use `createPreHeaderPanel` and `showPreHeaderPanel`).");if(this._dropzoneElm.classList.add("slick-dropzone"),this.onGroupChanged.setPubSubService(this.pubSubService),!this._addonOptions.hideToggleAllButton){this._groupToggler=v("div",{className:"slick-group-toggle-all",title:this._addonOptions.toggleAllPlaceholderText??"",style:{display:"none"}});const n=v("span",{className:"slick-group-toggle-all-icon"},this._groupToggler);this.gridOptions.enableTranslate&&this._addonOptions.toggleAllButtonTextKey&&(this._addonOptions.toggleAllButtonText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllButtonTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this.gridOptions.enableTranslate&&this._addonOptions.toggleAllPlaceholderTextKey&&(this._addonOptions.toggleAllPlaceholderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllPlaceholderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._groupToggler.title=this._addonOptions.toggleAllPlaceholderText??"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(v("span",{className:"slick-group-toggle-all-text",textContent:this._addonOptions.toggleAllButtonText||""})),this._dropzoneElm.appendChild(this._groupToggler),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuCollapseAllGroups",()=>this.toggleGroupToggler(n,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(n,!1,!1)))}this._dropzonePlaceholderElm=v("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&((i=this._addonOptions)!=null&&i.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=((s=this._addonOptions)==null?void 0:s.dropPlaceHolderText)??this._defaults.dropPlaceHolderText??"",this.setupColumnDropbox(),this._eventHandler.subscribe(e.onHeaderCellRendered,(n,o)=>{var a;const l=o.node;if(!Tn((a=o.column)==null?void 0:a.grouping)&&l&&(l.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const h=v("span",{className:"slick-column-groupable"},l);this._addonOptions.groupIconCssClass&&h.classList.add(...he(this._addonOptions.groupIconCssClass))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const n of this._gridColumns){const o=n.field;e.updateColumnHeader(o)}}return this}dispose(){var e,t;this.destroySortableInstances(),(e=this._droppableInstance)!=null&&e.el&&((t=this._droppableInstance)==null||t.destroy()),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),ee(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel,.${this.gridUid} .slick-topheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const e=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const t of Array.from(e)){const i=this._dropzoneElm.querySelector(".slick-groupby-remove");i==null||i.remove(),t==null||t.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var e,t,i,s;(e=this._sortableLeftInstance)!=null&&e.el&&((t=this._sortableLeftInstance)==null||t.destroy()),(i=this._sortableRightInstance)!=null&&i.el&&((s=this._sortableRightInstance)==null||s.destroy())}setAddonOptions(e){this._addonOptions={...this._addonOptions,...e}}setColumns(e){this._gridColumns=e}setDroppedGroups(e){this._dropzonePlaceholderElm.style.display="none";const t=Array.isArray(e)?e:[e];for(const i of t){const s=this.grid.getHeaderColumn(i);this.handleGroupByDrop(this._dropzoneElm,s)}}setupColumnReorder(e,t,i,s,n,o,l,a,h){this.destroySortableInstances();const d=e.getTopHeaderPanel()||e.getPreHeaderPanel(),c=d.querySelector(".slick-draggable-dropzone-placeholder"),u=d.querySelector(".slick-group-toggle-all"),p={animation:50,ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:m=>{m.item.classList.add("slick-header-column-active"),c&&(c.style.display="inline-block"),d.querySelectorAll(".slick-dropped-grouping").forEach(g=>g.style.display="none"),u&&(u.style.display="none")},onEnd:m=>{var b,S,E;m.item.classList.remove("slick-header-column-active"),d==null||d.classList.remove("slick-dropzone-hover"),(b=c==null?void 0:c.parentElement)==null||b.classList.remove("slick-dropzone-placeholder-hover");const f=d.querySelectorAll(".slick-dropped-grouping");if(f.forEach(y=>y.style.display="flex"),f.length&&(c&&(c.style.display="none"),u&&(u.style.display="inline-flex")),!e.getEditorLock().commitCurrentEdit())return;const g=((S=this.sortableLeftInstance)==null?void 0:S.toArray())??[];if(t.length>1){const y=((E=this._sortableRightInstance)==null?void 0:E.toArray())??[];for(const x of y)g.push(x)}const _=[],C=e.getColumns();for(const y of g)_.push(C[l.call(e,y)]);s.call(e,_),h.call(e,e.onColumnsReordered,{grid:e,impactedColumns:_}),m.stopPropagation(),n.call(e)}};return this._sortableLeftInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-left`),p),this._sortableRightInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-right`),p),this._addonOptions.initialGroupBy&&!this._isInitialized&&this.setDroppedGroups(this._addonOptions.initialGroupBy),this._isInitialized=!0,{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(e){this.columnsGroupBy.push(e),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(e,t,i,s){this._bindingEventService.bind(t,"click",()=>{const n=this._bindingEventService.boundedEvents.filter(o=>o.element===t);for(const o of n)this._bindingEventService.unbind(o.element,"click",o.listener);this.removeGroupBy(e,i,s)})}addGroupSortClickHandler(e,t){const{grouping:i,type:s}=e;this._bindingEventService.bind(t,"click",()=>{if(this.toggleGroupAll(e,!1),i){const n=i.sortAsc?ae.desc:ae.asc;i.comparer=(o,l)=>_i(s||"text",o.value,l.value,n,e,this.gridOptions),this.getGroupBySortIcon(t,!i.sortAsc),this.updateGroupBy("sort-group"),i.sortAsc=!i.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(e,t=!0){t?this._addonOptions.sortAscIconCssClass?(e.classList.remove(...he(this._addonOptions.sortDescIconCssClass)),e.classList.add(...he(this._addonOptions.sortAscIconCssClass))):(e.classList.add("slick-groupby-sort-asc-icon"),e.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(e.classList.remove(...he(this._addonOptions.sortAscIconCssClass)),e.classList.add(...he(this._addonOptions.sortDescIconCssClass))):this._addonOptions.sortDescIconCssClass||(e.classList.add("slick-groupby-sort-desc-icon"),e.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(e,t){var n,o,l;const i=(n=t.getAttribute("data-id"))==null?void 0:n.replace(this._gridUid,"");let s=!0;for(const a of this.columnsGroupBy)a.id===i&&(s=!1);if(s){for(const a of this._gridColumns)if(a.id===i&&a.grouping&&!Tn(a.grouping)){const h=t.querySelector(".slick-column-name"),d=v("div",{id:`${this._gridUid}_${a.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${a.id}`}});v("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:h?h.textContent:t.textContent},d);const c=v("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&c.classList.add(...he(this._addonOptions.deleteIconCssClass)),this._addonOptions.deleteIconCssClass||c.classList.add("slick-groupby-remove-icon");let u;((o=this._addonOptions)==null?void 0:o.hideGroupSortIcons)!==!0&&a.sortable&&(((l=a.grouping)==null?void 0:l.sortAsc)===void 0&&(a.grouping.sortAsc=!0),u=v("div",{className:"slick-groupby-sort"},d),this.getGroupBySortIcon(u,a.grouping.sortAsc)),d.appendChild(c),d.appendChild(document.createElement("div")),e.appendChild(d),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(a),this.addColumnGroupBy(a),this.addGroupByRemoveClickHandler(a.id,c,t,d),u&&this.addGroupSortClickHandler(a,u)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-flex")}}toggleGroupAll({grouping:e},t){var s;const i=(s=this._groupToggler)==null?void 0:s.querySelector(".slick-group-toggle-all-icon");t===!0||e!=null&&e.collapsed?(i==null||i.classList.add("collapsed"),i==null||i.classList.remove("expanded")):(i==null||i.classList.add("expanded"),i==null||i.classList.remove("collapsed"))}removeFromArray(e,t){if(Array.isArray(e)){const i=e.findIndex(s=>s.id===t.id);i>=0&&e.splice(i,1)}return e}removeGroupBy(e,t,i){i.remove();const s=[];this._gridColumns.forEach(n=>s[n.id]=n),this.removeFromArray(this.columnsGroupBy,s[e]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const e=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");e&&this._dropzoneElm&&(this._bindingEventService.bind(e,"dragover",t=>t.preventDefault()),this._bindingEventService.bind(e,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(e,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const e=this._dropzoneElm;this._droppableInstance=B.create(e,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:t=>{var s,n;const i=t.item;(s=i.getAttribute("id"))!=null&&s.replace(this._gridUid,"")&&this.handleGroupByDrop(e,B.utils.clone(t.item)),(n=i.parentNode)==null||n.removeChild(i)},onUpdate:()=>{var s;const t=((s=this._droppableInstance)==null?void 0:s.toArray())??[],i=[];for(const n of t)for(const o of this.columnsGroupBy)if(o.id===n){i.push(o);break}this.columnsGroupBy=i,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",t=>{const i=t.target.classList.contains("slick-group-toggle-all-icon")?t.target:t.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(i,i==null?void 0:i.classList.contains("expanded"))})}toggleGroupToggler(e,t=!0,i=!0){e&&(t===!0?(e.classList.add("collapsed"),e.classList.remove("expanded"),i&&this.dataView.collapseAllGroups()):(e.classList.remove("collapsed"),e.classList.add("expanded"),i&&this.dataView.expandAllGroups()))}updateGroupBy(e){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:e,groupColumns:[]});return}const t=[];this.columnsGroupBy.forEach(i=>t.push(i.grouping)),this.dataView.setGrouping(t),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:e,groupColumns:t})}triggerOnGroupChangedEvent(e){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new le,e),this.onGroupChanged.notify(e)}}class Kc extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Pe,this._eventHandler=new pe,this.init(i.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns())}dispose(){super.dispose(),this._buttonElms.forEach(e=>e.remove())}handleHeaderCellRendered(e,t){var s;const i=t.column;if((s=i.header)!=null&&s.buttons&&Array.isArray(i.header.buttons)){let n=i.header.buttons.length;for(;n--;){const o=i.header.buttons[n],l=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,o,t,this.handleButtonClick.bind(this));l&&o.handler&&!o.disabled&&this._bindEventService.bind(l,"click",a=>o.handler.call(this,a)),l&&(this._buttonElms.push(l),t.node.appendChild(l))}}}handleBeforeHeaderCellDestroy(e,t){var s,n,o;if((s=t.column.header)!=null&&s.buttons&&((n=this._addonOptions)!=null&&n.buttonCssClass)){const l=(((o=this._addonOptions)==null?void 0:o.buttonCssClass)||"").replace(/(\s+)/g,".");l&&t.node.querySelectorAll(`.${l}`).forEach(a=>a.remove())}}handleButtonClick(e,t,i,s,n){var o;if(i.command&&!i.disabled){const l=i.command||"",a={grid:this.grid,column:n,button:i};l&&(a.command=l),typeof i.action=="function"&&!i.disabled&&i.action.call(this,e,a),l!==null&&!i.disabled&&((o=this._addonOptions)!=null&&o.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",a),this._addonOptions.onCommand(e,a),n!=null&&n.id&&this.grid.updateColumnHeader(n.id))}e.preventDefault(),e.stopPropagation()}}class Xc extends zs{constructor(e,t,i,s,n){super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._subMenuParentId="",this._defaults={autoAlign:!0,autoAlignOffset:0,buttonCssClass:null,buttonImage:null,minWidth:100,hideColumnHideCommand:!1,hideSortCommands:!1,title:"",subMenuOpenByEvent:"mouseover"},this.pluginName="HeaderMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-header-menu",this._camelPluginName="headerMenu",this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(this.sharedService.columnDefinitions),this.init(s.gridOptions.headerMenu)}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(t,i)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(i.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var e;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(e=this._menuElm)==null||e.remove(),this._activeHeaderColumnElm=void 0}hideColumn(e){var t,i;if((i=(t=this.sharedService)==null?void 0:t.slickGrid)!=null&&i.getColumnIndex){const s=this.sharedService.slickGrid.getColumnIndex(e.id),n=this.sharedService.slickGrid.getColumns(),o=this.sharedService.gridOptions.frozenColumn??-1;o>=0&&o>=s&&(this.sharedService.gridOptions.frozenColumn=o-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const l=En(n,s);this.sharedService.visibleColumns=l,this.sharedService.slickGrid.setColumns(l),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:l,hiddenColumn:e})}}hideMenu(){var e;this.disposeSubMenus(),(e=this._menuElm)==null||e.remove(),this._menuElm=void 0}repositionSubMenu(e,t,i,s){const n=this.createCommandMenu(t.commandItems||[],s,i+1,t);document.body.appendChild(n),this.repositionMenu(e,n)}repositionMenu(e,t){var p,m;const i=e.target,s=t.classList.contains("slick-submenu"),n=s?e.target.closest(".slick-menu-item"):i,o=this.sharedService.gridContainerElement.classList.contains("slickgrid-container")?this.sharedService.gridContainerElement:this.sharedService.gridContainerElement.querySelector(".slickgrid-container")??this.sharedService.gridContainerElement,l=co(o,i),a=this.grid.getGridPosition(),h=t.offsetWidth,d=ge(n);let c=s?d.left:(l==null?void 0:l.left)??0,u=s?d.top:((l==null?void 0:l.top)??0)+(((p=this.addonOptions)==null?void 0:p.menuOffsetTop)??0)+i.clientHeight;if(s){const f=(t==null?void 0:t.clientHeight)||0,{bottom:g,top:_}=Vi(n);(g<f&&_>g?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),u-=f-n.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}if(s&&n){const f=c+Number(h)+n.clientWidth,g=document.documentElement.clientWidth;(f>=a.width||f>=g?"left":"right")==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),c-=h):(t.classList.remove("dropleft"),t.classList.add("dropright"),c+=n.offsetWidth)}else c=(l==null?void 0:l.left)??0,this.addonOptions.autoAlign&&(a!=null&&a.width)&&c+(t.clientWidth??0)>=a.width&&(c=c+i.clientWidth-t.clientWidth+(((m=this.addonOptions)==null?void 0:m.autoAlignOffset)||0));t.style.top=`${u}px`,t.style.left=`${c}px`}translateHeaderMenu(){var e;(e=this.sharedService.gridOptions)!=null&&e.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(e,t){var n;const s=(n=t.column.header)==null?void 0:n.menu;if(s&&t.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,t))return;const o=v("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},t.node);this.addonOptions.buttonCssClass&&o.classList.add(...he(this.addonOptions.buttonCssClass)),this.addonOptions.tooltip&&(o.title=this.addonOptions.tooltip),this._bindEventService.bind(o,"click",l=>{this.disposeAllMenus(),this.createParentMenu(l,t.column,s)})}}handleBeforeHeaderCellDestroy(e,t){var s;(s=t.column.header)!=null&&s.menu&&t.node.querySelectorAll(".slick-header-menu-button").forEach(n=>n.remove())}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._menuElm!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu()}}handleMenuItemCommandClick(e,t,i,s=0,n){var o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,column:n,item:i};this.executeHeaderMenuInternalCommands(e,a),this.pubSubService.publish("onHeaderMenuCommand",a),typeof((o=this.addonOptions)==null?void 0:o.onCommand)=="function"&&this.addonOptions.onCommand(e,a),typeof i.action=="function"&&i.action.call(this,e,a),e.defaultPrevented||this.hideMenu(),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s,n)}handleMenuItemMouseOver(e,t,i,s=0,n){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s,n):s===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(e){const t=this.sharedService.gridOptions,i=t.headerMenu||{},s=lt(t);return Array.isArray(e)&&t.enableHeaderMenu&&e.forEach(n=>{var o,l,a;if(n&&!n.excludeFromHeaderMenu){n.header?n.header.menu||(n.header.menu={commandItems:[]}):n.header={menu:{commandItems:[]}};const h=((l=(o=n==null?void 0:n.header)==null?void 0:o.menu)==null?void 0:l.commandItems)??[];let d=!1;if(i&&!i.hideFreezeColumnsCommand&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="freeze-columns")||h.push({iconCssClass:i.iconFreezeColumns||"mdi mdi-pin-outline",titleKey:`${s}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:45})),i&&!i.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="column-resize-by-content")||h.push({iconCssClass:i.iconColumnResizeByContentCommand||"mdi mdi-arrow-expand-horizontal",titleKey:`${s}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:47})),d&&!h.some(c=>c!=="divider"&&c.positionOrder===48)&&h.push({divider:!0,command:"",positionOrder:48}),t.enableSorting&&n.sortable&&i&&!i.hideSortCommands&&(h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-asc")||h.push({iconCssClass:i.iconSortAscCommand||"mdi mdi-sort-ascending",titleKey:`${s}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-desc")||h.push({iconCssClass:i.iconSortDescCommand||"mdi mdi-sort-descending",titleKey:`${s}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),h.some(c=>c!=="divider"&&c.positionOrder===52)||h.push({divider:!0,command:"",positionOrder:52}),!i.hideClearSortCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-sort")&&h.push({iconCssClass:i.iconClearSortCommand||"mdi mdi-sort-variant-off",titleKey:`${s}REMOVE_SORT`,command:"clear-sort",positionOrder:58})),(a=n.filter)!=null&&a.filterShortcuts&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="filter-shortcuts-root-menu")){const c=[];n.filter.filterShortcuts.forEach(p=>{const m=p.title?fi(p.title):(p.titleKey||"").toLowerCase().replaceAll("_","-");c.push({...p,command:m,action:(f,g)=>{const _=this.filterService.getFiltersMetadata().find(C=>C.columnDef.id===g.column.id);_==null||_.setValues(p.searchTerms,p.operator,!0)}})});const u=i.filterShortcutsPositionOrder??55;h.push({iconCssClass:i.iconFilterShortcutSubMenu||"mdi mdi-filter-outline",titleKey:`${s}FILTER_SHORTCUTS`,command:"filter-shortcuts-root-menu",positionOrder:u,commandItems:c}),d&&!h.some(p=>p!=="divider"&&p.positionOrder===u+1)&&h.push({divider:!0,command:"",positionOrder:u+1})}t.enableFiltering&&n.filterable&&i&&!i.hideFilterCommand&&!i.hideClearFilterCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-filter")&&h.push({iconCssClass:i.iconClearFilterCommand||"mdi mdi-filter-remove-outline",titleKey:`${s}REMOVE_FILTER`,command:"clear-filter",positionOrder:57}),i&&!i.hideColumnHideCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="hide-column")&&h.push({iconCssClass:i.iconColumnHideCommand||"mdi mdi-close",titleKey:`${s}HIDE_COLUMN`,command:"hide-column",positionOrder:59}),this.extensionUtility.translateMenuItemsFromTitleKey(h),this.extensionUtility.sortItems(h,"positionOrder")}}),i}clearColumnFilter(e,t){t!=null&&t.column&&this.filterService.clearFilterByColumnId(e,t.column.id)}clearColumnSort(e,t){t!=null&&t.column&&this.sharedService&&this.sortService.clearSortByColumnId(e,t.column.id)}executeHeaderMenuInternalCommands(e,t){var i;if(t!=null&&t.command)switch(t.command){case"hide-column":this.hideColumn(t.column),(i=this.sharedService.gridOptions)!=null&&i.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(e,t);break;case"clear-sort":this.clearColumnSort(e,t);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:t.column.id});break;case"freeze-columns":const s=[...this.sharedService.visibleColumns],o={frozenColumn:s.findIndex(d=>d.id===t.column.id),enableMouseWheelScrollHandler:!0},l=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(o,!1,!0),this.sharedService.gridOptions.frozenColumn=o.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=o.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=t.column.id,this.sharedService.hasColumnsReordered||Array.isArray(s)&&Array.isArray(this.sharedService.allColumns)&&s.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(s):this.sharedService.slickGrid.setColumns(l),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const h=t.command==="sort-asc";this.sortColumn(e,t,h);break}}createParentMenu(e,t,i){var n,o,l,a,h;const s={grid:this.grid,column:t,menu:i};typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",s),typeof((n=this.addonOptions)==null?void 0:n.onBeforeMenuShow)=="function"&&((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow(e,s))===!1)||(this._menuElm=this.createCommandMenu(i.commandItems,t),(l=this.grid.getContainerNode())==null||l.appendChild(this._menuElm),this.repositionMenu(e,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",s),!(typeof((a=this.addonOptions)==null?void 0:a.onAfterMenuShow)=="function"&&((h=this.addonOptions)==null?void 0:h.onAfterMenuShow(e,s))===!1)&&(e.preventDefault(),e.stopPropagation()))}createCommandMenu(e,t,i=0,s){var u;const n=s==null?void 0:s.command;let o=i===1&&n?n.replace(/\s/g,""):"";o&&(this._subMenuParentId=o),i>1&&(o=this._subMenuParentId);const l=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,a=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(a){if(a.dataset.subMenuParent===o)return a;this.disposeSubMenus()}const h=v("div",{ariaExpanded:"true",ariaLabel:i>1?"SubMenu":"Header Menu",role:"menu",className:l,style:{minWidth:`${this.addonOptions.minWidth}px`}});i>0&&(h.classList.add("slick-submenu"),o&&(h.dataset.subMenuParent=o),(u=this.gridOptions)!=null&&u.darkMode&&h.classList.add("slick-dark-mode"));const d=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},h),c={grid:this.grid,column:t,level:i,menu:{commandItems:e}};return s&&i>0&&this.addSubMenuTitleWhenExists(s,d),this.populateCommandOrOptionItems("command",this.addonOptions,d,e,c,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),i++,h}resetHeaderMenuTranslations(e){e.forEach(t=>{var i,s;if((s=(i=t==null?void 0:t.header)==null?void 0:i.menu)!=null&&s.commandItems&&!t.excludeFromHeaderMenu){const n=t.header.menu.commandItems||[];this.extensionUtility.translateMenuItemsFromTitleKey(n)}})}sortColumn(e,t,i=!0){if(t!=null&&t.column){const s=t.column,n=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(s.id+""):[];let o=oe.local;n.push({columnId:s.id,sortCol:s,sortAsc:i}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:n,grid:this.sharedService.slickGrid}),o=oe.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,n),o=oe.local):t.grid.onSort.notify(n);const l=n.map(a=>{var h;return{columnId:((h=a==null?void 0:a.sortCol)==null?void 0:h.id)??"",sortAsc:(a==null?void 0:a.sortAsc)??!0}});if(this.sharedService.slickGrid.setSortColumns(l),o){const a=[];l.forEach(h=>{a.push({columnId:`${h.columnId}`,direction:h.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(o,a)}}}}const Us="slick-rbe-editmode",Qc="slick-rbe-unsaved-cell",ca="slick-rbe-unsaved-highlight",vr="action-btns--delete",br="action-btns--edit",Sr="action-btns--update",yr="action-btns--cancel";class ua{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.pluginName="RowBasedEdit",this._defaults={actionsColumnLabel:"Actions",allowMultipleRows:!1,columnId:"_slick_rowbasededit_action",columnIndexPosition:-1,reorderable:!1},this._editedRows=new Map,this._currentLang="en",this._translations={},this.onBeforeEditCellHandler=(s,n)=>{var o;return this._editedRows.has((o=n.item)==null?void 0:o[this.gridOptions.datasetIdPropertyName??"id"])},this._eventHandler=new pe,this._addonOptions=i}get addonOptions(){return this._addonOptions}get gridOptions(){return this._grid.getOptions()||{}}get eventHandler(){return this._eventHandler}init(e,t){var n,o;this._grid=e,this._gridService=t,this._addonOptions={...this._defaults,...this.addonOptions};const i=this._grid.getData();if(this._eventHandler.subscribe(this._grid.onBeforeEditCell,this.onBeforeEditCellHandler),this.checkOptionsRequirements(this.gridOptions),this.gridOptions.autoEdit||(this._grid.setOptions({autoEdit:!0}),console.warn('[Slickgrid-Universal] The Row Based Edit Plugin works best with the gridOption "autoEdit" enabled, the option has now been set automatically for you.')),this._existingEditCommandHandler=this.gridOptions.editCommandHandler,this._grid.setOptions({editCommandHandler:this.rowBasedEditCommandHandler.bind(this)}),this.gridOptions.enableExcelCopyBuffer===!0){const l=(n=this.gridOptions.excelCopyBufferOptions)==null?void 0:n.onBeforePasteCell;this._grid.setOptions({excelCopyBufferOptions:{...this.gridOptions.excelCopyBufferOptions,onBeforePasteCell:(a,h)=>{let d=!0;if(l&&(d=l(a,h),d===!1))return!1;const c=i.getItem(h.row),u=this.gridOptions.datasetIdPropertyName??"id";return!!(this._editedRows.has(c[u])&&d===!0)}}})}const s=i.getItemMetadata;i.getItemMetadata=this.updateItemMetadata((o=s==null?void 0:s.bind)==null?void 0:o.call(s,i)),this._eventHandler.subscribe(this._grid.onSetOptions,this.optionsUpdatedHandler.bind(this)),this._eventHandler.subscribe(i.onRowsOrCountChanged,this.handleAllRowRerender.bind(this)),this.translate()}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),(t=this.pubSubService)==null||t.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowBasedEditOptions},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.rowBasedEditOptions)==null?void 0:i.columnIndexPosition)??-1;n===-1?e.push(s):n>0&&n<e.length?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t,i,s,n;return{id:String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId),name:(i=this._addonOptions)==null?void 0:i.actionsColumnLabel,field:"action",minWidth:70,width:75,maxWidth:75,excludeFromExport:!0,reorderable:(s=this._addonOptions)==null?void 0:s.reorderable,formatter:this.actionColumnFormatter.bind(this),onCellClick:this.onCellClickHandler.bind(this),...((n=this._addonOptions)==null?void 0:n.actionColumnConfig)??{}}}rowBasedEditCommandHandler(e,t,i){var c;this._existingEditCommandHandler&&this._existingEditCommandHandler(e,t,i);const s=Array.isArray(i.prevSerializedValue)?i.prevSerializedValue:[i.prevSerializedValue],n=Array.isArray(i.serializedValue)?i.serializedValue:[i.serializedValue],o=(c=this._gridService)==null?void 0:c.getAllColumnDefinitions().filter(u=>u.editor!==void 0),l=[],a=this.gridOptions.datasetIdPropertyName??"id";s.forEach((u,p)=>{const m=s[p],f=n[p];if(m!==f||f===""){const g=Array.isArray(i.prevSerializedValue)?o==null?void 0:o[p]:t;if(!g)return;this._grid.invalidate(),i.execute(),this.renderUnsavedCellStyling(e[a],g),l.push(g)}});const h=this._editedRows.get(e[a]),d=[...(h==null?void 0:h.editCommands)||[]];l.length>0&&d.push(i),this._editedRows.set(e[a],{columns:[...(h==null?void 0:h.columns)||[],...l],editCommands:d,cssStyleKeys:(h==null?void 0:h.cssStyleKeys)||[]})}translate(e=!1){var t;return this._currentLang=((t=this.extensionUtility.translaterService)==null?void 0:t.getCurrentLanguage())??"en",(!this._translations[this._currentLang]||e)&&(this._translations[this._currentLang]={btnUpdateTitle:this.getTitleOrDefault("updateButtonTitle","Update the row"),btnEditTitle:this.getTitleOrDefault("editButtonTitle","Edit the Row"),btnDeleteTitle:this.getTitleOrDefault("deleteButtonTitle","Delete the Row"),btnCancelTitle:this.getTitleOrDefault("cancelButtonTitle","Cancel changes of the Row")}),this._translations[this._currentLang]}checkOptionsRequirements(e){if(!(e!=null&&e.enableCellNavigation))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption cell navigation (enableCellNavigation = true)");if(!(e!=null&&e.editable))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption editable (editable = true)")}undoRowEdit(e){const t=this.gridOptions.datasetIdPropertyName??"id",i=this._editedRows.get(e[t]),s=this._grid.getData().getRowByItem(e);if(s!==void 0&&(i!=null&&i.editCommands)&&i.editCommands.length||Ui.cancelCurrentEdit()){for(;i.editCommands.length>0;){const n=i.editCommands.pop();n&&n.undo()}i.columns.forEach(n=>{this.removeUnsavedStylingFromCell(n,s)}),i.columns=[],this._grid.invalidate()}}renderUnsavedCellStyling(e,t){var i,s;if(t){const n=(i=this._grid.getData())==null?void 0:i.getRowById(e);if(n!==void 0&&n>=0){const o={[n]:{[t.id]:Qc}},l=`${ca}_${[t.id]}${n}`;this._grid.setCellCssStyles(l,o),(s=this._editedRows.get(e))==null||s.cssStyleKeys.push(l)}}}handleAllRowRerender(e,t){this._editedRows.forEach((i,s)=>{i.cssStyleKeys.forEach(n=>{this._grid.removeCellCssStyles(n)}),i.cssStyleKeys=[],i.columns.forEach(n=>{this.renderUnsavedCellStyling(s,n)})})}removeUnsavedStylingFromCell(e,t){const i=`${ca}_${[e.id]}${t}`;this._grid.removeCellCssStyles(i)}removeUnsavedStylingFromRow(e){this._grid.getColumns().forEach(t=>{this.removeUnsavedStylingFromCell(t,e)})}optionsUpdatedHandler(e,t){this._addonOptions={...this._defaults,...t.optionsAfter.rowBasedEditOptions}}async onCellClickHandler(e,t){var l,a,h,d,c,u,p,m,f,g,_,C,b,S,E;const i=t.dataContext,s=e.target,n=this.gridOptions.datasetIdPropertyName??"id",o=this._editedRows.get(i[n]);if((s.classList.contains(vr)||(l=s.parentElement)!=null&&l.classList.contains(vr))&&this._gridService){if((h=(a=this._addonOptions)==null?void 0:a.actionButtons)!=null&&h.deleteButtonPrompt&&!window.confirm(this._addonOptions.actionButtons.deleteButtonPrompt))return;this.toggleEditmode(i,!1),this._gridService.deleteItem(i)}else if(s.classList.contains(br)||(d=s.parentElement)!=null&&d.classList.contains(br)){if(!((c=this._addonOptions)!=null&&c.allowMultipleRows)&&this._editedRows.size>0)return;typeof((u=this._addonOptions)==null?void 0:u.onBeforeEditMode)=="function"&&this._addonOptions.onBeforeEditMode(t),this.toggleEditmode(i,!0)}else if(s.classList.contains(Sr)||(p=s.parentElement)!=null&&p.classList.contains(Sr)){if((f=(m=this._addonOptions)==null?void 0:m.actionButtons)!=null&&f.updateButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.updateButtonPrompt)||(this._grid.getCellEditor()&&((g=this._grid.getActiveCell())==null?void 0:g.row)===t.row&&((_=this._grid.getEditController())==null||_.commitCurrentEdit()),(C=this._addonOptions)!=null&&C.onBeforeRowUpdated&&await this._addonOptions.onBeforeRowUpdated(t)!==!0))return;this.removeUnsavedStylingFromRow(t.row),this.toggleEditmode(i,!1)}else if(s.classList.contains(yr)||(b=s.parentElement)!=null&&b.classList.contains(yr)){if((E=(S=this._addonOptions)==null?void 0:S.actionButtons)!=null&&E.cancelButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.cancelButtonPrompt))return;this.undoRowEdit(i),this.toggleEditmode(i,!1)}}actionColumnFormatter(e,t,i,s,n){var d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I;const o=this.gridOptions,l=this._editedRows.has(n==null?void 0:n[o.datasetIdPropertyName??"id"]),a=this._translations[this._currentLang]??this.translate(),h=document.createDocumentFragment();return h.appendChild(v("span",{className:`${((c=(d=o.rowBasedEditOptions)==null?void 0:d.actionButtons)==null?void 0:c.editButtonClassName)||"button-style padding-1px mr-2"} action-btns `+br,title:a.btnEditTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((p=(u=o.rowBasedEditOptions)==null?void 0:u.actionButtons)==null?void 0:p.iconEditButtonClassName)||"mdi mdi-table-edit text-color-primary"})),h.appendChild(v("span",{className:`${((f=(m=o.rowBasedEditOptions)==null?void 0:m.actionButtons)==null?void 0:f.deleteButtonClassName)||"button-style padding-1px"} action-btns `+vr,title:a.btnDeleteTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((_=(g=o.rowBasedEditOptions)==null?void 0:g.actionButtons)==null?void 0:_.iconDeleteButtonClassName)||"mdi mdi-close text-color-danger"})),h.appendChild(v("span",{className:`${((b=(C=o.rowBasedEditOptions)==null?void 0:C.actionButtons)==null?void 0:b.updateButtonClassName)||"button-style padding-1px mr-2"} action-btns `+Sr,title:a.btnUpdateTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((E=(S=o.rowBasedEditOptions)==null?void 0:S.actionButtons)==null?void 0:E.iconUpdateButtonClassName)||"mdi mdi-check-bold text-color-success"})),h.appendChild(v("span",{className:`${((x=(y=o.rowBasedEditOptions)==null?void 0:y.actionButtons)==null?void 0:x.cancelButtonClassName)||"button-style padding-1px"} action-btns `+yr,title:a.btnCancelTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((I=(O=o.rowBasedEditOptions)==null?void 0:O.actionButtons)==null?void 0:I.iconCancelButtonClassName)||"mdi mdi-cancel text-color-danger"})),h}toggleEditmode(e,t){const i=this.gridOptions.datasetIdPropertyName??"id";t?this._editedRows.set(e[i],{columns:[],editCommands:[],cssStyleKeys:[]}):this._editedRows.delete(e[i]),this._grid.invalidate()}updateItemMetadata(e){return t=>{const i=this._grid.getData().getItem(t);let s={cssClasses:""};if(typeof e=="function"){const n=e(t);n&&(s=n)}if(s&&i){const n=this.gridOptions.datasetIdPropertyName??"id";this._editedRows.has(i[n])&&!s.cssClasses.includes(Us)?s.cssClasses=(s.cssClasses||"")+" "+Us:!this._editedRows.has(i[n])&&s.cssClasses.includes(Us)&&(s.cssClasses=s.cssClasses.replace(Us,""))}return s}}getTitleOrDefault(e,t){var s,n,o;const i=(s=this.gridOptions.rowBasedEditOptions)==null?void 0:s.actionButtons;return(i==null?void 0:i[e+"Key"])&&((o=(n=this.extensionUtility.translaterService)==null?void 0:n.translate)==null?void 0:o.call(n,(i==null?void 0:i[e+"Key"])||""))||(i==null?void 0:i[e])||t}}class pa{constructor(e){this.pubSubService=e,this.pluginName="RowMoveManager",this._dragging=!1,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,reorderable:!1,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new P("onBeforeMoveRows"),this.onMoveRows=new P("onMoveRows"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){var i;this._addonOptions={...this._defaults,...t},this._grid=e,this._canvas=this._grid.getCanvasNode(),T.addSlickEventPubSubWhenDefined(this.pubSubService,this),typeof((i=this._addonOptions)==null?void 0:i.usabilityOverride)=="function"&&this.usabilityOverride(this._addonOptions.usabilityOverride),this._eventHandler.subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this))}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowMoveManager},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=Array.isArray(e)&&e.find(a=>(a==null?void 0:a.behavior)==="selectAndMove"),o=n||s,l=((i=t==null?void 0:t.rowMoveManager)==null?void 0:i.columnIndexPosition)??0;l>0?e.splice(l,0,o):e.unshift(o),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:e,reorderable:this._addonOptions.reorderable,resizable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(e){this._usabilityOverride=e}setOptions(e){this._addonOptions={...this._addonOptions,...e}}handleDragInit(e){e.stopImmediatePropagation()}handleDragEnd(e,t){var i,s,n;if(this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),(i=t.guide)==null||i.remove(),(s=t.selectionProxy)==null||s.remove(),(n=t.clonedSlickRow)==null||n.remove(),t.canMove)){const o={grid:this._grid,rows:t.selectedRows,insertBefore:t.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(e instanceof le?e.getNativeEvent():e,o),this.onMoveRows.notify(o)}}handleDrag(e,t){var i,s,n;if(this._dragging){e.stopImmediatePropagation();const o=e.getNativeEvent(),a=(((i=o==null?void 0:o.touches)==null?void 0:i[0])??o).pageY-ge(this._canvas).top;t.selectionProxy.style.top=`${a-5}px`,t.selectionProxy.style.display="block",t.clonedSlickRow&&(t.clonedSlickRow.style.top=`${a-6}px`,t.clonedSlickRow.style.display="block");const h=Math.max(0,Math.min(Math.round(a/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(h!==t.insertBefore){const d={grid:this._grid,rows:t.selectedRows,insertBefore:h};if(((n=(s=this._addonOptions)==null?void 0:s.onBeforeMoveRows)==null?void 0:n.call(s,o,d))===!1||this.onBeforeMoveRows.notify(d).getReturnValue()===!1?t.canMove=!1:t.canMove=!0,this._usabilityOverride&&t.canMove){const c=this._grid.getDataItem(h);t.canMove=this.checkUsabilityOverride(h,c,this._grid)}t.canMove?t.guide.style.top=`${h*(this.gridOptions.rowHeight||0)}px`:t.guide.style.top="-1000px",t.insertBefore=h}}}handleDragStart(e,t){var o,l,a,h,d;const i=this._grid.getCellFromEvent(e)||{cell:-1,row:-1},s=i.row,n=this._grid.getDataItem(s);if(this.checkUsabilityOverride(s,n,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[i.cell].behavior||""))return!1;if(this._dragging=!0,e.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const p=(o=this._grid.getCellNode(i.row,i.cell))==null?void 0:o.closest(".slick-row");p&&(t.clonedSlickRow=p.cloneNode(!0),t.clonedSlickRow.classList.add("slick-reorder-shadow-row"),t.clonedSlickRow.style.display="none",t.clonedSlickRow.style.marginLeft=Pt((l=this._addonOptions)==null?void 0:l.rowMoveShadowMarginLeft,"0px"),t.clonedSlickRow.style.marginTop=Pt((a=this._addonOptions)==null?void 0:a.rowMoveShadowMarginTop,"0px"),t.clonedSlickRow.style.opacity=`${((h=this._addonOptions)==null?void 0:h.rowMoveShadowOpacity)??.95}`,t.clonedSlickRow.style.transform=`scale(${((d=this.addonOptions)==null?void 0:d.rowMoveShadowScale)??.75})`,this._canvas.appendChild(t.clonedSlickRow))}let c=this._addonOptions.singleRowMove?[i.row]:this._grid.getSelectedRows();(c.length===0||!c.some(p=>p===i.row))&&(c=[i.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(c));const u=this.gridOptions.rowHeight;t.selectedRows=c,t.selectionProxy=v("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${u*c.length}px`}},this._canvas),t.guide=v("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),t.insertBefore=-1}}checkUsabilityOverride(e,t,i){return typeof this._usabilityOverride=="function"?this._usabilityOverride(e,t,i):!0}moveIconFormatter(e,t,i,s,n,o){return this.checkUsabilityOverride(e,n,o)?{addClasses:"cell-reorder dnd",html:v("div",{className:this._addonOptions.cssClass||""})}:""}}class Zc{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(e,t,i,s,n,o,l,a){this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this.translaterService=l,this.lazyGridService=a,this._extensionCreatedList={},this._extensionList={},this._requireInitExternalExtensions=[]}dispose(){if(this.sharedService.visibleColumns=[],typeof this._extensionList=="object"){const e=Object.keys(this._extensionList);e.forEach(t=>{var i;if(this._extensionList.hasOwnProperty(t)){const s=this._extensionList[t];typeof((i=s==null?void 0:s.instance)==null?void 0:i.dispose)=="function"&&s.instance.dispose()}}),e.forEach(t=>{delete this._extensionList[t]})}this._cellMenuPlugin=null,this._cellExcelCopyManagerPlugin=null,this._checkboxSelectColumn=null,this._contextMenuPlugin=null,this._columnPickerControl=null,this._draggleGroupingPlugin=null,this._gridMenuControl=null,this._groupItemMetadataProviderService=null,this._headerMenuPlugin=null,this._rowMoveManagerPlugin=null,this._rowSelectionModel=null,this._extensionCreatedList=null,this._extensionList={}}addExtensionToList(e,t){this._extensionList[e]=t}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(e){var t;if((t=this._extensionCreatedList)!=null&&t.hasOwnProperty(e))return this._extensionCreatedList[e]}getExtensionByName(e){var t;return(t=this._extensionList)==null?void 0:t[e]}getExtensionInstanceByName(e){var t;return(t=this.getExtensionByName(e))==null?void 0:t.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var e,t,i,s,n,o,l,a,h,d,c,u,p;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableRowBasedEdit){this._rowBasedEdit=this._rowBasedEdit||new ua(this.extensionUtility,this.pubSubService,this.gridOptions.rowBasedEditOptions);const m=(e=this.lazyGridService)==null?void 0:e.call(this);if(!m)throw new Error("[Slickgrid-Universal] the RowBasedEdit Plugin requires a GridService to be configured and available");this._rowBasedEdit.init(this.sharedService.slickGrid,m),(t=this.gridOptions.rowBasedEditOptions)!=null&&t.onExtensionRegistered&&this.gridOptions.rowBasedEditOptions.onExtensionRegistered(this._rowBasedEdit),this._extensionList[G.rowBasedEdit]={name:G.rowBasedEdit,instance:this._rowBasedEdit}}if(this.gridOptions.enableAutoTooltip){const m=new Bc((i=this.gridOptions)==null?void 0:i.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[G.autoTooltip]={name:G.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new zc,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),(s=this.gridOptions.excelCopyBufferOptions)!=null&&s.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[G.cellExternalCopyManager]={name:G.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new Gc(this.extensionUtility,this.pubSubService,this.sharedService),(n=this.gridOptions.cellMenu)!=null&&n.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[G.cellMenu]={name:G.cellMenu,instance:this._cellMenuPlugin}),!this._rowSelectionModel&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowDetailView||this.gridOptions.enableRowMoveManager)){if(!this._rowSelectionModel||!this.sharedService.slickGrid.getSelectionModel()){const m=this.gridOptions.rowSelectionOptions??{};this.gridOptions.enableRowMoveManager&&((o=this.gridOptions.rowMoveManager)==null?void 0:o.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new fr(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[G.rowSelection]={name:G.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new ta(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(G.checkboxSelector),f=m==null?void 0:m.instance;f&&((l=this.gridOptions.checkboxSelector)!=null&&l.onExtensionRegistered&&this.gridOptions.checkboxSelector.onExtensionRegistered(f),this._extensionList[G.checkboxSelector]={name:G.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new _r(this.extensionUtility,this.pubSubService,this.sharedService),(a=this.gridOptions.columnPicker)!=null&&a.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[G.columnPicker]={name:G.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new Yc(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),(h=this.gridOptions.contextMenu)!=null&&h.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),(d=this.gridOptions.draggableGrouping)!=null&&d.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new ia(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(c=this.gridOptions.gridMenu)!=null&&c.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[G.gridMenu]={name:G.gridMenu,instance:this._gridMenuControl}),this.gridOptions.enableHeaderButton){const m=new Kc(this.extensionUtility,this.pubSubService,this.sharedService);(u=this.gridOptions.headerButton)!=null&&u.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[G.headerButton]={name:G.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new Xc(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(p=this.gridOptions.headerMenu)!=null&&p.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[G.headerMenu]={name:G.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new pa(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(G.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[G.rowMoveManager]={name:G.rowMoveManager,instance:this._rowMoveManagerPlugin})}this._requireInitExternalExtensions.length&&this._requireInitExternalExtensions.forEach(m=>{m.instance.init(this.sharedService.slickGrid,void 0)})}}createExtensionsBeforeGridCreation(e,t){var s,n,o;const i=[];t.enableCheckboxSelector&&(this.getCreatedExtensionByName(G.checkboxSelector)||(this._checkboxSelectColumn=new ta(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),i.push({name:G.checkboxSelector,instance:this._checkboxSelectColumn,columnIndexPosition:((s=t==null?void 0:t.checkboxSelector)==null?void 0:s.columnIndexPosition)??i.length}))),t.enableRowMoveManager&&(this.getCreatedExtensionByName(G.rowMoveManager)||(this._rowMoveManagerPlugin=new pa(this.pubSubService),i.push({name:G.rowMoveManager,instance:this._rowMoveManagerPlugin,columnIndexPosition:((n=t==null?void 0:t.rowMoveManager)==null?void 0:n.columnIndexPosition)??i.length}))),t.enableRowBasedEdit&&(this.getCreatedExtensionByName(G.rowBasedEdit)||(this._rowBasedEdit=new ua(this.extensionUtility,this.pubSubService),i.push({name:G.rowBasedEdit,instance:this._rowBasedEdit,columnIndexPosition:((o=t==null?void 0:t.rowMoveManager)==null?void 0:o.columnIndexPosition)??i.length}))),t.preRegisterExternalExtensions&&t.preRegisterExternalExtensions(this.pubSubService).forEach(a=>{i.push(a),this._requireInitExternalExtensions.push(a),this._extensionList[a.name]||this.addExtensionToList(a.name,a)}),this.createExtensionByTheirColumnIndex(i,e,t),t.enableDraggableGrouping&&(this.getCreatedExtensionByName(G.draggableGrouping)||(this._draggleGroupingPlugin=new qc(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(t.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(e){var t,i;if(typeof((i=(t=this.sharedService)==null?void 0:t.slickGrid)==null?void 0:i.getColumns)=="function"){const s=this.sharedService.slickGrid.getColumnIndex(e.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),s),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(e){this.extensionUtility.refreshBackendDataset(e)}removeColumnByIndex(e,t){return Array.isArray(e)?e.filter((i,s)=>t!==s):e}translateAllExtensions(e){this.translateCellMenu(),this.translateContextMenu(),this.translateHeaderMenu(),this.translateRowEditPlugin(),this.translateColumnHeaders(e)}translateCellMenu(){var e;(e=this._cellMenuPlugin)==null||e.translateCellMenu()}translateColumnPicker(){var e;(e=this._columnPickerControl)==null||e.translateColumnPicker()}translateContextMenu(){var e;(e=this._contextMenuPlugin)==null||e.translateContextMenu()}translateGridMenu(){var e;(e=this._gridMenuControl)==null||e.translateGridMenu()}translateHeaderMenu(){var e;(e=this._headerMenuPlugin)==null||e.translateHeaderMenu()}translateRowEditPlugin(){var e;(e=this._rowBasedEdit)==null||e.translate()}translateColumnHeaders(e,t){var s;if(this.sharedService&&this.gridOptions&&this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');e&&((s=this.translaterService)!=null&&s.use)&&this.translaterService.getCurrentLanguage()!==e&&this.translaterService.use(e);let i=t;i||(i=this.sharedService.columnDefinitions),this.translateItems(i,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"columnGroupKey","columnGroup"),this.renderColumnHeaders(i,Array.isArray(t))}renderColumnHeaders(e,t=!1){var s;let i=e;i||(i=this.sharedService.columnDefinitions),Array.isArray(i)&&((s=this.sharedService.slickGrid)!=null&&s.setColumns)&&((i.length>this.sharedService.allColumns.length||t)&&(this.sharedService.allColumns=i),this.sharedService.slickGrid.setColumns(i)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns,this._columnPickerControl.translateColumnPicker()),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=this.sharedService.allColumns??[],this._gridMenuControl.recreateGridMenu(),this._gridMenuControl.translateGridMenu())}createExtensionByTheirColumnIndex(e,t,i){e.sort((s,n)=>((s==null?void 0:s.columnIndexPosition)??0)-((n==null?void 0:n.columnIndexPosition)??0)),e.forEach(s=>{const n=s.instance.create(t,i);n&&(this._extensionCreatedList[s.name]={name:s.name,instance:n})})}translateItems(e,t,i){var s,n;if((s=this.gridOptions)!=null&&s.enableTranslate&&!((n=this.translaterService)!=null&&n.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.extensionUtility.translateItems(e,t,i)}}function ma(r,e,t){if(t&&(r!=null&&r.hasOwnProperty(t)||e!=null&&e.hasOwnProperty(t)))return r[t]===e||r===e[t]||r[t]===e[t];if(typeof r=="object"&&typeof e=="object"&&Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(r.hasOwnProperty(i)&&r[i]!==e[i])return!1;return!0}function Jc(r){switch(r&&r.toUpperCase()||""){case"IN":case"NIN":case"NOT_IN":case"IN_CONTAINS":case"NIN_CONTAINS":case"NOT_IN_CONTAINS":case"IN_COLLECTION":case"NOT_IN_COLLECTION":return!0;default:return!1}}const jt=(r,e,t)=>{switch(r.toUpperCase()){case"<":case"LT":return e<t;case"<=":case"LE":return e<=t;case">":case"GT":return e>t;case">=":case"GE":return e>=t;case"!=":case"<>":case"NE":return e!==t;case"=":case"==":case"EQ":return e===t;case"IN":return t&&Array.isArray(t)?t.includes(e):!1;case"NIN":case"NOT_IN":return t&&Array.isArray(t)?!t.includes(e):!1;case"IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?!t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?t.some(i=>e.includes(i)):!1;case"NOT_IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?!t.some(i=>e.includes(i)):!1}return!0},fa=(r,e)=>{let[t,i]=e;if(t===void 0&&!r.operator)return!0;r.cellValue=r.cellValue===void 0||r.cellValue===null?"":r.cellValue.toString();const s=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(r.cellValue,!0):r.cellValue.toLowerCase();if(typeof t=="string"&&(t=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(t,!0):t.toLowerCase()),typeof i=="string"&&(i=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(i,!0):i.toLowerCase()),r.operator===H.startsWithEndsWith&&t!==void 0&&i!==void 0)return tu(s,[t,i]);if(t!==void 0&&i!==void 0){let o=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;o!==H.rangeInclusive&&o!==H.rangeExclusive&&(o=r.defaultFilterRangeOperator);const l=o===H.rangeInclusive,a=Er(l?">=":">",s,t,r.searchInputLastChar),h=Er(l?"<=":"<",s,i,r.searchInputLastChar);return a&&h}return Er(r.operator,s,t,r.searchInputLastChar)};function eu(r){let t=Array.isArray(r)&&r||[""];const i=[];let s,n;if(t.length===1&&typeof t[0]=="string"){const o=t[0];o.indexOf("..")>0?t=o.split(".."):o.indexOf("*")>0&&o.indexOf("*")<o.length-1&&(t=o.split("*"))}if(t.length===2)s=`${t[0]}`,n=`${t[1]}`;else{const o=Array.isArray(r)&&r.length>0?r[0]:"";s=o==null?"":`${o}`}return s!==void 0&&n!==void 0?i.push(s,n):s!==void 0&&i.push(s),i}function Er(r,e,t,i){return r==="*"||r===H.endsWith||r==="*z"?e.endsWith(t):r===""&&i==="*"||r===H.startsWith||r==="a*"?e.startsWith(t):r===""||r===H.contains?e.indexOf(t)>-1:r==="<>"||r===H.notContains?e.indexOf(t)===-1:jt(r||"==",e,t)}function tu(r,[e,t]){return r.startsWith(e)&&r.endsWith(t)}const iu=(r,e)=>{if(e===void 0&&!r.operator)return!0;switch((r.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!ma(r.cellValue,e,r.dataKey);case"=":case"==":case"EQ":default:return ma(r.cellValue,e,r.dataKey)}};function su(r){return(Array.isArray(r)&&r.length>0?r[0]:"")||""}const ga=(r,e)=>{const t=parseFloat(r.cellValue),[i,s]=e;if(i===void 0&&!r.operator)return!0;if(i!==void 0&&s!==void 0){let n=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;n!==H.rangeInclusive&&n!==H.rangeExclusive&&(n=r.defaultFilterRangeOperator);const o=n===H.rangeInclusive,l=jt(o?">=":">",t,+i),a=jt(o?"<=":"<",t,+s);return l&&a}return jt(r.operator||"==",t,+i)};function nu(r){const t=Array.isArray(r)&&r||[0],i=[];let s,n;if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split("..");s=parseFloat(Array.isArray(o)?o[0]:""),n=parseFloat(Array.isArray(o)?o[1]:"")}else s=parseFloat(t[0]);return U(s,!0)&&U(n,!0)?i.push(s,n):U(s,!0)&&i.push(s),i}const _a=(r,e)=>ms(r.cellValue)===ms(e);function ru(r){const e=Array.isArray(r)&&r[0]||!1;return ms(e)}const Ca=r=>{const e=r.operator;let t;return Array.isArray(r.cellValue)&&(e==="IN_COLLECTION"||e==="NOT_IN_COLLECTION")?t=r.cellValue.length?r.cellValue.map(i=>`${i}`):[]:t=r.cellValue===void 0||r.cellValue===null?"":`${r.cellValue}`,jt(e||"IN",t,r.searchTerms||[])};function ou(r,e){const t=r&&(r.filterSearchType||r.fieldType)||w.dateIso,i=Ke(t),[s,n]=e,o=bt(r.cellValue,i,!0);if(!s&&!n||!o)return!1;const l=i==="ISO8601"||i.toLowerCase().includes("h")?o.valueOf():Ho(new Date(o)).valueOf();if(s&&n){let h=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;h!==H.rangeInclusive&&h!==H.rangeExclusive&&(h=r.defaultFilterRangeOperator);const d=h===H.rangeInclusive,c=jt(d?">=":">",l,s.valueOf()),u=jt(d?"<=":"<",l,n.valueOf());return c&&u}const a=i==="ISO8601"||i.toLowerCase().includes("h")?s.valueOf():Ho(new Date(s)).valueOf();return jt(r.operator||"==",l,a)}function lu(r,e){const t=Array.isArray(r)&&r||[],i=e||w.dateIso,s=Ke(i),n=[];if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split(".."),l=Array.isArray(o)&&o[0]||"",a=Array.isArray(o)&&o[1]||"",h=bt(l,s,!0),d=bt(a,s,!0);if(!h||!d)return[];n.push(h,d)}else{const o=bt(t[0],s,!0);if(!o)return[];n.push(o)}return n}const au=(r,e)=>{if(Jc(r.operator))return Ca(r);switch(va(r.filterSearchType||r.fieldType)){case"boolean":return _a(r,e);case"date":return ou(r,e||[]);case"number":return ga(r,e||[]);case"object":return iu(r,e);case"string":default:return fa(r,e||[])}};function js(r,e){const t=va(e);let i;switch(t){case"boolean":i=ru(r);break;case"date":i=lu(r,e);break;case"number":i=nu(r);break;case"object":i=su(r);break;case"string":i=eu(r);break}return i}function va(r){if(It(r))return"date";switch(r){case w.boolean:return"boolean";case w.integer:case w.float:case w.number:return"number";case w.object:return"object";case w.string:case w.text:case w.password:case w.readonly:default:return"string"}}const ba={executeFilterConditionTest:au,booleanFilter:_a,collectionSearchFilter:Ca,numberFilter:ga,stringFilter:fa};class hu{constructor(e,t,i,s){var n;this.config=e,this.translaterService=t,this.collectionService=i,this.rxjs=s,this._options=((n=this.config)==null?void 0:n.options)??{}}addRxJsResource(e){this.rxjs=e}createFilter(e){let t;return e!=null&&e.model&&(t=typeof e.model=="function"?new e.model(this.translaterService,this.collectionService,this.rxjs):e.model),!t&&this._options.defaultFilter&&(t=new this._options.defaultFilter(this.translaterService,this.collectionService,this.rxjs)),t}}class du{constructor(e,t,i,s,n){this.filterFactory=e,this.pubSubService=t,this.sharedService=i,this.backendUtilities=s,this.rxjs=n,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new P,this._eventHandler=new pe,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get isFilterFirstRender(){return this._isFilterFirstRender}get onSearchChange(){return this._onSearchChange}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}addRxJsResource(e){this.rxjs=e}init(e){this._grid=e,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var e;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((e=this.rxjs)!=null&&e.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let e=this._filtersMetadata.pop();for(;e;)typeof(e==null?void 0:e.destroy)=="function"&&e.destroy(),e=this._filtersMetadata.pop()}}bindBackendOnFilter(e){this._filtersMetadata=[],this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{i.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(i,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=i.column.id)}),this.subscribeToOnHeaderRowCellRendered(e),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(e){this._filtersMetadata=[],this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid,dataView:this._dataView}),this._dataView.setFilter(this.customLocalFilter.bind(this)),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,async(t,i)=>{const s=(i==null?void 0:i.clearFilterTriggered)??!1;s||await this.emitFilterChanged(oe.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),s||await this.emitFilterChanged(oe.local),i.columnId!==null&&this._dataView.refresh(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{this.addFilterTemplateToHeaderRow(i)}),this.subscribeToOnHeaderRowCellRendered(e)}async clearFilterByColumnId(e,t){await this.pubSubService.publish("onBeforeFilterClear",{columnId:t},0);const i=this._gridOptions.backendServiceApi??!1,s=i?oe.remote:oe.local,n=Object.keys(this._columnFilters);let o;Array.isArray(n)&&(o=n.find(a=>a===`${t}`));const l=this._filtersMetadata.find(a=>a.columnDef.id===t);return l!=null&&l.clear&&l.clear(!0),i&&o!==void 0&&this.onBackendFilterChange(e,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(s),!0}async clearFilters(e=!0){var i,s;e&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(n=>{n!=null&&n.clear&&n.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(n=>{var o;(o=n.filter)!=null&&o.searchTerms&&delete n.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const t=this._gridOptions.backendServiceApi;if(t&&e){const n={clearFilterTriggered:!0,shouldTriggerQuery:e,grid:this._grid,columnFilters:this._columnFilters},l=t.service.processOnFilterChanged(void 0,n),a=((i=this._gridOptions.pagination)==null?void 0:i.totalItems)??0;(s=this.backendUtilities)==null||s.executeBackendCallback(t,l,n,new Date,a,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:h=>this._previousFilters=this.extractBasicFilterDetails(h.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);e&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(e,t){var l;const i=t==null?void 0:t.grid,s=(t==null?void 0:t.columnFilters)??{},n=this._gridOptions.enableTreeData??!1,o=this._gridOptions.treeDataOptions;if(n&&o){const a=o.collapsedPropName??R.treeDataProperties.COLLAPSED_PROP,h=o.parentPropName??R.treeDataProperties.PARENT_PROP,d=(o==null?void 0:o.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,c=this._gridOptions.datasetIdPropertyName??"id",u=o.autoRecalcTotalsOnFilterChange??!1;let p=!1;if(e[h]!==null){let m=this._dataView.getItemById(e[h]);for(;m;){if(m[a])if(u)p=!0;else return!1;m=this._dataView.getItemById(m[h])}}if(this._tmpPreFilteredData instanceof Set){const m=this._tmpPreFilteredData.has(e[c]);if(u){const f=Li(this.sharedService.hierarchicalDataset,g=>g[c]===e[c],d);if(f&&(f.__filteredOut=!m),p)return!1}return m}}else if(typeof s=="object")for(const a of Object.keys(s)){const h=s[a],d=(l=h.columnDef)==null?void 0:l.filter;if(typeof(d==null?void 0:d.filterPredicate)=="function"){if(!d.filterPredicate(e,h))return!1}else{const c=this.preProcessFilterConditionOnDataContext(e,h,i);if(typeof c=="boolean")return c;let u=h==null?void 0:h.parsedSearchTerms;if(u===void 0&&(u=js(h.searchTerms,h.columnDef.type||w.string),u!==void 0&&(h.parsedSearchTerms=u)),!ba.executeFilterConditionTest(c,u))return!1}}return!0}parseFormInputFilterConditions(e,t){var p;const i=de(!0,[],e)||[];let s=Array.isArray(i)&&i.length===1?i[0]:"";const n=t.columnDef,o=((p=n.filter)==null?void 0:p.type)??n.type??w.string;let l=null;o!==w.object&&(s=s==null?"":`${s}`,l=(n.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?s.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[s,"","","","",s,""]);const a=(l==null?void 0:l[2])||"",h=(l==null?void 0:l[3])||"";let d=(l==null?void 0:l[4])||t.operator,c=(l==null?void 0:l[1])||(l==null?void 0:l[5])||"";const u=(l==null?void 0:l[6])||(d==="*z"?"*":"");return typeof s=="string"&&(s=s.replace("'","''"),a&&h?(c=s,d=H.startsWithEndsWith):d==="*"||d==="*z"?d=H.endsWith:(d==="a*"||u==="*")&&(d=H.startsWith)),Array.isArray(l)&&l.length>=1&&Array.isArray(i)&&i.length===1&&(i[0]=c.length>0&&c.substring(0,1)===" "?c.substring(1):c),{dataKey:n.dataKey,fieldType:o,searchTerms:i||[],operator:d,searchInputLastChar:u,filterSearchType:n.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(e,t,i){var u,p,m;const s=t.columnDef,n=t.columnId;let o=i.getColumnIndex(n);if(!s&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(o=this.sharedService.allColumns.findIndex(f=>f.field===n)),!s)return!0;if(this._gridOptions.enableRowDetailView){const f=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";e[`${f}isPadding`]&&e[`${f}parent`]&&(e=e[`${f}parent`])}let l=((u=s.filter)==null?void 0:u.queryField)||s.queryFieldFilter||s.queryField||s.field||"";typeof s.queryFieldNameGetterFn=="function"&&(l=s.queryFieldNameGetterFn(e));const a=((p=s.filter)==null?void 0:p.type)??s.type??w.string;let h=e[l];(l==null?void 0:l.indexOf("."))>=0&&(h=Ee(e,l));const d=t.operator,c=t.searchTerms||[];if(!c||Array.isArray(c)&&(c.length===0||c.length===1&&d===c[0]))return!0;if(c&&Array.isArray(c)&&a!==w.object)for(let f=0,g=c.length;f<g;f++)c[f]=(c[f]===void 0||c[f]===null?"":c[f])+"";if(((m=s==null?void 0:s.params)==null?void 0:m.useFormatterOuputToFilter)===!0){const f=this._gridOptions.datasetIdPropertyName||"id",g=this._dataView&&typeof this._dataView.getIdxById=="function"?this._dataView.getIdxById(e[f]):0,_=s&&typeof s.formatter=="function"?s.formatter(g||0,o,h,s,e,this._grid):"";h=we(_)}return typeof h=="number"&&(h=h.toString()),{dataKey:s.dataKey,fieldType:a,searchTerms:c,cellValue:h,operator:d,searchInputLastChar:t.searchInputLastChar,filterSearchType:s.filterSearchType,ignoreAccentOnStringFilterAndSort:this._gridOptions.ignoreAccentOnStringFilterAndSort??!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(e,t){var g,_,C,b,S,E;const i=this._gridOptions.treeDataOptions,s=(i==null?void 0:i.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,n=(i==null?void 0:i.parentPropName)??R.treeDataProperties.PARENT_PROP,o=(i==null?void 0:i.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,l=this._gridOptions.datasetIdPropertyName??"id",a=(_=(g=this._gridOptions.presets)==null?void 0:g.treeData)==null?void 0:_.toggledItems,h=((C=this._gridOptions.treeDataOptions)==null?void 0:C.initiallyCollapsed)??!1,d=(b=this._gridOptions.treeDataOptions)==null?void 0:b.columnId,c=(S=this._gridOptions.treeDataOptions)==null?void 0:S.excludeChildrenWhenFilteringTree,u=!c&&((E=this._gridOptions.treeDataOptions)==null?void 0:E.autoApproveParentItemWhenTreeColumnIsValid)===!0,p={},m=new Set,f=new Map;return Array.isArray(e)&&(e.forEach(y=>{p[y[l]]=y,delete p[y[l]].__used}),typeof t=="object"&&Object.keys(t).forEach(y=>{var M;const x=t[y],O=x!=null&&x.searchTerms?de(!0,[],x.searchTerms):[],I=this.parseFormInputFilterConditions(O,x),A=x.columnDef,D=((M=A==null?void 0:A.filter)==null?void 0:M.type)??(A==null?void 0:A.type)??w.string,L=js(I.searchTerms,D);L!==void 0&&(x.parsedSearchTerms=L)}),e.forEach(y=>{const x=y[o];let O=!0;for(const I of Object.keys(t)){const A=t[I],D=this.preProcessFilterConditionOnDataContext(y,A,this._grid);if(D){const L=A==null?void 0:A.parsedSearchTerms,M=typeof D=="boolean"?D:ba.executeFilterConditionTest(D,L);if(M&&u&&x&&A.columnId===d){f.set(y[l],!0);break}if(M||!c&&f.get(y[n])===!0){if(x&&A.columnId===d&&f.set(y[l],!0),M||!c&&A.columnId===d)continue}else x&&f.get(y[n])!==!0&&A.columnId!==d&&f.set(y[l],!1)}O=!1}if(O){m.add(y[l]);let I=p[y[n]]??!1;const A=!h;for(!this._isTreePresetExecuted&&Array.isArray(a)&&a.some(D=>D.itemId===I.id&&D.isCollapsed===A)&&(I[s]=A);I;)I.__used??m.add(I[l]),p[I[l]].__used=!0,I=p[I[n]]??!1}})),this._isTreePresetExecuted=!0,m}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t;const e=[];if(this._columnFilters)for(const i of Object.keys(this._columnFilters)){const s=this._columnFilters[i],n={columnId:i||""},o=this.sharedService.allColumns.find(a=>a.id===n.columnId),l=((t=o==null?void 0:o.filter)==null?void 0:t.emptySearchTermReturnAllValues)??!0;s!=null&&s.searchTerms&&(n.searchTerms=s.searchTerms),s.operator&&(n.operator=s.operator),s.targetSelector&&(n.targetSelector=s.targetSelector),Array.isArray(n.searchTerms)&&n.searchTerms.length>0&&(!l||n.searchTerms[0]!=="")&&e.push(n)}return e}emitFilterChanged(e,t=!1){const i=t?"onBeforeFilterChange":"onFilterChanged";if(e===oe.remote&&this._gridOptions.backendServiceApi){let s=[];const n=this._gridOptions.backendServiceApi.service;return n!=null&&n.getCurrentFilters&&(s=n.getCurrentFilters()),this.pubSubService.publish(i,s)}else if(e===oe.local)return this.pubSubService.publish(i,this.getCurrentLocalFilters())}async onBackendFilterChange(e,t){var o,l;const i=t==null?void 0:t.shouldTriggerQuery;if(i&&await this.emitFilterChanged(oe.remote,!0),!t||!t.grid)throw new Error('Something went wrong when trying to bind the "onBackendFilterChange(event, args)" function, it seems that "args" is not populated correctly');const s=this._gridOptions.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;if(s.preProcess&&s.preProcess(),i){const a=await s.service.processOnFilterChanged(e,t),h=((o=this._gridOptions.pagination)==null?void 0:o.totalItems)??0;(l=this.backendUtilities)==null||l.executeBackendCallback(s,a,t,n,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:d=>this._previousFilters=this.extractBasicFilterDetails(d.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(e){return Array.isArray(e)&&(this._columnDefinitions.forEach(t=>{var s;(s=t.filter)!=null&&s.searchTerms&&delete t.filter.searchTerms;const i=e.find(n=>n.columnId===t.id);i&&Array.isArray(i==null?void 0:i.searchTerms)&&(t.filter=t.filter||{},t.filter.operator=i.operator||t.filter.operator||"",t.filter.searchTerms=i.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(e){var i;const t=e??((i=this._dataView)==null?void 0:i.getItems())??[];this._dataView&&this._gridOptions.enableTreeData&&t.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(t,this._columnFilters),this._dataView.refresh()):t.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&queueMicrotask(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableFiltering;s!==e&&(t&&e&&this.clearFilters(),this.disableAllFilteringCommands(e),this._grid.setOptions({enableFiltering:s},!1,!0),this._grid.setHeaderRowVisibility(s),this._gridOptions.enableFiltering=!e,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(e=!0){const t=this._gridOptions.enableFiltering;this.disableFilterFunctionality(t,e)}toggleHeaderFilterRow(){let e=this._gridOptions.showHeaderRow??!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(e){this._grid&&Array.isArray(e)&&this._grid.setSortColumns(e)}async updateFilters(e,t=!0,i=!0,s=!1){var n;if(!this._filtersMetadata||this._filtersMetadata.length===0||!this._gridOptions||!this._gridOptions.enableFiltering)throw new Error('[Slickgrid-Universal] in order to use "updateFilters" method, you need to have Filterable Columns defined in your grid and "enableFiltering" set in your Grid Options');if(Array.isArray(e)){this.clearFilters(!1),e.forEach(a=>{const h=this._filtersMetadata.find(d=>a.columnId===d.columnDef.id);if(a&&h){const d=a.operator||h.defaultOperator;this.updateColumnFilters(a.searchTerms,h.columnDef,d),h.setValues(a.searchTerms||[],d),(s||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:h.columnDef,operator:d,searchTerms:a.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const o=this._gridOptions.backendServiceApi,l=o?oe.remote:oe.local;if(t&&await this.emitFilterChanged(l,!0),this._dataView.refresh(),o){const a=o==null?void 0:o.service;a!=null&&a.updateFilters&&(a.updateFilters(e,!0),i&&((n=this.backendUtilities)==null||n.refreshBackendDataset(this._gridOptions)))}t&&await this.emitFilterChanged(l)}return!0}async updateSingleFilter(e,t=!0,i=!0){var n,o;const s=this.sharedService.allColumns.find(l=>l.id===e.columnId);if(s&&e.columnId){this._columnFilters={};const l=((n=s.filter)==null?void 0:n.emptySearchTermReturnAllValues)??!0;Array.isArray(e.searchTerms)&&(e.searchTerms.length>1||e.searchTerms.length===1&&(!l||e.searchTerms[0]!==""))&&(this._columnFilters[e.columnId]={columnId:e.columnId,operator:e.operator,searchTerms:e.searchTerms,columnDef:s,type:s.type??w.string});const a=this._gridOptions.backendServiceApi,h=a?oe.remote:oe.local;if(t&&await this.emitFilterChanged(h,!0),a){const d=a==null?void 0:a.service;d!=null&&d.updateFilters&&(d.updateFilters(this._columnFilters,!0),i&&((o=this.backendUtilities)==null||o.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();t&&await this.emitFilterChanged(h)}return!0}drawFilterTemplate(e,t){let i;if(typeof t=="string"){if(i=document.querySelector(t),i===null)return null}else i=t;const s=typeof e=="string"?this.sharedService.allColumns.find(o=>o.id===e):e;if(((s==null?void 0:s.id)??"")!=="selector"&&(s!=null&&s.filterable)){let o,l;const a=this.filterFactory.createFilter(s.filter);l=s&&s.filter&&s.filter.operator||a&&a.operator,this._columnFilters[s.id]?(o=this._columnFilters[s.id].searchTerms||void 0,l=this._columnFilters[s.id].operator||void 0):s.filter&&(o=s.filter.searchTerms||void 0,this.updateColumnFilters(o,s,l));const h={grid:this._grid,operator:l,searchTerms:o,columnDef:s,filterContainerElm:i,callback:this.callbackSearchEvent.bind(this)};return a&&(a.init(h),o&&a.setValues&&a.setValues(o,l)),a}return null}addFilterTemplateToHeaderRow(e,t=!0){const i=e.column;if(((i==null?void 0:i.id)??"")!=="selector"&&(i!=null&&i.filterable)&&!(i!=null&&i.hidden)){let n,o;const l=this.filterFactory.createFilter(i.filter);o=i&&i.filter&&i.filter.operator||l&&l.operator,this._columnFilters[i.id]?(n=this._columnFilters[i.id].searchTerms||void 0,o=this._columnFilters[i.id].operator||void 0):i.filter&&(n=i.filter.searchTerms||void 0,this.updateColumnFilters(n,i,o));const a={grid:this._grid,operator:o,searchTerms:n,columnDef:i,filterContainerElm:e.node,callback:this.callbackSearchEvent.bind(this)};if(l&&a.filterContainerElm){l.init(a,t);const h=this._filtersMetadata.findIndex(d=>l.columnDef.id===d.columnDef.id);h===-1?this._filtersMetadata.push(l):this._filtersMetadata[h]=l,n&&l.setValues&&l.setValues(n,o)}}}callbackSearchEvent(e,t){var i,s;if(t){const n=e!=null&&e.target?e.target.value:void 0,o=t.searchTerms&&Array.isArray(t.searchTerms)?t.searchTerms:n?[n]:void 0,l=t.columnDef||null,a=(l==null?void 0:l.id)??"",h=((i=l==null?void 0:l.filter)==null?void 0:i.type)??(l==null?void 0:l.type)??w.string,d=t.operator||void 0,c=o&&Array.isArray(o),u=c&&o&&o.length,p={...this._columnFilters},m=((s=l.filter)==null?void 0:s.emptySearchTermReturnAllValues)??!0;let f;if(l&&a)if(!c||u===0||u===1&&Array.isArray(o)&&m&&o[0]==="")delete this._columnFilters[a];else{const C=`${a}`,b={columnId:C,columnDef:l,parsedSearchTerms:[],type:h,targetSelector:this.getSelectorStringFromElement(e==null?void 0:e.target)},S=this.parseFormInputFilterConditions(o,b);b.operator=d||S.operator||bn(h),f=js(S.searchTerms,h),f!==void 0&&(b.parsedSearchTerms=f),b.searchTerms=S.searchTerms||[],this._columnFilters[C]=b}const g=e&&typeof e.isPropagationStopped!="function"?de({},new le,e):e,_=e==null?void 0:e.key;if(this._onSearchChange&&(t.forceOnSearchChangeEvent||_==="Enter"||!pt(p,this._columnFilters))){const C={clearFilterTriggered:t.clearFilterTriggered,shouldTriggerQuery:t.shouldTriggerQuery,columnId:a,columnDef:l,columnFilters:this._columnFilters,operator:d||bn(h),searchTerms:o,parsedSearchTerms:f,grid:this._grid,target:e==null?void 0:e.target};this.pubSubService.publish("onBeforeSearchChange",C)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(C,g)}}}disableAllFilteringCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var o,l;(o=n==null?void 0:n.header)!=null&&o.menu&&((l=n.header.menu.commandItems)==null||l.forEach(a=>{a&&typeof a!="string"&&a.command==="clear-filter"&&(a.hidden=e)}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{if(n&&typeof n!="string"){const o=n.command;(o==="clear-filter"||o==="toggle-filter")&&(n.hidden=e)}}),t}extractBasicFilterDetails(e){const t=[];if(e&&typeof e=="object")for(const i of Object.keys(e)){const{operator:s,searchTerms:n}=e[`${i}`];t.push({columnId:i,operator:s,searchTerms:n})}return t}getSelectorStringFromElement(e){return e!=null&&e.localName?e!=null&&e.className?`${e.localName}.${Array.from(e.classList).join(".")}`:e.localName:""}removeAllColumnFiltersProperties(){typeof this._columnFilters=="object"&&Object.keys(this._columnFilters).forEach(e=>{e&&this._columnFilters[e]&&delete this._columnFilters[e]})}subscribeToOnHeaderRowCellRendered(e){this._eventHandler.subscribe(e.onBeforeHeaderRowCellDestroy,(t,i)=>{var n;const s=this._filtersMetadata.find(o=>o.columnDef.id===i.column.id);(n=s==null?void 0:s.destroy)==null||n.call(s)})}updateColumnFilters(e,t,i){var o;const s=((o=t.filter)==null?void 0:o.type)??t.type??w.string,n=js(e,s);e&&t&&(this._columnFilters[t.id]={columnId:t.id,columnDef:t,searchTerms:e,operator:i,parsedSearchTerms:n,type:s})}}const Ys={skipError:!1,triggerEvent:!0},rs={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},wr={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Sa={applySetColumns:!0,autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1},cu={autoResizeColumns:!0,triggerEvent:!0};class uu{constructor(e,t,i,s,n,o,l){this.gridStateService=e,this.filterService=t,this.pubSubService=i,this.paginationService=s,this.sharedService=n,this.sortService=o,this.treeDataService=l}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}dispose(){var e;(e=this._rowSelectionPlugin)==null||e.dispose()}init(e){this._grid=e}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearPinning(e=!0){const t=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),e&&Array.isArray(t)&&this.sharedService.slickGrid.setColumns(t)}setPinning(e,t=!0,i=!1,s=!0){To(e)?this.clearPinning():(this.sharedService.slickGrid.setOptions(e,i,s),this.sharedService.gridOptions={...this.sharedService.gridOptions,...e}),t&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(e){if(!e||!e.grid||!e.grid.getColumns||!e.grid.getDataItem)throw new Error("[Slickgrid-Universal] To get the column definition and data, we need to have these arguments passed as objects (row, cell, grid)");return{row:e.row,cell:e.cell,columnDef:e.grid.getColumns()[e.cell],dataContext:e.grid.getDataItem(e.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error(`[Slickgrid-Universal] We could not find SlickGrid Grid object or it's "getDataItem" method`);return this._grid.getDataItem(e)}getDataItemByRowIndex(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');return this._grid.getDataItem(e)}getDataItemByRowIndexes(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');const t=[];return Array.isArray(e)&&e.forEach(i=>{t.push(this._grid.getDataItem(i))}),t}getSelectedRows(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');return this._grid.getSelectedRows()}getSelectedRowsDataItem(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');const e=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(e)}hideColumnById(e,t){if(this._grid){t={...Sa,...t};const i=this._grid.getColumns(),s=i.findIndex(n=>n.id===e);if(s>=0){const n=En(i,s);t!=null&&t.applySetColumns&&(this.sharedService.visibleColumns=n,this._grid.setColumns(n));const o=this.sharedService.allColumns.findIndex(l=>l.id===e);return o&&(t!=null&&t.hideFromColumnPicker&&(this.sharedService.allColumns[o].excludeFromColumnPicker=!0),t!=null&&t.hideFromGridMenu&&(this.sharedService.allColumns[o].excludeFromGridMenu=!0)),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns"],n),s}}return-1}hideColumnByIds(e,t){if(Array.isArray(e)){const i=this._grid.getColumns().filter(s=>!e.includes(s.id));t={...Sa,...t};for(const s of e)this.hideColumnById(s,{...t,triggerEvent:!1,applySetColumns:!1,autoResizeColumns:!1});this.sharedService.visibleColumns=i,this._grid.setColumns(i),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns","onHideColumns"],i)}}showColumnByIds(e,t){if(this._grid){t={...cu,...t};const i=this.sharedService.allColumns.filter(s=>e.includes(s.id));this._grid.setColumns(i),this.sharedService.visibleColumns=i,this.executeVisibilityCommands(t,["onShowColumns"],this.sharedService.visibleColumns)}}executeVisibilityCommands(e,t,i){e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&t.forEach(s=>this.pubSubService.publish(s,{columns:i}))}highlightRow(e,t){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new fr(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),t||(t=this._gridOptions.rowHighlightDuration),Array.isArray(e)?e.forEach(i=>this._grid.highlightRow(i)):this._grid.highlightRow(e,t)}setSelectedRow(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows([e])}setSelectedRows(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows(e)}renderGrid(){var e;typeof((e=this._grid)==null?void 0:e.invalidate)=="function"&&this._grid.invalidate()}resetGrid(e){var t,i,s;if(this.clearPinning(!1),this._grid){const n=this.sharedService.allColumns||[];Array.isArray(n)&&n.length>0&&(this._grid.setColumns(n),(t=this._gridOptions)!=null&&t.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(e))}typeof((i=this.filterService)==null?void 0:i.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((s=this.sortService)==null?void 0:s.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(e,t){var h,d,c,u;const i={...rs,...t};if(!(i!=null&&i.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const s=this._gridOptions.datasetIdPropertyName||"id";if(!(i!=null&&i.skipError)&&(!e||!e.hasOwnProperty(s)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${s}" property`);if((h=this._gridOptions)!=null&&h.enableTreeData&&(t==null?void 0:t.position)==="top")throw new Error('[Slickgrid-Universal] Please note that `addItem({ position: "top" })` is not supported when used with Tree Data because of the extra complexity.');const n=i==null?void 0:i.position;n==="bottom"||(d=this._gridOptions)!=null&&d.enableTreeData?this._dataView.addItem(e):this._dataView.insertItem(0,e);let o=0;const l=(e==null?void 0:e[s])??"";return(c=this._gridOptions)!=null&&c.enableTreeData?(this.invalidateHierarchicalDataset(),o=this._dataView.getRowById(l),i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0,!1)):i.resortGrid?(this._dataView.reSort(),o=this._dataView.getRowById(l)):(o=n==="bottom"?this._dataView.getRowById(l):0,i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0)),i.highlightRow&&o!==void 0&&this.highlightRow(o),o!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),!((u=this._gridOptions)!=null&&u.backendServiceApi)&&this._gridOptions.enablePagination&&(n==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),o}addItems(e,t){var l,a,h,d;const i={...rs,...t},s=this._gridOptions.datasetIdPropertyName||"id",n=i==null?void 0:i.position,o=[];if(Array.isArray(e))this._dataView.beginUpdate(!0),n==="bottom"||(l=this._gridOptions)!=null&&l.enableTreeData?this._dataView.addItems(e):this._dataView.insertItems(0,e),this._dataView.endUpdate();else return[this.addItem(e,i)||0];if((a=this._gridOptions)!=null&&a.enableTreeData){this.invalidateHierarchicalDataset();const c=((h=e[0])==null?void 0:h[s])??"",u=this._dataView.getRowById(c);i.scrollRowIntoView&&this._grid.scrollRowIntoView(u??0,!1)}else i.resortGrid&&this._dataView.reSort();return n&&i.scrollRowIntoView&&!((d=this._gridOptions)!=null&&d.enableTreeData)&&(n==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),e.forEach(c=>o.push(this._dataView.getRowById(c[s]))),i.highlightRow&&this.highlightRow(o),i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),o}deleteItem(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!(t!=null&&t.skipError)&&(!e||!e.hasOwnProperty(i)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${i}" property`);return this.deleteItemById(e[i],t)}deleteItems(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return this.deleteItem(e,t),[e[i]];this._dataView.beginUpdate(!0);const s=[];return e.forEach(n=>{(n==null?void 0:n[i])!==void 0&&s.push(n[i])}),this._dataView.deleteItems(s),this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),s}deleteItemById(e,t){if(t={...Ys,...t},!(t!=null&&t.skipError)&&e==null)throw new Error('[Slickgrid-Universal] Cannot delete a row without a valid "id"');return!(this.gridStateService&&this.gridStateService.needToPreserveRowSelection()||!1)&&this._grid&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows([]),this._dataView.deleteItem(e),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}deleteItemByIds(e,t){if(t={...Ys,...t},Array.isArray(e)){this._dataView.beginUpdate(!0);for(let i=0;i<e.length;i++)e[i]!==null&&this.deleteItemById(e[i],{triggerEvent:!1});return this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}return[]}updateItem(e,t){t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${i}" property`);return this.updateItemById(s,e,t)}updateItems(e,t){var o;t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return[this.updateItem(e,t)];this._dataView.beginUpdate(!0);const s=[],n=[];return e.forEach(l=>{const a=!l||!l.hasOwnProperty(i)?void 0:l[i];if(n.push(a),this._dataView.getIdxById(a)!==void 0){const h=this._dataView.getRowById(a);h!==void 0&&(s.push(h),this._grid.updateRow(h))}}),this._dataView.updateItems(n,e),this._dataView.endUpdate(),(o=this._gridOptions)!=null&&o.enableTreeData&&this.invalidateHierarchicalDataset(),t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent&&this.pubSubService.publish("onItemUpdated",e),s}updateItemById(e,t,i){var n;if(i={...wr,...i},!(i!=null&&i.skipError)&&e===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const s=this._dataView.getRowById(e);if(!(i!=null&&i.skipError)&&!t&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${e}`);return this._dataView.getIdxById(e)!==void 0&&(this._dataView.updateItem(e,t),s!==void 0&&this._grid.updateRow(s),(n=this._gridOptions)!=null&&n.enableTreeData&&this.invalidateHierarchicalDataset(),i.scrollRowIntoView&&s!==void 0&&this._grid.scrollRowIntoView(s),i.highlightRow&&s!==void 0&&this.highlightRow(s),s!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(s),i.triggerEvent&&this.pubSubService.publish("onItemUpdated",t)),s}upsertItem(e,t){t={...rs,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${i}" property`);return this.upsertItemById(s,e,t)}upsertItems(e,t){if(t={...rs,...t},!Array.isArray(e))return[this.upsertItem(e,t)];this._dataView.beginUpdate(!0);const i=[];e.forEach(n=>{i.push(this.upsertItem(n,{...t,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const s=i.map(n=>n.added!==void 0?n.added:n.updated);if(t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent){this.pubSubService.publish("onItemUpserted",e);const n=i.filter(l=>l.added!==void 0);Array.isArray(n)&&n.length>0&&this.pubSubService.publish("onItemAdded",n);const o=i.filter(l=>l.updated!==void 0);Array.isArray(o)&&o.length>0&&this.pubSubService.publish("onItemUpdated",o)}return i}upsertItemById(e,t,i){let s=!1;if(i={...rs,...i},!(i!=null&&i.skipError)&&e===void 0&&!this.hasRowSelectionEnabled())throw new Error('[Slickgrid-Universal] Calling Upsert of an item requires the item to include a valid and unique "id" property');let n,o;return this._dataView.getRowById(e)===void 0?(n=this.addItem(t,i),s=!0):(o=this.updateItem(t,{highlightRow:i.highlightRow,selectRow:i.selectRow,triggerEvent:i.triggerEvent}),s=!1),i.triggerEvent&&(this.pubSubService.publish("onItemUpserted",t),s?this.pubSubService.publish("onItemAdded",t):this.pubSubService.publish("onItemUpdated",t)),{added:n,updated:o}}invalidateHierarchicalDataset(e){var t;if((t=this._gridOptions)!=null&&t.enableTreeData&&this.treeDataService){const i=e??this._dataView.getItems(),s=this.sortService.getCurrentColumnSorts(),n=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(i||[],this.sharedService.allColumns,this._gridOptions,s);this.sharedService.hierarchicalDataset=n.hierarchical,this.filterService.refreshTreeDataFilters(e),this._dataView.setItems(n.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class pu{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new pe}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onBeforeEditCell,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onBeforeEditCell=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onBeforeEditCell(i instanceof le?i.getNativeEvent():i,o)}})}bindOnCellChange(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onCellChange,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellChange=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellChange(i instanceof le?i.getNativeEvent():i,o)}})}bindOnClick(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onClick,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellClick=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellClick(i instanceof le?i.getNativeEvent():i,o)}})}}class mu{constructor(e,t,i,s,n,o){this.extensionService=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0,this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(e){this._selectedRowDataContextIds=e}init(e){this._grid=e,this.subscribeToAllGridChanges(e)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(e,t=!0,i=!1){var s,n,o,l,a,h;if(Array.isArray(e)&&e.length>0){const d=this.getAssociatedGridColumns(this._grid,e);if(d&&Array.isArray(d)&&d.length>0){if(Array.isArray(this.sharedService.allColumns)){const c=[];if(this._gridOptions.enableCheckboxSelector){const u=((n=(s=this._gridOptions)==null?void 0:s.checkboxSelector)==null?void 0:n.columnIndexPosition)??0;c.push({columnId:"_checkbox_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowDetailView){const u=((l=(o=this._gridOptions)==null?void 0:o.rowDetailView)==null?void 0:l.columnIndexPosition)??0;c.push({columnId:"_detail_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowMoveManager){const u=((h=(a=this._gridOptions)==null?void 0:a.rowMoveManager)==null?void 0:h.columnIndexPosition)??0;c.push({columnId:"_move",columnIndexPosition:u})}this.addColumnDynamicWhenFeatureEnabled(c,this.sharedService.allColumns,d)}d.forEach(c=>c.originalWidth=c.width||c.originalWidth),this._grid.setColumns(d),this.sharedService.visibleColumns=d,t?this._grid.autosizeColumns():(i||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var o;const{frozenColumn:e,frozenRow:t,frozenBottom:i}=this.sharedService.gridOptions,s={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:t,frozenBottom:i}},n=this.getCurrentPagination();if(n&&(s.pagination=n),this.hasRowSelectionEnabled()){const l=this.getCurrentRowSelections();l&&(s.rowSelection=l)}if((o=this._gridOptions)!=null&&o.enableTreeData){const l=this.getCurrentTreeDataToggleState();l&&(s.treeData=l)}return s}getColumns(){return this._columns}getAssociatedCurrentColumns(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{i!=null&&i.id&&t.push({columnId:i.id,cssClass:i.cssClass||"",headerCssClass:i.headerCssClass||"",width:i.width||0})}),t}getAssociatedGridColumns(e,t){const i=[],s=this.sharedService.allColumns||e.getColumns();return t&&Array.isArray(t)&&t.forEach(n=>{const o=s.find(l=>l.id===n.columnId);o!=null&&o.id&&i.push({...o,cssClass:n.cssClass||o.cssClass,headerCssClass:n.headerCssClass||o.headerCssClass,width:n.width})}),this._columns=i,i}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentFilters)return i.getCurrentFilters()}else if((t=this.filterService)!=null&&t.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var e;if((e=this._gridOptions)!=null&&e.enablePagination)if(this._gridOptions.backendServiceApi){const t=this._gridOptions.backendServiceApi.service;if(t!=null&&t.getCurrentPagination)return t.getCurrentPagination()}else return this.sharedService.currentPagination;return null}getCurrentRowSelections(){return this._grid&&this._dataView&&this.hasRowSelectionEnabled()?{gridRowIndexes:this._grid.getSelectedRows()||[],dataContextIds:this._dataView.getAllSelectedIds()||[],filteredDataContextIds:this._dataView.getAllSelectedFilteredIds()||[]}:null}getCurrentSorters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentSorters)return i.getCurrentSorters()}else if((t=this.sortService)!=null&&t.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var e;return(e=this._gridOptions)!=null&&e.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if((t=this._gridOptions)!=null&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const i=this._gridOptions.dataView.syncGridSelection;typeof i=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof i=="object"&&(e=i.preserveHidden||i.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(e){const t=e||this._columns,i=this.getAssociatedCurrentColumns(t);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(e=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,e&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var e,t;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const i=(t=(e=this.extensionService)==null?void 0:e.getExtensionByName)==null?void 0:t.call(e,G.rowSelection);i!=null&&i.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(e){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(G.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(G.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",e),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",e),this.bindSlickGridOnSetOptionsEventToGridStateChange(e),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(t,i)=>{const s=(this._selectedRowIndexes||[]).slice(),n=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=i.filteredIds,this._selectedRowIndexes=i.rows,!pt(this.selectedRowDataContextIds,n)||!pt(this._selectedRowIndexes,s)){const o={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:i.selectedRowIds,filteredDataContextIds:i.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:o,type:$e.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe(["onHeaderMenuHideColumns","onHideColumns","onShowColumns"],t=>{const i=this.getAssociatedCurrentColumns(t.columns);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(e,t,i){e.sort((s,n)=>s.columnIndexPosition-n.columnIndexPosition),e.forEach(s=>{const n=t.findIndex(l=>l.id===s.columnId),o=i.findIndex(l=>l.id===s.columnId);if(n>=0&&o===-1){const l=t[n];n===0?i.unshift(l):i.splice(n,0,l)}})}bindExtensionAddonEventToGridStateChange(e,t){var n,o,l;const i=(o=(n=this.extensionService)==null?void 0:n.getExtensionByName)==null?void 0:o.call(n,e),s=(l=i==null?void 0:i.instance)==null?void 0:l[t];s&&typeof s.subscribe=="function"&&this._eventHandler.subscribe(s,(a,h)=>{const d=h==null?void 0:h.columns,c=this.getAssociatedCurrentColumns(d);this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(e,t){const i=t==null?void 0:t[e];i&&typeof i.subscribe=="function"&&this._eventHandler.subscribe(i,()=>{const s=t.getColumns(),n=this.getAssociatedCurrentColumns(s);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(e){const t=e.onSetOptions;this._eventHandler.subscribe(t,(i,s)=>{const{frozenBottom:n,frozenColumn:o,frozenRow:l}=s.optionsBefore,{frozenBottom:a,frozenColumn:h,frozenRow:d}=s.optionsAfter;if(n!==a||o!==h||l!==d){const c={frozenBottom:a,frozenColumn:h,frozenRow:d},u=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.pinning},gridState:u})}})}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class fu{constructor(e){this.extensionUtility=e,this._subscriptions=[],this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}init(e){this._grid=e,e&&this._gridOptions&&this._gridOptions.createPreHeaderPanel&&(this._gridOptions.enableTranslate&&this.translateHeaderGrouping(),this._eventHandler.subscribe(e.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._eventHandler.subscribe(e.onSetOptions,(t,i)=>{var s,n;((s=i==null?void 0:i.optionsBefore)==null?void 0:s.frozenColumn)!==((n=i==null?void 0:i.optionsAfter)==null?void 0:n.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75))}dispose(){this._eventHandler.unsubscribeAll()}delayRenderPreHeaderRowGroupingTitles(e=0){window.setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),e)}renderPreHeaderRowGroupingTitles(){var t;const e=this._columnDefinitions.length;if(((t=this._gridOptions)==null?void 0:t.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0){const i=this._gridOptions.frozenColumn;this.renderHeaderGroups(this._grid.getPreHeaderPanelLeft(),0,i+1),this.renderHeaderGroups(this._grid.getPreHeaderPanelRight(),i+1,e)}else this.renderHeaderGroups(this._grid.getPreHeaderPanel(),0,e)}renderHeaderGroups(e,t,i){var c,u,p;ee(e),e.className="slick-header-columns",e.style.left="-1000px",e.style.width=`${this._grid.getHeadersWidth()}px`,(c=e.parentElement)==null||c.classList.add("slick-header");const s=this._grid.getHeaderColumnWidthDiff();let n,o=null,l="",a=0;const h=((u=this._gridOptions)==null?void 0:u.frozenHeaderWidthCalcDifferential)??0,d=((p=this._gridOptions)==null?void 0:p.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let m=t;m<i;m++)n=this._columnDefinitions[m],n&&(l===n.columnGroup&&m>0?(a+=n.width||0,o!=null&&o.style&&(o.style.width=`${a-s-h}px`)):(a=n.width||0,o=v("div",{className:`slick-state-default slick-header-column ${d?"frozen":""}`,dataset:{group:n.columnGroup},style:{width:`${a-s}px`}}),v("span",{className:"slick-column-name",textContent:n.columnGroup||""},o),e.appendChild(o)),l=n.columnGroup||"")}translateHeaderGrouping(){const e=this._grid.getColumns();this.extensionUtility.translateItems(e,"columnGroupKey","columnGroup"),this._grid.setColumns(e),this.renderPreHeaderRowGroupingTitles()}}class gu{constructor(e,t,i,s){this.pubSubService=e,this.sharedService=t,this.backendUtilities=i,this.rxjs=s,this._initialized=!1,this._isLocalGrid=!0,this._dataFrom=1,this._dataTo=1,this._itemsPerPage=0,this._pageCount=1,this._pageNumber=1,this._totalItems=0,this._availablePageSizes=[],this._subscriptions=[],this._isCursorBased=!1,this._eventHandler=new pe}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}set paginationOptions(e){this._paginationOptions=e}get paginationOptions(){return this._paginationOptions}get availablePageSizes(){return this._availablePageSizes}get dataFrom(){return this._dataFrom}get dataTo(){return this._dataTo}get itemsPerPage(){return this._itemsPerPage}get pageCount(){return this._pageCount}get pageNumber(){return this._pageNumber}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(e){this.rxjs=e}init(e,t,i){var n,o;if(this._availablePageSizes=t.pageSizes||[],this.grid=e,this._backendServiceApi=i,this._paginationOptions=t,this._isLocalGrid=!i,this._pageNumber=t.pageNumber||1,this._isCursorBased=((n=i==null?void 0:i.options)==null?void 0:n.useCursor)??!1,i&&(!i.service||!i.process))throw new Error('BackendServiceApi requires the following 2 properties "process" and "service" to be defined.');this._isLocalGrid&&this.dataView&&(this._eventHandler.subscribe(this.dataView.onPagingInfoChanged,(l,a)=>{this._totalItems!==a.totalRows&&(this.updateTotalItems(a.totalRows),this._previousPagination={pageNumber:a.pageNum,pageSize:a.pageSize,pageSizes:this.availablePageSizes,totalItems:a.totalRows})}),queueMicrotask(()=>{this.dataView&&(this.dataView.setRefreshHints({isFilterUnchanged:!0}),this.dataView.setPagingOptions({pageSize:this.paginationOptions.pageSize,pageNum:this._pageNumber-1}))})),this._subscriptions.push(this.pubSubService.subscribe(["onFilterChanged","onFilterCleared"],()=>this.resetPagination())),(o=i==null?void 0:i.options)!=null&&o.infiniteScroll&&this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",l=>this.processOnItemAddedOrRemoved(l,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",l=>this.processOnItemAddedOrRemoved(l,!1)))),this.refreshPagination(!1,!1,!0);const s=this.getFullPagination();this._previousPagination={pageNumber:s.pageNumber,pageSize:s.pageSize,pageSizes:s.pageSizes,totalItems:this.totalItems},this._initialized=!0,hs(t,"totalItems",l=>this._totalItems=l)}dispose(){this._initialized=!1,this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}getCurrentPagination(){return{pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes}}getFullPagination(){return{pageCount:this._pageCount,pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes,totalItems:this._totalItems,dataFrom:this._dataFrom,dataTo:this._dataTo}}getCurrentPageNumber(){return this._pageNumber}getCurrentItemPerPage(){return this._itemsPerPage}changeItemPerPage(e,t,i=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/e),this._itemsPerPage=e,i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToFirstPage(e,t=!0){return this._pageNumber=1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToLastPage(e,t=!0){return this._pageNumber=this._pageCount||1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToNextPage(e,t=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(e,t,i=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const s=this._pageNumber;return e<1?this._pageNumber=1:e>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=e,this._pageNumber!==s?i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(e,t=!0){return this._pageNumber>1?(this._pageNumber--,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(e=!1,t=!0,i=!1){var o,l,a;const s={...this.getFullPagination()};if(this._paginationOptions){const h=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=h.pageSize:this._itemsPerPage=+((a=(l=(o=this._backendServiceApi)==null?void 0:o.options)==null?void 0:l.paginationOptions)!=null&&a.first?this._backendServiceApi.options.paginationOptions.first:h.pageSize)),(e||this._totalItems!==h.totalItems)&&(e?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&h.pageNumber&&h.pageNumber>1&&(this._pageNumber=h.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=h.pageSizes||[],!this._totalItems&&h.totalItems&&(this._totalItems=h.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),t&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),i&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const n=this.getFullPagination();this._previousPagination={pageNumber:n.pageNumber,pageSize:n.pageSize,pageSizes:n.pageSizes,totalItems:this.totalItems}}resetPagination(e=!0,t=!0){var i,s;this._isLocalGrid&&this.dataView&&((s=(i=this.sharedService)==null?void 0:i.gridOptions)!=null&&s.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,e),t&&this.grid.scrollTo(0)}togglePaginationVisibility(e){var t;if(this.grid&&((t=this.sharedService)!=null&&t.gridOptions)){const i=e!==void 0?e:!this.sharedService.gridOptions.enablePagination;if(i&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const s=e?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:s,pageNum:0})}this.sharedService.gridOptions.enablePagination=i,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:i})}}processOnPageChanged(e,t,i){return console.assert(!this.isCursorBased||i,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((s,n)=>{var o,l,a;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:e-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),s(this.getFullPagination());else{const h=+this._itemsPerPage,d=new Date;if((o=this._backendServiceApi)!=null&&o.preProcess&&this._backendServiceApi.preProcess(),(l=this._backendServiceApi)!=null&&l.process){const c=this.isCursorBased&&i?this._backendServiceApi.service.processOnPaginationChanged(t,i):this._backendServiceApi.service.processOnPaginationChanged(t,{newPage:e,pageSize:h}),u=this._backendServiceApi.process(c);u instanceof Promise?u.then(p=>{var f;(f=this.backendUtilities)==null||f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems);const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s(this.getFullPagination())}).catch(p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)}):(a=this.rxjs)!=null&&a.isObservable(u)&&this._subscriptions.push(u.subscribe(p=>{var f;const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s((f=this.backendUtilities)==null?void 0:f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems))},p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){((this._pageNumber-1)*this._itemsPerPage>this._totalItems||this._totalItems>0&&this._pageNumber===0)&&(this._pageNumber=1),this._totalItems===0?(this._dataFrom=0,this._dataTo=1,this._pageNumber=0):(this._dataFrom=this._pageNumber>1?this._pageNumber*this._itemsPerPage-this._itemsPerPage+1:1,this._dataTo=this._totalItems<this._itemsPerPage?this._totalItems:(this._pageNumber||1)*this._itemsPerPage,this._dataTo>this._totalItems&&(this._dataTo=this._totalItems)),this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var i,s,n,o,l,a,h,d,c;const e=((i=this._previousPagination)==null?void 0:i.pageNumber)!==this.getFullPagination().pageNumber,t=((s=this._previousPagination)==null?void 0:s.pageSize)!==this.getFullPagination().pageSize;t&&this.changeItemPerPage(((n=this._previousPagination)==null?void 0:n.pageSize)??0,null,!1),e&&this.goToPageNumber(((o=this._previousPagination)==null?void 0:o.pageNumber)??0,null,!1),(e||t)&&(this.refreshPagination(),(c=(a=(l=this._backendServiceApi)==null?void 0:l.service)==null?void 0:a.updatePagination)==null||c.call(a,((h=this._previousPagination)==null?void 0:h.pageNumber)??0,((d=this._previousPagination)==null?void 0:d.pageSize)??0))}setCursorBased(e){this._isCursorBased=e,e&&this.setCursorPageInfo({startCursor:"",endCursor:"",hasNextPage:!1,hasPreviousPage:!1}),this.goToFirstPage(),this.pubSubService.publish("onPaginationSetCursorBased",{isCursorBased:e})}setCursorPageInfo(e){this._cursorPageInfo=e}updateTotalItems(e,t=!1){this._totalItems=e,this._paginationOptions&&(this._paginationOptions.totalItems=e,this.refreshPagination(!1,t))}processOnItemAddedOrRemoved(e,t=!0){if(e!==null){const i=this._dataTo,s=Array.isArray(e)?e.length:1,n=t?+s:-s;this._totalItems+=n,this.recalculateFromToIndexes(),this._dataTo=i+n,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const _u=20,Cu=25,vu=35,bu=180,Su=300,yu=200;class Eu{get autoHeightRecalcRow(){return this._autoHeightRecalcRow||100}get isAutoHeightEnabled(){var e;return!!(this.gridOptions.enableAutoResize&&((e=this.gridOptions.autoResize)!=null&&e.autoHeight))}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(e){this._intervalRetryDelay=e}get resizeByContentOptions(){var e;return((e=this.gridOptions)==null?void 0:e.resizeByContentOptions)??{}}constructor(e){this.pubSubService=e,this._allHeaderHeight=0,this._autoHeightRecalcRow=0,this._intervalRetryDelay=yu,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new pe,this._bindingEventService=new Pe}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),window.clearInterval(this._intervalId),window.clearTimeout(this._timer),((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(e,t){var s,n,o,l,a,h;if(!e||!this.gridOptions||!t)throw new Error(`
13
13
  [Slickgrid-Universal] Resizer Service requires a valid Grid object and DOM Element Container to be provided.
14
- You can fix this by setting your gridOption to use "enableAutoResize" or create an instance of the ResizerService by calling bindAutoResizeDataGrid() once.`);this._grid=e,this._gridContainerElm=t;const i=(s=this.gridOptions)!=null&&s.gridHeight||(n=this.gridOptions)!=null&&n.gridWidth?{height:(o=this.gridOptions)==null?void 0:o.gridHeight,width:(l=this.gridOptions)==null?void 0:l.gridWidth}:void 0;this._autoResizeOptions=((a=this.gridOptions)==null?void 0:a.autoResize)??{container:"grid1",bottomPadding:0},i!=null&&i.width&&(t!=null&&t.style)&&(t.style.width=typeof i.width=="string"?i.width:`${i.width}px`),this._gridDomElm=e.getContainerNode(),typeof this._autoResizeOptions.container=="string"?this._pageContainerElm=typeof this._autoResizeOptions.container=="string"?document.querySelector(this._autoResizeOptions.container):this._autoResizeOptions.container:this._pageContainerElm=this._autoResizeOptions.container,i&&(this._fixedHeight=i.height,this._fixedWidth=i.width),this.gridOptions.enableAutoResize&&(this._autoHeightRecalcRow=((h=this.gridOptions.autoResize)==null?void 0:h.autoHeightRecalcRow)??100,this.bindAutoResizeDataGrid()),this.gridOptions.autoResize&&this._subscriptions.push(this.pubSubService.subscribe("onFullResizeByContentRequested",()=>this.resizeColumnsByCellContent(!0))),this.gridOptions.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",d=>{this.handleSingleColumnResizeByContent(d.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(d,c)=>{this.handleSingleColumnResizeByContent(c.triggeredByColumn)}))}bindAutoResizeDataGrid(e){var t;if(((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"){if(!this._pageContainerElm||!this._pageContainerElm)throw new Error(`
14
+ You can fix this by setting your gridOption to use "enableAutoResize" or create an instance of the ResizerService by calling bindAutoResizeDataGrid() once.`);this._grid=e,this._gridContainerElm=t;const i=(s=this.gridOptions)!=null&&s.gridHeight||(n=this.gridOptions)!=null&&n.gridWidth?{height:(o=this.gridOptions)==null?void 0:o.gridHeight,width:(l=this.gridOptions)==null?void 0:l.gridWidth}:void 0;this._autoResizeOptions=((a=this.gridOptions)==null?void 0:a.autoResize)??{container:"grid1",bottomPadding:0},i!=null&&i.width&&(t!=null&&t.style)&&(t.style.width=typeof i.width=="string"?i.width:`${i.width}px`),this._gridDomElm=e.getContainerNode(),typeof this._autoResizeOptions.container=="string"?this._pageContainerElm=typeof this._autoResizeOptions.container=="string"?document.querySelector(this._autoResizeOptions.container):this._autoResizeOptions.container:this._pageContainerElm=this._autoResizeOptions.container,i&&(this._fixedHeight=i.height,this._fixedWidth=i.width),this.gridOptions.enableAutoResize&&(this._autoHeightRecalcRow=((h=this.gridOptions.autoResize)==null?void 0:h.autoHeightRecalcRow)??100,this.bindAutoResizeDataGrid()),this.gridOptions.autoResize&&this._subscriptions.push(this.pubSubService.subscribe("onFullResizeByContentRequested",()=>this.resizeColumnsByCellContent(!0))),this._eventHandler.subscribe(this._grid.onAutosizeColumns,()=>{this.cacheHeaderHeightTotal()}),this.gridOptions.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",d=>{this.handleSingleColumnResizeByContent(d.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(d,c)=>{this.handleSingleColumnResizeByContent(c.triggeredByColumn)}))}bindAutoResizeDataGrid(e){var t;if(((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"){if(!this._pageContainerElm||!this._pageContainerElm)throw new Error(`
15
15
  [Slickgrid-Universal] Resizer Service requires a container when gridOption.autoResize.resizeDetection="container"
16
- You can fix this by setting your gridOption.autoResize.container`);this._resizeObserver||(this._resizeObserver=new ResizeObserver(()=>this.resizeObserverCallback())),this._resizeObserver.observe(this._pageContainerElm)}else{if(this._gridDomElm===void 0)return null;this.resizeGrid().then(()=>this.resizeGridWhenStylingIsBrokenUntilCorrected()).catch(i=>console.log("Error:",i)),this.resizeGrid(10,e),this._bindingEventService.bind(window,"resize",()=>{this.handleResizeGrid(e)})}}handleResizeGrid(e){this.pubSubService.publish("onGridBeforeResize"),this._resizePaused||(this.resizeGrid(0,e),this.resizeGrid(0,e))}resizeObserverCallback(){this._resizePaused||this.resizeGrid()}cacheHeaderHeightTotal(){const e=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-topheader-panel`),t=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-pane-header`),i=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-headerrow`);this._allHeaderHeight=((e==null?void 0:e.offsetHeight)||0)+((t==null?void 0:t.offsetHeight)||0)+((i==null?void 0:i.offsetHeight)||0)}calculateGridNewDimensions(e){var f,g;const t=(e==null?void 0:e.autoResize)??{},i=ge(this._gridDomElm);if(!window||!this._gridDomElm)return null;let s=(t==null?void 0:t.bottomPadding)!==void 0?t.bottomPadding:_u;if(s&&e.enablePagination&&(s+=vu),s&&e.showCustomFooter){const _=((g=(f=this.gridOptions)==null?void 0:f.customFooterOptions)==null?void 0:g.footerHeight)??Cu;s+=parseInt(`${_}`,10)}let n=0,o=0;t.calculateAvailableSizeBy==="container"?n=us(this._pageContainerElm,"height")||0:(n=window.innerHeight||0,o=i.top);const l=n-o-s,a=us(this._pageContainerElm,"width")||window.innerWidth||0,h=t==null?void 0:t.maxHeight,d=(t==null?void 0:t.minHeight)??bu,c=t==null?void 0:t.maxWidth,u=(t==null?void 0:t.minWidth)??Su;let p=l,m=t!=null&&t.rightPadding?a-t.rightPadding:a;if(e.enableAutoResize&&this.isAutoHeightEnabled){const _=this.dataView.getLength();if(_>0&&_<this.autoHeightRecalcRow){this._allHeaderHeight||this.cacheHeaderHeightTotal();const C=_*e.rowHeight,b=this._allHeaderHeight+C;b<p&&(p=b)}}return p<d&&(p=d),h&&p>h&&(p=h),m<u&&(m=u),c&&m>c&&(m=c),{height:this._fixedHeight||p,width:this._fixedWidth||m}}getLastResizeDimensions(){return this._lastDimensions}pauseResizer(e){this._resizePaused=e}resizeGrid(e,t){return new Promise(i=>{e=e||0,e>0?(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>i(this.resizeGridCallback(t)),e)):i(this.resizeGridCallback(t))})}resizeGridCallback(e){var i,s;const t=this.resizeGridWithDimensions(e);return this.pubSubService.publish("onGridAfterResize",t),this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((i=this._lastDimensions)!=null&&i.width)||(t==null?void 0:t.width)!==((s=this._lastDimensions)==null?void 0:s.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions=t,t}resizeGridWithDimensions(e){var i,s,n,o;const t=this.calculateGridNewDimensions(this.gridOptions);if((e||t)&&this._gridDomElm){const l=e!=null&&e.height?e.height:t==null?void 0:t.height,a=e!=null&&e.width?e.width:t==null?void 0:t.width;this.gridOptions.autoHeight||(this._gridDomElm.style.height=`${l}px`),this._gridDomElm.style.width=`${a}px`,this._gridContainerElm&&(this._gridContainerElm.style.width=`${a}px`),(i=this._grid)!=null&&i.resizeCanvas&&this._gridContainerElm&&this._grid.resizeCanvas(),this._grid&&((s=this.gridOptions)!=null&&s.enableAutoSizeColumns)?this.gridUid&&document.querySelector(this.gridUidSelector)&&(!this._lastDimensions||this._lastDimensions.height!==l||this._lastDimensions.width!==a)&&this._grid.autosizeColumns():this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((n=this._lastDimensions)!=null&&n.width)||a!==((o=this._lastDimensions)==null?void 0:o.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions={height:l||0,width:a||0}}return this._lastDimensions}requestStopOfAutoFixResizeGrid(e=!0){this._isStopResizeIntervalRequested=e}resizeColumnsByCellContent(e=!1){var h,d;const t=this._grid.getColumns(),i=this.dataView.getItems(),s={};let n=!1,o=0;const l=((h=this._gridContainerElm)==null?void 0:h.offsetWidth)??0;if(!Array.isArray(i)||i.length===0||!e&&this._totalColumnsWidthByContent>0&&this._totalColumnsWidthByContent<l){this._grid.autosizeColumns();return}if(this._hasResizedByContentAtLeastOnce&&((d=this.gridOptions)!=null&&d.resizeByContentOnlyOnFirstLoad)&&!e)return;if(this.pubSubService.publish("onBeforeResizeByContent",void 0,0),this._totalColumnsWidthByContent===0||e){for(const u of t)s[u.id]=u.originalWidth??u.minWidth??0;o=this.calculateCellWidthByReadingDataset(t,s,this.resizeByContentOptions.maxItemToInspectCellContentWidth);let c=0;for(const u of t){const p=u.resizeAlwaysRecalculateWidth??this.resizeByContentOptions.alwaysRecalculateColumnWidth??!1;u.originalWidth&&!p?u.width=u.originalWidth:s[u.id]!==void 0&&(u.rerenderOnResize&&(n=!0),this.applyNewCalculatedColumnWidthByReference(u,s[u.id])),c+=u.width||0,this._totalColumnsWidthByContent=c}}this._grid.setColumns(t),this._hasResizedByContentAtLeastOnce=!0;const a={};for(const c of t)a[c.id]=c.width;this._totalColumnsWidthByContent>l?this._grid.reRenderColumns(n):this._grid.autosizeColumns(),this.pubSubService.publish("onAfterResizeByContent",{readItemCount:o,calculateColumnWidths:a})}calculateCellWidthByReadingDataset(e,t,i=1e3,s){const n=Array.isArray(e)?e:[e],o=this.dataView.getItems();let l=0;for(const[a,h]of o.entries()){if(a>i)break;Array.isArray(n)&&typeof t=="object"&&n.forEach((d,c)=>{const u=this.calculateCellWidthByContent(h,d,a,s??c,t[d.id]);u!==void 0&&(t[d.id]=u)}),l=a+1}return l}calculateCellWidthByContent(e,t,i,s,n){const o=this.resizeByContentOptions.cellCharWidthInPx??7;if(!t.originalWidth){const l=(t==null?void 0:t.resizeCharWidthInPx)??o,a=Gs(t==null?void 0:t.formatter,i,s,t,e,this._grid),h=ei(a)?we(a):"",d=Math.ceil(h.length*l),c=t.resizeMaxWidthThreshold;t&&(n===void 0||d>n)&&(n=c!==void 0&&d>c?c:t.maxWidth!==void 0&&d>t.maxWidth?t.maxWidth:d)}return n}applyNewCalculatedColumnWidthByReference(e,t){var a;const i=this.resizeByContentOptions.cellPaddingWidthInPx??6,s=this.resizeByContentOptions.formatterPaddingWidthInPx??6,n=((a=e==null?void 0:e.filter)==null?void 0:a.type)??(e==null?void 0:e.type)??w.string;let o=t;const l=(e==null?void 0:e.resizeCalcWidthRatio)??this.resizeByContentOptions.defaultRatioForStringType??.9;o*=n==="string"?l:1,o+=i,e.resizeExtraWidthPadding&&(o+=e.resizeExtraWidthPadding),e.editor&&this.gridOptions.editable&&(o+=s),e.maxWidth!==void 0&&o>e.maxWidth&&(o=e.maxWidth),e.resizeMaxWidthThreshold!==void 0&&o>e.resizeMaxWidthThreshold&&(o=e.resizeMaxWidthThreshold),o=Math.ceil(o),(e.originalWidth===void 0||e.resizeAlwaysRecalculateWidth===!0||this.resizeByContentOptions.alwaysRecalculateColumnWidth===!0)&&(e.width=this.readjustNewColumnWidthWhenOverLimit(e,o))}handleSingleColumnResizeByContent(e){const t=this._grid.getColumns(),i=t.findIndex(s=>s.id===e);if(i>=0){const s=t[i],n={[e]:s.originalWidth??s.minWidth??0};s.originalWidth=void 0,this.calculateCellWidthByReadingDataset(s,n,this.resizeByContentOptions.maxItemToInspectSingleColumnWidthByContent,i),this.applyNewCalculatedColumnWidthByReference(s,n[e]),this._grid.reRenderColumns((s==null?void 0:s.rerenderOnResize)??!1)}}readjustNewColumnWidthWhenOverLimit(e,t){var o,l;const i=this.gridOptions.frozenColumn??-1,s=this._grid.getColumns().findIndex(a=>a.id===e.id)??0;let n=t;if(i>=0&&s<=i){const a=Array.from(this._grid.getViewports());if(a){const h=((o=a.find(m=>m.classList.contains("slick-viewport-left")))==null?void 0:o.clientWidth)??0,d=((l=a.find(m=>m.classList.contains("slick-viewport-right")))==null?void 0:l.clientWidth)??0,c=h+d,u=h-(e.width??0);if(u+t>c){const m=this.resizeByContentOptions.widthToRemoveFromExceededWidthReadjustment??50;n=h-u+d-m}}}return Math.ceil(n)}checkIsGridShown(){var e;return!!(((e=document.querySelector(`${this.gridUidSelector}`))==null?void 0:e.offsetParent)??!1)}resizeGridWhenStylingIsBrokenUntilCorrected(){var l,a;const e=((l=this.gridOptions)==null?void 0:l.autoFixResizeTimeout)??18e3,t=((a=this.gridOptions)==null?void 0:a.autoFixResizeRequiredGoodCount)??5,i=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-header`),s=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-viewport`);let n=0,o=0;if(i&&s&&this.gridOptions.autoFixResizeWhenBrokenStyleDetected){const h=this.dataView.getItemCount(),d=this._grid.getColumns()||[];this._intervalId=window.setInterval(async()=>{var b,S,E;const u=ge(i);let p=u.top;(b=this.gridOptions)!=null&&b.enableFiltering&&this.gridOptions.headerRowHeight&&(p+=this.gridOptions.headerRowHeight),(S=this.gridOptions)!=null&&S.createPreHeaderPanel&&this.gridOptions.showPreHeaderPanel&&this.gridOptions.preHeaderPanelHeight&&(p+=this.gridOptions.preHeaderPanelHeight),p+=44;const f=ge(s).top,g=ge(this._gridContainerElm);let _=(u==null?void 0:u.top)===0||p-f>2||g.left===0&&g.top===0;const C=((E=this._grid.getRenderedRange())==null?void 0:E.rightPx)??0;!_&&h>0&&C===0&&d.length>1&&(_=!0),this._isStopResizeIntervalRequested&&(_=!1,n=e),this.checkIsGridShown()&&(_||g.left===0||g.top===0)&&(await this.resizeGrid(),o<5&&this._grid.updateColumns(),this.checkIsGridShown()&&(_=!1)),this.checkIsGridShown()&&o++,this.checkIsGridShown()&&!_&&(o>=t||n++>=e)&&window.clearInterval(this._intervalId)},this.intervalRetryDelay)}}}class wu{constructor(){this.currentPagination=null,this.isItemsDateParsed=!1,this.frozenVisibleColumnId="",this.hasColumnsReordered=!1,this.hideHeaderRowAfterPageLoad=!1}get allColumns(){return this._allColumns}set allColumns(e){this._allColumns=e}get columnDefinitions(){var e;return((e=this.slickGrid)==null?void 0:e.getColumns())??[]}get gridOptions(){var e;return this._gridOptions||((e=this.slickGrid)==null?void 0:e.getOptions())||{}}set gridOptions(e){this._gridOptions=e}get externalRegisteredResources(){return this._externalRegisteredResources}set externalRegisteredResources(e){this._externalRegisteredResources=e}get visibleColumns(){return this._visibleColumns}set visibleColumns(e){this._visibleColumns=e}get hierarchicalDataset(){return this._hierarchicalDataset}set hierarchicalDataset(e){this._hierarchicalDataset=e}}class Tu{constructor(e,t,i,s,n){this.collectionService=e,this.sharedService=t,this.pubSubService=i,this.backendUtilities=s,this.rxjs=n,this._currentLocalSorters=[],this._isBackendGrid=!1,this._eventHandler=new pe,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}dispose(){var e,t;(e=this._eventHandler)!=null&&e.unsubscribeAll&&this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((t=this.rxjs)!=null&&t.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete())}addRxJsResource(e){this.rxjs=e}bindBackendOnSort(e){this._isBackendGrid=!0,this._grid=e,this._dataView=e==null?void 0:e.getData(),this._eventHandler.subscribe(e.onSort,this.onBackendSortChanged.bind(this))}bindLocalOnSort(e){this._isBackendGrid=!1,this._grid=e,this._dataView=e==null?void 0:e.getData(),this.processTreeDataInitialSort(),this._eventHandler.subscribe(e.onSort,this.handleLocalOnSort.bind(this)),this._gridOptions.preParseDateColumns&&(this._eventHandler.subscribe(e.onCellChange,(t,i)=>this.preParseSingleDateItem(i.item)),this.pubSubService.subscribe(["onItemAdded","onItemUpdated"],t=>this.preParseSingleDateItem(t)))}preParseSingleDateItem(e){this._gridOptions.preParseDateColumns&&(Array.isArray(e)?e:[e]).forEach(i=>this.collectionService.parseSingleDateItem(i,this._grid,this._gridOptions.preParseDateColumns))}preParseAllDateItems(){var e;if(this._gridOptions.preParseDateColumns){const t=((e=this._dataView)==null?void 0:e.getItems())||[];this.collectionService.preParseByMutationDateItems(t,this._grid,this._gridOptions.preParseDateColumns),this.sharedService.isItemsDateParsed=!0}}handleLocalOnSort(e,t){var s;const i=t.multiColumnSort?t.sortCols:new Array({columnId:((s=t.sortCol)==null?void 0:s.id)??"",sortAsc:t.sortAsc,sortCol:t.sortCol});this._currentLocalSorters=[],Array.isArray(i)&&i.forEach(n=>{n.sortCol&&this._currentLocalSorters.push({columnId:n.sortCol.id,direction:n.sortAsc?ut.ASC:ut.DESC})}),this.onLocalSortChanged(this._grid,i),this.emitSortChanged(oe.local)}clearSortByColumnId(e,t){const i=this.getCurrentColumnSorts(),s=this.getCurrentColumnSorts(`${t}`);if(Array.isArray(i)&&Array.isArray(s)&&i.length!==s.length){if(this._gridOptions.backendServiceApi)this.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:s,grid:this._grid});else if(this._dataView)this.onLocalSortChanged(this._grid,s,!0,!0);else{const l=this._gridOptions.multiColumnSort||!1?s:s[0];this._grid.onSort.notify(l)}const n=s.map(o=>{var l;return{columnId:((l=o==null?void 0:o.sortCol)==null?void 0:l.id)??"",sortAsc:o==null?void 0:o.sortAsc,sortCol:o==null?void 0:o.sortCol}});this._grid.setSortColumns(n)}Array.isArray(s)&&s.length===0&&this.sortLocalGridByDefaultSortFieldId()}clearSorting(e=!0){var t;if(this._grid&&this._gridOptions&&this._dataView){if(this._grid.setSortColumns([]),e)this._isBackendGrid?this.onBackendSortChanged(void 0,{grid:this._grid,multiColumnSort:!0,sortCols:[],clearSortTriggered:!0}):this._columnDefinitions&&Array.isArray(this._columnDefinitions)&&this._columnDefinitions.length>0&&this.sortLocalGridByDefaultSortFieldId();else if(this._isBackendGrid){const i=(t=this._gridOptions.backendServiceApi)==null?void 0:t.service;i!=null&&i.clearSorters&&i.clearSorters()}}this._currentLocalSorters=[],this.pubSubService.publish("onSortCleared",!0)}disableSortFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableSorting;this._gridOptions.enableSorting=s;let n;e?(t&&this.clearSorting(),this._eventHandler.unsubscribeAll(),n=this.disableAllSortingCommands(!0)):(n=this.disableAllSortingCommands(!1),this._eventHandler.subscribe(this._grid.onSort,(o,l)=>this.handleLocalOnSort(o,l))),this._grid.setOptions({enableSorting:this._gridOptions.enableSorting},!1,!0),this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(n)}toggleSortFunctionality(e=!0){const t=this._gridOptions.enableSorting;this.disableSortFunctionality(t,e)}emitSortChanged(e,t){if(e===oe.remote&&this._gridOptions.backendServiceApi){let i=[];const s=this._gridOptions.backendServiceApi.service;s!=null&&s.getCurrentSorters&&(i=s.getCurrentSorters()),this.pubSubService.publish("onSortChanged",i)}else e===oe.local&&(t&&(this._currentLocalSorters=t),this.pubSubService.publish("onSortChanged",this.getCurrentLocalSorters()))}getCurrentLocalSorters(){return this._currentLocalSorters}getCurrentColumnSorts(e){if(this._grid){const t=this._grid.getSortColumns();if(Array.isArray(t))return t.reduce((s,n)=>(n&&(!e||n.columnId!==e)&&s.push({columnId:n.columnId||"",sortCol:this._columnDefinitions[this._grid.getColumnIndex(n.columnId||"")],sortAsc:n.sortAsc}),s),[])}return[]}loadGridSorters(e){this._currentLocalSorters=[];const t=[];return Array.isArray(e)&&((this._gridOptions.multiColumnSort?e:e.slice(0,1)).forEach(s=>{const n=this._columnDefinitions.find(o=>o.id===s.columnId);if(n){if(!n.sortable){let o="[Slickgrid-Universal] Cannot add sort icon to a column that is not sortable, please add `sortable: true` to your column or remove it from your list of columns to sort.";throw this._gridOptions.enableTreeData&&(o+=" Also note that TreeData feature requires the column holding the tree (expand/collapse icons) to be sortable."),new Error(o)}t.push({columnId:n.id,sortAsc:s.direction.toUpperCase()===ut.ASC,sortCol:n}),this._currentLocalSorters.push({columnId:String(n.id),direction:s.direction.toUpperCase()})}}),this.onLocalSortChanged(this._grid,t),this._grid.setSortColumns(t.map(s=>({columnId:s.columnId,sortAsc:s.sortAsc})))),t}processTreeDataInitialSort(){var e,t;if(this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions){const i=this._gridOptions.treeDataOptions,s=this._columnDefinitions.find(n=>n.id===i.columnId);if(s){let n=ut.ASC,o={columnId:i.columnId,sortCol:s,sortAsc:!0};if((e=i==null?void 0:i.initialSort)!=null&&e.columnId){const l=i.initialSort.columnId,a=this._columnDefinitions.find(h=>h.id===l);n=(i.initialSort.direction||ut.ASC).toUpperCase(),o={columnId:l,sortCol:a,sortAsc:n===ut.ASC}}o!=null&&o.columnId&&((t=this.sharedService)!=null&&t.hierarchicalDataset)&&this.updateSorting([{columnId:o.columnId||"",direction:n}])}}}onBackendSortChanged(e,t){var a,h,d;if(!t||!t.grid)throw new Error('Something went wrong when trying to bind the "onBackendSortChanged(event, args)" function, it seems that "args" is not populated correctly');const i=((a=t.grid)==null?void 0:a.getOptions())??{},s=i.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;s.preProcess&&s.preProcess();const o=s.service.processOnSortChanged(e,t),l=((h=i==null?void 0:i.pagination)==null?void 0:h.totalItems)||0;(d=this.backendUtilities)==null||d.executeBackendCallback(s,o,t,n,l,{emitActionChangedCallback:this.emitSortChanged.bind(this),errorCallback:()=>{var u,p,m;this._grid.setSortColumns(t.previousSortColumns||[]);const c=(u=t.previousSortColumns)==null?void 0:u.map(f=>({columnId:f.columnId,sortAsc:f.sortAsc,sortCol:this._columnDefinitions.find(g=>g.id===f.columnId)}));(m=(p=s==null?void 0:s.service)==null?void 0:p.updateSorters)==null||m.call(p,c||[])},httpCancelRequestSubject:this.httpCancelRequests$})}async onLocalSortChanged(e,t,i=!1,s=!1){const n=this._gridOptions.datasetIdPropertyName||"id",o=this._gridOptions.enableTreeData||!1,l=e.getData();if(await this.pubSubService.publish("onBeforeSortChange",{sortColumns:t},0),e&&l){if(this._gridOptions.preParseDateColumns&&!this.sharedService.isItemsDateParsed&&t.some(a=>{var h;return It((h=a.sortCol)==null?void 0:h.type)})&&this.preParseAllDateItems(),i&&!o&&l.reSort(),o&&this._dataView&&this.sharedService&&Array.isArray(this.sharedService.hierarchicalDataset)){const a=this.sortHierarchicalDataset(this.sharedService.hierarchicalDataset,t);this._dataView.setItems(a.flat,n),this._dataView.onRowCountChanged.notify({previous:this._dataView.getFilteredItemCount(),current:this._dataView.getLength(),itemCount:this._dataView.getItemCount(),dataView:this._dataView,callingOnRowsChanged:!0})}else l.sort(this.sortComparers.bind(this,t));e.invalidate(),s&&this.emitSortChanged(oe.local,t.map(a=>{var h;return{columnId:((h=a.sortCol)==null?void 0:h.id)??"id",direction:a.sortAsc?ut.ASC:ut.DESC}}))}}sortHierarchicalDataset(e,t,i=!1){this.sortTreeData(e,t);const s=this._gridOptions.datasetIdPropertyName||"id",n=this._gridOptions.treeDataOptions||{columnId:""},o={...n,identifierPropName:n.identifierPropName??s,shouldAddTreeLevelNumber:!0},l=lo(e,o);if(i){this._currentLocalSorters=[],t.forEach(h=>{this._currentLocalSorters.push({columnId:h.columnId,direction:h.sortAsc?"ASC":"DESC"})});const a=this._gridOptions.backendServiceApi?oe.remote:oe.local;this.emitSortChanged(a)}return{hierarchical:e,flat:l}}sortLocalGridByDefaultSortFieldId(){const e=this._gridOptions&&this._gridOptions.defaultColumnSortFieldId||this._gridOptions.datasetIdPropertyName||"id",t={id:e,field:e};this.onLocalSortChanged(this._grid,new Array({columnId:t.id,sortAsc:!0,sortCol:t,clearSortTriggered:!0}),!1,!0)}sortComparers(e,t,i){if(Array.isArray(e))for(const s of e){const n=this.sortComparer(s,t,i);if(n!==void 0)return n}return ae.neutral}sortComparer(e,t,i,s){if(e!=null&&e.sortCol){const n=e.sortCol,o=n.type||w.string,l=e.sortAsc?ae.asc:ae.desc;let a=s||n.queryFieldSorter||n.queryField||n.field;this._gridOptions.preParseDateColumns&&It(o)&&(e!=null&&e.columnId)&&(a=typeof this._gridOptions.preParseDateColumns=="string"?`${this._gridOptions.preParseDateColumns}${e.columnId}`:`${e.columnId}`);let h=a;typeof n.queryFieldNameGetterFn=="function"&&(a=n.queryFieldNameGetterFn(t),h=n.queryFieldNameGetterFn(i));let d=t[a],c=i[h];if((a==null?void 0:a.indexOf("."))>=0&&(d=Ee(t,a)),(h==null?void 0:h.indexOf("."))>=0&&(c=Ee(i,h)),n.sortComparer){const u=n.sortComparer(d,c,l,n,this._gridOptions);if(u!==ae.neutral)return u}else{const u=_i(o,d,c,l,n,this._gridOptions);if(u!==ae.neutral)return u}}}sortTreeData(e,t){Array.isArray(t)&&t.forEach(i=>{this.sortTreeChildren(e,i,0)})}sortTreeChildren(e,t,i){var n;const s=((n=this._gridOptions.treeDataOptions)==null?void 0:n.childrenPropName)??"children";e.sort((o,l)=>this.sortComparer(t,o,l)??ae.neutral),e.forEach(o=>{o&&o.hasOwnProperty(s)&&Array.isArray(o[s])&&(i++,this.sortTreeChildren(o[s],t,i),i--)})}updateSorting(e,t=!0,i=!0){var s;if(!this._gridOptions||!this._gridOptions.enableSorting)throw new Error('[Slickgrid-Universal] in order to use "updateSorting" method, you need to have Sortable Columns defined in your grid and "enableSorting" set in your Grid Options');if(Array.isArray(e)){const n=this._gridOptions.backendServiceApi;if(n){const o=n==null?void 0:n.service;o!=null&&o.updateSorters&&(o.updateSorters(void 0,e),i&&((s=this.backendUtilities)==null||s.refreshBackendDataset(this._gridOptions)))}else this.loadGridSorters(e);if(t){const o=n?oe.remote:oe.local;this.emitSortChanged(o)}}}disableAllSortingCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var o,l;n.sortable!==void 0&&(n.sortable=!e),(o=n==null?void 0:n.header)!=null&&o.menu&&((l=n.header.menu.commandItems)==null||l.forEach(a=>{if(a&&typeof a!="string"){const h=a.command;(h==="sort-asc"||h==="sort-desc"||h==="clear-sort")&&(a.hidden=e)}}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{n&&typeof n!="string"&&n.command==="clear-sorting"&&(n.hidden=e)}),t}}class Ou{constructor(e,t,i){this.pubSubService=e,this.sharedService=t,this.sortService=i,this._currentToggledItems=[],this._isLastFullToggleCollapsed=!1,this._isOneCpuCyclePassed=!1,this._isTreeDataEnabled=!1,this._subscriptions=[],this._treeDataRecalcHandler=null,this._eventHandler=new pe,window.setTimeout(()=>this._isOneCpuCyclePassed=!0)}set currentToggledItems(e){this._currentToggledItems=e}get dataset(){var e;return(e=this.dataView)==null?void 0:e.getItems()}get datasetHierarchical(){return this.sharedService.hierarchicalDataset}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get treeDataOptions(){return this.gridOptions.treeDataOptions}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}init(e){var t,i,s,n,o,l,a,h;if(this._grid=e,this._isTreeDataEnabled=((t=this.gridOptions)==null?void 0:t.enableTreeData)??!1,this._isLastFullToggleCollapsed=((i=this.treeDataOptions)==null?void 0:i.initiallyCollapsed)??!1,this._currentToggledItems=((n=(s=this.gridOptions.presets)==null?void 0:s.treeData)==null?void 0:n.toggledItems)??[],this._lastToggleStateChange={type:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this._isTreeDataEnabled){if((o=this.gridOptions)!=null&&o.multiColumnSort)throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data with multi-column sorting, unfortunately it is not supported because of its complexity, you can disable it via "multiColumnSort: false" grid option and/or help in providing support for this feature.');if(!((l=this.gridOptions)!=null&&l.enableFiltering))throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data without using the filtering option, unfortunately that is not possible with Tree Data since it relies heavily on the filters to expand/collapse the tree. You need to enable it via "enableFiltering: true"');if((a=this.gridOptions)!=null&&a.backendServiceApi||(h=this.gridOptions)!=null&&h.enablePagination)throw new Error("[Slickgrid-Universal] It looks like you are trying to use Tree Data with Pagination and/or a Backend Service (OData, GraphQL) but unfortunately that is simply not supported because of its complexity.");if(!this.gridOptions.treeDataOptions||!this.gridOptions.treeDataOptions.columnId)throw new Error('[Slickgrid-Universal] When enabling tree data, you must also provide the "treeDataOption" property in your Grid Options with "childrenPropName" or "parentPropName" (depending if your array is hierarchical or flat) for the Tree Data to work properly.')}this._eventHandler.subscribe(e.onClick,this.handleOnCellClick.bind(this)),this._subscriptions.push(this.pubSubService.subscribe("onGridMenuClearAllSorting",this.clearSorting.bind(this))),this._treeDataRecalcHandler=this.setAutoRecalcTotalsCallbackWhenFeatEnabled(this.gridOptions),this._eventHandler.subscribe(this.dataView.onRowCountChanged,()=>{var d;typeof this._treeDataRecalcHandler=="function"&&this._isOneCpuCyclePassed&&(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>{var c;return(c=this._treeDataRecalcHandler)==null?void 0:c.call(this)},((d=this.treeDataOptions)==null?void 0:d.autoRecalcTotalsDebounce)??0))})}applyToggledItemStateChanges(e,t,i=!0,s=!1){if(Array.isArray(e)){const n=Ae(this.treeDataOptions,"collapsedPropName"),o=Ae(this.treeDataOptions,"hasChildrenPropName");this.dataView.beginUpdate(!0);const a=(t??this._lastToggleStateChange.previousFullToggleType)==="full-collapse";t&&(this._lastToggleStateChange.previousFullToggleType=t),i&&(this.dataView.getItems()||[]).forEach(h=>{h[o]&&(h[n]=a)}),this.dynamicallyToggleItemState(e,s)}}dynamicallyToggleItemState(e,t=!0){Array.isArray(e)&&(this.dataView.beginUpdate(!0),e.forEach(i=>{const s=this.dataView.getItemById(i.itemId);if(this.updateToggledItem(s,i.isCollapsed,!0),t){const n=this._currentToggledItems.findIndex(o=>o.itemId===i.itemId);n>=0?this._currentToggledItems[n].isCollapsed=i.isCollapsed:this._currentToggledItems.push({itemId:i.itemId,isCollapsed:i.isCollapsed}),this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:i.itemId,toggledItems:this._currentToggledItems,type:i.isCollapsed?xt.toggleCollapse:xt.toggleExpand})}}),this.dataView.endUpdate(),this.dataView.refresh())}getCurrentToggleState(){return this._lastToggleStateChange}getInitialSort(e,t){var o;const i=t==null?void 0:t.treeDataOptions,s=(i==null?void 0:i.initialSort)??{columnId:(i==null?void 0:i.columnId)??"",direction:"ASC"},n=e.find(l=>l.id===s.columnId);return{columnId:s.columnId,sortAsc:((o=s==null?void 0:s.direction)==null?void 0:o.toUpperCase())!=="DESC",sortCol:n}}getItemCount(e){if(e!==void 0){const t=Ae(this.treeDataOptions,"levelPropName");return this.dataView.getItems().filter(i=>i[t]===e).length}return this.dataView.getItemCount()}getToggledItems(){return this._currentToggledItems}clearSorting(){const e=this.getInitialSort(this.sharedService.columnDefinitions,this.sharedService.gridOptions);this.sortService.loadGridSorters([{columnId:e.columnId,direction:e.sortAsc?"ASC":"DESC"}])}convertFlatParentChildToTreeDatasetAndSort(e,t,i,s){var a;const n=this.convertFlatParentChildToTreeDataset(e,i),o=Array.isArray(s)&&s.length?s[0]:this.getInitialSort(t,i),l=this.sortService.sortHierarchicalDataset(n,[o],!0);return(a=this._grid)==null||a.setSortColumns([o]),l}convertFlatParentChildToTreeDataset(e,t){const i=(t==null?void 0:t.datasetIdPropertyName)??"id",s=(t==null?void 0:t.treeDataOptions)??{columnId:"id"},n={...s,identifierPropName:s.identifierPropName??i,initiallyCollapsed:this._isLastFullToggleCollapsed};return ao(e,n)}enableAutoRecalcTotalsFeature(e=!0){e&&this._isTreeDataEnabled?this._treeDataRecalcHandler=this.recalculateTreeTotals.bind(this,this.gridOptions):this._treeDataRecalcHandler=null}recalculateTreeTotals(e){const t=e.treeDataOptions,i=(t==null?void 0:t.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,s=(t==null?void 0:t.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;t!=null&&t.aggregators&&(t.aggregators.forEach(n=>{Mi(this.sharedService.hierarchicalDataset||[],{childrenPropName:i,levelPropName:s,aggregator:n})}),this._grid.invalidate())}sortHierarchicalDataset(e,t){const i=t??this.getInitialSort(this.sharedService.allColumns,this.gridOptions),s=Array.isArray(i)?i:[i];return this.sortService.sortHierarchicalDataset(e,s)}async toggleTreeDataCollapse(e,t=!0){var s;if((s=this.gridOptions)!=null&&s.enableTreeData){const n=Ae(this.treeDataOptions,"hasChildrenPropName");t&&await this.pubSubService.publish("onTreeFullToggleStart",{collapsing:e}),this.dataView.beginUpdate(!0);const o=this.dataView.getItems()||[];o.forEach(l=>{l[n]&&this.updateToggledItem(l,e,!1)}),this.sharedService.hierarchicalDataset=this.convertFlatParentChildToTreeDataset(o,this.gridOptions),this.dataView.endUpdate(),this.dataView.refresh(),this._isLastFullToggleCollapsed=e}const i=e?xt.fullCollapse:xt.fullExpand;this._lastToggleStateChange={type:i,previousFullToggleType:i,toggledItems:null},t&&this.pubSubService.publish("onTreeFullToggleEnd",this._lastToggleStateChange)}handleOnCellClick(e,t){if(e&&t){const i=e.target||{},s=this.gridOptions.datasetIdPropertyName??"id",n=Ae(this.treeDataOptions,"collapsedPropName"),o=Ae(this.treeDataOptions,"childrenPropName");if(typeof(i==null?void 0:i.className)=="string"&&(i.className.indexOf("toggle")>=0||!1)){const a=this.dataView.getItem(t.row);if(a){a[n]=!a[n];const h=a[n],d=a[s],c=this._currentToggledItems.findIndex(m=>m.itemId===d);c>=0?this._currentToggledItems[c].isCollapsed=h:this._currentToggledItems.push({itemId:d,isCollapsed:h}),this.dataView.updateItem(d,a);const u=m=>m[s]===d,p=Li(this.sharedService.hierarchicalDataset||[],u,o);p&&(p[n]=h),this._grid.invalidate(),this._lastToggleStateChange={type:h?xt.toggleCollapse:xt.toggleExpand,previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:d})}e.stopImmediatePropagation()}}}updateToggledItem(e,t,i){var l;const s=((l=this.gridOptions)==null?void 0:l.datasetIdPropertyName)??"id",n=Ae(this.treeDataOptions,"childrenPropName"),o=Ae(this.treeDataOptions,"collapsedPropName");if(e&&(e[o]=t,this.dataView.updateItem(e[s],e),i)){const a=d=>d[s]===e[s],h=Li(this.sharedService.hierarchicalDataset||[],a,n);h&&(h[o]=t)}}setAutoRecalcTotalsCallbackWhenFeatEnabled(e){var t,i;return e!=null&&e.enableTreeData&&((t=e==null?void 0:e.treeDataOptions)!=null&&t.autoRecalcTotalsOnFilterChange)&&((i=e==null?void 0:e.treeDataOptions)!=null&&i.aggregators)?this.recalculateTreeTotals.bind(this,e):null}}class Yt{constructor(e){this.translaterService=e,this._debounceTypingDelay=0,this._shouldTriggerQuery=!0,this._inputType="text",this.inputFilterType="single",this.searchTerms=[],this._bindEventService=new Pe}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get defaultOperator(){return H.empty}get inputType(){return this._inputType}set inputType(e){this._inputType=e}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}init(e){var s,n,o;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.inputFilterType==="compound"&&(this.operator=e.operator||""),this.searchTerms=(e==null?void 0:e.searchTerms)??[],this._cellContainerElm=e.filterContainerElm;const t=(s=this.gridOptions)==null?void 0:s.backendServiceApi;this._debounceTypingDelay=(t?(t==null?void 0:t.filterTypingDebounce)??((n=this.gridOptions)==null?void 0:n.defaultBackendServiceFilterTypingDebounce):(o=this.gridOptions)==null?void 0:o.filterTypingDebounce)??0;const i=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(i),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this)),this._bindEventService.bind(this._filterInputElm,"wheel",this.onTriggerEvent.bind(this),{passive:!0}),this.inputFilterType==="compound"&&this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this))}clear(e=!0){this._filterInputElm&&(this._shouldTriggerQuery=e,this.searchTerms=[],this._filterInputElm.value="",this._currentValue=void 0,this.updateFilterStyle(!1),this.inputFilterType==="compound"&&this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.onTriggerEvent(void 0,!0))}destroy(){var e,t,i,s;this._bindEventService.unbindAll(),(t=(e=this._selectOperatorElm)==null?void 0:e.remove)==null||t.call(e),(s=(i=this._filterInputElm)==null?void 0:i.remove)==null||s.call(i)}getValues(){return this._filterInputElm.value}setValues(e,t,i=!1){const s=Array.isArray(e)?e:[e];let n="";for(const o of s)this.inputFilterType==="single"?n=t?this.addOptionalOperatorIntoSearchString(o,t):o:n=`${o}`,this._filterInputElm.value=`${n??""}`,this._currentValue=this._filterInputElm.value;if(this.updateFilterStyle(this.getValues()!==""),this.operator=t||this.defaultOperator,t&&this._selectOperatorElm){const o=pi(this.operator);this._selectOperatorElm.value=o}i&&this.onTriggerEvent(void 0,!1)}addOptionalOperatorIntoSearchString(e,t){let i="",s="",n=e==null?"":`${e}`;if(t&&n){switch(t){case"<>":case"!=":case"=":case"==":case">":case">=":case"<":case"<=":i=t;break;case"EndsWith":case"*z":i="*";break;case"StartsWith":case"a*":s="*";break}n=`${i}${n}${s}`}return n}getCompoundOperatorOptionValues(){var s;const e=this.columnDef.type&&this.columnDef.type?this.columnDef.type:w.string;let t,i="text";if((s=this.columnFilter)!=null&&s.compoundOperatorList)t=this.columnFilter.compoundOperatorList;else switch(e){case w.string:case w.text:case w.readonly:case w.password:i="text",t=Qh(this.gridOptions,this.translaterService);break;default:i="numeric",t=Nn(this.gridOptions,this.translaterService);break}return Hn(this.gridOptions,t,i),t}createDomFilterElement(e){var n,o,l,a;const t=((n=this.columnDef)==null?void 0:n.id)??"";ee(this._cellContainerElm);let i=((o=this.gridOptions)==null?void 0:o.defaultFilterPlaceholder)??"";(l=this.columnFilter)!=null&&l.placeholder&&(i=this.columnFilter.placeholder);const s=`${e??""}`;if(this._filterInputElm=v("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",placeholder:i,ariaLabel:((a=this.columnFilter)==null?void 0:a.ariaLabel)??`${Ct(t+"")} Search Filter`,className:`form-control filter-${t}`,value:s,dataset:{columnid:`${t}`}}),this.updateFilterStyle(!!e),e!==void 0&&(this._currentValue=s),this.inputFilterType==="single")this._filterContainerElm=this._filterInputElm,this._filterInputElm.classList.add("search-filter","slick-filter"),this._cellContainerElm.appendChild(this._filterInputElm),this._cellContainerElm.appendChild(document.createElement("span"));else{this._filterInputElm.classList.add("compound-input"),this._selectOperatorElm=Ln(this.getCompoundOperatorOptionValues(),this.grid),this._filterContainerElm=v("div",{className:`form-group search-filter slick-filter filter-${t}`});const h=v("div",{className:"input-group"},this._filterContainerElm);v("div",{className:"input-group-addon input-group-prepend operator"},h).appendChild(this._selectOperatorElm),h.appendChild(this._filterInputElm),h.appendChild(v("span")),this.operator&&(this._selectOperatorElm.value=pi(this.operator)),this._filterContainerElm&&this._cellContainerElm.appendChild(this._filterContainerElm)}}onTriggerEvent(e,t=!1){var i,s;if(t)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:t,shouldTriggerQuery:this._shouldTriggerQuery}),this.updateFilterStyle(!1);else{const n=(e==null?void 0:e.type)||"",o=((i=this._selectOperatorElm)==null?void 0:i.value)??this.operator;let l=this._filterInputElm.value;const a=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof l=="string"&&a&&(l=l.trim()),((s=e==null?void 0:e.target)==null?void 0:s.tagName.toLowerCase())!=="select"&&(this._currentValue=l),this.updateFilterStyle(l!=="");const h={columnDef:this.columnDef,operator:o,searchTerms:l?[l]:null,shouldTriggerQuery:this._shouldTriggerQuery},d=n==="keyup"&&(e==null?void 0:e.key)!=="Enter"?this._debounceTypingDelay:0,c=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,u=c&&q(this._currentValue)||this._currentValue===""&&q(this._lastSearchValue);(this.inputFilterType==="single"||!c||u)&&(d>0?(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.callback(e,h),d)):this.callback(e,h)),this._lastSearchValue=l}this._shouldTriggerQuery=!0}updateFilterStyle(e){var t,i;e?((t=this._filterContainerElm)==null||t.classList.add("filled"),this._filterInputElm.classList.add("filled")):((i=this._filterContainerElm)==null||i.classList.remove("filled"),this._filterInputElm.classList.remove("filled"))}}class ya extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="text",this.inputFilterType="compound"}}class xu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number",this.inputFilterType="compound"}}class Iu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password",this.inputFilterType="compound"}}const Tr="#86bff8",qs=0,Ru=20;class Or{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._sliderTrackFilledColor=Tr,this.sliderType="double",this.searchTerms=[],this._bindEventService=new Pe}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get currentValue(){return this._currentValue}get currentValues(){return this._currentValues}get defaultOperator(){return this.sliderType==="compound"?H.empty:this.sliderType==="single"?H.greaterThanOrEqual:this.gridOptions.defaultFilterRangeOperator||H.rangeInclusive}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.slider,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get sliderOptions(){return this._sliderOptions}get operator(){return this._operator||(this.columnFilter.operator??this.defaultOperator)}set operator(e){this._operator=e}init(e){if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.operator=e.operator||"",this.searchTerms=(e==null?void 0:e.searchTerms)??[],this._argFilterContainerElm=e.filterContainerElm,this._sliderTrackFilledColor=window.getComputedStyle(document.documentElement).getPropertyValue("--slick-slider-filter-filled-track-color")||Tr,this._filterElm=this.createDomFilterElement(this.searchTerms)}clear(e=!0){var t,i,s,n,o,l,a;if(this._filterElm){this._clearFilterTriggered=!0,this._shouldTriggerQuery=e,this.searchTerms=[];const h=+(((t=this.filterOptions)==null?void 0:t.sliderStartValue)??R.SLIDER_DEFAULT_MIN_VALUE),d=+(((i=this.filterOptions)==null?void 0:i.sliderEndValue)??R.SLIDER_DEFAULT_MAX_VALUE);this.sliderType==="double"?(this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=`${h}`),this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${d}`),this._currentValues=[h,d],(s=this._sliderLeftInputElm)==null||s.dispatchEvent(new Event("change")),(n=this._sliderRightInputElm)==null||n.dispatchEvent(new Event("change"))):(this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${h}`),this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this._currentValue=h,(o=this._sliderRightInputElm)==null||o.dispatchEvent(new Event("change"))),(((l=this.filterOptions)==null?void 0:l.hideSliderNumber)??((a=this.filterOptions)==null?void 0:a.hideSliderNumbers))||(this.sliderType==="double"?this.renderSliderValues(h,d):this.renderSliderValues(void 0,h)),this.updateFilterStyle(!1),this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:e,searchTerms:[]})}}destroy(){var e,t,i;this._bindEventService.unbindAll(),(e=this._sliderTrackElm)==null||e.remove(),(t=this._sliderLeftInputElm)==null||t.remove(),(i=this._sliderRightInputElm)==null||i.remove()}renderSliderValues(e,t,i=!0){var o,l;const s=(e==null?void 0:e.toString())||"",n=(t==null?void 0:t.toString())||"";(o=this._leftSliderNumberElm)!=null&&o.textContent&&(this._leftSliderNumberElm.textContent=s),(l=this._rightSliderNumberElm)!=null&&l.textContent&&(this._rightSliderNumberElm.textContent=n),this._sliderRangeContainElm.title=this.sliderType==="double"?`${s} - ${n}`:`${n}`,i&&this.grid.onHeaderRowMouseLeave.notify({column:this.columnDef,grid:this.grid})}getValues(){return this.sliderType==="double"?this._currentValues:this._currentValue}setValues(e,t,i=!1){var o;if(e){let l=[];const a=Array.isArray(e)?e==null?void 0:e[0]:e;if(Array.isArray(e)&&e.length===2?l=e:typeof a=="string"&&a.indexOf("..")>0?(l=a.split(".."),this._currentValue=+((l==null?void 0:l[0])??0)):(q(a)||a==="")&&(this._currentValue=a===null?void 0:+a,l=[a]),this.sliderType!=="double"&&this._sliderRightInputElm)this._sliderRightInputElm.value=typeof e=="string"?e:`${a}`,this.renderSliderValues(void 0,this._sliderRightInputElm.value);else if(Array.isArray(l)&&l.length===2&&!((o=this.filterOptions)!=null&&o.hideSliderNumbers)){const[h,d]=l;this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=String(h??R.SLIDER_DEFAULT_MIN_VALUE)),this._sliderRightInputElm&&(this._sliderRightInputElm.value=String(d??R.SLIDER_DEFAULT_MAX_VALUE)),this.renderSliderValues(...l)}}else this._currentValue=void 0,this._currentValues=void 0;const s=this.getValues(),n=s===void 0?[]:Array.isArray(s)?s:[s];if(this.updateFilterStyle(n.length>0),t!==void 0&&(this.operator=t),this.operator&&this._selectOperatorElm){const l=pi(this.operator);this._selectOperatorElm.value=l}i&&this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:n,shouldTriggerQuery:!0})}createDomFilterElement(e){var c,u,p,m,f;const t=((c=this.columnDef)==null?void 0:c.id)??"",i=+(this.columnFilter.minValue??R.SLIDER_DEFAULT_MIN_VALUE),s=+(this.columnFilter.maxValue??R.SLIDER_DEFAULT_MAX_VALUE),n=+(this.columnFilter.valueStep??R.SLIDER_DEFAULT_STEP);ee(this._argFilterContainerElm);const o=+((Array.isArray(e)&&(e==null?void 0:e[0]))??((u=this.filterOptions)==null?void 0:u.sliderStartValue)??i),l=+((Array.isArray(e)&&(e==null?void 0:e[1]))??((p=this.filterOptions)==null?void 0:p.sliderEndValue)??s);if(this._sliderRangeContainElm=v("div",{className:`filter-input filter-${t} slider-input-container slider-values`,title:this.sliderType==="double"?`${o} - ${l}`:`${o}`}),this._sliderTrackElm=v("div",{className:"slider-track"}),this.sliderType==="compound"){const g=v("span",{className:"input-group-addon input-group-prepend operator"});this._selectOperatorElm=Ln(this.getOperatorOptionValues(),this.grid),g.appendChild(this._selectOperatorElm)}this.sliderType==="double"&&(this._sliderLeftInputElm=v("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${Ct(t+"")} Search Filter`,defaultValue:`${o}`,value:`${o}`,min:`${i}`,max:`${s}`,step:`${n}`}));const a=this.sliderType==="double"?l:o;this._sliderRightInputElm=v("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${Ct(t+"")} Search Filter`,defaultValue:`${a}`,value:`${a}`,min:`${i}`,max:`${s}`,step:`${n}`});const h=((m=this.filterOptions)==null?void 0:m.hideSliderNumber)??((f=this.filterOptions)==null?void 0:f.hideSliderNumbers),d=h?"":"input-group";if(this._divContainerFilterElm=v("div",{className:`${d} search-filter slick-filter slider-container slider-values filter-${t}`.trim()}),this._sliderRangeContainElm.appendChild(this._sliderTrackElm),this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRangeContainElm.appendChild(this._sliderLeftInputElm),this._sliderRangeContainElm.appendChild(this._sliderRightInputElm),h)this._divContainerFilterElm.appendChild(this._sliderRangeContainElm);else{let g;this.sliderType==="compound"&&this._selectOperatorElm?(g=v("span",{className:"input-group-addon input-group-prepend operator"}),g.appendChild(this._selectOperatorElm)):this.sliderType==="double"&&(g=v("div",{className:"input-group-addon input-group-prepend slider-range-value"}),this._leftSliderNumberElm=v("span",{className:`input-group-text lowest-range-${t}`,textContent:`${o}`}),g.appendChild(this._leftSliderNumberElm));const _=v("div",{className:"input-group-addon input-group-append slider-range-value"});this._rightSliderNumberElm=v("span",{className:`input-group-text highest-range-${t}`,textContent:`${a}`},_),g&&this._divContainerFilterElm.appendChild(g),this._divContainerFilterElm.appendChild(this._sliderRangeContainElm),this._divContainerFilterElm.appendChild(_)}return this._sliderOptions={minValue:i,maxValue:s,step:n},this._currentValues=[o,l],Array.isArray(e)&&e.length>0&&e[0]!==""&&(this.updateFilterStyle(!0),this._currentValue=o),(this.filterOptions.sliderStartValue!==void 0||this.columnFilter.minValue!==void 0)&&(this._currentValue=o),this._argFilterContainerElm.appendChild(this._divContainerFilterElm),this.updateTrackFilledColorWhenEnabled(),this._bindEventService.bind(this._sliderTrackElm,"click",this.sliderTrackClicked.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["input","change"],this.slideRightInputChanged.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this)),this.sliderType==="compound"&&this._selectOperatorElm?this._bindEventService.bind(this._selectOperatorElm,["change"],this.onValueChanged.bind(this)):this.sliderType==="double"&&this._sliderLeftInputElm&&(this._bindEventService.bind(this._sliderLeftInputElm,["input","change"],this.slideLeftInputChanged.bind(this)),this._bindEventService.bind(this._sliderLeftInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this))),this._divContainerFilterElm}getOperatorOptionValues(){let e;return this.columnFilter.compoundOperatorList?e=this.columnFilter.compoundOperatorList:e=Nn(this.gridOptions,this.translaterService),Hn(this.gridOptions,e,"numeric"),e}onValueChanged(e){var n,o,l,a,h;const t=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);let i,s;if(this.sliderType==="compound"||this.sliderType==="single")((l=(o=e==null?void 0:e.target)==null?void 0:o.tagName)==null?void 0:l.toLowerCase())!=="select"&&(this._currentValue=+t),i=this._currentValue,s=[i||"0"];else if(this.sliderType==="double"){const c=[parseInt(((a=this._sliderLeftInputElm)==null?void 0:a.value)??"",10),t];i=c.join(".."),s=c}if(this._clearFilterTriggered)this.updateFilterStyle(!1),this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,searchTerms:[],shouldTriggerQuery:this._shouldTriggerQuery});else{const d=((h=this._selectOperatorElm)==null?void 0:h.value)??this.operator;this.updateFilterStyle(i!=="");const c=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,u=c&&q(this._currentValue)||!q(this._currentValue)&&q(this._lastSearchValue);(this.sliderType!=="compound"||!c||u)&&this.callback(e,{columnDef:this.columnDef,operator:d||"",searchTerms:s,shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this.changeBothSliderFocuses(!1),this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new le(e)),this._lastSearchValue=i}changeBothSliderFocuses(e){var i,s;const t=e?"add":"remove";(i=this._sliderLeftInputElm)==null||i.classList[t]("focus"),(s=this._sliderRightInputElm)==null||s.classList[t]("focus")}slideLeftInputChanged(e){var s,n,o,l;const t=parseInt(((s=this._sliderLeftInputElm)==null?void 0:s.value)??"",10),i=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);this._sliderLeftInputElm&&i-t<=(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??qs)&&(this._sliderLeftInputElm.value=String(t-(((l=this.filterOptions)==null?void 0:l.stopGapBetweenSliderHandles)??qs))),this._sliderLeftInputElm&&this._sliderRightInputElm&&(+this._sliderLeftInputElm.value>=+this._sliderRightInputElm.value-Ru?(this._sliderLeftInputElm.style.zIndex="1",this._sliderRightInputElm.style.zIndex="0"):(this._sliderLeftInputElm.style.zIndex="0",this._sliderRightInputElm.style.zIndex="1")),this.sliderLeftOrRightChanged(e,"left",t,i)}slideRightInputChanged(e){var s,n,o,l;const t=parseInt(((s=this._sliderLeftInputElm)==null?void 0:s.value)??"",10),i=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);this.sliderType==="double"&&this._sliderRightInputElm&&i-t<=(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??qs)&&(this._sliderRightInputElm.value=String(t+(((l=this.filterOptions)==null?void 0:l.stopGapBetweenSliderHandles)??qs))),this.sliderLeftOrRightChanged(e,"right",t,i)}sliderLeftOrRightChanged(e,t,i,s){var l,a,h,d,c,u;let n=!0;this.updateTrackFilledColorWhenEnabled(),this.changeBothSliderFocuses(!0),this._sliderRangeContainElm.title=this.sliderType==="double"?`${i} - ${s}`:`${s}`,this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRightInputElm&&(t==="left"&&i>s?(this._sliderLeftInputElm.value=`${s}`,n=!1):t==="right"&&i>s&&(this._sliderRightInputElm.value=`${i}`,n=!1)),(((l=this.filterOptions)==null?void 0:l.hideSliderNumber)??((a=this.filterOptions)==null?void 0:a.hideSliderNumbers))||((h=this._leftSliderNumberElm)!=null&&h.textContent&&(this._leftSliderNumberElm.textContent=((d=this._sliderLeftInputElm)==null?void 0:d.value)??""),(c=this._rightSliderNumberElm)!=null&&c.textContent&&(this._rightSliderNumberElm.textContent=((u=this._sliderRightInputElm)==null?void 0:u.value)??"")),n&&this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new le(e))}sliderTrackClicked(e){e.preventDefault();const t=e.offsetX,i=this._sliderTrackElm.offsetWidth,s=(t+0)*100/i;this._sliderRightInputElm&&this.sliderType!=="double"?(this._sliderRightInputElm.value=`${s}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))):this._sliderLeftInputElm&&this._sliderRightInputElm&&(s<=50?(this._sliderLeftInputElm.value=`${s}`,this._sliderLeftInputElm.dispatchEvent(new Event("change"))):(this._sliderRightInputElm.value=`${s}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))))}updateTrackFilledColorWhenEnabled(){var e,t,i,s;if((e=this.filterOptions)!=null&&e.enableSliderTrackColoring&&this._sliderRightInputElm){let n=0;this._sliderLeftInputElm&&(n=(+this._sliderLeftInputElm.value-+this._sliderLeftInputElm.min)/(((t=this.sliderOptions)==null?void 0:t.maxValue)??0-+this._sliderLeftInputElm.min)*100);const o=(+this._sliderRightInputElm.value-+this._sliderRightInputElm.min)/(((i=this.sliderOptions)==null?void 0:i.maxValue)??0-+this._sliderRightInputElm.min)*100,l="linear-gradient(to right, %b %p1, %c %p1, %c %p2, %b %p2)".replace(/%b/g,"#eee").replace(/%c/g,((s=this.filterOptions)==null?void 0:s.sliderTrackFilledColor)||this._sliderTrackFilledColor||Tr).replace(/%p1/g,`${n}%`).replace(/%p2/g,`${o}%`);this._sliderTrackElm.style.background=l,this._sliderOptions.sliderTrackBackground=l}}updateFilterStyle(e){var t,i;e?(this._divContainerFilterElm.classList.add("filled"),(t=this._filterElm)==null||t.classList.add("filled")):(this._divContainerFilterElm.classList.remove("filled"),(i=this._filterElm)==null||i.classList.remove("filled"))}}class Au extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="compound"}}class Pu extends ql{constructor(e){super(e),this.translaterService=e,this.inputFilterType="range"}}class ku extends Yt{constructor(e){super(e),this.translaterService=e,this._inputMask="",this.inputType="text"}get inputMask(){return this._inputMask}init(e){var i,s,n,o;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this._cellContainerElm=e.filterContainerElm,(s=(i=this.columnDef)==null?void 0:i.params)!=null&&s.mask?this._inputMask=this.columnDef.params.mask:(o=(n=this.columnFilter)==null?void 0:n.params)!=null&&o.mask&&(this._inputMask=this.columnFilter.params.mask),!this._inputMask)throw new Error(`[Slickgrid-Universal] The Filters.inputMask requires the mask to be passed in the filter params or the column definition params
17
- for example:: this.columnDefinitions: [{ id: 'phone', field: 'phone', filter: { model: Filters.inputMask, params: { mask: '000-000-0000' }}}]`);const t=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(t),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this))}onTriggerEvent(e,t=!1){var s,n;let i="";if((s=e==null?void 0:e.target)!=null&&s.value){let o=((n=e==null?void 0:e.target)==null?void 0:n.value)??"";const l=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof o=="string"&&l&&(o=o.trim());const a=this.unmaskValue(o),h=this.maskValue(a);i=a,(e==null?void 0:e.keyCode)>=48&&(this._filterInputElm.value=h,e.preventDefault())}t?(this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:t,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterInputElm.classList.remove("filled")):(this._filterInputElm.classList.add("filled"),this.callback(e,{columnDef:this.columnDef,operator:this.operator,searchTerms:[i],shouldTriggerQuery:this._shouldTriggerQuery})),this._shouldTriggerQuery=!0}maskValue(e){let t=0,i="";return this._inputMask&&(i=this._inputMask.replace(/[09A]/gi,s=>((s==="0"||s==="9")&&/\d+/g.test(e[t])||s.toUpperCase()==="A"&&/[^\d]+/gi.test(e[t]))&&e[t++]||"")),i}unmaskValue(e){const t=e.replace(/[^0-9a-z]*/gi,""),i=this._inputMask.replace(/[^0-9a-z]*/gi,"");let s="";for(let n=0;n<i.length;n++)t[n]&&((i[n]==="0"||i[n]==="9")&&/\d+/g.test(t[n])||i[n].toUpperCase()==="A"&&/[^\d]+/gi.test(t[n]))&&(s+=t[n]);return s}}class Fu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number"}}class Du extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password"}}var Mu=Object.defineProperty,Lu=(r,e,t)=>e in r?Mu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,V=(r,e,t)=>Lu(r,typeof e!="symbol"?e+"":e,t),Nu=class{constructor(e){V(this,"_distinctEvent"),V(this,"_boundedEvents",[]),this._distinctEvent=(e==null?void 0:e.distinctEvent)??!1}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(e,t,i,s,n=""){let o=Array.isArray(t)?t:[t];if(typeof(e==null?void 0:e.forEach)=="function")e.forEach(l=>{for(let a of o)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(l,a))&&(l.addEventListener(a,i,s),this._boundedEvents.push({element:l,eventName:a,listener:i,groupName:n}))});else for(let l of o)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(e,l))&&(e.addEventListener(l,i,s),this._boundedEvents.push({element:e,eventName:l,listener:i,groupName:n}))}hasBinding(e,t){return this._boundedEvents.some(i=>i.element===e&&(!t||i.eventName===t))}unbind(e,t,i){var s;if(e){let n=Array.isArray(e)?e:[e],o=Array.isArray(t)?t||"":[t||""];for(let l of n){i||(i=this._boundedEvents.find(a=>{if(a.element===l&&(!t||a.eventName===t))return a.listener}));for(let a of o)(s=l==null?void 0:l.removeEventListener)==null||s.call(l,a,i)}}}unbindAll(e){if(e){let t=Array.isArray(e)?e:[e];for(let i=this._boundedEvents.length-1;i>=0;--i){let s=this._boundedEvents[i];if(t.some(n=>n===s.groupName)){let{element:n,eventName:o,listener:l}=s;this.unbind(n,o,l),this._boundedEvents.splice(i,1)}}}else for(;this._boundedEvents.length>0;){let t=this._boundedEvents.pop(),{element:i,eventName:s,listener:n}=t;this.unbind(i,s,n)}}},Ea=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},Hu={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(r,e){return`${r} of ${e} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};Ea.locales["en-US"]=Hu;var wa=Ea.locales,Vu=50,Bu=4,Ta={name:"",placeholder:"",classes:"",classPrefix:"",data:void 0,locale:void 0,selectAll:!0,single:void 0,singleRadio:!1,multiple:!1,hideOptgroupCheckboxes:!1,multipleWidth:80,width:void 0,dropWidth:void 0,maxHeight:250,maxHeightUnit:"px",position:"bottom",displayValues:!1,displayTitle:!1,displayDelimiter:", ",minimumCountSelected:3,ellipsis:!1,isOpen:!1,keepOpen:!1,openOnHover:!1,container:null,filter:!1,filterGroup:!1,filterPlaceholder:"",filterAcceptOnEnter:!1,filterByDataLength:void 0,customFilter(r){let{text:e,label:t,search:i}=r;return(t||e||"").includes(i)},showClear:!1,autoAdjustDropHeight:!1,autoAdjustDropPosition:!1,autoAdjustDropWidthByTextSize:!1,adjustedHeightPadding:10,useSelectOptionLabel:!1,useSelectOptionLabelToHtml:!1,navigationHighlight:!0,infiniteScroll:!1,virtualScroll:!0,cssStyler:()=>null,textTemplate:r=>r.innerHTML.trim(),labelTemplate:r=>r.label,onOpen:()=>!1,onClose:()=>!1,onCheckAll:()=>!1,onUncheckAll:()=>!1,onFocus:()=>!1,onBlur:()=>!1,onOptgroupClick:()=>!1,onBeforeClick:()=>!0,onClick:()=>!1,onFilter:()=>!1,onFilterClear:()=>!1,onClear:()=>!1,onAfterCreate:()=>!1,onDestroy:()=>!1,onAfterDestroy:()=>!1,onDestroyed:()=>!1},zu=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(Ta,wa["en-US"]);var $u={BLOCK_ROWS:Vu,CLUSTER_BLOCKS:Bu,DEFAULTS:Ta,METHODS:zu},gt=$u;function Wu(r,e,t=!1){let i=Object.keys(r),s=Object.keys(e);if(t&&i.length!==s.length)return!1;for(let n of i)if(s.includes(n)&&r[n]!==e[n])return!1;return!0}function xr(r){let e=()=>{let s={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=xr(r[n]));return s},t=()=>r.map(s=>xr(s)),i=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return i==="object"?e():i==="array"?t():r}function Ir(r){return r!=null&&r!==""}function Gu(r,e){return typeof r=="object"?Object.fromEntries(e?Object.entries(r).filter(([t,i])=>!Ir(i)&&!e.includes(t)||Ir(i)):Object.entries(r).filter(([t,i])=>Ir(i))):r}function Uu(r){let e=0;return r.forEach((t,i)=>{t.type==="optgroup"?(t._key=`group_${i}`,t.visible=typeof t.visible>"u"?!0:t.visible,t.children.forEach((s,n)=>{s&&(s.visible=typeof(s==null?void 0:s.visible)>"u"?!0:s.visible,s.divider||(s._key=`option_${i}_${n}`,e+=1))})):(t.visible=typeof t.visible>"u"?!0:t.visible,t.divider||(t._key=`option_${i}`,e+=1))}),e}function Ks(r,e,t){if(Array.isArray(r))for(let i of r){if(i[e]===t||i[e]===`${+i[e]}`&&+i[e]===t)return i;if(i.type==="optgroup"){for(let s of i.children)if(s&&(s[e]===t||s[e]===`${+s[e]}`&&+s[e]===t))return s}}}function ju(r){return r.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;|&#60;)(\/*)(script|script defer)(.*)(&#62;|&gt;|&gt;">)/gi,"")}function Rr(r){return Object.keys(r).forEach(e=>r[e]===void 0?delete r[e]:""),r}function Oi(r,e){if(typeof r!="string")return r;if(typeof e=="function")return e(r);if(typeof r.normalize=="function")return r.normalize("NFD").replace(/[\u0300-\u036F]/g,"");throw new Error("[Multiple-Select-Vanilla] `normalize()` function is not defined, you can optionally provide a custom parser via the `diacriticParser` option.")}function Ar(r){let e=0,t=0,i=0,s=0,n=window.innerHeight??0,o=window.innerWidth??0,l=Ku(),a=l.top,h=l.left,d=Fr(r);if(d){let c=d.top??0,u=d.left??0;t=c-a,e=n-(c-a),i=u-h,s=o-(u-h)}return{top:t,bottom:e,left:i,right:s}}function Pr(r=""){return r.split(" ").filter(e=>e)}function Ue(r,e,t){let i=document.createElement(r);return e&&Object.keys(e).forEach(s=>{let n=e[s];typeof n=="object"?Object.assign(i[s],n):i[s]=e[s]}),t!=null&&t.appendChild&&t.appendChild(i),i}function Oa(r,e,t){var n;let i=(n=r.props)!=null&&n.innerHTML?qu(r.props,"innerHTML"):r.props,s=Ue(r.tagName,Gu(i,["className","title","style"]),e);if(r.props.innerHTML&&(s.innerHTML=r.props.innerHTML),r.attrs)for(let o of Object.keys(r.attrs))s.setAttribute(o,r.attrs[o]);if(r.children)for(let o of r.children)Oa(o,s);return e==null||e.appendChild(s),s}function kr(r){return r.hasOwnProperty("tagName")?Oa(r):document.createElement("li")}function Xs(r){for(;r!=null&&r.firstChild;)r.lastChild&&r.removeChild(r.lastChild);return r}function Fr(r){var o;if(!r)return;let e=(o=r==null?void 0:r.getBoundingClientRect)==null?void 0:o.call(r),t=0,i=0,s=0,n=0;return(e==null?void 0:e.top)!==void 0&&e.left!==void 0&&(t=e.top+window.pageYOffset,i=e.left+window.pageXOffset,n=e.right,s=e.bottom),{top:t,left:i,bottom:s,right:n}}function Qs(r,e,t){if(!r)return 0;let i=Number.parseFloat(r.style[t]);if(!i||Number.isNaN(i)){switch(e){case"outer":i=r[t==="width"?"offsetWidth":"offsetHeight"];break;case"scroll":i=r[t==="width"?"scrollWidth":"scrollHeight"];break;case"inner":default:i=r[t==="width"?"clientWidth":"clientHeight"];break}i=r.getBoundingClientRect()[t]}if(!i||Number.isNaN(i)){let s=r.style.display,n=r.style.position;r.style.display="block",r.style.position="absolute";let o=window.getComputedStyle(r)[t];i=Number.parseFloat(o),Number.isNaN(i)&&(i=0),r.style.display=s,r.style.position=n}return i||0}function xa(r,e){let t=null,i=r==null?void 0:r.parentElement;for(;i;){let[s,n,o,l]=e.match(/^([a-z]*)([#.]{1})([a-z\-]+)$/i)||[];if(o&&l)for(let a of l.replace(o,"").split(" "))i.classList.contains(a)&&(n?(i==null?void 0:i.tagName.toLowerCase())===n&&(t=i):t=i);i=i.parentElement}return t}function Yu(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function qu(r,e){let{[e]:t,...i}=r;return i}function Ia(r,e){r!=null&&r.style&&(r.style.display=r.style.display==="none"&&e!==!1||e===!0?"block":"none")}function Ku(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}var Xu=class{constructor(e){var i;V(this,"clusterRows"),V(this,"cache"),V(this,"scrollEl"),V(this,"blockHeight"),V(this,"clusterHeight"),V(this,"contentEl"),V(this,"parentEl"),V(this,"itemHeight"),V(this,"lastCluster"),V(this,"scrollTop"),V(this,"dataStart"),V(this,"dataEnd"),V(this,"rows"),V(this,"destroy"),V(this,"callback"),V(this,"sanitizer"),this.rows=e.rows,this.scrollEl=e.scrollEl,this.contentEl=e.contentEl,this.parentEl=(i=e.contentEl)==null?void 0:i.parentElement,this.callback=e.callback,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;let t=()=>{this.lastCluster!==(this.lastCluster=this.getNum())&&(this.initDOM(this.rows),this.callback())};this.scrollEl.addEventListener("scroll",t,!1),this.destroy=()=>{this.scrollEl.removeEventListener("scroll",t,!1),Xs(this.contentEl)}}reset(e){this.lastCluster=0,this.cache={},Xs(this.contentEl),this.initDOM(e)}initDOM(e){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let o=kr(e[0]);this.contentEl.appendChild(o),this.contentEl.appendChild(o),this.contentEl.appendChild(o),this.cache.data=[e[0]],this.getRowsHeight()}let t=this.initData(e,this.getNum()),i=this.checkChanges("data",t.rows),s=this.checkChanges("top",t.topOffset),n=this.checkChanges("bottom",t.bottomOffset);Xs(this.contentEl),i&&s?(t.topOffset&&this.contentEl.appendChild(this.getExtra("top",t.topOffset)),t.rows.forEach(o=>this.contentEl.appendChild(kr(o))),t.bottomOffset&&this.contentEl.appendChild(this.getExtra("bottom",t.bottomOffset))):n&&this.contentEl.lastChild&&(this.contentEl.lastChild.style.height=`${t.bottomOffset}px`)}getRowsHeight(){var e;if(typeof this.itemHeight>"u"){let t=((e=this.parentEl)==null?void 0:e.style.display)||"";this.parentEl&&(t===""||t==="none")&&(this.parentEl.style.display="block");let i=this.contentEl.children,s=i[Math.floor(i.length/2)];this.itemHeight=s.offsetHeight,this.parentEl&&(this.parentEl.style.display=t)}this.blockHeight=this.itemHeight*gt.BLOCK_ROWS,this.clusterRows=gt.BLOCK_ROWS*gt.CLUSTER_BLOCKS,this.clusterHeight=this.blockHeight*gt.CLUSTER_BLOCKS}getNum(){this.scrollTop=this.scrollEl.scrollTop;let e=(this.clusterHeight||0)-(this.blockHeight||0);return e&&Math.floor(this.scrollTop/e)||0}initData(e,t){if(e.length<gt.BLOCK_ROWS)return{topOffset:0,bottomOffset:0,rowsAbove:0,rows:e};let i=Math.max((this.clusterRows-gt.BLOCK_ROWS)*t,0),s=i+this.clusterRows,n=Math.max(i*this.itemHeight,0),o=Math.max((e.length-s)*this.itemHeight,0),l=[],a=i;n<1&&a++;for(let h=i;h<s;h++)e[h]&&l.push(e[h]);return this.dataStart=i,this.dataEnd=s,{topOffset:n,bottomOffset:o,rowsAbove:a,rows:l}}checkChanges(e,t){let i=t!==this.cache[e];return this.cache[e]=t,i}getExtra(e,t){let i=document.createElement("li");return i.className=`virtual-scroll-${e}`,t&&(i.style.height=`${t}px`),i}},os=".ms-select-all, ul li[data-key]",Qu=".ms-select-all.highlighted, ul li[data-key].highlighted",Zu=class{constructor(r,e){this.elm=r,V(this,"_bindEventService"),V(this,"isAllSelected",!1),V(this,"isPartiallyAllSelected",!1),V(this,"fromHtml",!1),V(this,"choiceElm"),V(this,"selectClearElm"),V(this,"closeElm"),V(this,"clearSearchIconElm"),V(this,"filterText",""),V(this,"updateData",[]),V(this,"data",[]),V(this,"dataTotal"),V(this,"dropElm"),V(this,"okButtonElm"),V(this,"filterParentElm"),V(this,"lastFocusedItemKey",""),V(this,"lastMouseOverPosition",""),V(this,"ulElm"),V(this,"parentElm"),V(this,"labelElm"),V(this,"selectAllParentElm"),V(this,"selectAllElm"),V(this,"searchInputElm"),V(this,"selectGroupElms"),V(this,"selectItemElms"),V(this,"noResultsElm"),V(this,"options"),V(this,"selectAllName",""),V(this,"selectGroupName",""),V(this,"selectItemName",""),V(this,"scrolledByMouse",!1),V(this,"openDelayTimer"),V(this,"updateDataStart"),V(this,"updateDataEnd"),V(this,"virtualScroll"),V(this,"_currentHighlightIndex",-1),V(this,"_currentSelectedElm"),V(this,"isMoveUpRecalcRequired",!1),V(this,"locales",{}),this.options=Object.assign({},gt.DEFAULTS,this.elm.dataset,e),this._bindEventService=new Nu({distinctEvent:!0})}get isRenderAsHtml(){return this.options.renderOptionLabelAsHtml||this.options.useSelectOptionLabelToHtml}init(){this.initLocale(),this.initContainer(),this.initData(),this.initSelected(!0),this.initFilter(),this.initDrop(),this.initView(),this.options.onAfterCreate()}destroy(r=!0){var e,t,i,s,n;this.elm&&this.parentElm&&(this.options.onDestroy({hardDestroy:r}),r&&this.options.onHardDestroy(),this.elm.parentElement&&this.parentElm.parentElement&&this.elm.parentElement.insertBefore(this.elm,this.parentElm.parentElement.firstChild),this.elm.classList.remove("ms-offscreen"),this._bindEventService.unbindAll(),(e=this.virtualScroll)==null||e.destroy(),(t=this.dropElm)==null||t.remove(),this.dropElm=void 0,(i=this.parentElm.parentNode)==null||i.removeChild(this.parentElm),this.fromHtml&&(delete this.options.data,this.fromHtml=!1),this.options.onAfterDestroy({hardDestroy:r}),r&&((n=(s=this.options).onAfterHardDestroy)==null||n.call(s),Object.keys(this.options).forEach(o=>delete this[o])))}initLocale(){if(this.options.locale){if(typeof this.options.locale=="object"){Object.assign(this.options,this.options.locale);return}let r=window.multipleSelect.locales,e=this.options.locale.split(/-|_/);if(e[0]=e[0].toLowerCase(),e[1]&&(e[1]=e[1].toUpperCase()),r[this.options.locale])Object.assign(this.options,r[this.options.locale]);else if(r[e.join("-")])Object.assign(this.options,r[e.join("-")]);else if(r[e[0]])Object.assign(this.options,r[e[0]]);else throw new Error(`[multiple-select-vanilla] invalid locales "${this.options.locale}", make sure to import it before using it`)}}initContainer(){var i;let r=this.elm.getAttribute("name")||this.options.name||"";this.options.classes&&this.elm.classList.add(this.options.classes),this.options.classPrefix&&(this.elm.classList.add(this.options.classPrefix),this.options.size&&this.elm.classList.add(`${this.options.classPrefix}-${this.options.size}`)),this.elm.style.display="none",this.labelElm=this.elm.closest("label"),!this.labelElm&&this.elm.id&&(this.labelElm=document.createElement("label"),this.labelElm.htmlFor=this.elm.id),(i=this.labelElm)!=null&&i.querySelector("input")&&(this.labelElm=null),typeof this.options.single>"u"&&(this.options.single=!this.elm.multiple),this.parentElm=Ue("div",{className:Pr(`ms-parent ${this.elm.className||""} ${this.options.classes}`).join(" "),dataset:{test:"sel"}}),this.options.darkMode&&this.parentElm.classList.add("ms-dark-mode");let e=this.elm.getAttribute("title")||"";e&&(this.parentElm.title=e),this.options.placeholder=this.options.placeholder||this.elm.getAttribute("placeholder")||"",this.choiceElm=Ue("button",{className:"ms-choice",type:"button"},this.parentElm),this.options.labelId&&(this.choiceElm.id=this.options.labelId,this.choiceElm.setAttribute("aria-labelledby",this.options.labelId)),this.choiceElm.appendChild(Ue("span",{className:"ms-placeholder",textContent:this.options.placeholder})),this.options.showClear&&(this.selectClearElm=Ue("div",{className:"ms-icon ms-icon-close"}),this.selectClearElm.style.display="none",this.choiceElm.appendChild(this.selectClearElm)),this.choiceElm.appendChild(Ue("div",{className:"ms-icon ms-icon-caret"})),this.dropElm=Ue("div",{className:`ms-drop ${this.options.position}`,ariaExpanded:"false"},this.parentElm),this.options.darkMode&&this.dropElm.classList.add("ms-dark-mode"),r&&(this.dropElm.dataset.name=r);let t=this.elm.getAttribute("data-test")||this.options.dataTest;t&&(this.parentElm.dataset.test=t,this.dropElm.dataset.test=t),this.closeElm=this.choiceElm.querySelector(".ms-icon-close"),this.options.dropWidth&&(this.dropElm.style.width=typeof this.options.dropWidth=="string"?this.options.dropWidth:`${this.options.dropWidth}px`),Yu(this.elm,this.parentElm),this.elm.disabled&&(this.choiceElm.classList.add("disabled"),this.choiceElm.disabled=!0),this.selectAllName=`selectAll${r}`,this.selectGroupName=`selectGroup${r}`,this.selectItemName=`selectItem${r}`,this.options.keepOpen||(this._bindEventService.unbindAll("body-click"),this._bindEventService.bind(document.body,"click",s=>{this.getEventTarget(s)===this.choiceElm||xa(this.getEventTarget(s),".ms-choice")===this.choiceElm||(this.getEventTarget(s)===this.dropElm||xa(this.getEventTarget(s),".ms-drop")!==this.dropElm&&this.getEventTarget(s)!==this.elm)&&this.options.isOpen&&this.close("body.click")},void 0,"body-click"))}initData(){let r=[];if(this.options.data){if(Array.isArray(this.options.data))this.data=this.options.data.map(e=>typeof e=="string"||typeof e=="number"?{text:e,value:e}:e);else if(typeof this.options.data=="object"){for(let[e,t]of Object.entries(this.options.data))r.push({value:e,text:`${t}`});this.data=r}}else this.elm.childNodes.forEach(e=>{let t=this.initRow(e);t&&r.push(t)}),this.options.data=r,this.data=r,this.fromHtml=!0;this.dataTotal=Uu(this.data||[])}initRow(r,e){var i,s;let t={};return((i=r.tagName)==null?void 0:i.toLowerCase())==="option"?(t.type="option",t.text=this.options.textTemplate(r),t.value=r.value,t.visible=!0,t.selected=!!r.selected,t.disabled=e||r.disabled,t.classes=r.getAttribute("class")||"",t.title=r.getAttribute("title")||"",r.dataset.value&&(t._value=r.dataset.value),Object.keys(r.dataset).length&&(t._data=r.dataset,t._data.divider&&(t.divider=t._data.divider)),t):((s=r.tagName)==null?void 0:s.toLowerCase())==="optgroup"?(t.type="optgroup",t.label=this.options.labelTemplate(r),t.visible=!0,t.selected=!!r.selected,t.disabled=r.disabled,t.children=[],Object.keys(r.dataset).length&&(t._data=r.dataset),r.childNodes.forEach(n=>{t.children.push(this.initRow(n,t.disabled))}),t):null}initDrop(){this.initList(),this.update(!0),this.options.isOpen&&this.open(10),this.options.openOnHover&&this.parentElm&&(this._bindEventService.bind(this.parentElm,"mouseover",()=>this.open(null)),this._bindEventService.bind(this.parentElm,"mouseout",()=>this.close("hover.mouseout")))}initFilter(){if(this.filterText="",this.options.filter||!this.options.filterByDataLength)return;let r=0;for(let e of this.data||[])e.type==="optgroup"?r+=e.children.length:r+=1;this.options.filter=r>this.options.filterByDataLength}initList(){var r,e;if(this.options.filter&&(this.filterParentElm=Ue("div",{className:"ms-search"},this.dropElm),this.filterParentElm.appendChild(Ue("input",{autocomplete:"off",autocapitalize:"off",spellcheck:!1,type:"text",placeholder:this.options.filterPlaceholder||"🔎︎"})),this.options.showSearchClear&&this.filterParentElm.appendChild(Ue("span",{className:"ms-icon ms-icon-close"}))),this.options.selectAll&&!this.options.single){let t=this.elm.getAttribute("name")||this.options.name||"";this.selectAllParentElm=Ue("div",{className:"ms-select-all",dataset:{key:"select_all"}});let i=document.createElement("label"),s=`ms-icon ${this.isAllSelected?"ms-icon-check":this.isPartiallyAllSelected?"ms-icon-minus":"ms-icon-uncheck"}`,n=Ue("div",{className:"icon-checkbox-container"},i);Ue("input",{type:"checkbox",ariaChecked:String(this.isAllSelected),checked:this.isAllSelected,dataset:{name:`selectAll${t}`}},n),Ue("div",{className:s},n),i.appendChild(Ue("span",{textContent:this.formatSelectAll()})),this.selectAllParentElm.appendChild(i),(r=this.dropElm)==null||r.appendChild(this.selectAllParentElm)}this.ulElm=document.createElement("ul"),this.ulElm.role="combobox",this.ulElm.ariaExpanded="false",this.ulElm.ariaMultiSelectable=String(!this.options.single),(e=this.dropElm)==null||e.appendChild(this.ulElm),this.options.showOkButton&&!this.options.single&&(this.okButtonElm=Ue("button",{className:"ms-ok-button",type:"button",textContent:this.formatOkButton()},this.dropElm)),this.initListItems()}initListItems(){var t;let r=0,e=this.getListRows();if(this.options.selectAll&&!this.options.single&&(r=-1),e.length>gt.BLOCK_ROWS*gt.CLUSTER_BLOCKS){let i=this.dropElm&&((t=this.dropElm)==null?void 0:t.style.display)!=="none";!i&&this.dropElm&&(this.dropElm.style.left="-10000",this.dropElm.style.display="block",this.dropElm.ariaExpanded="true");let s=()=>{if(this.virtualScroll){this._currentHighlightIndex=0,this.updateDataStart=this.virtualScroll.dataStart+r,this.updateDataEnd=this.virtualScroll.dataEnd+r,this.updateDataStart<0&&(this.updateDataStart=0,this._currentHighlightIndex=0);let n=this.getDataLength();this.updateDataEnd>n&&(this.updateDataEnd=n),this.ulElm&&(this.isMoveUpRecalcRequired?this.recalculateArrowMove("up"):this.virtualScroll.dataStart>this.updateDataStart&&this.recalculateArrowMove("down"))}};this.ulElm&&(this.virtualScroll?this.virtualScroll.reset(e):this.virtualScroll=new Xu({rows:e,scrollEl:this.ulElm,contentEl:this.ulElm,sanitizer:this.options.sanitizer,callback:()=>{s(),this.events()}})),s(),!i&&this.dropElm&&(this.dropElm.style.left="0",this.dropElm.style.display="none",this.dropElm.ariaExpanded="false")}else this.ulElm&&(Xs(this.ulElm),e.forEach(i=>this.ulElm.appendChild(kr(i)))),this.updateDataStart=0,this.updateDataEnd=this.updateData.length;return this.events(),e}getEventTarget(r){return r.composedPath?r.composedPath()[0]:r.target}getListRows(){var e;let r=[];return this.updateData=[],(e=this.data)==null||e.forEach(t=>r.push(...this.initListItem(t))),this.options.infiniteScroll&&r.push({tagName:"li",props:{className:"ms-infinite-option",role:"option"}}),r.push({tagName:"li",props:{className:"ms-no-results",textContent:this.formatNoMatchesFound()}}),r}initListItem(r,e=0){let t=(r==null?void 0:r.title)||"",i=this.options.multiple?"multiple":"",s=this.options.single?"radio":"checkbox",n=!!(r!=null&&r.selected),o=this.options.single&&!this.options.singleRadio,l="";if(!(r!=null&&r.visible))return[];if(this.updateData.push(r),o&&(l="hide-radio "),r.selected&&(l+="selected "),r.type==="optgroup"){let f=[],g;if(this.options.hideOptgroupCheckboxes||this.options.single)g={tagName:"span",props:{dataset:{name:this.selectGroupName,key:r._key}}};else{let S={tagName:"input",props:{type:"checkbox",dataset:{name:this.selectGroupName,key:r._key},checked:n,disabled:r.disabled}};o?g=S:g={tagName:"div",props:{className:`icon-checkbox-container${s==="radio"?" radio":""}`},children:[S,{tagName:"div",props:{className:`ms-icon ${n?s==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]}}!l.includes("hide-radio")&&(this.options.hideOptgroupCheckboxes||this.options.single)&&(l+="hide-radio ");let _={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(_.props,r.label);let C={tagName:"li",props:{className:Pr(`group${this.options.single||r.disabled?" disabled":""} ${l}`).join(" "),role:"option",ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:Pr(`optgroup${this.options.single||r.disabled?" disabled":""}`).join(" ")},children:[g,_]}]},b=this.options.cssStyler(r);return b&&(C.props.style=b),f.push(C),r.children.forEach(S=>f.push(...this.initListItem(S,1))),f}if(l+=r.classes||"",e&&this.options.single&&(l+=`option-level-${e} `),r.divider)return[{tagName:"li",props:{className:"option-divider"}}];let a=i||l?(i+l).trim():"";r.disabled&&(a+=" disabled");let h=`${r.disabled?"disabled":""}`,d={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(d.props,r.text);let c={tagName:"input",props:{type:s,value:encodeURI(r.value),dataset:{key:r._key,name:this.selectItemName},checked:n,disabled:!!r.disabled}};r.selected&&(c.attrs={checked:"checked"});let u={tagName:"div",props:{className:`icon-checkbox-container${s==="radio"?" radio":""}`},children:[c,{tagName:"div",props:{className:`ms-icon ${c.props.checked?s==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]},p={tagName:"li",props:{role:"option",title:t,ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:h},children:[o?c:u,d]}]};a&&(p.props.className=a);let m=this.options.cssStyler(r);return m&&(p.props.style=m),[p]}initSelected(r=!1){var t,i;let e=0;for(let s of this.data||[])if(s.type==="optgroup"){let n=s.children.filter(o=>(o==null?void 0:o.selected)&&!o.disabled&&o.visible).length;s.children.length&&(s.selected=!this.options.single&&n&&n===s.children.filter(o=>o&&!o.disabled&&o.visible&&!o.divider).length),e+=n}else e+=s.selected&&!s.disabled&&s.visible?1:0;this.isAllSelected=((t=this.data)==null?void 0:t.filter(s=>s.selected&&!s.disabled&&s.visible).length)===((i=this.data)==null?void 0:i.filter(s=>!s.disabled&&s.visible&&!s.divider).length),this.isPartiallyAllSelected=!this.isAllSelected&&e>0,r||(this.isAllSelected?this.options.onCheckAll():e===0&&this.options.onUncheckAll())}initView(){let r;window.getComputedStyle?(r=window.getComputedStyle(this.elm).width,r==="auto"&&(r=Qs(this.dropElm,"outer","width")+20)):r=Qs(this.elm,"outer","width")+20,this.parentElm.style.width=`${this.options.width||r}px`,this.elm.classList.add("ms-offscreen")}events(){var e,t,i,s,n,o,l;this._bindEventService.unbindAll(["ok-button","search-input","select-all-checkbox","input-checkbox-list","group-checkbox-list","hover-highlight","arrow-highlight","option-list-scroll"]),this.clearSearchIconElm=(e=this.filterParentElm)==null?void 0:e.querySelector(".ms-icon-close"),this.searchInputElm=(t=this.dropElm)==null?void 0:t.querySelector(".ms-search input"),this.selectAllElm=(i=this.dropElm)==null?void 0:i.querySelector(`input[data-name="${this.selectAllName}"]`),this.selectGroupElms=(s=this.dropElm)==null?void 0:s.querySelectorAll(`input[data-name="${this.selectGroupName}"],span[data-name="${this.selectGroupName}"]`),this.selectItemElms=(n=this.dropElm)==null?void 0:n.querySelectorAll(`input[data-name="${this.selectItemName}"]:enabled`),this.noResultsElm=(o=this.dropElm)==null?void 0:o.querySelector(".ms-no-results");let r=a=>{a.preventDefault(),!this.getEventTarget(a).classList.contains("ms-icon-close")&&(this.options.isOpen?this.close("toggle.close"):this.open())};this.labelElm&&this._bindEventService.bind(this.labelElm,"click",a=>{this.getEventTarget(a).nodeName.toLowerCase()==="label"&&(r(a),(!this.options.filter||!this.options.isOpen)&&this.focus(),a.stopPropagation())}),this._bindEventService.bind(this.choiceElm,"click",r),this.options.onFocus&&this._bindEventService.bind(this.choiceElm,"focus",this.options.onFocus),this.options.onBlur&&this._bindEventService.bind(this.choiceElm,"blur",this.options.onBlur),this._bindEventService.bind(this.parentElm,"keydown",a=>{a.code==="Escape"&&this.handleEscapeKey()}),this.closeElm&&this._bindEventService.bind(this.closeElm,"click",a=>{a.preventDefault(),this._checkAll(!1,!0),this.initSelected(!1),this.updateSelected(),this.update(),this.options.onClear()}),this.clearSearchIconElm&&this._bindEventService.bind(this.clearSearchIconElm,"click",a=>{a.preventDefault(),this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this._currentHighlightIndex=-1,this.moveHighlightDown(),this.filter(),this.options.onFilterClear()}),this.searchInputElm&&(this._bindEventService.bind(this.searchInputElm,"keydown",a=>{a.code==="Tab"&&a.shiftKey&&this.close("key.shift+tab")},void 0,"search-input"),this._bindEventService.bind(this.searchInputElm,"keyup",a=>{var h,d,c;if(this.options.filterAcceptOnEnter&&["Enter","Space"].includes(a.code)&&((h=this.searchInputElm)!=null&&h.value)){if(this.options.single){let u=[];(d=this.selectItemElms)==null||d.forEach(p=>{var m;((m=p.closest("li"))==null?void 0:m.style.display)!=="none"&&u.push(p)}),u.length&&u[0].hasAttribute("data-name")&&this.setSelects([u[0].value])}else(c=this.selectAllElm)==null||c.click();this.close(`key.${a.code.toLowerCase()}`),this.focus();return}this.filter()},void 0,"search-input")),this.selectAllElm&&this._bindEventService.bind(this.selectAllElm,"click",a=>{var h;return this._checkAll((h=a.currentTarget)==null?void 0:h.checked)},void 0,"select-all-checkbox"),this.okButtonElm&&this._bindEventService.bind(this.okButtonElm,"click",a=>{r(a),a.stopPropagation()},void 0,"ok-button"),this.selectGroupElms&&this._bindEventService.bind(this.selectGroupElms,"click",a=>{let h=a.currentTarget,d=h.checked,c=Ks(this.data,"_key",h.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(Rr({label:c.label,selected:c.selected,data:c._data,children:c.children.map(u=>{if(u)return Rr({text:u.text,value:u.value,selected:u.selected,disabled:u.disabled,data:u._data})})}))},void 0,"group-checkbox-list"),this.selectItemElms&&this._bindEventService.bind(this.selectItemElms,"click",a=>{let h=a.currentTarget,d=h.checked,c=Ks(this.data,"_key",h.dataset.key),u=()=>{this.options.single&&this.options.isOpen&&!this.options.keepOpen&&this.close("selection")};if(this.options.onBeforeClick(c)===!1){u();return}this._check(c,d),this.options.onClick(Rr({text:c.text,value:c.value,selected:c.selected,data:c._data})),u()},void 0,"input-checkbox-list"),this.lastFocusedItemKey&&this.dropElm&&((l=this.dropElm.querySelector(`li[data-key=${this.lastFocusedItemKey}]`))==null||l.focus()),this.options.navigationHighlight&&this.dropElm&&(this._bindEventService.bind(this.dropElm,"mouseover",a=>{var d,c;let h=this.getEventTarget(a).closest(".ms-select-all")||this.getEventTarget(a).closest("li");if((d=this.dropElm)!=null&&d.contains(h)&&this.lastMouseOverPosition!==`${a.clientX}:${a.clientY}`){let u=((c=this.dropElm)==null?void 0:c.querySelectorAll(os))||[],p=Array.from(u).findIndex(m=>m.dataset.key===h.dataset.key);this._currentHighlightIndex!==p&&!h.classList.contains("disabled")&&(this._currentSelectedElm=h,this._currentHighlightIndex=p,this.changeCurrentOptionHighlight(h))}this.lastMouseOverPosition=`${a.clientX}:${a.clientY}`},void 0,"hover-highlight"),this._bindEventService.bind(this.dropElm,"keydown",a=>{var h,d,c,u;switch(a.key){case"ArrowUp":a.preventDefault(),this.moveHighlightUp();break;case"ArrowDown":a.preventDefault(),this.moveHighlightDown();break;case"Escape":this.handleEscapeKey();break;case"Enter":case" ":{if(document.activeElement!==this.okButtonElm){let p=this.getEventTarget(a).closest(".ms-select-all")||this.getEventTarget(a).closest("li");if(a.key===" "&&this.options.filter||this.options.filterAcceptOnEnter&&!p)return;a.preventDefault(),(d=(h=this._currentSelectedElm)==null?void 0:h.querySelector("input"))==null||d.click(),this.options.single&&(this.choiceElm.focus(),this.lastFocusedItemKey=((c=this.choiceElm)==null?void 0:c.dataset.key)||"")}break}case"Tab":{a.preventDefault(),a.shiftKey?document.activeElement===this.okButtonElm?(this.focusSelectAllOrList(),this.highlightCurrentOption()):(this.close("key.shift+tab"),this.choiceElm.focus()):(this.changeCurrentOptionHighlight(),(u=this.okButtonElm)==null||u.focus());break}}},void 0,"arrow-highlight")),this.ulElm&&this.options.infiniteScroll&&this._bindEventService.bind(this.ulElm,"scroll",this.infiniteScrollHandler.bind(this),void 0,"option-list-scroll")}handleEscapeKey(){this.options.keepOpen||(this.close("key.escape"),this.choiceElm.focus())}infiniteScrollHandler(r,e,t){let i=!1;r&&this.getEventTarget(r)&&this.ulElm&&this.scrolledByMouse?this.getEventTarget(r).scrollTop+this.getEventTarget(r).clientHeight===this.ulElm.scrollHeight&&(i=!0):e!==void 0&&e+1===t&&(i=!0),i&&this.ulElm&&(this.virtualScroll?this.initListItems():this.ulElm.scrollTop=0,this._currentHighlightIndex=0,this.highlightCurrentOption())}open(r=0){return new Promise(e=>{r!==null&&r>=0?(window.clearTimeout(this.openDelayTimer),this.openDelayTimer=window.setTimeout(()=>{this.openDrop(),e()},r)):(this.openDrop(),e())})}openDrop(){var i,s,n,o,l;if(!this.dropElm||(i=this.choiceElm)!=null&&i.classList.contains("disabled"))return;if(this.options.isOpen=!0,this.parentElm.classList.add("ms-parent-open"),(n=(s=this.choiceElm)==null?void 0:s.querySelector("div.ms-icon-caret"))==null||n.classList.add("open"),this.dropElm.style.display="block",this.dropElm.ariaExpanded="true",(o=this.selectAllElm)!=null&&o.parentElement&&(this.selectAllElm.parentElement.style.display="inline-flex"),this.noResultsElm&&(this.noResultsElm.style.display="none"),this.getDataLength()||((l=this.selectAllElm)!=null&&l.parentElement&&(this.selectAllElm.parentElement.style.display="none"),this.noResultsElm&&(this.noResultsElm.style.display="block")),this.options.container){let a=Fr(this.dropElm),h;this.options.container instanceof Node?h=this.options.container:typeof this.options.container=="string"&&(h=this.options.container==="body"?document.body:document.querySelector(this.options.container)),h.appendChild(this.dropElm),this.dropElm.style.top=`${(a==null?void 0:a.top)??0}px`,this.dropElm.style.left=`${(a==null?void 0:a.left)??0}px`,this.dropElm.style.minWidth="auto",this.dropElm.style.width=`${Qs(this.parentElm,"outer","width")}px`}let r=this.options.minHeight,e=this.options.maxHeight;this.options.maxHeightUnit==="row"&&(e=Qs(this.dropElm.querySelector("ul>li"),"outer","height")*this.options.maxHeight),this.ulElm??(this.ulElm=this.dropElm.querySelector("ul")),this.ulElm&&(r&&(this.ulElm.style.minHeight=`${r}px`),this.ulElm.style.maxHeight=`${e}px`),this.dropElm.querySelectorAll(".multiple").forEach(a=>{a.style.width=`${this.options.multipleWidth}px`}),this.getDataLength()&&this.options.filter?(this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this.filter(!0)):this.focusSelectAllOrList(),this._currentHighlightIndex<0?this.moveHighlightDown():this.highlightCurrentOption(),this.options.autoAdjustDropWidthByTextSize&&this.adjustDropWidthByText();let t=this.options.position;if(this.options.autoAdjustDropHeight){if(this.options.autoAdjustDropPosition){let{bottom:a,top:h}=Ar(this.dropElm),d=this.dropElm.getBoundingClientRect().height;t=a<d&&h>a?"top":"bottom"}this.adjustDropHeight(t)}this.options.autoAdjustDropPosition&&this.adjustDropPosition(!0),this.options.onOpen()}focusSelectAllOrList(){this.selectAllElm?this.selectAllElm.focus():this.ulElm&&(this.ulElm.tabIndex=0,this.ulElm.focus())}highlightCurrentOption(){var e;let r=((e=this.dropElm)==null?void 0:e.querySelectorAll(os))||[];if(this._currentHighlightIndex<=r.length){let t=r[this._currentHighlightIndex];t&&(this.lastFocusedItemKey=t.dataset.key||"",this._currentSelectedElm=t,this.scrolledByMouse=!1,t.scrollIntoView({block:"nearest"}),this.changeCurrentOptionHighlight(t),window.setTimeout(()=>this.scrolledByMouse=!0,10))}}changeCurrentOptionHighlight(r){var e;r==null||r.classList.add("highlighted"),(((e=this.dropElm)==null?void 0:e.querySelectorAll(Qu))||[]).forEach(t=>{t!==r&&t.classList.remove("highlighted")})}moveHighlightDown(){var t,i;let r=((t=this.dropElm)==null?void 0:t.querySelectorAll(os))||[],e=r.length;this._currentHighlightIndex<e-1?(this._currentHighlightIndex++,(i=r[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightDown()):this.options.infiniteScroll&&this.infiniteScrollHandler(null,this._currentHighlightIndex,e),this.highlightCurrentOption()}moveHighlightUp(){var t,i;let r=((t=this.dropElm)==null?void 0:t.querySelectorAll(os))||[],e=this.options.single?0:1;if(this.virtualScroll&&this._currentHighlightIndex<=e&&this.updateDataStart>0&&this.ulElm){let s=r[this._currentHighlightIndex+(this.options.single?0:1)],n=s==null?void 0:s.dataset.key;this.lastFocusedItemKey=n,this.ulElm.scrollTop=this.ulElm.scrollTop-(s==null?void 0:s.getBoundingClientRect().height)||10,this.isMoveUpRecalcRequired=!0;return}this._currentHighlightIndex>0&&(this._currentHighlightIndex--,(i=r[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightUp()),this.highlightCurrentOption()}recalculateArrowMove(r){var i;let e=((i=this.dropElm)==null?void 0:i.querySelectorAll(os))||[],t=Array.from(e).findIndex(s=>s.dataset.key===this.lastFocusedItemKey);this._currentHighlightIndex=t-1,r==="down"?this.moveHighlightDown():r==="up"&&(this.moveHighlightUp(),this.isMoveUpRecalcRequired=!1)}close(r){var e,t;this.options.isOpen=!1,this.parentElm.classList.remove("ms-parent-open"),(t=(e=this.choiceElm)==null?void 0:e.querySelector("div.ms-icon-caret"))==null||t.classList.remove("open"),this.dropElm&&(this.dropElm.style.display="none",this.dropElm.ariaExpanded="false",this.options.container&&(this.parentElm.appendChild(this.dropElm),this.dropElm.style.top="auto",this.dropElm.style.left="auto")),this.options.onClose(r)}applyAsTextOrHtmlWhenEnabled(r,e){r||(r={}),this.isRenderAsHtml?r.innerHTML=typeof this.options.sanitizer=="function"?this.options.sanitizer(e):e:r.textContent=e}update(r=!1){var a;let e=this.getSelects(),t=this.getSelects("text");this.options.displayValues&&(t=e);let i=(a=this.choiceElm)==null?void 0:a.querySelector("span"),s=e.length,n=null,o=()=>{if(this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml){let h=e.join(this.options.displayDelimiter);return this.options.useSelectOptionLabelToHtml?ju(h):h}return t.join(this.options.displayDelimiter)};if(i){if(s===0){let h=this.options.placeholder||"";i.classList.add("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,h)}else s<this.options.minimumCountSelected?n=o():this.formatAllSelected()&&s===this.dataTotal?n=this.formatAllSelected():this.options.ellipsis&&s>this.options.minimumCountSelected?n=`${t.slice(0,this.options.minimumCountSelected).join(this.options.displayDelimiter)}...`:this.formatCountSelected(s,this.dataTotal)&&s>this.options.minimumCountSelected?n=this.formatCountSelected(s,this.dataTotal):n=o();if(n!==null&&(i==null||i.classList.remove("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,n)),this.options.showClear&&this.selectClearElm){let h=n?"block":"none";this.selectClearElm.style.display=h}if(this.options.displayTitle){let h=this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml?"value":"text";i.title=this.getSelects(h).join(this.options.displayDelimiter)}}let l=this.getSelects();this.options.single?this.elm.value=l.length?l[0]:"":Array.from(this.elm.options).forEach(h=>{h.selected=l.some(d=>d===h.value)}),r||this.elm.dispatchEvent(new Event("change"))}updateSelected(r){var t,i,s;for(let n=this.updateDataStart;n<this.updateDataEnd;n++){let o=this.updateData[n],l=(t=this.dropElm)==null?void 0:t.querySelector(`input[data-key=${o._key}]`);if(l){l.checked=o.selected;let a=l.closest("li"),h=a==null?void 0:a.querySelector(".icon-checkbox-container div");a&&(o.selected&&!a.classList.contains("selected")?(a.classList.add("selected"),a.ariaSelected="true",h&&(h.className=`ms-icon ms-icon-${l.type==="radio"?"radio":"check"}`)):o.selected||(a.classList.remove("selected"),a.ariaSelected="false",h&&(h.className="ms-icon ms-icon-uncheck")))}}let e=((i=this.data)==null?void 0:i.filter(n=>n.visible).length)===0;if(this.selectAllElm){this.selectAllElm.ariaChecked=String(this.isAllSelected);let n=(s=this.dropElm)==null?void 0:s.querySelector(".ms-select-all .icon-checkbox-container div");if(n){let o="";this.isAllSelected?o="ms-icon-check":this.isPartiallyAllSelected?o="ms-icon-minus":o="ms-icon-uncheck",n.className=`ms-icon ${o}`}this.selectAllElm.checked=this.isAllSelected,Ia(this.selectAllElm.closest("li"),!e)}Ia(this.noResultsElm,e),this.virtualScroll&&(this.virtualScroll.rows=r??this.getListRows())}getData(){return this.options.data}getDataLength(){var r;return((r=this.data)==null?void 0:r.length)??0}getOptions(r=!0){let e=Object.assign({},this.options);return delete e.data,r?xr(e):this.options}refreshOptions(r){Wu(this.options,r,!0)||(this.options=Object.assign(this.options,r),this.destroy(!1),this.init())}getDropElement(){return this.dropElm}getParentElement(){return this.parentElm}getSelects(r="value"){let e=[];for(let t of this.data||[])if(t.type==="optgroup"){let i=t.children.filter(s=>s==null?void 0:s.selected);if(!i.length)continue;if(r==="value"||this.options.single)e.push(...i.map(s=>r==="value"&&s._value||s[r]));else{let s=[];s.push("["),s.push(t.label),s.push(`: ${i.map(n=>n[r]).join(", ")}`),s.push("]"),e.push(s.join(""))}}else t.selected&&e.push(r==="value"&&t._value||t[r]);return e}setSelects(r,e="value",t=!1){let i=!1,s=n=>{var o;for(let l of n){let a=!1;if(e==="text"){let h=document.createElement("div");this.applyAsTextOrHtmlWhenEnabled(h,l.text),a=r.includes(((o=h.textContent)==null?void 0:o.trim())??"")}else a=r.includes(l._value||l.value),!a&&l.value===`${+l.value}`&&(a=r.includes(+l.value));l.selected!==a&&(i=!0),l.selected=a}};for(let n of this.data||[])n.type==="optgroup"?s(n.children):s([n]);i&&(this.initSelected(t),this.updateSelected(),this.update(t))}enable(){this.choiceElm&&(this.choiceElm.classList.remove("disabled"),this.choiceElm.disabled=!1)}disable(){var r;this.choiceElm&&((r=this.choiceElm)==null||r.classList.add("disabled"),this.choiceElm.disabled=!0)}check(r){let e=Ks(this.data,"value",r);e&&this._check(e,!0)}uncheck(r){let e=Ks(this.data,"value",r);e&&this._check(e,!1)}_check(r,e){this.options.single&&this._checkAll(!1,!0),r.selected=e,this.initSelected(),this.updateSelected(),this.update()}checkAll(){this._checkAll(!0)}uncheckAll(){this._checkAll(!1)}_checkAll(r,e){for(let t of this.data||[])t.type==="optgroup"?this._checkGroup(t,r,!0):!t.disabled&&!t.divider&&(e||t.visible)&&(t.selected=r);e||(this.initSelected(),this.updateSelected(),this.update())}_checkGroup(r,e,t){r.selected=e,r.children.forEach(i=>{i&&!i.disabled&&!i.divider&&(t||i.visible)&&(i.selected=e)}),t||(this.initSelected(),this.updateSelected(),this.update())}checkInvert(){if(!this.options.single){for(let r of this.data||[])if(r.type==="optgroup")for(let e of r.children)e&&(e.divider||(e.selected=!e.selected));else r&&!r.divider&&(r.selected=!r.selected);this.initSelected(),this.updateSelected(),this.update()}}focus(){var r;(r=this.choiceElm)==null||r.focus(),this.options.onFocus()}blur(){var r;(r=this.choiceElm)==null||r.blur(),this.options.onBlur()}refresh(){this.destroy(!1),this.init()}filter(r){var s;let e=((s=this.searchInputElm)==null?void 0:s.value.trim())??"",t=e.toLowerCase();if(this.filterText===t)return;this.filterText=t;for(let n of this.data||[])if(n.type==="optgroup")if(this.options.filterGroup){let o=`${(n==null?void 0:n.label)??""}`;if(n!=null){let l=this.options.customFilter({label:Oi(o.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalLabel:o,originalSearch:e,row:n});n.visible=l;for(let a of n.children)a&&(a.visible=l)}}else{for(let o of n.children)if(o!=null){let l=`${(o==null?void 0:o.text)??""}`;o.visible=this.options.customFilter({text:Oi(l.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalText:l,originalSearch:e,row:o,parent:n})}n.visible=n.children.filter(o=>o==null?void 0:o.visible).length>0}else{let o=`${(n==null?void 0:n.text)??""}`;n.visible=this.options.customFilter({text:Oi(o.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalText:o,originalSearch:e,row:n})}let i=this.initListItems();this.initSelected(r),this.updateSelected(i),r||this.options.onFilter(e)}adjustDropHeight(r){var h,d,c,u;let e=r!=="top",t=((h=this.filterParentElm)==null?void 0:h.getBoundingClientRect().height)??0,i=((d=this.okButtonElm)==null?void 0:d.getBoundingClientRect().height)??0,s=this.options.single?0:((c=this.selectAllParentElm)==null?void 0:c.getBoundingClientRect().height)??0,n=t+i+s+5,{bottom:o,top:l}=Ar(this.parentElm),a=this.options.maxHeight;if(e?a=o-n-this.options.adjustedHeightPadding:a=l-n-this.options.adjustedHeightPadding,!this.options.maxHeight||this.options.maxHeight&&a<this.options.maxHeight){let p=(u=this.dropElm)==null?void 0:u.querySelector("ul");return p&&(p.style.maxHeight=`${a}px`),!0}return!1}adjustDropPosition(r){let e="bottom";if(this.dropElm&&this.parentElm){let{bottom:t,top:i}=Ar(this.dropElm),{top:s,left:n}=Fr(this.parentElm),o=this.dropElm.getBoundingClientRect().height,l=this.dropElm.getBoundingClientRect().width,a=document.body.offsetWidth||window.innerWidth,h=this.parentElm.getBoundingClientRect().width;if(t>o)e="bottom";else if(o>t&&i>t){if(this.options.container){let d=s-o;d<0&&(d=0),(d>0||r)&&(e="top",this.dropElm.style.top=`${d<0?0:d}px`)}else e="top",this.dropElm.classList.add(e);this.dropElm.classList.remove("bottom")}a-l<n&&(this.dropElm.style.left=`${n-(l-h)}px`)}return e}adjustDropWidthByText(){if(this.dropElm){let r=this.parentElm.scrollWidth;(this.options.dropWidth||this.options.width)&&(r=this.options.dropWidth||this.options.width||0);let e=this.dropElm.querySelector(".ms-select-all span"),t=this.dropElm.querySelector("ul"),i=26,s=(e==null?void 0:e.clientWidth)??0+i,n=t.scrollHeight>t.clientHeight?this.getScrollbarWidth():0,o=0;this.dropElm.querySelectorAll("li label").forEach(l=>{l.scrollWidth>o&&(o=l.scrollWidth)}),o+=i+n,o<s&&(o=s),this.options.maxWidth&&o>this.options.maxWidth&&(o=this.options.maxWidth),this.options.minWidth&&o<this.options.minWidth&&(o=this.options.minWidth),(r==="100%"||+r<o)&&(this.dropElm.style.width=`${o}px`,this.dropElm.style.maxWidth=`${o}px`)}}getScrollbarWidth(){var s;let r=document.createElement("div");r.style.visibility="hidden",r.style.width="100px",document.body.appendChild(r);let e=r.offsetWidth;r.style.overflow="scroll";let t=document.createElement("div");t.style.width="100%",r.appendChild(t);let i=t.offsetWidth;return(s=r.parentNode)==null||s.removeChild(r),e-i}formatAllSelected(){return this.options.allSelectedText||this.options.formatAllSelected()}formatCountSelected(r,e){return this.options.countSelectedText?this.options.countSelectedText.replace("#",`${r}`).replace("%",`${e}`):this.options.formatCountSelected(r,e)}formatNoMatchesFound(){return this.options.noMatchesFoundText||this.options.formatNoMatchesFound()}formatOkButton(){return this.options.okButtonText||this.options.formatOkButton()}formatSelectAll(){return this.options.selectAllText||this.options.formatSelectAll()}},xi=(r,e)=>typeof r=="string"?Dr(document.querySelectorAll(r),e):r instanceof Node?Dr([r],e):Dr(r,e);function Dr(r,e){let t=Array.from(r),i=[];for(let s=0;s<t.length;s++){let n=t[s];try{n._multipleSelect!==void 0&&(n._multipleSelect.destroy(),delete n._multipleSelect),n._multipleSelect=new Zu(n,e||{}),n._multipleSelect.init();let o=n._multipleSelect.getOptions(!1);o.onHardDestroy=()=>delete n._multipleSelect,o.onAfterHardDestroyed=()=>i[s]=null,i.push(n._multipleSelect)}catch(o){console.error(o)}}return i.length===1?i[0]:i}xi.defaults=gt.DEFAULTS,xi.locales={...wa},xi.methods=gt.METHODS,typeof window<"u"&&(window.multipleSelect=xi);class Ra{constructor(e,t,i,s=!0){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._isMultipleSelect=!0,this._collectionLength=0,this._collectionObservers=[],this._shouldTriggerQuery=!0,this.isFilled=!1,this.enableTranslateLabel=!1,this.subscriptions=[],this._isMultipleSelect=s}get collectionOptions(){var e,t;return((t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.collectionOptions)??{}}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get customStructure(){var e,t;return(t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.customStructure}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get defaultOperator(){return this.isMultipleSelect?H.in:H.equal}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.select,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get isMultipleSelect(){return this._isMultipleSelect}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}init(e){var s,n,o,l,a,h,d,c,u,p,m;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this.filterContainerElm=e.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the MultipleSelect/SingleSelect Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.multipleSelect, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);if(this.enableTranslateLabel=((s=this.columnFilter)==null?void 0:s.enableTranslateLabel)??!1,this.labelName=((n=this.customStructure)==null?void 0:n.label)??"label",this.labelPrefixName=((o=this.customStructure)==null?void 0:o.labelPrefix)??"labelPrefix",this.labelSuffixName=((l=this.customStructure)==null?void 0:l.labelSuffix)??"labelSuffix",this.optionLabel=((a=this.customStructure)==null?void 0:a.optionLabel)??"value",this.valueName=((h=this.customStructure)==null?void 0:h.value)??"value",this.enableTranslateLabel&&(!this.translaterService||typeof this.translaterService.translate!="function"))throw new Error('[select-filter] The Translate Service is required for the Select Filter to work correctly when "enableTranslateLabel" is set.');this._locales=((d=this.gridOptions)==null?void 0:d.locales)??R.locales,this.initMultipleSelectTemplate();let t=((c=this.gridOptions)==null?void 0:c.defaultFilterPlaceholder)||"";(u=this.columnFilter)!=null&&u.placeholder&&(t=this.columnFilter.placeholder),this.defaultOptions.placeholder=t||"",this._isMultipleSelect&&((p=this.columnDef)!=null&&p.filter)&&(this.columnDef.filter.emptySearchTermReturnAllValues=((m=this.columnDef.filter)==null?void 0:m.emptySearchTermReturnAllValues)??!1);const i=this.columnFilter.collection||[];return new Promise(async(f,g)=>{try{let _;this.columnFilter.collectionAsync&&!this.columnFilter.collection?(_=Yo(this.columnFilter.collectionAsync,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),f(_)):(_=i,this.renderDomElement(i),f(i)),(this.columnFilter.collectionAsync||this.columnFilter.enableCollectionWatch)&&(await(_??this.columnFilter.collectionAsync),this.watchCollectionChanges())}catch(_){g(_)}})}clear(e=!0){this._msInstance&&this._collectionLength>0&&(this._msInstance.setSelects([]),this.updateFilterStyle(!1),this.searchTerms=[],this._shouldTriggerQuery=e,this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0)}destroy(){var e,t;typeof((e=this._msInstance)==null?void 0:e.destroy)=="function"&&this._msInstance.destroy(),(t=this.filterElm)==null||t.remove(),cs(this.subscriptions)}getValues(){var e;return((e=this._msInstance)==null?void 0:e.getSelects())??[]}setValues(e,t,i=!1){e!==void 0&&this._msInstance&&(e=Array.isArray(e)?e.every(s=>$i(s))?e.map(String):e:[e],this._msInstance.setSelects(e)),this.updateFilterStyle(this.getValues().length>0),this.operator=t||this.defaultOperator,i&&this.onTriggerEvent()}filterCollection(e){var i,s;let t=e;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const n=this.columnFilter.collectionFilterBy,o=((i=this.columnFilter.collectionOptions)==null?void 0:i.filterResultAfterEachPass)||null;t=((s=this.collectionService)==null?void 0:s.filterCollection(t,n,o))||[]}return t}sortCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionSortBy){const s=this.columnFilter.collectionSortBy;t=((i=this.collectionService)==null?void 0:i.sortCollection(this.columnDef,t,s,this.enableTranslateLabel))||[]}return t}watchCollectionChanges(){var e;(e=this.columnFilter)!=null&&e.collection&&(this._collectionObservers.push(ci(this.columnFilter.collection,this.watchCallback.bind(this))),hs(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(e){this.renderDomElement(e||[]),this.columnFilter.collection&&this._collectionObservers.push(ci(this.columnFilter.collection,this.watchCallback.bind(this)))}watchCallback(e){this.renderDomElement(this.columnFilter.collection||e||[])}renderDomElement(e){var n,o,l,a;if(!Array.isArray(e)&&((n=this.collectionOptions)!=null&&n.collectionInsideObjectProperty)){const h=this.collectionOptions.collectionInsideObjectProperty;e=Ee(e,h||"")}if(!Array.isArray(e))throw new Error('The "collection" passed to the Select Filter is not a valid array.');let t=[];if(e.length>0&&(t=[...e]),(o=this.collectionOptions)!=null&&o.addBlankEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==""&&t.unshift(this.createBlankEntry()),(l=this.collectionOptions)!=null&&l.addCustomFirstEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&t.unshift(this.collectionOptions.addCustomFirstEntry),(a=this.collectionOptions)!=null&&a.addCustomLastEntry&&Array.isArray(t)&&t.length>0){const h=t.length-1;t[h][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&t.push(this.collectionOptions.addCustomLastEntry)}let i=t;i=this.filterCollection(i),i=this.sortCollection(i);const s=Xl("filter",i,this.columnDef,this.grid,this.isMultipleSelect,this.translaterService,this.searchTerms||[]);this.isFilled=s.hasFoundSearchTerm,this.createFilterElement(s.selectElement,s.dataCollection),this._collectionLength=i.length}createBlankEntry(){const e={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(e[this.labelPrefixName]=""),this.labelSuffixName&&(e[this.labelSuffixName]=""),e}createFilterElement(e,t){var s;const i=((s=this.columnDef)==null?void 0:s.id)??"";this.elementName=`filter-${i}`,this.defaultOptions.name=this.elementName,ee(this.filterContainerElm),this.filterElm=e,this.filterElm.dataset.columnId=`${i}`,this.updateFilterStyle(this.isFilled),this.filterContainerElm.appendChild(e),this.filterElmOptions={...this.defaultOptions,...this.filterOptions,data:t},this._msInstance=xi(e,this.filterElmOptions)}initMultipleSelectTemplate(){var s,n,o,l,a,h,d,c,u,p,m,f,g;const e=((s=this.gridOptions)==null?void 0:s.enableTranslate)??!1,i={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,name:`${((n=this.columnDef)==null?void 0:n.id)??""}`,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,single:!0,singleRadio:!0,showSearchClear:!0,renderOptionLabelAsHtml:((o=this.columnFilter)==null?void 0:o.enableRenderHtml)??!1,sanitizer:_=>this.grid.sanitizeHtmlString(_),onClose:()=>this.onTriggerEvent(),onClear:()=>this.clear()};if(this._isMultipleSelect){i.single=!1,i.singleRadio=!1,i.showOkButton=!0,i.displayTitle=!0;const _=lt(this.gridOptions);i.countSelectedText=e&&((l=this.translaterService)!=null&&l.translate)?this.translaterService.translate(`${_}X_OF_Y_SELECTED`):(a=this._locales)==null?void 0:a.TEXT_X_OF_Y_SELECTED,i.allSelectedText=e&&((h=this.translaterService)!=null&&h.translate)?this.translaterService.translate(`${_}ALL_SELECTED`):(d=this._locales)==null?void 0:d.TEXT_ALL_SELECTED,i.noMatchesFoundText=e&&((c=this.translaterService)!=null&&c.translate)?this.translaterService.translate(`${_}NO_MATCHES_FOUND`):(u=this._locales)==null?void 0:u.TEXT_NO_MATCHES_FOUND,i.okButtonText=e&&((p=this.translaterService)!=null&&p.translate)?this.translaterService.translate(`${_}OK`):(m=this._locales)==null?void 0:m.TEXT_OK,i.selectAllText=e&&((f=this.translaterService)!=null&&f.translate)?this.translaterService.translate(`${_}SELECT_ALL`):(g=this._locales)==null?void 0:g.TEXT_SELECT_ALL}this.defaultOptions=i}onTriggerEvent(){if(this._msInstance){const e=this.getValues();this.updateFilterStyle(Array.isArray(e)&&e.length>1||e.length===1&&e[0]!==""),this.searchTerms=e,this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:e,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0}}updateFilterStyle(e){var t,i,s,n,o,l;e?(this.isFilled=!0,(t=this.filterElm)==null||t.classList.add("filled"),(s=(i=this._msInstance)==null?void 0:i.getParentElement())==null||s.classList.add("filled")):(this.isFilled=!1,(n=this.filterElm)==null||n.classList.remove("filled"),(l=(o=this._msInstance)==null?void 0:o.getParentElement())==null||l.classList.remove("filled"))}}class Ju extends Ra{constructor(e,t,i){super(e,t,i,!0),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class ep extends Ra{constructor(e,t,i){super(e,t,i,!1),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class tp extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="single"}}class ip extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="double"}}const Zs={autocompleter:Rd,compoundDate:Nc,compoundInput:ya,compoundInputNumber:xu,compoundInputPassword:Iu,compoundInputText:ya,compoundSlider:Au,dateRange:Pu,input:Yt,inputMask:ku,inputNumber:Fu,inputPassword:Du,inputText:Yt,multipleSelect:Ju,singleSelect:ep,slider:tp,sliderRange:ip},Mr={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,autoHeight:!0,autoHeightRecalcRow:100,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:250,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Aa},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"}},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{itemsKey:"ITEMS",ofKey:"OF",itemsSelectedKey:"ITEMS_SELECTED"}},customTooltip:{tooltipTextMaxLength:700,maxWidth:500},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:Zs.input,defaultBackendServiceFilterTypingDebounce:500,enableFilterTrimWhiteSpace:!1,defaultFilterPlaceholder:"🔎︎",defaultFilterRangeOperator:H.rangeInclusive,defaultColumnSortFieldId:"id",draggableGrouping:{hideToggleAllButton:!1,toggleAllButtonText:"",dropPlaceHolderTextKey:"DROP_COLUMN_HEADER_TO_GROUP_BY"},editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,emptyDataWarning:{className:"slick-empty-data-warning",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,autoDetectCellFormat:!0,exportWithFormatter:!1,filename:"export",format:ve.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"⮞",groupExpandedSymbol:"⮟",groupingAggregatorRowText:"",sanitizeDataExport:!0},textExportOptions:{delimiter:Ot.comma,exportWithFormatter:!1,filename:"export",format:ve.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!0,useUtf8WithBom:!0},eventNamingStyle:at.lowerCase,forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleFilterCommand:!1,hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-pin-off-outline",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",headerColumnValueExtractor:Aa},headerMenu:{autoAlign:!0,autoAlignOffset:4,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFilterShortcutSubMenu:"mdi mdi-filter-outline",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},ignoreAccentOnStringFilterAndSort:!1,multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},headerRowHeight:35,rowHeight:35,topPanelHeight:30,translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"͏͏͏͏͏͏͏͏͏·"}};function Aa(r,e){let t=(r==null?void 0:r.columnPickerLabel)??(r==null?void 0:r.name)??"";(t instanceof HTMLElement||t instanceof DocumentFragment)&&(t=t.textContent||"");const i=(r==null?void 0:r.columnGroup)||"",s=(e==null?void 0:e.columnGroupSeparator)??" - ";return i?i+s+t:t}class sp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._sum=0,this._itemCount=0,this._type="sum",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._isTreeAggregator=t,this._isInitialized=!0,this._sum=0,this._itemCount=0,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={},e.__treeTotals.count={}),e.__treeTotals.count[this._field]=0,e.__treeTotals[this._type][this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator?t?(e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals),this._sum=parseFloat(e.__treeTotals[this._type][this._field]??0),this._itemCount=e.__treeTotals.count[this._field]??0):U(i)&&(this._sum=parseFloat(i),this._itemCount=1):U(i)&&(this._sum+=parseFloat(i))}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),this.addGroupTotalPropertiesWhenNotExist(e);let t=this._sum,i=this._itemCount;this._isTreeAggregator&&(t+=e[this._type][this._field],i+=e.count[this._field],e.count[this._field]=i),e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={}),this._isTreeAggregator&&e.count===void 0&&(e.count={})}}class np{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._max=null,this._type="max",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._max=null,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=null)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;if(!this._isTreeAggregator)this.keepMaxValueWhenFound(i);else if(t){e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals);const s=e.__treeTotals[this._type][this._field]!==null?parseFloat(e.__treeTotals[this._type][this._field]):null;s!==null&&U(s)&&(this._max===null||s>this._max)&&(this._max=s)}else U(i)&&this.keepMaxValueWhenFound(i)}storeResult(e){let t=this._max;if(this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&t!==null){const i=e[this._type][this._field];U(i)&&i>t&&(t=i)}e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={})}keepMaxValueWhenFound(e){U(e)&&(this._max===null||e>this._max)&&(this._max=parseFloat(e))}}class rp{constructor(e){this._isInitialized=!1,this._distinctValues=[],this._type="distinct",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){if(this._distinctValues=[],this._isInitialized=!0,t)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(e){const t=e&&e.hasOwnProperty(this._field)?e[this._field]:void 0;this._distinctValues.indexOf(t)===-1&&t!==void 0&&this._distinctValues.push(t)}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),e[this._type][this._field]=this._distinctValues}}class op{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._min=null,this._type="min",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._min=null,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=null)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;if(!this._isTreeAggregator)this.keepMinValueWhenFound(i);else if(t){e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals);const s=e.__treeTotals[this._type][this._field]!==null?parseFloat(e.__treeTotals[this._type][this._field]):null;s!==null&&U(s)&&(this._min===null||s<this._min)&&(this._min=s)}else U(i)&&this.keepMinValueWhenFound(i)}storeResult(e){let t=this._min;if(this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&t!==null){const i=e[this._type][this._field];U(i)&&i<t&&(t=i)}e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={})}keepMinValueWhenFound(e){U(e)&&(this._min===null||e<this._min)&&(this._min=parseFloat(e))}}class lp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._count=0,this._type="count",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._count=0,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator&&(t?(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),this._count=e.__treeTotals[this._type][this._field]??0):U(i)&&(this._count=1))}storeResult(e){var i,s;(!e||e[this._type]===void 0)&&(e[this._type]={});let t=this._count;this._isTreeAggregator?t+=e[this._type][this._field]:t=((s=(i=e.group)==null?void 0:i.rows)==null?void 0:s.length)??0,e[this._type][this._field]=t}}class ap{constructor(e){this._isInitialized=!1,this._data="",this._type="clone",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){if(this._data="",this._isInitialized=!0,t)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(e){const t=e&&e.hasOwnProperty(this._field)?e[this._field]:null;t!==null&&t!==""&&(this._data=t)}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),e[this._type][this._field]=this._data}}class hp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._nonNullCount=0,this._sum=0,this._type="avg",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._sum=0,this._nonNullCount=0,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={},e.__treeTotals.sum={},e.__treeTotals.count={}),e.__treeTotals[this._type][this._field]=0,e.__treeTotals.count[this._field]=0,e.__treeTotals.sum[this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator?t?(e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals),this._sum=parseFloat(e.__treeTotals.sum[this._field]??0),this._nonNullCount=e.__treeTotals.count[this._field]??0):U(i)&&(this._sum=parseFloat(i),this._nonNullCount=1):U(i)&&(this._nonNullCount++,this._sum+=parseFloat(i))}storeResult(e){let t=this._sum,i=this._nonNullCount;this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&(t+=e.sum[this._field],i+=e.count[this._field],e.sum[this._field]=t,e.count[this._field]=i),i!==0&&(e[this._type][this._field]=i===0?t:t/i)}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={}),this._isTreeAggregator&&e.sum===void 0&&(e.sum={}),this._isTreeAggregator&&e.count===void 0&&(e.count={})}}const Lr={Avg:hp,Clone:ap,Count:lp,Distinct:rp,Min:op,Max:np,Sum:sp};function Js(r,e){const t=e.errorMessage,i=e.required,s=e.minLength,n=e.maxLength,o=e.operatorConditionalType||"inclusive",l={"{{minLength}}":s,"{{maxLength}}":n};let a=!0,h="";const d=(r==null?void 0:r.length)??0;if(e.validator)return e.validator(r,e.editorArgs);if(i&&r==="")a=!1,h=t||R.VALIDATION_REQUIRED_FIELD;else if(s!==void 0&&n!==void 0&&(o==="exclusive"&&(d<=s||d>=n)||o==="inclusive"&&(d<s||d>n)))a=!1,h=t||R.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN.replace(/{{minLength}}|{{maxLength}}/gi,c=>l[c]);else if(s!==void 0&&d!==null&&(o==="exclusive"&&d<=s||o==="inclusive"&&d!==null&&d<s)){a=!1;const c=o==="inclusive"?R.VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE:R.VALIDATION_EDITOR_TEXT_MIN_LENGTH;h=t||c.replace(/{{minLength}}/gi,u=>l[u])}else if(n!==void 0&&d!==null&&(o==="exclusive"&&d>=n||o==="inclusive"&&d!==null&&d>n)){a=!1;const c=o==="inclusive"?R.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE:R.VALIDATION_EDITOR_TEXT_MAX_LENGTH;h=t||c.replace(/{{maxLength}}/gi,u=>l[u])}return{valid:a,msg:h}}const dp=3;class cp{constructor(e){var t,i;if(this.args=e,this._isValueTouched=!1,this._lastTriggeredByClearInput=!1,this.disabled=!1,this.forceUserInput=!1,this.finalCollection=[],!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this._bindEventService=new Pe,(t=this.gridOptions)!=null&&t.translater&&(this._translater=this.gridOptions.translater),this._locales=((i=this.gridOptions)==null?void 0:i.locales)||R.locales,this.init()}get autocompleterOptions(){return this._autocompleterOptions||{}}get collection(){var e;return((e=this.columnEditor)==null?void 0:e.collection)??[]}get editorDomElement(){return this._inputElm}get elementCollection(){return this._elementCollection}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get customStructure(){var i,s,n,o,l;let e=(i=this.columnEditor)==null?void 0:i.customStructure;const t=((s=this.columnEditor)==null?void 0:s.type)??((n=this.columnDef)==null?void 0:n.type);return!e&&t===w.object&&((o=this.columnDef)!=null&&o.dataKey)&&((l=this.columnDef)!=null&&l.labelKey)&&(e={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),e}get dataContext(){return this.args.item}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.autocompleter,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get instance(){return this._instance}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var t,i,s,n,o,l;this.labelName=((t=this.customStructure)==null?void 0:t.label)??"label",this.valueName=((i=this.customStructure)==null?void 0:i.value)??"value",this.labelPrefixName=((s=this.customStructure)==null?void 0:s.labelPrefix)??"labelPrefix",this.labelSuffixName=((n=this.customStructure)==null?void 0:n.labelSuffix)??"labelSuffix";let e=this.columnEditor.collection;(o=this.columnEditor)!=null&&o.collectionAsync&&!e&&(e=[]),this.renderDomElement(e),(this.disabled||(l=this.columnEditor)!=null&&l.collectionAsync&&Array.isArray(e)&&e.length===0)&&this.disable(!0)}destroy(){var e,t,i;this._bindEventService.unbindAll(),typeof((e=this._instance)==null?void 0:e.destroy)=="function"&&this._instance.destroy(),(i=(t=this._inputElm)==null?void 0:t.remove)==null||i.call(t),this._elementCollection=null}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._inputElm)if(e){this._inputElm.disabled=!0;const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.clear(!0)}else this._inputElm.disabled=!1}focus(){this.grid.focus(),this._inputElm&&(this._inputElm.focus(),this._inputElm.select())}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(e,t=!1,i=!0){if(this._inputElm.value=e!=null&&e.hasOwnProperty(this.labelName)?e[this.labelName]:e,t){this._currentValue=e,this._defaultTextValue=typeof e=="string"?e:(e==null?void 0:e[this.labelName])??"",this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var n,o;let i=t;const s=(n=this.columnDef)==null?void 0:n.field;if(s!==void 0){Array.isArray(this.collection)&&this.collection.length>0&&(i=At(this.collection,h=>h&&Bt(t)&&h.hasOwnProperty(this.valueName)?h[this.valueName].toString()===(t.hasOwnProperty(this.valueName)&&t[this.valueName].toString()):h&&typeof t=="string"&&h.hasOwnProperty(this.valueName)?h[this.valueName].toString()===t:(h==null?void 0:h.toString())===t,""));const l=(s==null?void 0:s.indexOf("."))>0,a=this.validate(null,i);if(i=a!=null&&a.valid?i:"",l){const h=((o=this.columnEditor)==null?void 0:o.complexObjectPath)??s??"";We(e,h,i)}else e[s]=i}}isValueChanged(){var s,n;const e=this._inputElm.value,t=(s=this._lastInputKeyEvent)==null?void 0:s.key;if((n=this.columnEditor)!=null&&n.alwaysSaveOnEnterKey&&t==="Enter")return!0;const i=!(e===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&e!==this._defaultTextValue;return this._lastTriggeredByClearInput||i}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._currentValue=n,this._originalValue=n,this._defaultTextValue=typeof n=="string"?n:(n==null?void 0:n[this.labelName])??"",this._inputElm.value=this._defaultTextValue,this._inputElm.select()}}clear(e=!1){this._inputElm&&(this._currentValue="",this._defaultTextValue="",this.setValue("",!0)),this._isValueTouched=!0,this._lastTriggeredByClearInput=!0;const t=this.args.compositeEditorOptions;if(t){const i=!e;this.handleChangeOnCompositeEditor(null,t,"user",i)}else this.save()}reset(e,t=!0,i=!1){const s=e??this._originalValue??"";this._inputElm&&(this._currentValue=s,this._defaultTextValue=typeof s=="string"?s:(s==null?void 0:s[this.labelName])??"",this._inputElm.value=this._defaultTextValue),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){var i;const e=this.validate(),t=(e==null?void 0:e.valid)??!1;if(this.hasAutoCommitEdit&&t)this.grid.getEditorLock().commitCurrentEdit();else{const s=((i=this._lastInputKeyEvent)==null?void 0:i.key)!=="Enter";this.args.commitChanges(s)}}serializeValue(){var e,t,i,s,n;if(this._inputElm&&this.editorOptions.forceUserInput){const o=((e=this.editorOptions)==null?void 0:e.minLength)??dp;this._currentValue=this._inputElm.value.length>o?this._inputElm.value:this._currentValue}return this.customStructure&&this._currentValue&&this._currentValue.hasOwnProperty(this.valueName)&&((t=this.columnDef)==null?void 0:t.type)!==w.object&&((i=this.columnEditor)==null?void 0:i.type)!==w.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((s=this.columnDef)==null?void 0:s.type)===w.object||((n=this.columnEditor)==null?void 0:n.type)===w.object?{[this.labelName]:this._currentValue.label,[this.valueName]:this._currentValue.value}:this._currentValue.value:this._currentValue}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._inputElm)==null?void 0:s.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleSelect(e){var t;if(e!==void 0){const i=e;this._currentValue=i,this._isValueTouched=!0;const s=this.args.compositeEditorOptions,n=((t=this.editorOptions)==null?void 0:t.renderItem)??!1,o=typeof i=="string"?i:n?i[this.labelName]:i.label;if(this.setValue(o),s?this.handleChangeOnCompositeEditor(null,s):this.save(),typeof this.editorOptions.onSelectItem=="function"){const{row:l,cell:a}=this.grid.getActiveCell()||{};this.editorOptions.onSelectItem(e,l,a,this.args.column,this.args.item)}window.setTimeout(()=>this._lastTriggeredByClearInput=!1)}return!1}renderRegularItem(e){const t=typeof e=="string"?e:(e==null?void 0:e.label)??"";return v("div",{textContent:t||""})}renderCustomItem(e){var s,n;const t=((n=(s=this._autocompleterOptions)==null?void 0:s.renderItem)==null?void 0:n.templateCallback(e))??"",i=document.createElement("div");return this.grid.applyHtmlCode(i,t),i}renderCollectionItem(e){var h;const t=((h=this.columnEditor)==null?void 0:h.enableRenderHtml)??!1,i=e.labelPrefix||"",s=e.label||"",n=e.labelSuffix||"",o=i+s+n,l=this.grid.sanitizeHtmlString(o)||"",a=document.createElement("div");return a[t?"innerHTML":"textContent"]=l,a}renderDomElement(e){var l,a,h,d,c,u,p,m,f,g,_,C;const t=((l=this.columnDef)==null?void 0:l.id)??"",i=((a=this.columnEditor)==null?void 0:a.placeholder)??"",s=((h=this.columnEditor)==null?void 0:h.title)??"";this._editorInputGroupElm=v("div",{className:"autocomplete-container input-group"});const n=v("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=v("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(v("i",{className:"icon-clear"})),this._inputElm=v("input",{type:"text",placeholder:i,title:s,autocomplete:"off",ariaAutoComplete:"none",className:`autocomplete form-control editor-text input-group-editor editor-${t}`,dataset:{input:""}},this._editorInputGroupElm),this._editorInputGroupElm.appendChild(document.createElement("span")),(d=this.editorOptions)!=null&&d.hideClearButton||(n.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(n),this._bindEventService.bind(this._clearButtonElm,"click",()=>this.clear())),this._bindEventService.bind(this._inputElm,"focus",()=>{var b;return(b=this._inputElm)==null?void 0:b.select()}),this._bindEventService.bind(this._inputElm,"keydown",b=>{this._lastInputKeyEvent=b,(b.key==="ArrowLeft"||b.key==="ArrowRight"||b.key==="Home"||b.key==="End")&&b.stopImmediatePropagation(),b.key==="Enter"&&b.target.value===""&&this.columnEditor.alwaysSaveOnEnterKey&&(this._currentValue=null)});let o=e;if(o&&((c=this.columnEditor)!=null&&c.collectionOverride)){const b={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:S,modalType:E}=this.args.compositeEditorOptions;b.compositeEditorOptions={formValues:S,modalType:E}}o=this.columnEditor.collectionOverride(o,b)}o&&(this.finalCollection=o),Array.isArray(o)&&(this.collection.every(b=>$i(b))?o=o.map(b=>({label:b,value:b})):o=o.map(b=>({label:b==null?void 0:b[this.labelName],value:b==null?void 0:b[this.valueName],labelPrefix:(b==null?void 0:b[this.labelPrefixName])??"",labelSuffix:(b==null?void 0:b[this.labelSuffixName])??""})),this._elementCollection=o),this._autocompleterOptions={input:this._inputElm,debounceWaitMs:200,className:`slick-autocomplete ${((u=this.editorOptions)==null?void 0:u.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((p=this._translater)!=null&&p.translate)?this._translater.translate("NO_ELEMENTS_FOUND"):((m=this._locales)==null?void 0:m.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(b,S,E)=>{E.style.width=""},onSelect:this.handleSelect.bind(this),...this.editorOptions},(f=this.gridOptions)!=null&&f.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=he(this.autocompleterOptions.className).join(" "),(g=this._autocompleterOptions.renderItem)!=null&&g.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${fi(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(e)?this._autocompleterOptions.render=((_=this._autocompleterOptions.render)==null?void 0:_.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(C=this._autocompleterOptions)!=null&&C.fetch?(jo(this._inputElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(b,S)=>{o&&S(o.filter(E=>((typeof E=="string"?E:E==null?void 0:E.label)||"").toLowerCase().includes(b.toLowerCase())))}}),this.args.container.appendChild(this._editorInputGroupElm),this.args.compositeEditorOptions||window.setTimeout(()=>this.focus(),50)}}class up{constructor(e){if(this.args=e,this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var s,n,o,l;const e=((s=this.columnDef)==null?void 0:s.id)??"",t=this.args.compositeEditorOptions;this._checkboxContainerElm=v("div",{className:`checkbox-editor-container editor-${e}`}),this._input=v("input",{type:"checkbox",value:"true",ariaLabel:((n=this.columnEditor)==null?void 0:n.ariaLabel)??`${Ct(e+"")} Checkbox Editor`,className:`editor-checkbox editor-${e}`,title:((o=this.columnEditor)==null?void 0:o.title)??""});const i=(l=this.args)==null?void 0:l.container;i&&typeof i.appendChild=="function"&&(t?(this._checkboxContainerElm.appendChild(this._input),i.appendChild(this._checkboxContainerElm)):i.appendChild(this._input)),this.hasAutoCommitEdit&&!t&&this._bindEventService.bind(this._input,"click",()=>{this._isValueTouched=!0,this.save()}),t?this._bindEventService.bind(this._input,"change",a=>{this._isValueTouched=!0,this.handleChangeOnCompositeEditor(a,t)}):this.focus()}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._input)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._input)if(e){this._input.setAttribute("disabled","disabled"),this._checkboxContainerElm.classList.add("disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==!1&&this.reset(!1,!0,!0)}else this._input.removeAttribute("disabled"),this._checkboxContainerElm.classList.remove("disabled")}focus(){var e;this.grid.focus(),(e=this._input)==null||e.focus()}preClick(){this._input&&(this._input.checked=!this._input.checked)}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var e;return((e=this._input)==null?void 0:e.checked)??!1}setValue(e,t=!1,i=!0){const s=!!e;if(this._input&&(this._input.checked=s),t){this.applyValue(this.args.item,this.serializeValue());const n=this.args.compositeEditorOptions;n&&i&&this.handleChangeOnCompositeEditor(null,n,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(null,t),a=l&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else e[i]=a}}isValueChanged(){return this.serializeValue()!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=n,this._input.checked=!!this._originalValue}}reset(e,t=!0,i=!1){const s=e??this._originalValue??!1;this._input&&(this._originalValue=s,this._input.checked=!!s),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=e&&e.valid||!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var e;return((e=this._input)==null?void 0:e.checked)??!1}validate(e,t){var o,l;const i=(o=this.args)!=null&&o.compositeEditorOptions?!1:this.columnEditor.required,s=t!==void 0?t:(l=this._input)==null?void 0:l.checked,n=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(s,this.args):i&&!s?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}}class pp{constructor(e){var t;if(this.args=e,this._isValueTouched=!1,this._lastClickIsDate=!1,this._lastTriggeredByClearDate=!1,this.hasTimePicker=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},(t=this.gridOptions)!=null&&t.translater&&(this._translaterService=this.gridOptions.translater),this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._inputElm}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.date,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get pickerOptions(){return this._pickerMergedOptions}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}async init(){var e,t,i,s,n,o,l,a;if(this.args&&this.columnDef){const h=this.args.compositeEditorOptions,d=((e=this.columnDef)==null?void 0:e.id)??"",c=this.args.grid.getOptions()||{};this.defaultDate=(t=this.args.item)==null?void 0:t[this.columnDef.field];const u=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,p=Ke(u),m=((s=(i=this._translaterService)==null?void 0:i.getCurrentLanguage)==null?void 0:s.call(i))||c.locale||"en";p&&(p==="ISO8601"||p.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const f=Ke(this.hasTimePicker?w.dateTimeIsoAM_PM:w.dateIso),g={input:!0,jumpToSelectedDate:!0,sanitizer:b=>this.grid.sanitizeHtmlString(b),toggleSelected:!1,actions:{clickDay:()=>{this._lastClickIsDate=!0},changeToInput:(b,S)=>{if(S.HTMLInputElement){let E="";if(S.selectedDates[0]?(E=S.selectedDates[0],S.HTMLInputElement.value=vt(S.selectedDates[0],void 0,u)):S.HTMLInputElement.value="",E&&this.hasTimePicker){const y=gs(E,f);y.setHours(+(S.selectedHours||0)),y.setMinutes(+(S.selectedMinutes||0)),S.HTMLInputElement.value=vt(y,void 0,u)}this._lastClickIsDate&&(this.handleOnDateChange(),S.hide())}}},settings:{lang:m,iso8601:!1,visibility:{theme:(n=this.gridOptions)!=null&&n.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.hasTimePicker&&(g.settings.selection={time:24}),this._pickerMergedOptions=de(!0,{},g,{settings:this.editorOptions,type:"default"});const _=`.editor-text.date-picker.editor-${d}.form-control.input-group-editor`;this._editorInputGroupElm=v("div",{className:"vanilla-picker input-group"});const C=v("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=v("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(v("i",{className:"icon-clear"})),this._inputElm=v("input",{placeholder:((o=this.columnEditor)==null?void 0:o.placeholder)??"",title:this.columnEditor&&this.columnEditor.title||"",className:_.replace(/\./g," "),dataset:{input:"",defaultdate:this.defaultDate},readOnly:((l=this.columnEditor.editorOptions)==null?void 0:l.allowInput)!==!0},this._editorInputGroupElm),this.args.container.appendChild(this._editorInputGroupElm),(a=this.columnEditor.editorOptions)!=null&&a.hideClearButton||(C.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(C),this._bindEventService.bind(this._clearButtonElm,"click",()=>{this.clear(),this.handleOnDateChange()})),this._bindEventService.bind(this._inputElm,"keydown",b=>{var S;((S=this.columnEditor.editorOptions)==null?void 0:S.allowInput)===!0&&(this._isValueTouched=!0,this._lastInputKeyEvent=b,(b.key==="ArrowLeft"||b.key==="ArrowRight"||b.key==="Home"||b.key==="End")&&b.stopImmediatePropagation())}),queueMicrotask(()=>{this.calendarInstance=new Yl(this._inputElm,this._pickerMergedOptions),this.calendarInstance.init(),h||(this.show(),this.focus()),this.calendarInstance&&Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:this.defaultDate,updatePickerUI:!0})})}}destroy(){queueMicrotask(()=>{var e,t,i;this.hide(),(e=this.calendarInstance)==null||e.destroy(),ee(this._editorInputGroupElm),ee(this._inputElm),(t=this._editorInputGroupElm)==null||t.remove(),(i=this._inputElm)==null||i.remove()}),this._bindEventService.unbindAll()}clear(){this._lastTriggeredByClearDate=!0,this.calendarInstance&&Mn(this.calendarInstance)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._inputElm)if(e){this._inputElm.setAttribute("disabled","disabled"),this._clearButtonElm.disabled=!0;const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._inputElm.removeAttribute("disabled"),this._clearButtonElm.disabled=!1}changeEditorOption(e,t){this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[e]=t,this._pickerMergedOptions=de(!0,{},this._pickerMergedOptions,{settings:{[e]:t}})}focus(){var e;this.grid.focus(),this.show(),(e=this._inputElm)==null||e.focus()}hide(){var e;(e=this.calendarInstance)==null||e.hide()}show(){var t;const e=!!((t=this.args)!=null&&t.compositeEditorOptions);!e&&this.calendarInstance?this.calendarInstance.show():e&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(e,t=!1,i=!0){if(this.calendarInstance&&Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:e,updatePickerUI:!0}),t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(this.columnDef&&i!==void 0){const o=this.columnDef.saveOutputType||this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,l=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,a=i.indexOf(".")>0,h=this.validate(null,t),d=t&&(h!=null&&h.valid)?vt(t,l,o):"";if(a){const c=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i;We(e,c,d)}else e[i]=d}}isValueChanged(){var s,n,o;let e=!1;const t=this.getValue(),i=(s=this._lastInputKeyEvent)==null?void 0:s.key;return((n=this.columnEditor.editorOptions)==null?void 0:n.allowInput)===!0&&((o=this.columnEditor)!=null&&o.alwaysSaveOnEnterKey)&&i==="Enter"?!0:(this.columnDef&&(e=this._lastTriggeredByClearDate||!(t===""&&this._originalDate==="")&&t!==this._originalDate),e)}isValueTouched(){return this._isValueTouched}loadValue(e){var i,s;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&this.columnDef&&t!==void 0){const o=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t],l=this.columnEditor.type||((s=this.columnDef)==null?void 0:s.type)||w.dateIso,a=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateIso,h=vt(o,l,a);this._originalDate=h!==""?o:"",this._inputElm.value=h}}reset(e,t=!0,i=!1){const s=e??this._originalDate??"";this.calendarInstance&&(this._originalDate=s,this.calendarInstance.settings.selected.dates=[s],s?Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:s}):Mn(this.calendarInstance)),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(n,"user",o)}}save(){const e=this.validate(),t=(e==null?void 0:e.valid)??!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){const e=this.getValue();return e||""}validate(e,t){var o,l;const i=(o=this.args)!=null&&o.compositeEditorOptions?!1:this.columnEditor.required,s=t??((l=this._inputElm)==null?void 0:l.value),n=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(s,this.args):i&&s===""?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleOnDateChange(){if(this._isValueTouched=!0,this.args){const e=this.args.compositeEditorOptions;e?this.handleChangeOnCompositeEditor(e):this.save()}window.setTimeout(()=>this._lastTriggeredByClearDate=!1)}handleChangeOnCompositeEditor(e,t="user",i=!1){var c,u,p;const s=this.grid.getActiveCell(),n=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",l=this.dataContext,a=this.grid,h=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,h),this.applyValue(e.formValues,h);const d=((p=(u=this.gridOptions)==null?void 0:u.compositeEditorOptions)==null?void 0:p.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],a.onCompositeEditorChange.notify({...s,item:l,grid:a,column:n,formValues:e.formValues,editors:e.editors,triggeredBy:t},new le)}}function Pa(r,e){const t=isNaN(r)?null:parseFloat(r),i=e.decimal||0,s=e.required,n=e.minValue,o=e.maxValue,l=e.operatorConditionalType||"inclusive",a=e.errorMessage,h={"{{minValue}}":n,"{{maxValue}}":o,"{{minDecimal}}":0,"{{maxDecimal}}":i};let d=!0,c="";if(typeof e.validator=="function")return e.validator(r,e.editorArgs);if(s&&r==="")d=!1,c=a||R.VALIDATION_REQUIRED_FIELD;else if(r!==""&&(isNaN(r)||i===0&&!/^[-+]?(\d*(\.)?(\d)*)$/.test(r)))d=!1,c=a||R.VALIDATION_EDITOR_VALID_NUMBER;else if(n!==void 0&&o!==void 0&&t!==null&&(l==="exclusive"&&(t<=+n||t>=+o)||l==="inclusive"&&(t<+n||t>+o)))d=!1,c=a||R.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,u=>h[u]);else if(n!==void 0&&t!==null&&(l==="exclusive"&&t<=+n||l==="inclusive"&&t<+n)){d=!1;const u=l==="inclusive"?R.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE:R.VALIDATION_EDITOR_NUMBER_MIN;c=a||u.replace(/{{minValue}}/gi,p=>h[p])}else if(o!==void 0&&t!==null&&(l==="exclusive"&&t>=+o||l==="inclusive"&&t>+o)){d=!1;const u=l==="inclusive"?R.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE:R.VALIDATION_EDITOR_NUMBER_MAX;c=a||u.replace(/{{maxValue}}/gi,p=>h[p])}else i>0&&!new RegExp(`^[-+]?(\\d*(\\.)?(\\d){0,${i}})$`).test(r)&&(d=!1,c=a||R.VALIDATION_EDITOR_DECIMAL_BETWEEN.replace(/{{minDecimal}}|{{maxDecimal}}/gi,u=>h[u]));return{valid:d,msg:c}}function ka(r,e){let t=isNaN(r)?null:parseInt(r,10);t!==null&&isNaN(t)&&(t=null);const i=e.errorMessage,s=e.required,n=e.minValue,o=e.maxValue,l=e.operatorConditionalType||"inclusive",a={"{{minValue}}":n,"{{maxValue}}":o};let h=!0,d="";if(e.validator)return e.validator(r,e.editorArgs);if(s&&r==="")h=!1,d=i||R.VALIDATION_REQUIRED_FIELD;else if(r!==""&&(isNaN(r)||!/^[+-]?\d+$/.test(r)))h=!1,d=i||R.VALIDATION_EDITOR_VALID_INTEGER;else if(n!==void 0&&o!==void 0&&t!==null&&(l==="exclusive"&&(t<=+n||t>=+o)||l==="inclusive"&&(t<+n||t>+o)))h=!1,d=i||R.VALIDATION_EDITOR_INTEGER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,c=>a[c]);else if(n!==void 0&&t!==null&&(l==="exclusive"&&t<=+n||l==="inclusive"&&t!==null&&t<+n)){h=!1;const c=l==="inclusive"?R.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE:R.VALIDATION_EDITOR_INTEGER_MIN;d=i||c.replace(/{{minValue}}/gi,u=>a[u])}else if(o!==void 0&&t!==null&&(l==="exclusive"&&t>=+o||l==="inclusive"&&t!==null&&t>+o)){h=!1;const c=l==="inclusive"?R.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE:R.VALIDATION_EDITOR_INTEGER_MAX;d=i||c.replace(/{{maxValue}}/gi,u=>a[u])}return{valid:h,msg:d}}function mp(r,e){const t=e.required,i=e.minValue,s=e.maxValue,n=e.errorMessage,o={"{{minValue}}":i,"{{maxValue}}":s};return e.validator?e.validator(r,e.editorArgs):t&&r===""?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:i!==void 0&&s!==void 0&&r!==null&&(r<i||r>s)?{valid:!1,msg:n||R.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,l=>o[l])}:{valid:!0,msg:null}}class fp{constructor(e){if(this.args=e,this._isValueSaveCalled=!1,this._isLeftValueTouched=!1,this._isRightValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},this._eventHandler=new pe,this._bindEventService=new Pe,this.init(),this._eventHandler.subscribe(this.grid.onValidationError,()=>this._isValueSaveCalled=!0)}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return{leftInput:this._leftInput,rightInput:this._rightInput}}get editorParams(){return this.columnEditor.params||{}}get eventHandler(){return this._eventHandler}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get isValueSaveCalled(){return this._isValueSaveCalled}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var i,s,n,o;if(!this.editorParams||!this.editorParams.leftInput||!this.editorParams.leftInput.field||!this.editorParams.rightInput||!this.editorParams.rightInput.field)throw new Error(`[Slickgrid-Universal] Please make sure that your Combo Input Editor has params defined with "leftInput" and "rightInput" (example: { editor: { model: Editors.comboInput, params: { leftInput: { field: 'firstName' }, { rightSide: { field: 'lastName' } }}}`);this._leftFieldName=(i=this.editorParams.leftInput)==null?void 0:i.field,this._rightFieldName=(s=this.editorParams.rightInput)==null?void 0:s.field,this._leftInput=this.createInput("leftInput"),this._rightInput=this.createInput("rightInput");const e=(n=this.args)==null?void 0:n.container;e&&typeof e.appendChild=="function"&&(e.appendChild(this._leftInput),e.appendChild(this._rightInput)),this._bindEventService.bind(this._leftInput,"keydown",l=>this.handleKeyDown(l,"leftInput")),this._bindEventService.bind(this._rightInput,"keydown",l=>this.handleKeyDown(l,"rightInput")),this.hasAutoCommitEdit&&(this._bindEventService.bind(this._leftInput,"focusout",l=>this.handleFocusOut(l,"leftInput")),this._bindEventService.bind(this._rightInput,"focusout",l=>this.handleFocusOut(l,"rightInput"))),((o=this.args)==null?void 0:o.compositeEditorOptions)?(this._bindEventService.bind(this._leftInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this)),this._bindEventService.bind(this._rightInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this))):window.setTimeout(()=>this._leftInput.select(),50)}handleFocusOut(e,t){var o;const i=((o=e.relatedTarget)==null?void 0:o.className)||"";!this.args.compositeEditorOptions&&i.indexOf("dual-editor")===-1&&this._lastEventType!=="focusout-right"&&(t==="rightInput"||t==="leftInput"&&this._lastEventType!=="focusout-left")&&(t==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this.save());const n=t==="leftInput"?"left":"right";this._lastEventType=`${e==null?void 0:e.type}-${n}`}handleKeyDown(e,t){t==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this._lastInputKeyEvent=e,(e.key==="ArrowLeft"||e.key==="ArrowRight"||e.key==="Home"||e.key==="End"||e.key==="Tab")&&e.stopImmediatePropagation()}destroy(){var e,t,i,s;this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),(t=(e=this._leftInput)==null?void 0:e.remove)==null||t.call(e),(s=(i=this._rightInput)==null?void 0:i.remove)==null||s.call(i)}createInput(e){var a,h,d,c;const t=this.editorParams[e],i=((a=this.columnDef)==null?void 0:a.id)??"",s=this.gridOptions.datasetIdPropertyName||"id",n=((d=(h=this.args)==null?void 0:h.item)==null?void 0:d[s])??"";let o=t.type||"text";(o==="float"||o==="integer")&&(o="number");const l=v("input",{type:o||"text",id:`item-${n}-${e}`,ariaLabel:((c=this.columnEditor)==null?void 0:c.ariaLabel)??`${Ct(i+"")} Input Editor`,className:`dual-editor-text editor-${i} ${e.replace(/input/gi,"")}`,autocomplete:"off",ariaAutoComplete:"none",placeholder:t.placeholder||"",title:t.title||""});return o==="readonly"&&(l.readOnly=!0,o="text"),o==="number"&&(l.step=this.getInputDecimalSteps(e)),l}disable(e=!0){var i;const t=this.disabled;this.disabled=e,this._leftInput&&this._rightInput&&(e?(this._leftInput.setAttribute("disabled","disabled"),this._rightInput.setAttribute("disabled","disabled"),t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&this.reset("",!0,!0)):(this._leftInput.removeAttribute("disabled"),this._rightInput.removeAttribute("disabled")))}focus(){this.grid.focus()}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValues(){const e={},t=this._leftInput.value,i=this._rightInput.value,s=this.editorParams.leftInput&&(this.editorParams.leftInput.type==="float"||this.editorParams.leftInput.type==="integer"),n=this.editorParams.rightInput&&(this.editorParams.rightInput.type==="float"||this.editorParams.rightInput.type==="integer"),o=t!==""&&s?+this._leftInput.value:t||"",l=i!==""&&n?+this._rightInput.value:i||"";return We(e,this._leftFieldName,o),We(e,this._rightFieldName,l),e}setValues(e){Array.isArray(e)&&e.length===2&&(this._leftInput.value=`${e[0]}`,this._rightInput.value=`${e[1]}`)}applyValue(e,t){this.applyValueByPosition(e,t,"leftInput"),this.applyValueByPosition(e,t,"rightInput")}applyValueByPosition(e,t,i){var n;const s=i==="leftInput"?this._leftFieldName:this._rightFieldName;if(s!==void 0){const o=(s==null?void 0:s.indexOf("."))>0;let l=s;if(o){const d=s.split(/\.(.*)/);l=d.length>1?d[1]:d}const a=o?Ee(t,l):t[s],h=this.validate(null,{position:i,inputValue:a});if(o){const d=Ee(t,l),c=h&&h.valid?d:"",u=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??s??"";We(e,u,c)}else s&&(e[s]=h&&h.valid?t[s]:"")}}isValueChanged(){var a,h,d;const e=this._leftInput.value,t=this._rightInput.value,i=(a=this.editorParams)==null?void 0:a.leftInput,s=(h=this.editorParams)==null?void 0:h.rightInput,n=(d=this._lastInputKeyEvent)==null?void 0:d.key;if((i&&i.alwaysSaveOnEnterKey||s&&s.alwaysSaveOnEnterKey)&&n==="Enter")return!0;const o=!(e===""&&(this._originalLeftValue===null||this._originalLeftValue===void 0))&&e!==this._originalLeftValue,l=!(t===""&&(this._originalRightValue===null||this._originalRightValue===void 0))&&t!==this._originalRightValue;return o||l}isValueTouched(){return this._isLeftValueTouched||this._isRightValueTouched}loadValue(e){this.loadValueByPosition(e,"leftInput"),this.loadValueByPosition(e,"rightInput"),this._leftInput.select()}loadValueByPosition(e,t){const i=t==="leftInput"?this._leftFieldName:this._rightFieldName,s=t==="leftInput"?"_originalLeftValue":"_originalRightValue",n=t==="leftInput"?"_leftInput":"_rightInput";if(e&&i!==void 0){const l=(i==null?void 0:i.indexOf("."))>0?Ee(e,i):e.hasOwnProperty(i)?e[i]:"";if(this[s]=l,this.editorParams[t].type==="float"){const a=this.getDecimalPlaces(t);a!==null&&(this[s]||this[s]===0)&&this[s]!==void 0&&(this[s]=(+this[s]).toFixed(a))}this[n]&&(this[n].value=`${this[s]}`)}}reset(e,t=!0,i=!1){const s=e??this._originalLeftValue??"",n=e??this._originalRightValue??"";this._leftInput&&this._rightInput&&(this._originalLeftValue=s,this._originalRightValue=n,this._leftInput.value=`${s}`,this._rightInput.value=`${n}`),this._isLeftValueTouched=!1,this._isRightValueTouched=!1;const o=this.args.compositeEditorOptions;if(o&&t){const l=!i;this.handleChangeOnCompositeEditor(null,o,"user",l)}}save(){const e=this.validate(),t=e&&e.valid||!1;this._isValueSaveCalled||(this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges(),this._isValueSaveCalled=!0)}serializeValue(){const e={},t=this.serializeValueByPosition("leftInput"),i=this.serializeValueByPosition("rightInput");return We(e,this._leftFieldName,t),We(e,this._rightFieldName,i),e}serializeValueByPosition(e){const t=e==="leftInput"?this._leftInput.value:this._rightInput.value;if(t===""||isNaN(+t))return t;let i=parseFloat(t);const s=this.getDecimalPlaces(e);return s!==null&&(i||i===0)&&i.toFixed&&(i=parseFloat(i.toFixed(s))),i}getDecimalPlaces(e){const i=e==="leftInput"?"leftInput":"rightInput",s=this.editorParams[i],n=s==null?void 0:s.decimal;return n===void 0?0:n}getInputDecimalSteps(e){const t=this.getDecimalPlaces(e);let i="";for(let s=1;s<t;s++)i+="0";return t>0?`0.${i}1`:"1"}validate(e,t){if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(t){const i=this.validateByPosition(t.position,t.inputValue);if(!i.valid)return t.position==="leftInput"?this._leftInput.select():this._rightInput.select(),i}else{const i=this.validateByPosition("leftInput"),s=this.validateByPosition("rightInput");if(!i.valid)return this._leftInput.select(),i;if(!s.valid)return this._rightInput.select(),s}return{valid:!0,msg:""}}validateByPosition(e,t){var l;const i=this.editorParams[e];let s="";if(t)s=t;else{const a=e==="leftInput"?this._leftInput:this._rightInput;s=a&&a.value}const n=this.validator;s=typeof n=="function"?this.getValues():s;const o={editorArgs:this.args,errorMessage:i.errorMessage,required:(l=this.args)!=null&&l.compositeEditorOptions?!1:i.required,validator:typeof n=="function"?n:i.validator};switch(i.type){case"float":return Pa(s,{...o,decimal:this.getDecimalPlaces(e),minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"integer":return ka(s,{...o,minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"text":case"password":default:return Js(s,o)}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var p,m,f,g,_,C;const n=this.grid.getActiveCell(),o=this.args.column,l=((m=(p=this.columnEditor.params)==null?void 0:p.leftInput)==null?void 0:m.field)??"",a=((g=(f=this.columnEditor.params)==null?void 0:f.rightInput)==null?void 0:g.field)??"",h=this.dataContext,d=this.grid,c=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,c),this.applyValue(t.formValues,c);const u=((C=(_=this.gridOptions)==null?void 0:_.compositeEditorOptions)==null?void 0:C.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&u&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],(s||this.disabled&&u&&t.formValues.hasOwnProperty(a))&&delete t.formValues[a],d.onCompositeEditorChange.notify({...n,item:h,grid:d,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleChangeOnCompositeEditorDebounce(e){var i,s;const t=(i=this.args)==null?void 0:i.compositeEditorOptions;if(t){const n=((s=this.gridOptions)==null?void 0:s.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),n)}}}const gp=0;class en{constructor(e,t="text"){var i;if(this.args=e,this._inputType="text",this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=(i=e.grid)==null?void 0:i.getOptions(),this._bindEventService=new Pe,this.inputType=t,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get inputType(){return this._inputType}set inputType(e){this._inputType=e}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var s,n,o,l;const e=((s=this.columnDef)==null?void 0:s.id)??"",t=this.args.compositeEditorOptions;this._input=v("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",ariaLabel:((n=this.columnEditor)==null?void 0:n.ariaLabel)??`${Ct(e+"")} Input Editor`,className:`editor-text editor-${e}`,placeholder:((o=this.columnEditor)==null?void 0:o.placeholder)??"",title:((l=this.columnEditor)==null?void 0:l.title)??""}),this.inputType==="number"&&(this._input.step=`${this.columnEditor.valueStep!==void 0?this.columnEditor.valueStep:this.getInputDecimalSteps()}`);const i=this.args.container;i&&typeof i.appendChild=="function"&&i.appendChild(this._input),this._bindEventService.bind(this._input,"focus",()=>{var a;return(a=this._input)==null?void 0:a.select()}),this._bindEventService.bind(this._input,"keydown",a=>{this._isValueTouched=!0,this._lastInputKeyEvent=a,(a.key==="ArrowLeft"||a.key==="ArrowRight"||a.key==="Home"||a.key==="End")&&a.stopImmediatePropagation()}),this.hasAutoCommitEdit&&!t&&this._bindEventService.bind(this._input,["focusout","blur"],()=>{this._isValueTouched=!0,this.save()}),t&&(this._bindEventService.bind(this._input,["input","paste"],this.handleOnInputChange.bind(this)),this.inputType==="number"&&this._bindEventService.bind(this._input,"wheel",this.handleOnMouseWheel.bind(this),{passive:!0}))}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._input)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._input)if(e){this._input.setAttribute("disabled","disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._input.removeAttribute("disabled")}focus(){var e;this.grid.focus(),(e=this._input)==null||e.focus()}getDecimalPlaces(){var t,i,s;let e=((t=this.columnEditor)==null?void 0:t.decimal)??((s=(i=this.columnEditor)==null?void 0:i.params)==null?void 0:s.decimalPlaces)??void 0;return e===void 0&&(e=gp),!e&&e!==0?null:e}getInputDecimalSteps(){const e=this.getDecimalPlaces();let t="";for(let i=1;i<e;i++)t+="0";return e>0?`0.${t}1`:"1"}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var e;return((e=this._input)==null?void 0:e.value)||""}setValue(e,t=!1,i=!0){if(this._input&&(this._input.value=`${e}`,t)){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(null,t),a=l!=null&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else i&&(e[i]=a)}}isValueChanged(){var i,s,n;const e=(i=this._input)==null?void 0:i.value,t=(s=this._lastInputKeyEvent)==null?void 0:s.key;return(n=this.columnEditor)!=null&&n.alwaysSaveOnEnterKey&&t==="Enter"?!0:!(e===""&&(this._originalValue===null||this._originalValue===void 0))&&e!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e.hasOwnProperty(t)&&e[t]||"";this._originalValue=n,this._input.value=this._originalValue,this._input.select()}}reset(e,t=!0,i=!1){const s=e??this._originalValue??"";this._input&&(this._originalValue=s,this._input.value=`${s}`),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=e&&e.valid||!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var e;return((e=this._input)==null?void 0:e.value)??""}validate(e,t){var s;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:this._input&&this._input.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(s=this.args)!=null&&s.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleOnInputChange(e){var i;this._isValueTouched=!0;const t=this.args.compositeEditorOptions;if(t){const s=((i=this.gridOptions)==null?void 0:i.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),s)}}handleOnMouseWheel(e){this._isValueTouched=!0;const t=this.args.compositeEditorOptions;t&&this.handleChangeOnCompositeEditor(e,t)}}class _p extends en{constructor(e){super(e,"number"),this.args=e}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(t!==void 0&&e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=n;const o=this.getDecimalPlaces();o!==null&&(this._originalValue||this._originalValue===0)&&this._originalValue!==void 0&&(this._originalValue=(+this._originalValue).toFixed(o)),this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var s;const e=(s=this._input)==null?void 0:s.value;if(e===void 0||e===""||isNaN(+e))return e;let t=parseFloat(e);const i=this.getDecimalPlaces();return i!==null&&(t||t===0)&&t.toFixed&&(t=parseFloat(t.toFixed(i))),t}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._input)==null?void 0:s.value;return Pa(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,decimal:this.getDecimalPlaces(),minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}}class Cp extends en{constructor(e){super(e,"password"),this.args=e}}class vp extends en{constructor(e){super(e,"number"),this.args=e}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(t!==void 0&&e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=isNaN(n)||n===null||n===void 0?n:`${n}`,this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var i;const e=(i=this._input)==null?void 0:i.value;if(e===void 0||e===""||isNaN(+e))return e;const t=isNaN(+e)?e:parseInt(e,10);return isNaN(+t)?e:t}validate(e,t){var s;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:this.getValue();return ka(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(s=this.args)!=null&&s.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}handleOnMouseWheel(e){this._isValueTouched=!0;const t=this.args.compositeEditorOptions;t&&this.handleChangeOnCompositeEditor(e,t)}}class bp{constructor(e){var i,s;if(this.args=e,this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=(i=e.grid)==null?void 0:i.getOptions();const t=this.gridOptions||this.args.column.params||{};t!=null&&t.translater&&(this._translater=t.translater),this._locales=((s=this.gridOptions)==null?void 0:s.locales)||R.locales,this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._textareaElm}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.longText,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get hasAutoCommitEdit(){var e;return((e=this.gridOptions)==null?void 0:e.autoCommitEdit)??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var d,c,u,p,m,f,g,_,C,b,S,E,y,x,O;let e="",t="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const I=lt(this.gridOptions),A=((d=this.editorOptions.buttonTexts)==null?void 0:d.cancelKey)??`${I}CANCEL`,D=((c=this.editorOptions.buttonTexts)==null?void 0:c.saveKey)??`${I}SAVE`;e=this._translater.translate(`${I}${A}`),t=this._translater.translate(`${I}${D}`)}else e=((u=this.editorOptions.buttonTexts)==null?void 0:u.cancel)??((p=this._locales)==null?void 0:p.TEXT_CANCEL)??"Cancel",t=((m=this.editorOptions.buttonTexts)==null?void 0:m.save)??((f=this._locales)==null?void 0:f.TEXT_SAVE)??"Save";const i=this.args.compositeEditorOptions,s=((g=this.columnDef)==null?void 0:g.id)??"",n=(_=this.columnEditor)==null?void 0:_.maxLength,o=((C=this.editorOptions)==null?void 0:C.rows)??4,l=i?this.args.container:document.body;this._wrapperElm=v("div",{className:`slick-large-editor-text editor-${s}`,style:{position:i?"relative":"absolute"}}),(b=this.gridOptions)!=null&&b.darkMode&&this._wrapperElm.classList.add("slick-dark-mode"),l.appendChild(this._wrapperElm),this._textareaElm=v("textarea",{ariaLabel:((S=this.columnEditor)==null?void 0:S.ariaLabel)??`${Ct(s+"")} Text Editor`,cols:((E=this.editorOptions)==null?void 0:E.cols)??40,rows:i&&o>3?3:o,placeholder:((y=this.columnEditor)==null?void 0:y.placeholder)??"",title:((x=this.columnEditor)==null?void 0:x.title)??""},this._wrapperElm);const a=v("div",{className:"editor-footer"}),h=v("span",{className:"counter"});if(this._currentLengthElm=v("span",{className:"text-length",textContent:"0"}),h.appendChild(this._currentLengthElm),n!==void 0&&(h.appendChild(v("span",{className:"separator",textContent:"/"})),h.appendChild(v("span",{className:"max-length",textContent:`${n}`}))),a.appendChild(h),!i){const I=v("button",{className:"btn btn-cancel btn-default btn-xs",textContent:e},a),A=v("button",{className:"btn btn-save btn-primary btn-xs",textContent:t},a);this._bindEventService.bind(I,"click",this.cancel.bind(this)),this._bindEventService.bind(A,"click",this.save.bind(this)),this.position((O=this.args)==null?void 0:O.position),this._textareaElm.focus(),this._textareaElm.select()}this._wrapperElm.appendChild(a),this._bindEventService.bind(this._textareaElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._textareaElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._textareaElm,"paste",this.handleOnInputChange.bind(this))}cancel(){var t;const e=this._defaultTextValue||"";this._textareaElm.value=e,this._currentLengthElm.textContent=`${e.length}`,(t=this.args)!=null&&t.cancelChanges&&this.args.cancelChanges()}hide(){this._wrapperElm.style.display="none"}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)?this.applyInputUsabilityState():this._wrapperElm.style.display="block"}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._wrapperElm)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._textareaElm&&this._wrapperElm)if(e){this._textareaElm.disabled=!0,this._wrapperElm.classList.add("disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._textareaElm.disabled=!1,this._wrapperElm.classList.remove("disabled")}focus(){this.grid.focus(),this._textareaElm&&(this._textareaElm.focus(),this._textareaElm.select())}getValue(){return this._textareaElm.value}setValue(e,t=!1,i=!0){if(this._textareaElm.value=e,this._currentLengthElm.textContent=`${e.length}`,t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(void 0,t),a=l!=null&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else e[i]=a}}isValueChanged(){const e=this._textareaElm.value;return!(e===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&e!==this._defaultTextValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._defaultTextValue=n||"",this._textareaElm.value=this._defaultTextValue,this._currentLengthElm.textContent=this._defaultTextValue.length,this._textareaElm.defaultValue=this._defaultTextValue,this._textareaElm.select()}}position(e){var u,p;const t=ge(this.args.container),i=this.args.container.offsetHeight,s=this.args.container.offsetWidth,n=this._wrapperElm.getBoundingClientRect().height||this.args.position.height,o=this._wrapperElm.getBoundingClientRect().width||this.args.position.width,l=document.body.offsetHeight||window.innerHeight,a=document.body.offsetWidth||window.innerWidth;let h=this.args.container?t.top:e.top??0,d=this.args.container?t.left:e.left??0;const c=((u=this.editorOptions)==null?void 0:u.position)??"auto";if(c==="left"||c==="auto"&&d+o>a){const m=((p=this.editorOptions)==null?void 0:p.marginRight)??0;d-=o-s+m}(c==="top"||c==="auto"&&h+n>l)&&(h-=n-i),this._wrapperElm.style.top=`${h}px`,this._wrapperElm.style.left=`${d}px`}reset(e,t=!0,i=!1){const s=e??this._defaultTextValue??"";this._textareaElm&&(this._defaultTextValue=s,this._textareaElm.value=s,this._currentLengthElm.textContent=s.length),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=(e==null?void 0:e.valid)??!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){return this._textareaElm.value}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._textareaElm)==null?void 0:s.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleKeyDown(e){const t=e.key;this._isValueTouched=!0,this.args.compositeEditorOptions||(t==="Enter"&&e.ctrlKey||e.ctrlKey&&e.key.toUpperCase()==="S"?(e.preventDefault(),this.save()):t==="Escape"?(e.preventDefault(),this.cancel()):t==="Tab"&&e.shiftKey?(e.preventDefault(),this.args&&this.grid&&this.grid.navigatePrev()):t==="Tab"&&(e.preventDefault(),this.args&&this.grid&&this.grid.navigateNext()))}handleOnInputChange(e){var n,o;const t=this.args.compositeEditorOptions,i=(n=this.columnEditor)==null?void 0:n.maxLength;let s=!1;if(i&&(s=this.truncateText(this._textareaElm,i)),s)this._currentLengthElm.textContent=`${i}`;else{const l=e.type==="paste"?e.clipboardData.getData("text"):e.target.value;this._currentLengthElm.textContent=`${l.length}`}if(t){const l=((o=this.gridOptions)==null?void 0:o.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),l)}}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}truncateText(e,t){const i=e.value+"";return i.length>t?(e.value=i.substring(0,t),!0):!1}}class Fa{constructor(e,t,i=-1){var l,a,h,d,c,u,p,m,f;if(this.args=e,this.isMultipleSelect=t,this.delayOpening=i,this._isValueTouched=!1,this._isDisposingOrCallingSave=!1,this.disabled=!1,this.enableTranslateLabel=!1,this.finalCollection=[],!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},(l=this.gridOptions)!=null&&l.translater&&(this._translaterService=this.gridOptions.translater),this._locales=this.gridOptions.locales||R.locales;const s=((a=this.columnDef)==null?void 0:a.id)??"";this.elementName=`editor-${s}`;const n=this.args.compositeEditorOptions,o={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,minHeight:25,name:this.elementName,single:!0,singleRadio:!0,renderOptionLabelAsHtml:((h=this.columnEditor)==null?void 0:h.enableRenderHtml)??!1,sanitizer:g=>this.grid.sanitizeHtmlString(g),onClick:()=>this._isValueTouched=!0,onCheckAll:()=>this._isValueTouched=!0,onUncheckAll:()=>this._isValueTouched=!0,onClose:g=>{if(g==="key.escape"||g==="body.click"||!this.hasAutoCommitEdit&&!this.isValueChanged()){g==="key.escape"&&this.cancel();return}n?this.handleChangeOnCompositeEditor(n):(this._isDisposingOrCallingSave=!0,this.save(this.hasAutoCommitEdit))}};if(t)if(o.single=!1,o.singleRadio=!1,o.displayTitle=!0,o.showOkButton=!0,(d=this._translaterService)!=null&&d.getCurrentLanguage()){const g=lt(this.gridOptions);o.countSelectedText=this._translaterService.translate(`${g}X_OF_Y_SELECTED`),o.allSelectedText=this._translaterService.translate(`${g}ALL_SELECTED`),o.selectAllText=this._translaterService.translate(`${g}SELECT_ALL`),o.okButtonText=this._translaterService.translate(`${g}OK`),o.noMatchesFoundText=this._translaterService.translate(`${g}NO_MATCHES_FOUND`)}else o.countSelectedText=(c=this._locales)==null?void 0:c.TEXT_X_OF_Y_SELECTED,o.allSelectedText=(u=this._locales)==null?void 0:u.TEXT_ALL_SELECTED,o.selectAllText=(p=this._locales)==null?void 0:p.TEXT_SELECT_ALL,o.okButtonText=(m=this._locales)==null?void 0:m.TEXT_OK,o.noMatchesFoundText=(f=this._locales)==null?void 0:f.TEXT_NO_MATCHES_FOUND;this.defaultOptions=o,this.init()}get collection(){var e;return((e=this.columnEditor)==null?void 0:e.collection)??[]}get collectionOptions(){var e;return(e=this.columnEditor)==null?void 0:e.collectionOptions}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)??{}}get dataContext(){return this.args.item}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.select,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get isCompositeEditor(){var e;return!!((e=this.args)!=null&&e.compositeEditorOptions)}get customStructure(){var e,t;return(t=(e=this.columnDef)==null?void 0:e.editor)==null?void 0:t.customStructure}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get currentValues(){var s,n,o;const e=new Set;if((((s=this._msInstance)==null?void 0:s.getSelects("value"))??[]).forEach(l=>e.add(l.toString())),this.collection.every(l=>typeof l=="number"||typeof l=="string"))return this.collection.filter(l=>e.has(l==null?void 0:l.toString()));const t=((n=this.collectionOptions)==null?void 0:n.separatorBetweenTextLabels)??"",i=((o=this.collectionOptions)==null?void 0:o.includePrefixSuffixToSelectedValues)??!1;return this.collection.filter(l=>{var a;return e.has((a=l==null?void 0:l[this.valueName])==null?void 0:a.toString())}).map(l=>{var m,f;const a=l[this.valueName];let h=l[this.labelPrefixName]||"",d=l[this.labelSuffixName]||"";const c=((m=this.columnDef)==null?void 0:m.field)??"",u=(c==null?void 0:c.indexOf("."))>0,p=((f=this.columnEditor)==null?void 0:f.serializeComplexValueFormat)??"object";return u&&typeof l=="object"&&p==="object"?l:(h=this.enableTranslateLabel&&this._translaterService&&h&&typeof h=="string"?this._translaterService.translate(h||" "):h,d=this.enableTranslateLabel&&this._translaterService&&d&&typeof d=="string"?this._translaterService.translate(d||" "):d,i?[h,a,d].filter(_=>_).join(t):a)})}get currentValue(){var s,n,o,l,a;const e=((s=this._msInstance)==null?void 0:s.getSelects())??[],t=e.length?e[0]:"",i=(n=this.columnDef)==null?void 0:n.field;if(i!==void 0){if(this.collection.every(m=>typeof m=="number"||typeof m=="string"))return At(this.collection,m=>{var f;return((f=m==null?void 0:m.toString)==null?void 0:f.call(m))===`${t}`});const h=((o=this.collectionOptions)==null?void 0:o.separatorBetweenTextLabels)??"",d=((l=this.collectionOptions)==null?void 0:l.includePrefixSuffixToSelectedValues)??!1,c=At(this.collection,m=>{var f;return m.hasOwnProperty(this.valueName)&&((f=m[this.valueName])==null?void 0:f.toString())===`${t}`}),u=(i==null?void 0:i.indexOf("."))>0,p=((a=this.columnEditor)==null?void 0:a.serializeComplexValueFormat)??"object";if(u&&typeof c=="object"&&p==="object")return c;if(c&&c.hasOwnProperty(this.valueName)){const m=c[this.valueName];if(d){let f=c[this.labelPrefixName]||"",g=c[this.labelSuffixName]||"";return f=this.enableTranslateLabel&&this._translaterService&&f&&typeof f=="string"?this._translaterService.translate(f||" "):f,g=this.enableTranslateLabel&&this._translaterService&&g&&typeof g=="string"?this._translaterService.translate(g||" "):g,[f,m,g].filter(C=>C).join(h)}return m}}return""}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var e,t,i,s,n,o,l;if(!this.columnDef||!this.columnDef.editor||!this.columnDef.editor.collection&&!this.columnDef.editor.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") inside Column Definition Editor for the MultipleSelect/SingleSelect Editor to work correctly.
16
+ You can fix this by setting your gridOption.autoResize.container`);this._resizeObserver||(this._resizeObserver=new ResizeObserver(()=>this.resizeObserverCallback())),this._resizeObserver.observe(this._pageContainerElm)}else{if(this._gridDomElm===void 0)return null;this.resizeGrid().then(()=>this.resizeGridWhenStylingIsBrokenUntilCorrected()).catch(i=>console.log("Error:",i)),this.resizeGrid(10,e),this._bindingEventService.bind(window,"resize",()=>{this.handleResizeGrid(e)})}}handleResizeGrid(e){this.pubSubService.publish("onGridBeforeResize"),this._resizePaused||(this.resizeGrid(0,e),this.resizeGrid(0,e))}resizeObserverCallback(){this._resizePaused||this.resizeGrid()}cacheHeaderHeightTotal(){const e=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-topheader-panel`),t=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-pane-header`),i=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-headerrow`);this._allHeaderHeight=((e==null?void 0:e.offsetHeight)||0)+((t==null?void 0:t.offsetHeight)||0)+((i==null?void 0:i.offsetHeight)||0)}calculateGridNewDimensions(e){var f,g;const t=(e==null?void 0:e.autoResize)??{},i=ge(this._gridDomElm);if(!window||!this._gridDomElm)return null;let s=(t==null?void 0:t.bottomPadding)!==void 0?t.bottomPadding:_u;if(s&&e.enablePagination&&(s+=vu),s&&e.showCustomFooter){const _=((g=(f=this.gridOptions)==null?void 0:f.customFooterOptions)==null?void 0:g.footerHeight)??Cu;s+=parseInt(`${_}`,10)}let n=0,o=0;t.calculateAvailableSizeBy==="container"?n=us(this._pageContainerElm,"height")||0:(n=window.innerHeight||0,o=i.top);const l=n-o-s,a=us(this._pageContainerElm,"width")||window.innerWidth||0,h=t==null?void 0:t.maxHeight,d=(t==null?void 0:t.minHeight)??bu,c=t==null?void 0:t.maxWidth,u=(t==null?void 0:t.minWidth)??Su;let p=l,m=t!=null&&t.rightPadding?a-t.rightPadding:a;if(e.enableAutoResize&&this.isAutoHeightEnabled){const _=this.dataView.getLength();if(_<this.autoHeightRecalcRow){this._allHeaderHeight||this.cacheHeaderHeightTotal();const C=_*e.rowHeight,b=this._allHeaderHeight+C;b<p&&(p=b)}}return p<d&&(p=d),h&&p>h&&(p=h),m<u&&(m=u),c&&m>c&&(m=c),{height:this._fixedHeight||p,width:this._fixedWidth||m}}getLastResizeDimensions(){return this._lastDimensions}pauseResizer(e){this._resizePaused=e}resizeGrid(e,t){return new Promise(i=>{e=e||0,e>0?(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>i(this.resizeGridCallback(t)),e)):i(this.resizeGridCallback(t))})}resizeGridCallback(e){var i,s;const t=this.resizeGridWithDimensions(e);return this.pubSubService.publish("onGridAfterResize",t),this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((i=this._lastDimensions)!=null&&i.width)||(t==null?void 0:t.width)!==((s=this._lastDimensions)==null?void 0:s.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions=t,t}resizeGridWithDimensions(e){var i,s,n,o;const t=this.calculateGridNewDimensions(this.gridOptions);if((e||t)&&this._gridDomElm){const l=e!=null&&e.height?e.height:t==null?void 0:t.height,a=e!=null&&e.width?e.width:t==null?void 0:t.width;this.gridOptions.autoHeight||(this._gridDomElm.style.height=`${l}px`),this._gridDomElm.style.width=`${a}px`,this._gridContainerElm&&(this._gridContainerElm.style.width=`${a}px`),(i=this._grid)!=null&&i.resizeCanvas&&this._gridContainerElm&&this._grid.resizeCanvas(),this._grid&&((s=this.gridOptions)!=null&&s.enableAutoSizeColumns)?this.gridUid&&document.querySelector(this.gridUidSelector)&&(!this._lastDimensions||this._lastDimensions.height!==l||this._lastDimensions.width!==a)&&this._grid.autosizeColumns():this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((n=this._lastDimensions)!=null&&n.width)||a!==((o=this._lastDimensions)==null?void 0:o.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions={height:l||0,width:a||0}}return this._lastDimensions}requestStopOfAutoFixResizeGrid(e=!0){this._isStopResizeIntervalRequested=e}resizeColumnsByCellContent(e=!1){var h,d;const t=this._grid.getColumns(),i=this.dataView.getItems(),s={};let n=!1,o=0;const l=((h=this._gridContainerElm)==null?void 0:h.offsetWidth)??0;if(!Array.isArray(i)||i.length===0||!e&&this._totalColumnsWidthByContent>0&&this._totalColumnsWidthByContent<l){this._grid.autosizeColumns();return}if(this._hasResizedByContentAtLeastOnce&&((d=this.gridOptions)!=null&&d.resizeByContentOnlyOnFirstLoad)&&!e)return;if(this.pubSubService.publish("onBeforeResizeByContent",void 0,0),this._totalColumnsWidthByContent===0||e){for(const u of t)s[u.id]=u.originalWidth??u.minWidth??0;o=this.calculateCellWidthByReadingDataset(t,s,this.resizeByContentOptions.maxItemToInspectCellContentWidth);let c=0;for(const u of t){const p=u.resizeAlwaysRecalculateWidth??this.resizeByContentOptions.alwaysRecalculateColumnWidth??!1;u.originalWidth&&!p?u.width=u.originalWidth:s[u.id]!==void 0&&(u.rerenderOnResize&&(n=!0),this.applyNewCalculatedColumnWidthByReference(u,s[u.id])),c+=u.width||0,this._totalColumnsWidthByContent=c}}this._grid.setColumns(t),this._hasResizedByContentAtLeastOnce=!0;const a={};for(const c of t)a[c.id]=c.width;this._totalColumnsWidthByContent>l?this._grid.reRenderColumns(n):this._grid.autosizeColumns(),this.pubSubService.publish("onAfterResizeByContent",{readItemCount:o,calculateColumnWidths:a})}calculateCellWidthByReadingDataset(e,t,i=1e3,s){const n=Array.isArray(e)?e:[e],o=this.dataView.getItems();let l=0;for(const[a,h]of o.entries()){if(a>i)break;Array.isArray(n)&&typeof t=="object"&&n.forEach((d,c)=>{const u=this.calculateCellWidthByContent(h,d,a,s??c,t[d.id]);u!==void 0&&(t[d.id]=u)}),l=a+1}return l}calculateCellWidthByContent(e,t,i,s,n){const o=this.resizeByContentOptions.cellCharWidthInPx??7;if(!t.originalWidth){const l=(t==null?void 0:t.resizeCharWidthInPx)??o,a=Gs(t==null?void 0:t.formatter,i,s,t,e,this._grid),h=ei(a)?we(a):"",d=Math.ceil(h.length*l),c=t.resizeMaxWidthThreshold;t&&(n===void 0||d>n)&&(n=c!==void 0&&d>c?c:t.maxWidth!==void 0&&d>t.maxWidth?t.maxWidth:d)}return n}applyNewCalculatedColumnWidthByReference(e,t){var a;const i=this.resizeByContentOptions.cellPaddingWidthInPx??6,s=this.resizeByContentOptions.formatterPaddingWidthInPx??6,n=((a=e==null?void 0:e.filter)==null?void 0:a.type)??(e==null?void 0:e.type)??w.string;let o=t;const l=(e==null?void 0:e.resizeCalcWidthRatio)??this.resizeByContentOptions.defaultRatioForStringType??.9;o*=n==="string"?l:1,o+=i,e.resizeExtraWidthPadding&&(o+=e.resizeExtraWidthPadding),e.editor&&this.gridOptions.editable&&(o+=s),e.maxWidth!==void 0&&o>e.maxWidth&&(o=e.maxWidth),e.resizeMaxWidthThreshold!==void 0&&o>e.resizeMaxWidthThreshold&&(o=e.resizeMaxWidthThreshold),o=Math.ceil(o),(e.originalWidth===void 0||e.resizeAlwaysRecalculateWidth===!0||this.resizeByContentOptions.alwaysRecalculateColumnWidth===!0)&&(e.width=this.readjustNewColumnWidthWhenOverLimit(e,o))}handleSingleColumnResizeByContent(e){const t=this._grid.getColumns(),i=t.findIndex(s=>s.id===e);if(i>=0){const s=t[i],n={[e]:s.originalWidth??s.minWidth??0};s.originalWidth=void 0,this.calculateCellWidthByReadingDataset(s,n,this.resizeByContentOptions.maxItemToInspectSingleColumnWidthByContent,i),this.applyNewCalculatedColumnWidthByReference(s,n[e]),this._grid.reRenderColumns((s==null?void 0:s.rerenderOnResize)??!1)}}readjustNewColumnWidthWhenOverLimit(e,t){var o,l;const i=this.gridOptions.frozenColumn??-1,s=this._grid.getColumns().findIndex(a=>a.id===e.id)??0;let n=t;if(i>=0&&s<=i){const a=Array.from(this._grid.getViewports());if(a){const h=((o=a.find(m=>m.classList.contains("slick-viewport-left")))==null?void 0:o.clientWidth)??0,d=((l=a.find(m=>m.classList.contains("slick-viewport-right")))==null?void 0:l.clientWidth)??0,c=h+d,u=h-(e.width??0);if(u+t>c){const m=this.resizeByContentOptions.widthToRemoveFromExceededWidthReadjustment??50;n=h-u+d-m}}}return Math.ceil(n)}checkIsGridShown(){var e;return!!(((e=document.querySelector(`${this.gridUidSelector}`))==null?void 0:e.offsetParent)??!1)}resizeGridWhenStylingIsBrokenUntilCorrected(){var l,a;const e=((l=this.gridOptions)==null?void 0:l.autoFixResizeTimeout)??18e3,t=((a=this.gridOptions)==null?void 0:a.autoFixResizeRequiredGoodCount)??5,i=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-header`),s=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-viewport`);let n=0,o=0;if(i&&s&&this.gridOptions.autoFixResizeWhenBrokenStyleDetected){const h=this.dataView.getItemCount(),d=this._grid.getColumns()||[];this._intervalId=window.setInterval(async()=>{var b,S,E;const u=ge(i);let p=u.top;(b=this.gridOptions)!=null&&b.enableFiltering&&this.gridOptions.headerRowHeight&&(p+=this.gridOptions.headerRowHeight),(S=this.gridOptions)!=null&&S.createPreHeaderPanel&&this.gridOptions.showPreHeaderPanel&&this.gridOptions.preHeaderPanelHeight&&(p+=this.gridOptions.preHeaderPanelHeight),p+=44;const f=ge(s).top,g=ge(this._gridContainerElm);let _=(u==null?void 0:u.top)===0||p-f>2||g.left===0&&g.top===0;const C=((E=this._grid.getRenderedRange())==null?void 0:E.rightPx)??0;!_&&h>0&&C===0&&d.length>1&&(_=!0),this._isStopResizeIntervalRequested&&(_=!1,n=e),this.checkIsGridShown()&&(_||g.left===0||g.top===0)&&(await this.resizeGrid(),o<5&&this._grid.updateColumns(),this.checkIsGridShown()&&(_=!1)),this.checkIsGridShown()&&o++,this.checkIsGridShown()&&!_&&(o>=t||n++>=e)&&window.clearInterval(this._intervalId)},this.intervalRetryDelay)}}}class wu{constructor(){this.currentPagination=null,this.isItemsDateParsed=!1,this.frozenVisibleColumnId="",this.hasColumnsReordered=!1,this.hideHeaderRowAfterPageLoad=!1}get allColumns(){return this._allColumns}set allColumns(e){this._allColumns=e}get columnDefinitions(){var e;return((e=this.slickGrid)==null?void 0:e.getColumns())??[]}get gridOptions(){var e;return this._gridOptions||((e=this.slickGrid)==null?void 0:e.getOptions())||{}}set gridOptions(e){this._gridOptions=e}get externalRegisteredResources(){return this._externalRegisteredResources}set externalRegisteredResources(e){this._externalRegisteredResources=e}get visibleColumns(){return this._visibleColumns}set visibleColumns(e){this._visibleColumns=e}get hierarchicalDataset(){return this._hierarchicalDataset}set hierarchicalDataset(e){this._hierarchicalDataset=e}}class Tu{constructor(e,t,i,s,n){this.collectionService=e,this.sharedService=t,this.pubSubService=i,this.backendUtilities=s,this.rxjs=n,this._currentLocalSorters=[],this._isBackendGrid=!1,this._eventHandler=new pe,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}dispose(){var e,t;(e=this._eventHandler)!=null&&e.unsubscribeAll&&this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((t=this.rxjs)!=null&&t.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete())}addRxJsResource(e){this.rxjs=e}bindBackendOnSort(e){this._isBackendGrid=!0,this._grid=e,this._dataView=e==null?void 0:e.getData(),this._eventHandler.subscribe(e.onSort,this.onBackendSortChanged.bind(this))}bindLocalOnSort(e){this._isBackendGrid=!1,this._grid=e,this._dataView=e==null?void 0:e.getData(),this.processTreeDataInitialSort(),this._eventHandler.subscribe(e.onSort,this.handleLocalOnSort.bind(this)),this._gridOptions.preParseDateColumns&&(this._eventHandler.subscribe(e.onCellChange,(t,i)=>this.preParseSingleDateItem(i.item)),this.pubSubService.subscribe(["onItemAdded","onItemUpdated"],t=>this.preParseSingleDateItem(t)))}preParseSingleDateItem(e){this._gridOptions.preParseDateColumns&&(Array.isArray(e)?e:[e]).forEach(i=>this.collectionService.parseSingleDateItem(i,this._grid,this._gridOptions.preParseDateColumns))}preParseAllDateItems(){var e;if(this._gridOptions.preParseDateColumns){const t=((e=this._dataView)==null?void 0:e.getItems())||[];this.collectionService.preParseByMutationDateItems(t,this._grid,this._gridOptions.preParseDateColumns),this.sharedService.isItemsDateParsed=!0}}handleLocalOnSort(e,t){var s;const i=t.multiColumnSort?t.sortCols:new Array({columnId:((s=t.sortCol)==null?void 0:s.id)??"",sortAsc:t.sortAsc,sortCol:t.sortCol});this._currentLocalSorters=[],Array.isArray(i)&&i.forEach(n=>{n.sortCol&&this._currentLocalSorters.push({columnId:n.sortCol.id,direction:n.sortAsc?ut.ASC:ut.DESC})}),this.onLocalSortChanged(this._grid,i),this.emitSortChanged(oe.local)}clearSortByColumnId(e,t){const i=this.getCurrentColumnSorts(),s=this.getCurrentColumnSorts(`${t}`);if(Array.isArray(i)&&Array.isArray(s)&&i.length!==s.length){if(this._gridOptions.backendServiceApi)this.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:s,grid:this._grid});else if(this._dataView)this.onLocalSortChanged(this._grid,s,!0,!0);else{const l=this._gridOptions.multiColumnSort||!1?s:s[0];this._grid.onSort.notify(l)}const n=s.map(o=>{var l;return{columnId:((l=o==null?void 0:o.sortCol)==null?void 0:l.id)??"",sortAsc:o==null?void 0:o.sortAsc,sortCol:o==null?void 0:o.sortCol}});this._grid.setSortColumns(n)}Array.isArray(s)&&s.length===0&&this.sortLocalGridByDefaultSortFieldId()}clearSorting(e=!0){var t;if(this._grid&&this._gridOptions&&this._dataView){if(this._grid.setSortColumns([]),e)this._isBackendGrid?this.onBackendSortChanged(void 0,{grid:this._grid,multiColumnSort:!0,sortCols:[],clearSortTriggered:!0}):this._columnDefinitions&&Array.isArray(this._columnDefinitions)&&this._columnDefinitions.length>0&&this.sortLocalGridByDefaultSortFieldId();else if(this._isBackendGrid){const i=(t=this._gridOptions.backendServiceApi)==null?void 0:t.service;i!=null&&i.clearSorters&&i.clearSorters()}}this._currentLocalSorters=[],this.pubSubService.publish("onSortCleared",!0)}disableSortFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableSorting;this._gridOptions.enableSorting=s;let n;e?(t&&this.clearSorting(),this._eventHandler.unsubscribeAll(),n=this.disableAllSortingCommands(!0)):(n=this.disableAllSortingCommands(!1),this._eventHandler.subscribe(this._grid.onSort,(o,l)=>this.handleLocalOnSort(o,l))),this._grid.setOptions({enableSorting:this._gridOptions.enableSorting},!1,!0),this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(n)}toggleSortFunctionality(e=!0){const t=this._gridOptions.enableSorting;this.disableSortFunctionality(t,e)}emitSortChanged(e,t){if(e===oe.remote&&this._gridOptions.backendServiceApi){let i=[];const s=this._gridOptions.backendServiceApi.service;s!=null&&s.getCurrentSorters&&(i=s.getCurrentSorters()),this.pubSubService.publish("onSortChanged",i)}else e===oe.local&&(t&&(this._currentLocalSorters=t),this.pubSubService.publish("onSortChanged",this.getCurrentLocalSorters()))}getCurrentLocalSorters(){return this._currentLocalSorters}getCurrentColumnSorts(e){if(this._grid){const t=this._grid.getSortColumns();if(Array.isArray(t))return t.reduce((s,n)=>(n&&(!e||n.columnId!==e)&&s.push({columnId:n.columnId||"",sortCol:this._columnDefinitions[this._grid.getColumnIndex(n.columnId||"")],sortAsc:n.sortAsc}),s),[])}return[]}loadGridSorters(e){this._currentLocalSorters=[];const t=[];return Array.isArray(e)&&((this._gridOptions.multiColumnSort?e:e.slice(0,1)).forEach(s=>{const n=this._columnDefinitions.find(o=>o.id===s.columnId);if(n){if(!n.sortable){let o="[Slickgrid-Universal] Cannot add sort icon to a column that is not sortable, please add `sortable: true` to your column or remove it from your list of columns to sort.";throw this._gridOptions.enableTreeData&&(o+=" Also note that TreeData feature requires the column holding the tree (expand/collapse icons) to be sortable."),new Error(o)}t.push({columnId:n.id,sortAsc:s.direction.toUpperCase()===ut.ASC,sortCol:n}),this._currentLocalSorters.push({columnId:String(n.id),direction:s.direction.toUpperCase()})}}),this.onLocalSortChanged(this._grid,t),this._grid.setSortColumns(t.map(s=>({columnId:s.columnId,sortAsc:s.sortAsc})))),t}processTreeDataInitialSort(){var e,t;if(this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions){const i=this._gridOptions.treeDataOptions,s=this._columnDefinitions.find(n=>n.id===i.columnId);if(s){let n=ut.ASC,o={columnId:i.columnId,sortCol:s,sortAsc:!0};if((e=i==null?void 0:i.initialSort)!=null&&e.columnId){const l=i.initialSort.columnId,a=this._columnDefinitions.find(h=>h.id===l);n=(i.initialSort.direction||ut.ASC).toUpperCase(),o={columnId:l,sortCol:a,sortAsc:n===ut.ASC}}o!=null&&o.columnId&&((t=this.sharedService)!=null&&t.hierarchicalDataset)&&this.updateSorting([{columnId:o.columnId||"",direction:n}])}}}onBackendSortChanged(e,t){var a,h,d;if(!t||!t.grid)throw new Error('Something went wrong when trying to bind the "onBackendSortChanged(event, args)" function, it seems that "args" is not populated correctly');const i=((a=t.grid)==null?void 0:a.getOptions())??{},s=i.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;s.preProcess&&s.preProcess();const o=s.service.processOnSortChanged(e,t),l=((h=i==null?void 0:i.pagination)==null?void 0:h.totalItems)||0;(d=this.backendUtilities)==null||d.executeBackendCallback(s,o,t,n,l,{emitActionChangedCallback:this.emitSortChanged.bind(this),errorCallback:()=>{var u,p,m;this._grid.setSortColumns(t.previousSortColumns||[]);const c=(u=t.previousSortColumns)==null?void 0:u.map(f=>({columnId:f.columnId,sortAsc:f.sortAsc,sortCol:this._columnDefinitions.find(g=>g.id===f.columnId)}));(m=(p=s==null?void 0:s.service)==null?void 0:p.updateSorters)==null||m.call(p,c||[])},httpCancelRequestSubject:this.httpCancelRequests$})}async onLocalSortChanged(e,t,i=!1,s=!1){const n=this._gridOptions.datasetIdPropertyName||"id",o=this._gridOptions.enableTreeData||!1,l=e.getData();if(await this.pubSubService.publish("onBeforeSortChange",{sortColumns:t},0),e&&l){if(this._gridOptions.preParseDateColumns&&!this.sharedService.isItemsDateParsed&&t.some(a=>{var h;return It((h=a.sortCol)==null?void 0:h.type)})&&this.preParseAllDateItems(),i&&!o&&l.reSort(),o&&this._dataView&&this.sharedService&&Array.isArray(this.sharedService.hierarchicalDataset)){const a=this.sortHierarchicalDataset(this.sharedService.hierarchicalDataset,t);this._dataView.setItems(a.flat,n),this._dataView.onRowCountChanged.notify({previous:this._dataView.getFilteredItemCount(),current:this._dataView.getLength(),itemCount:this._dataView.getItemCount(),dataView:this._dataView,callingOnRowsChanged:!0})}else l.sort(this.sortComparers.bind(this,t));e.invalidate(),s&&this.emitSortChanged(oe.local,t.map(a=>{var h;return{columnId:((h=a.sortCol)==null?void 0:h.id)??"id",direction:a.sortAsc?ut.ASC:ut.DESC}}))}}sortHierarchicalDataset(e,t,i=!1){this.sortTreeData(e,t);const s=this._gridOptions.datasetIdPropertyName||"id",n=this._gridOptions.treeDataOptions||{columnId:""},o={...n,identifierPropName:n.identifierPropName??s,shouldAddTreeLevelNumber:!0},l=lo(e,o);if(i){this._currentLocalSorters=[],t.forEach(h=>{this._currentLocalSorters.push({columnId:h.columnId,direction:h.sortAsc?"ASC":"DESC"})});const a=this._gridOptions.backendServiceApi?oe.remote:oe.local;this.emitSortChanged(a)}return{hierarchical:e,flat:l}}sortLocalGridByDefaultSortFieldId(){const e=this._gridOptions&&this._gridOptions.defaultColumnSortFieldId||this._gridOptions.datasetIdPropertyName||"id",t={id:e,field:e};this.onLocalSortChanged(this._grid,new Array({columnId:t.id,sortAsc:!0,sortCol:t,clearSortTriggered:!0}),!1,!0)}sortComparers(e,t,i){if(Array.isArray(e))for(const s of e){const n=this.sortComparer(s,t,i);if(n!==void 0)return n}return ae.neutral}sortComparer(e,t,i,s){if(e!=null&&e.sortCol){const n=e.sortCol,o=n.type||w.string,l=e.sortAsc?ae.asc:ae.desc;let a=s||n.queryFieldSorter||n.queryField||n.field;this._gridOptions.preParseDateColumns&&It(o)&&(e!=null&&e.columnId)&&(a=typeof this._gridOptions.preParseDateColumns=="string"?`${this._gridOptions.preParseDateColumns}${e.columnId}`:`${e.columnId}`);let h=a;typeof n.queryFieldNameGetterFn=="function"&&(a=n.queryFieldNameGetterFn(t),h=n.queryFieldNameGetterFn(i));let d=t[a],c=i[h];if((a==null?void 0:a.indexOf("."))>=0&&(d=Ee(t,a)),(h==null?void 0:h.indexOf("."))>=0&&(c=Ee(i,h)),n.sortComparer){const u=n.sortComparer(d,c,l,n,this._gridOptions);if(u!==ae.neutral)return u}else{const u=_i(o,d,c,l,n,this._gridOptions);if(u!==ae.neutral)return u}}}sortTreeData(e,t){Array.isArray(t)&&t.forEach(i=>{this.sortTreeChildren(e,i,0)})}sortTreeChildren(e,t,i){var n;const s=((n=this._gridOptions.treeDataOptions)==null?void 0:n.childrenPropName)??"children";e.sort((o,l)=>this.sortComparer(t,o,l)??ae.neutral),e.forEach(o=>{o&&o.hasOwnProperty(s)&&Array.isArray(o[s])&&(i++,this.sortTreeChildren(o[s],t,i),i--)})}updateSorting(e,t=!0,i=!0){var s;if(!this._gridOptions||!this._gridOptions.enableSorting)throw new Error('[Slickgrid-Universal] in order to use "updateSorting" method, you need to have Sortable Columns defined in your grid and "enableSorting" set in your Grid Options');if(Array.isArray(e)){const n=this._gridOptions.backendServiceApi;if(n){const o=n==null?void 0:n.service;o!=null&&o.updateSorters&&(o.updateSorters(void 0,e),i&&((s=this.backendUtilities)==null||s.refreshBackendDataset(this._gridOptions)))}else this.loadGridSorters(e);if(t){const o=n?oe.remote:oe.local;this.emitSortChanged(o)}}}disableAllSortingCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var o,l;n.sortable!==void 0&&(n.sortable=!e),(o=n==null?void 0:n.header)!=null&&o.menu&&((l=n.header.menu.commandItems)==null||l.forEach(a=>{if(a&&typeof a!="string"){const h=a.command;(h==="sort-asc"||h==="sort-desc"||h==="clear-sort")&&(a.hidden=e)}}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{n&&typeof n!="string"&&n.command==="clear-sorting"&&(n.hidden=e)}),t}}class Ou{constructor(e,t,i){this.pubSubService=e,this.sharedService=t,this.sortService=i,this._currentToggledItems=[],this._isLastFullToggleCollapsed=!1,this._isOneCpuCyclePassed=!1,this._isTreeDataEnabled=!1,this._subscriptions=[],this._treeDataRecalcHandler=null,this._eventHandler=new pe,window.setTimeout(()=>this._isOneCpuCyclePassed=!0)}set currentToggledItems(e){this._currentToggledItems=e}get dataset(){var e;return(e=this.dataView)==null?void 0:e.getItems()}get datasetHierarchical(){return this.sharedService.hierarchicalDataset}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get treeDataOptions(){return this.gridOptions.treeDataOptions}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}init(e){var t,i,s,n,o,l,a,h;if(this._grid=e,this._isTreeDataEnabled=((t=this.gridOptions)==null?void 0:t.enableTreeData)??!1,this._isLastFullToggleCollapsed=((i=this.treeDataOptions)==null?void 0:i.initiallyCollapsed)??!1,this._currentToggledItems=((n=(s=this.gridOptions.presets)==null?void 0:s.treeData)==null?void 0:n.toggledItems)??[],this._lastToggleStateChange={type:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this._isTreeDataEnabled){if((o=this.gridOptions)!=null&&o.multiColumnSort)throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data with multi-column sorting, unfortunately it is not supported because of its complexity, you can disable it via "multiColumnSort: false" grid option and/or help in providing support for this feature.');if(!((l=this.gridOptions)!=null&&l.enableFiltering))throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data without using the filtering option, unfortunately that is not possible with Tree Data since it relies heavily on the filters to expand/collapse the tree. You need to enable it via "enableFiltering: true"');if((a=this.gridOptions)!=null&&a.backendServiceApi||(h=this.gridOptions)!=null&&h.enablePagination)throw new Error("[Slickgrid-Universal] It looks like you are trying to use Tree Data with Pagination and/or a Backend Service (OData, GraphQL) but unfortunately that is simply not supported because of its complexity.");if(!this.gridOptions.treeDataOptions||!this.gridOptions.treeDataOptions.columnId)throw new Error('[Slickgrid-Universal] When enabling tree data, you must also provide the "treeDataOption" property in your Grid Options with "childrenPropName" or "parentPropName" (depending if your array is hierarchical or flat) for the Tree Data to work properly.')}this._eventHandler.subscribe(e.onClick,this.handleOnCellClick.bind(this)),this._subscriptions.push(this.pubSubService.subscribe("onGridMenuClearAllSorting",this.clearSorting.bind(this))),this._treeDataRecalcHandler=this.setAutoRecalcTotalsCallbackWhenFeatEnabled(this.gridOptions),this._eventHandler.subscribe(this.dataView.onRowCountChanged,()=>{var d;typeof this._treeDataRecalcHandler=="function"&&this._isOneCpuCyclePassed&&(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>{var c;return(c=this._treeDataRecalcHandler)==null?void 0:c.call(this)},((d=this.treeDataOptions)==null?void 0:d.autoRecalcTotalsDebounce)??0))})}applyToggledItemStateChanges(e,t,i=!0,s=!1){if(Array.isArray(e)){const n=Ae(this.treeDataOptions,"collapsedPropName"),o=Ae(this.treeDataOptions,"hasChildrenPropName");this.dataView.beginUpdate(!0);const a=(t??this._lastToggleStateChange.previousFullToggleType)==="full-collapse";t&&(this._lastToggleStateChange.previousFullToggleType=t),i&&(this.dataView.getItems()||[]).forEach(h=>{h[o]&&(h[n]=a)}),this.dynamicallyToggleItemState(e,s)}}dynamicallyToggleItemState(e,t=!0){Array.isArray(e)&&(this.dataView.beginUpdate(!0),e.forEach(i=>{const s=this.dataView.getItemById(i.itemId);if(this.updateToggledItem(s,i.isCollapsed,!0),t){const n=this._currentToggledItems.findIndex(o=>o.itemId===i.itemId);n>=0?this._currentToggledItems[n].isCollapsed=i.isCollapsed:this._currentToggledItems.push({itemId:i.itemId,isCollapsed:i.isCollapsed}),this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:i.itemId,toggledItems:this._currentToggledItems,type:i.isCollapsed?xt.toggleCollapse:xt.toggleExpand})}}),this.dataView.endUpdate(),this.dataView.refresh())}getCurrentToggleState(){return this._lastToggleStateChange}getInitialSort(e,t){var o;const i=t==null?void 0:t.treeDataOptions,s=(i==null?void 0:i.initialSort)??{columnId:(i==null?void 0:i.columnId)??"",direction:"ASC"},n=e.find(l=>l.id===s.columnId);return{columnId:s.columnId,sortAsc:((o=s==null?void 0:s.direction)==null?void 0:o.toUpperCase())!=="DESC",sortCol:n}}getItemCount(e){if(e!==void 0){const t=Ae(this.treeDataOptions,"levelPropName");return this.dataView.getItems().filter(i=>i[t]===e).length}return this.dataView.getItemCount()}getToggledItems(){return this._currentToggledItems}clearSorting(){const e=this.getInitialSort(this.sharedService.columnDefinitions,this.sharedService.gridOptions);this.sortService.loadGridSorters([{columnId:e.columnId,direction:e.sortAsc?"ASC":"DESC"}])}convertFlatParentChildToTreeDatasetAndSort(e,t,i,s){var a;const n=this.convertFlatParentChildToTreeDataset(e,i),o=Array.isArray(s)&&s.length?s[0]:this.getInitialSort(t,i),l=this.sortService.sortHierarchicalDataset(n,[o],!0);return(a=this._grid)==null||a.setSortColumns([o]),l}convertFlatParentChildToTreeDataset(e,t){const i=(t==null?void 0:t.datasetIdPropertyName)??"id",s=(t==null?void 0:t.treeDataOptions)??{columnId:"id"},n={...s,identifierPropName:s.identifierPropName??i,initiallyCollapsed:this._isLastFullToggleCollapsed};return ao(e,n)}enableAutoRecalcTotalsFeature(e=!0){e&&this._isTreeDataEnabled?this._treeDataRecalcHandler=this.recalculateTreeTotals.bind(this,this.gridOptions):this._treeDataRecalcHandler=null}recalculateTreeTotals(e){const t=e.treeDataOptions,i=(t==null?void 0:t.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,s=(t==null?void 0:t.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;t!=null&&t.aggregators&&(t.aggregators.forEach(n=>{Mi(this.sharedService.hierarchicalDataset||[],{childrenPropName:i,levelPropName:s,aggregator:n})}),this._grid.invalidate())}sortHierarchicalDataset(e,t){const i=t??this.getInitialSort(this.sharedService.allColumns,this.gridOptions),s=Array.isArray(i)?i:[i];return this.sortService.sortHierarchicalDataset(e,s)}async toggleTreeDataCollapse(e,t=!0){var s;if((s=this.gridOptions)!=null&&s.enableTreeData){const n=Ae(this.treeDataOptions,"hasChildrenPropName");t&&await this.pubSubService.publish("onTreeFullToggleStart",{collapsing:e}),this.dataView.beginUpdate(!0);const o=this.dataView.getItems()||[];o.forEach(l=>{l[n]&&this.updateToggledItem(l,e,!1)}),this.sharedService.hierarchicalDataset=this.convertFlatParentChildToTreeDataset(o,this.gridOptions),this.dataView.endUpdate(),this.dataView.refresh(),this._isLastFullToggleCollapsed=e}const i=e?xt.fullCollapse:xt.fullExpand;this._lastToggleStateChange={type:i,previousFullToggleType:i,toggledItems:null},t&&this.pubSubService.publish("onTreeFullToggleEnd",this._lastToggleStateChange)}handleOnCellClick(e,t){if(e&&t){const i=e.target||{},s=this.gridOptions.datasetIdPropertyName??"id",n=Ae(this.treeDataOptions,"collapsedPropName"),o=Ae(this.treeDataOptions,"childrenPropName");if(typeof(i==null?void 0:i.className)=="string"&&(i.className.indexOf("toggle")>=0||!1)){const a=this.dataView.getItem(t.row);if(a){a[n]=!a[n];const h=a[n],d=a[s],c=this._currentToggledItems.findIndex(m=>m.itemId===d);c>=0?this._currentToggledItems[c].isCollapsed=h:this._currentToggledItems.push({itemId:d,isCollapsed:h}),this.dataView.updateItem(d,a);const u=m=>m[s]===d,p=Li(this.sharedService.hierarchicalDataset||[],u,o);p&&(p[n]=h),this._grid.invalidate(),this._lastToggleStateChange={type:h?xt.toggleCollapse:xt.toggleExpand,previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:d})}e.stopImmediatePropagation()}}}updateToggledItem(e,t,i){var l;const s=((l=this.gridOptions)==null?void 0:l.datasetIdPropertyName)??"id",n=Ae(this.treeDataOptions,"childrenPropName"),o=Ae(this.treeDataOptions,"collapsedPropName");if(e&&(e[o]=t,this.dataView.updateItem(e[s],e),i)){const a=d=>d[s]===e[s],h=Li(this.sharedService.hierarchicalDataset||[],a,n);h&&(h[o]=t)}}setAutoRecalcTotalsCallbackWhenFeatEnabled(e){var t,i;return e!=null&&e.enableTreeData&&((t=e==null?void 0:e.treeDataOptions)!=null&&t.autoRecalcTotalsOnFilterChange)&&((i=e==null?void 0:e.treeDataOptions)!=null&&i.aggregators)?this.recalculateTreeTotals.bind(this,e):null}}class Yt{constructor(e){this.translaterService=e,this._debounceTypingDelay=0,this._shouldTriggerQuery=!0,this._inputType="text",this.inputFilterType="single",this.searchTerms=[],this._bindEventService=new Pe}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get defaultOperator(){return H.empty}get inputType(){return this._inputType}set inputType(e){this._inputType=e}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}init(e){var s,n,o;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.inputFilterType==="compound"&&(this.operator=e.operator||""),this.searchTerms=(e==null?void 0:e.searchTerms)??[],this._cellContainerElm=e.filterContainerElm;const t=(s=this.gridOptions)==null?void 0:s.backendServiceApi;this._debounceTypingDelay=(t?(t==null?void 0:t.filterTypingDebounce)??((n=this.gridOptions)==null?void 0:n.defaultBackendServiceFilterTypingDebounce):(o=this.gridOptions)==null?void 0:o.filterTypingDebounce)??0;const i=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(i),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this)),this._bindEventService.bind(this._filterInputElm,"wheel",this.onTriggerEvent.bind(this),{passive:!0}),this.inputFilterType==="compound"&&this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this))}clear(e=!0){this._filterInputElm&&(this._shouldTriggerQuery=e,this.searchTerms=[],this._filterInputElm.value="",this._currentValue=void 0,this.updateFilterStyle(!1),this.inputFilterType==="compound"&&this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.onTriggerEvent(void 0,!0))}destroy(){var e,t,i,s;this._bindEventService.unbindAll(),(t=(e=this._selectOperatorElm)==null?void 0:e.remove)==null||t.call(e),(s=(i=this._filterInputElm)==null?void 0:i.remove)==null||s.call(i)}getValues(){return this._filterInputElm.value}setValues(e,t,i=!1){const s=Array.isArray(e)?e:[e];let n="";for(const o of s)this.inputFilterType==="single"?n=t?this.addOptionalOperatorIntoSearchString(o,t):o:n=`${o}`,this._filterInputElm.value=`${n??""}`,this._currentValue=this._filterInputElm.value;if(this.updateFilterStyle(this.getValues()!==""),this.operator=t||this.defaultOperator,t&&this._selectOperatorElm){const o=pi(this.operator);this._selectOperatorElm.value=o}i&&this.onTriggerEvent(void 0,!1)}addOptionalOperatorIntoSearchString(e,t){let i="",s="",n=e==null?"":`${e}`;if(t&&n){switch(t){case"<>":case"!=":case"=":case"==":case">":case">=":case"<":case"<=":i=t;break;case"EndsWith":case"*z":i="*";break;case"StartsWith":case"a*":s="*";break}n=`${i}${n}${s}`}return n}getCompoundOperatorOptionValues(){var s;const e=this.columnDef.type&&this.columnDef.type?this.columnDef.type:w.string;let t,i="text";if((s=this.columnFilter)!=null&&s.compoundOperatorList)t=this.columnFilter.compoundOperatorList;else switch(e){case w.string:case w.text:case w.readonly:case w.password:i="text",t=Qh(this.gridOptions,this.translaterService);break;default:i="numeric",t=Nn(this.gridOptions,this.translaterService);break}return Hn(this.gridOptions,t,i),t}createDomFilterElement(e){var n,o,l,a;const t=((n=this.columnDef)==null?void 0:n.id)??"";ee(this._cellContainerElm);let i=((o=this.gridOptions)==null?void 0:o.defaultFilterPlaceholder)??"";(l=this.columnFilter)!=null&&l.placeholder&&(i=this.columnFilter.placeholder);const s=`${e??""}`;if(this._filterInputElm=v("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",placeholder:i,ariaLabel:((a=this.columnFilter)==null?void 0:a.ariaLabel)??`${Ct(t+"")} Search Filter`,className:`form-control filter-${t}`,value:s,dataset:{columnid:`${t}`}}),this.updateFilterStyle(!!e),e!==void 0&&(this._currentValue=s),this.inputFilterType==="single")this._filterContainerElm=this._filterInputElm,this._filterInputElm.classList.add("search-filter","slick-filter"),this._cellContainerElm.appendChild(this._filterInputElm),this._cellContainerElm.appendChild(document.createElement("span"));else{this._filterInputElm.classList.add("compound-input"),this._selectOperatorElm=Ln(this.getCompoundOperatorOptionValues(),this.grid),this._filterContainerElm=v("div",{className:`form-group search-filter slick-filter filter-${t}`});const h=v("div",{className:"input-group"},this._filterContainerElm);v("div",{className:"input-group-addon input-group-prepend operator"},h).appendChild(this._selectOperatorElm),h.appendChild(this._filterInputElm),h.appendChild(v("span")),this.operator&&(this._selectOperatorElm.value=pi(this.operator)),this._filterContainerElm&&this._cellContainerElm.appendChild(this._filterContainerElm)}}onTriggerEvent(e,t=!1){var i,s;if(t)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:t,shouldTriggerQuery:this._shouldTriggerQuery}),this.updateFilterStyle(!1);else{const n=(e==null?void 0:e.type)||"",o=((i=this._selectOperatorElm)==null?void 0:i.value)??this.operator;let l=this._filterInputElm.value;const a=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof l=="string"&&a&&(l=l.trim()),((s=e==null?void 0:e.target)==null?void 0:s.tagName.toLowerCase())!=="select"&&(this._currentValue=l),this.updateFilterStyle(l!=="");const h={columnDef:this.columnDef,operator:o,searchTerms:l?[l]:null,shouldTriggerQuery:this._shouldTriggerQuery},d=n==="keyup"&&(e==null?void 0:e.key)!=="Enter"?this._debounceTypingDelay:0,c=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,u=c&&q(this._currentValue)||this._currentValue===""&&q(this._lastSearchValue);(this.inputFilterType==="single"||!c||u)&&(d>0?(window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.callback(e,h),d)):this.callback(e,h)),this._lastSearchValue=l}this._shouldTriggerQuery=!0}updateFilterStyle(e){var t,i;e?((t=this._filterContainerElm)==null||t.classList.add("filled"),this._filterInputElm.classList.add("filled")):((i=this._filterContainerElm)==null||i.classList.remove("filled"),this._filterInputElm.classList.remove("filled"))}}class ya extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="text",this.inputFilterType="compound"}}class xu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number",this.inputFilterType="compound"}}class Iu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password",this.inputFilterType="compound"}}const Tr="#86bff8",qs=0,Ru=20;class Or{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._sliderTrackFilledColor=Tr,this.sliderType="double",this.searchTerms=[],this._bindEventService=new Pe}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get currentValue(){return this._currentValue}get currentValues(){return this._currentValues}get defaultOperator(){return this.sliderType==="compound"?H.empty:this.sliderType==="single"?H.greaterThanOrEqual:this.gridOptions.defaultFilterRangeOperator||H.rangeInclusive}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.slider,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get sliderOptions(){return this._sliderOptions}get operator(){return this._operator||(this.columnFilter.operator??this.defaultOperator)}set operator(e){this._operator=e}init(e){if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.operator=e.operator||"",this.searchTerms=(e==null?void 0:e.searchTerms)??[],this._argFilterContainerElm=e.filterContainerElm,this._sliderTrackFilledColor=window.getComputedStyle(document.documentElement).getPropertyValue("--slick-slider-filter-filled-track-color")||Tr,this._filterElm=this.createDomFilterElement(this.searchTerms)}clear(e=!0){var t,i,s,n,o,l,a;if(this._filterElm){this._clearFilterTriggered=!0,this._shouldTriggerQuery=e,this.searchTerms=[];const h=+(((t=this.filterOptions)==null?void 0:t.sliderStartValue)??R.SLIDER_DEFAULT_MIN_VALUE),d=+(((i=this.filterOptions)==null?void 0:i.sliderEndValue)??R.SLIDER_DEFAULT_MAX_VALUE);this.sliderType==="double"?(this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=`${h}`),this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${d}`),this._currentValues=[h,d],(s=this._sliderLeftInputElm)==null||s.dispatchEvent(new Event("change")),(n=this._sliderRightInputElm)==null||n.dispatchEvent(new Event("change"))):(this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${h}`),this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this._currentValue=h,(o=this._sliderRightInputElm)==null||o.dispatchEvent(new Event("change"))),(((l=this.filterOptions)==null?void 0:l.hideSliderNumber)??((a=this.filterOptions)==null?void 0:a.hideSliderNumbers))||(this.sliderType==="double"?this.renderSliderValues(h,d):this.renderSliderValues(void 0,h)),this.updateFilterStyle(!1),this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:e,searchTerms:[]})}}destroy(){var e,t,i;this._bindEventService.unbindAll(),(e=this._sliderTrackElm)==null||e.remove(),(t=this._sliderLeftInputElm)==null||t.remove(),(i=this._sliderRightInputElm)==null||i.remove()}renderSliderValues(e,t,i=!0){var o,l;const s=(e==null?void 0:e.toString())||"",n=(t==null?void 0:t.toString())||"";(o=this._leftSliderNumberElm)!=null&&o.textContent&&(this._leftSliderNumberElm.textContent=s),(l=this._rightSliderNumberElm)!=null&&l.textContent&&(this._rightSliderNumberElm.textContent=n),this._sliderRangeContainElm.title=this.sliderType==="double"?`${s} - ${n}`:`${n}`,i&&this.grid.onHeaderRowMouseLeave.notify({column:this.columnDef,grid:this.grid})}getValues(){return this.sliderType==="double"?this._currentValues:this._currentValue}setValues(e,t,i=!1){var o;if(e){let l=[];const a=Array.isArray(e)?e==null?void 0:e[0]:e;if(Array.isArray(e)&&e.length===2?l=e:typeof a=="string"&&a.indexOf("..")>0?(l=a.split(".."),this._currentValue=+((l==null?void 0:l[0])??0)):(q(a)||a==="")&&(this._currentValue=a===null?void 0:+a,l=[a]),this.sliderType!=="double"&&this._sliderRightInputElm)this._sliderRightInputElm.value=typeof e=="string"?e:`${a}`,this.renderSliderValues(void 0,this._sliderRightInputElm.value);else if(Array.isArray(l)&&l.length===2&&!((o=this.filterOptions)!=null&&o.hideSliderNumbers)){const[h,d]=l;this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=String(h??R.SLIDER_DEFAULT_MIN_VALUE)),this._sliderRightInputElm&&(this._sliderRightInputElm.value=String(d??R.SLIDER_DEFAULT_MAX_VALUE)),this.renderSliderValues(...l)}}else this._currentValue=void 0,this._currentValues=void 0;const s=this.getValues(),n=s===void 0?[]:Array.isArray(s)?s:[s];if(this.updateFilterStyle(n.length>0),t!==void 0&&(this.operator=t),this.operator&&this._selectOperatorElm){const l=pi(this.operator);this._selectOperatorElm.value=l}i&&this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:n,shouldTriggerQuery:!0})}createDomFilterElement(e){var c,u,p,m,f;const t=((c=this.columnDef)==null?void 0:c.id)??"",i=+(this.columnFilter.minValue??R.SLIDER_DEFAULT_MIN_VALUE),s=+(this.columnFilter.maxValue??R.SLIDER_DEFAULT_MAX_VALUE),n=+(this.columnFilter.valueStep??R.SLIDER_DEFAULT_STEP);ee(this._argFilterContainerElm);const o=+((Array.isArray(e)&&(e==null?void 0:e[0]))??((u=this.filterOptions)==null?void 0:u.sliderStartValue)??i),l=+((Array.isArray(e)&&(e==null?void 0:e[1]))??((p=this.filterOptions)==null?void 0:p.sliderEndValue)??s);if(this._sliderRangeContainElm=v("div",{className:`filter-input filter-${t} slider-input-container slider-values`,title:this.sliderType==="double"?`${o} - ${l}`:`${o}`}),this._sliderTrackElm=v("div",{className:"slider-track"}),this.sliderType==="compound"){const g=v("span",{className:"input-group-addon input-group-prepend operator"});this._selectOperatorElm=Ln(this.getOperatorOptionValues(),this.grid),g.appendChild(this._selectOperatorElm)}this.sliderType==="double"&&(this._sliderLeftInputElm=v("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${Ct(t+"")} Search Filter`,defaultValue:`${o}`,value:`${o}`,min:`${i}`,max:`${s}`,step:`${n}`}));const a=this.sliderType==="double"?l:o;this._sliderRightInputElm=v("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${Ct(t+"")} Search Filter`,defaultValue:`${a}`,value:`${a}`,min:`${i}`,max:`${s}`,step:`${n}`});const h=((m=this.filterOptions)==null?void 0:m.hideSliderNumber)??((f=this.filterOptions)==null?void 0:f.hideSliderNumbers),d=h?"":"input-group";if(this._divContainerFilterElm=v("div",{className:`${d} search-filter slick-filter slider-container slider-values filter-${t}`.trim()}),this._sliderRangeContainElm.appendChild(this._sliderTrackElm),this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRangeContainElm.appendChild(this._sliderLeftInputElm),this._sliderRangeContainElm.appendChild(this._sliderRightInputElm),h)this._divContainerFilterElm.appendChild(this._sliderRangeContainElm);else{let g;this.sliderType==="compound"&&this._selectOperatorElm?(g=v("span",{className:"input-group-addon input-group-prepend operator"}),g.appendChild(this._selectOperatorElm)):this.sliderType==="double"&&(g=v("div",{className:"input-group-addon input-group-prepend slider-range-value"}),this._leftSliderNumberElm=v("span",{className:`input-group-text lowest-range-${t}`,textContent:`${o}`}),g.appendChild(this._leftSliderNumberElm));const _=v("div",{className:"input-group-addon input-group-append slider-range-value"});this._rightSliderNumberElm=v("span",{className:`input-group-text highest-range-${t}`,textContent:`${a}`},_),g&&this._divContainerFilterElm.appendChild(g),this._divContainerFilterElm.appendChild(this._sliderRangeContainElm),this._divContainerFilterElm.appendChild(_)}return this._sliderOptions={minValue:i,maxValue:s,step:n},this._currentValues=[o,l],Array.isArray(e)&&e.length>0&&e[0]!==""&&(this.updateFilterStyle(!0),this._currentValue=o),(this.filterOptions.sliderStartValue!==void 0||this.columnFilter.minValue!==void 0)&&(this._currentValue=o),this._argFilterContainerElm.appendChild(this._divContainerFilterElm),this.updateTrackFilledColorWhenEnabled(),this._bindEventService.bind(this._sliderTrackElm,"click",this.sliderTrackClicked.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["input","change"],this.slideRightInputChanged.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this)),this.sliderType==="compound"&&this._selectOperatorElm?this._bindEventService.bind(this._selectOperatorElm,["change"],this.onValueChanged.bind(this)):this.sliderType==="double"&&this._sliderLeftInputElm&&(this._bindEventService.bind(this._sliderLeftInputElm,["input","change"],this.slideLeftInputChanged.bind(this)),this._bindEventService.bind(this._sliderLeftInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this))),this._divContainerFilterElm}getOperatorOptionValues(){let e;return this.columnFilter.compoundOperatorList?e=this.columnFilter.compoundOperatorList:e=Nn(this.gridOptions,this.translaterService),Hn(this.gridOptions,e,"numeric"),e}onValueChanged(e){var n,o,l,a,h;const t=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);let i,s;if(this.sliderType==="compound"||this.sliderType==="single")((l=(o=e==null?void 0:e.target)==null?void 0:o.tagName)==null?void 0:l.toLowerCase())!=="select"&&(this._currentValue=+t),i=this._currentValue,s=[i||"0"];else if(this.sliderType==="double"){const c=[parseInt(((a=this._sliderLeftInputElm)==null?void 0:a.value)??"",10),t];i=c.join(".."),s=c}if(this._clearFilterTriggered)this.updateFilterStyle(!1),this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,searchTerms:[],shouldTriggerQuery:this._shouldTriggerQuery});else{const d=((h=this._selectOperatorElm)==null?void 0:h.value)??this.operator;this.updateFilterStyle(i!=="");const c=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,u=c&&q(this._currentValue)||!q(this._currentValue)&&q(this._lastSearchValue);(this.sliderType!=="compound"||!c||u)&&this.callback(e,{columnDef:this.columnDef,operator:d||"",searchTerms:s,shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this.changeBothSliderFocuses(!1),this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new le(e)),this._lastSearchValue=i}changeBothSliderFocuses(e){var i,s;const t=e?"add":"remove";(i=this._sliderLeftInputElm)==null||i.classList[t]("focus"),(s=this._sliderRightInputElm)==null||s.classList[t]("focus")}slideLeftInputChanged(e){var s,n,o,l;const t=parseInt(((s=this._sliderLeftInputElm)==null?void 0:s.value)??"",10),i=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);this._sliderLeftInputElm&&i-t<=(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??qs)&&(this._sliderLeftInputElm.value=String(t-(((l=this.filterOptions)==null?void 0:l.stopGapBetweenSliderHandles)??qs))),this._sliderLeftInputElm&&this._sliderRightInputElm&&(+this._sliderLeftInputElm.value>=+this._sliderRightInputElm.value-Ru?(this._sliderLeftInputElm.style.zIndex="1",this._sliderRightInputElm.style.zIndex="0"):(this._sliderLeftInputElm.style.zIndex="0",this._sliderRightInputElm.style.zIndex="1")),this.sliderLeftOrRightChanged(e,"left",t,i)}slideRightInputChanged(e){var s,n,o,l;const t=parseInt(((s=this._sliderLeftInputElm)==null?void 0:s.value)??"",10),i=parseInt(((n=this._sliderRightInputElm)==null?void 0:n.value)??"",10);this.sliderType==="double"&&this._sliderRightInputElm&&i-t<=(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??qs)&&(this._sliderRightInputElm.value=String(t+(((l=this.filterOptions)==null?void 0:l.stopGapBetweenSliderHandles)??qs))),this.sliderLeftOrRightChanged(e,"right",t,i)}sliderLeftOrRightChanged(e,t,i,s){var l,a,h,d,c,u;let n=!0;this.updateTrackFilledColorWhenEnabled(),this.changeBothSliderFocuses(!0),this._sliderRangeContainElm.title=this.sliderType==="double"?`${i} - ${s}`:`${s}`,this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRightInputElm&&(t==="left"&&i>s?(this._sliderLeftInputElm.value=`${s}`,n=!1):t==="right"&&i>s&&(this._sliderRightInputElm.value=`${i}`,n=!1)),(((l=this.filterOptions)==null?void 0:l.hideSliderNumber)??((a=this.filterOptions)==null?void 0:a.hideSliderNumbers))||((h=this._leftSliderNumberElm)!=null&&h.textContent&&(this._leftSliderNumberElm.textContent=((d=this._sliderLeftInputElm)==null?void 0:d.value)??""),(c=this._rightSliderNumberElm)!=null&&c.textContent&&(this._rightSliderNumberElm.textContent=((u=this._sliderRightInputElm)==null?void 0:u.value)??"")),n&&this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new le(e))}sliderTrackClicked(e){e.preventDefault();const t=e.offsetX,i=this._sliderTrackElm.offsetWidth,s=(t+0)*100/i;this._sliderRightInputElm&&this.sliderType!=="double"?(this._sliderRightInputElm.value=`${s}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))):this._sliderLeftInputElm&&this._sliderRightInputElm&&(s<=50?(this._sliderLeftInputElm.value=`${s}`,this._sliderLeftInputElm.dispatchEvent(new Event("change"))):(this._sliderRightInputElm.value=`${s}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))))}updateTrackFilledColorWhenEnabled(){var e,t,i,s;if((e=this.filterOptions)!=null&&e.enableSliderTrackColoring&&this._sliderRightInputElm){let n=0;this._sliderLeftInputElm&&(n=(+this._sliderLeftInputElm.value-+this._sliderLeftInputElm.min)/(((t=this.sliderOptions)==null?void 0:t.maxValue)??0-+this._sliderLeftInputElm.min)*100);const o=(+this._sliderRightInputElm.value-+this._sliderRightInputElm.min)/(((i=this.sliderOptions)==null?void 0:i.maxValue)??0-+this._sliderRightInputElm.min)*100,l="linear-gradient(to right, %b %p1, %c %p1, %c %p2, %b %p2)".replace(/%b/g,"#eee").replace(/%c/g,((s=this.filterOptions)==null?void 0:s.sliderTrackFilledColor)||this._sliderTrackFilledColor||Tr).replace(/%p1/g,`${n}%`).replace(/%p2/g,`${o}%`);this._sliderTrackElm.style.background=l,this._sliderOptions.sliderTrackBackground=l}}updateFilterStyle(e){var t,i;e?(this._divContainerFilterElm.classList.add("filled"),(t=this._filterElm)==null||t.classList.add("filled")):(this._divContainerFilterElm.classList.remove("filled"),(i=this._filterElm)==null||i.classList.remove("filled"))}}class Au extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="compound"}}class Pu extends ql{constructor(e){super(e),this.translaterService=e,this.inputFilterType="range"}}class ku extends Yt{constructor(e){super(e),this.translaterService=e,this._inputMask="",this.inputType="text"}get inputMask(){return this._inputMask}init(e){var i,s,n,o;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this._cellContainerElm=e.filterContainerElm,(s=(i=this.columnDef)==null?void 0:i.params)!=null&&s.mask?this._inputMask=this.columnDef.params.mask:(o=(n=this.columnFilter)==null?void 0:n.params)!=null&&o.mask&&(this._inputMask=this.columnFilter.params.mask),!this._inputMask)throw new Error(`[Slickgrid-Universal] The Filters.inputMask requires the mask to be passed in the filter params or the column definition params
17
+ for example:: this.columnDefinitions: [{ id: 'phone', field: 'phone', filter: { model: Filters.inputMask, params: { mask: '000-000-0000' }}}]`);const t=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(t),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this))}onTriggerEvent(e,t=!1){var s,n;let i="";if((s=e==null?void 0:e.target)!=null&&s.value){let o=((n=e==null?void 0:e.target)==null?void 0:n.value)??"";const l=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof o=="string"&&l&&(o=o.trim());const a=this.unmaskValue(o),h=this.maskValue(a);i=a,(e==null?void 0:e.keyCode)>=48&&(this._filterInputElm.value=h,e.preventDefault())}t?(this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:t,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterInputElm.classList.remove("filled")):(this._filterInputElm.classList.add("filled"),this.callback(e,{columnDef:this.columnDef,operator:this.operator,searchTerms:[i],shouldTriggerQuery:this._shouldTriggerQuery})),this._shouldTriggerQuery=!0}maskValue(e){let t=0,i="";return this._inputMask&&(i=this._inputMask.replace(/[09A]/gi,s=>((s==="0"||s==="9")&&/\d+/g.test(e[t])||s.toUpperCase()==="A"&&/[^\d]+/gi.test(e[t]))&&e[t++]||"")),i}unmaskValue(e){const t=e.replace(/[^0-9a-z]*/gi,""),i=this._inputMask.replace(/[^0-9a-z]*/gi,"");let s="";for(let n=0;n<i.length;n++)t[n]&&((i[n]==="0"||i[n]==="9")&&/\d+/g.test(t[n])||i[n].toUpperCase()==="A"&&/[^\d]+/gi.test(t[n]))&&(s+=t[n]);return s}}class Fu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number"}}class Du extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password"}}var Mu=Object.defineProperty,Lu=(r,e,t)=>e in r?Mu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,V=(r,e,t)=>Lu(r,typeof e!="symbol"?e+"":e,t),Nu=class{constructor(e){V(this,"_distinctEvent"),V(this,"_boundedEvents",[]),this._distinctEvent=(e==null?void 0:e.distinctEvent)??!1}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(e,t,i,s,n=""){let o=Array.isArray(t)?t:[t];if(typeof(e==null?void 0:e.forEach)=="function")e.forEach(l=>{for(let a of o)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(l,a))&&(l.addEventListener(a,i,s),this._boundedEvents.push({element:l,eventName:a,listener:i,groupName:n}))});else for(let l of o)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(e,l))&&(e.addEventListener(l,i,s),this._boundedEvents.push({element:e,eventName:l,listener:i,groupName:n}))}hasBinding(e,t){return this._boundedEvents.some(i=>i.element===e&&(!t||i.eventName===t))}unbind(e,t,i){var s;if(e){let n=Array.isArray(e)?e:[e],o=Array.isArray(t)?t||"":[t||""];for(let l of n){i||(i=this._boundedEvents.find(a=>{if(a.element===l&&(!t||a.eventName===t))return a.listener}));for(let a of o)(s=l==null?void 0:l.removeEventListener)==null||s.call(l,a,i)}}}unbindAll(e){if(e){let t=Array.isArray(e)?e:[e];for(let i=this._boundedEvents.length-1;i>=0;--i){let s=this._boundedEvents[i];if(t.some(n=>n===s.groupName)){let{element:n,eventName:o,listener:l}=s;this.unbind(n,o,l),this._boundedEvents.splice(i,1)}}}else for(;this._boundedEvents.length>0;){let t=this._boundedEvents.pop(),{element:i,eventName:s,listener:n}=t;this.unbind(i,s,n)}}},Ea=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},Hu={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(r,e){return`${r} of ${e} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};Ea.locales["en-US"]=Hu;var wa=Ea.locales,Vu=50,Bu=4,Ta={name:"",placeholder:"",classes:"",classPrefix:"",data:void 0,locale:void 0,selectAll:!0,single:void 0,singleRadio:!1,multiple:!1,hideOptgroupCheckboxes:!1,multipleWidth:80,width:void 0,dropWidth:void 0,maxHeight:250,maxHeightUnit:"px",position:"bottom",displayValues:!1,displayTitle:!1,displayDelimiter:", ",minimumCountSelected:3,ellipsis:!1,isOpen:!1,keepOpen:!1,openOnHover:!1,container:null,filter:!1,filterGroup:!1,filterPlaceholder:"",filterAcceptOnEnter:!1,filterByDataLength:void 0,customFilter(r){let{text:e,label:t,search:i}=r;return(t||e||"").includes(i)},showClear:!1,autoAdjustDropHeight:!1,autoAdjustDropPosition:!1,autoAdjustDropWidthByTextSize:!1,adjustedHeightPadding:10,useSelectOptionLabel:!1,useSelectOptionLabelToHtml:!1,navigationHighlight:!0,infiniteScroll:!1,virtualScroll:!0,cssStyler:()=>null,textTemplate:r=>r.innerHTML.trim(),labelTemplate:r=>r.label,onOpen:()=>!1,onClose:()=>!1,onCheckAll:()=>!1,onUncheckAll:()=>!1,onFocus:()=>!1,onBlur:()=>!1,onOptgroupClick:()=>!1,onBeforeClick:()=>!0,onClick:()=>!1,onFilter:()=>!1,onFilterClear:()=>!1,onClear:()=>!1,onAfterCreate:()=>!1,onDestroy:()=>!1,onAfterDestroy:()=>!1,onDestroyed:()=>!1},zu=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(Ta,wa["en-US"]);var $u={BLOCK_ROWS:Vu,CLUSTER_BLOCKS:Bu,DEFAULTS:Ta,METHODS:zu},gt=$u;function Wu(r,e,t=!1){let i=Object.keys(r),s=Object.keys(e);if(t&&i.length!==s.length)return!1;for(let n of i)if(s.includes(n)&&r[n]!==e[n])return!1;return!0}function xr(r){let e=()=>{let s={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=xr(r[n]));return s},t=()=>r.map(s=>xr(s)),i=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return i==="object"?e():i==="array"?t():r}function Ir(r){return r!=null&&r!==""}function Gu(r,e){return typeof r=="object"?Object.fromEntries(e?Object.entries(r).filter(([t,i])=>!Ir(i)&&!e.includes(t)||Ir(i)):Object.entries(r).filter(([t,i])=>Ir(i))):r}function Uu(r){let e=0;return r.forEach((t,i)=>{t.type==="optgroup"?(t._key=`group_${i}`,t.visible=typeof t.visible>"u"?!0:t.visible,t.children.forEach((s,n)=>{s&&(s.visible=typeof(s==null?void 0:s.visible)>"u"?!0:s.visible,s.divider||(s._key=`option_${i}_${n}`,e+=1))})):(t.visible=typeof t.visible>"u"?!0:t.visible,t.divider||(t._key=`option_${i}`,e+=1))}),e}function Ks(r,e,t){if(Array.isArray(r))for(let i of r){if(i[e]===t||i[e]===`${+i[e]}`&&+i[e]===t)return i;if(i.type==="optgroup"){for(let s of i.children)if(s&&(s[e]===t||s[e]===`${+s[e]}`&&+s[e]===t))return s}}}function ju(r){return r.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;|&#60;)(\/*)(script|script defer)(.*)(&#62;|&gt;|&gt;">)/gi,"")}function Rr(r){return Object.keys(r).forEach(e=>r[e]===void 0?delete r[e]:""),r}function Oi(r,e){if(typeof r!="string")return r;if(typeof e=="function")return e(r);if(typeof r.normalize=="function")return r.normalize("NFD").replace(/[\u0300-\u036F]/g,"");throw new Error("[Multiple-Select-Vanilla] `normalize()` function is not defined, you can optionally provide a custom parser via the `diacriticParser` option.")}function Ar(r){let e=0,t=0,i=0,s=0,n=window.innerHeight??0,o=window.innerWidth??0,l=Ku(),a=l.top,h=l.left,d=Fr(r);if(d){let c=d.top??0,u=d.left??0;t=c-a,e=n-(c-a),i=u-h,s=o-(u-h)}return{top:t,bottom:e,left:i,right:s}}function Pr(r=""){return r.split(" ").filter(e=>e)}function Ue(r,e,t){let i=document.createElement(r);return e&&Object.keys(e).forEach(s=>{let n=e[s];typeof n=="object"?Object.assign(i[s],n):i[s]=e[s]}),t!=null&&t.appendChild&&t.appendChild(i),i}function Oa(r,e,t){var n;let i=(n=r.props)!=null&&n.innerHTML?qu(r.props,"innerHTML"):r.props,s=Ue(r.tagName,Gu(i,["className","title","style"]),e);if(r.props.innerHTML&&(s.innerHTML=r.props.innerHTML),r.attrs)for(let o of Object.keys(r.attrs))s.setAttribute(o,r.attrs[o]);if(r.children)for(let o of r.children)Oa(o,s);return e==null||e.appendChild(s),s}function kr(r){return r.hasOwnProperty("tagName")?Oa(r):document.createElement("li")}function Xs(r){for(;r!=null&&r.firstChild;)r.lastChild&&r.removeChild(r.lastChild);return r}function Fr(r){var o;if(!r)return;let e=(o=r==null?void 0:r.getBoundingClientRect)==null?void 0:o.call(r),t=0,i=0,s=0,n=0;return(e==null?void 0:e.top)!==void 0&&e.left!==void 0&&(t=e.top+window.pageYOffset,i=e.left+window.pageXOffset,n=e.right,s=e.bottom),{top:t,left:i,bottom:s,right:n}}function Qs(r,e,t){if(!r)return 0;let i=Number.parseFloat(r.style[t]);if(!i||Number.isNaN(i)){switch(e){case"outer":i=r[t==="width"?"offsetWidth":"offsetHeight"];break;case"scroll":i=r[t==="width"?"scrollWidth":"scrollHeight"];break;case"inner":default:i=r[t==="width"?"clientWidth":"clientHeight"];break}i=r.getBoundingClientRect()[t]}if(!i||Number.isNaN(i)){let s=r.style.display,n=r.style.position;r.style.display="block",r.style.position="absolute";let o=window.getComputedStyle(r)[t];i=Number.parseFloat(o),Number.isNaN(i)&&(i=0),r.style.display=s,r.style.position=n}return i||0}function xa(r,e){let t=null,i=r==null?void 0:r.parentElement;for(;i;){let[s,n,o,l]=e.match(/^([a-z]*)([#.]{1})([a-z\-]+)$/i)||[];if(o&&l)for(let a of l.replace(o,"").split(" "))i.classList.contains(a)&&(n?(i==null?void 0:i.tagName.toLowerCase())===n&&(t=i):t=i);i=i.parentElement}return t}function Yu(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function qu(r,e){let{[e]:t,...i}=r;return i}function Ia(r,e){r!=null&&r.style&&(r.style.display=r.style.display==="none"&&e!==!1||e===!0?"block":"none")}function Ku(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}var Xu=class{constructor(e){var i;V(this,"clusterRows"),V(this,"cache"),V(this,"scrollEl"),V(this,"blockHeight"),V(this,"clusterHeight"),V(this,"contentEl"),V(this,"parentEl"),V(this,"itemHeight"),V(this,"lastCluster"),V(this,"scrollTop"),V(this,"dataStart"),V(this,"dataEnd"),V(this,"rows"),V(this,"destroy"),V(this,"callback"),V(this,"sanitizer"),this.rows=e.rows,this.scrollEl=e.scrollEl,this.contentEl=e.contentEl,this.parentEl=(i=e.contentEl)==null?void 0:i.parentElement,this.callback=e.callback,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;let t=()=>{this.lastCluster!==(this.lastCluster=this.getNum())&&(this.initDOM(this.rows),this.callback())};this.scrollEl.addEventListener("scroll",t,!1),this.destroy=()=>{this.scrollEl.removeEventListener("scroll",t,!1),Xs(this.contentEl)}}reset(e){this.lastCluster=0,this.cache={},Xs(this.contentEl),this.initDOM(e)}initDOM(e){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let o=kr(e[0]);this.contentEl.appendChild(o),this.contentEl.appendChild(o),this.contentEl.appendChild(o),this.cache.data=[e[0]],this.getRowsHeight()}let t=this.initData(e,this.getNum()),i=this.checkChanges("data",t.rows),s=this.checkChanges("top",t.topOffset),n=this.checkChanges("bottom",t.bottomOffset);Xs(this.contentEl),i&&s?(t.topOffset&&this.contentEl.appendChild(this.getExtra("top",t.topOffset)),t.rows.forEach(o=>this.contentEl.appendChild(kr(o))),t.bottomOffset&&this.contentEl.appendChild(this.getExtra("bottom",t.bottomOffset))):n&&this.contentEl.lastChild&&(this.contentEl.lastChild.style.height=`${t.bottomOffset}px`)}getRowsHeight(){var e;if(typeof this.itemHeight>"u"){let t=((e=this.parentEl)==null?void 0:e.style.display)||"";this.parentEl&&(t===""||t==="none")&&(this.parentEl.style.display="block");let i=this.contentEl.children,s=i[Math.floor(i.length/2)];this.itemHeight=s.offsetHeight,this.parentEl&&(this.parentEl.style.display=t)}this.blockHeight=this.itemHeight*gt.BLOCK_ROWS,this.clusterRows=gt.BLOCK_ROWS*gt.CLUSTER_BLOCKS,this.clusterHeight=this.blockHeight*gt.CLUSTER_BLOCKS}getNum(){this.scrollTop=this.scrollEl.scrollTop;let e=(this.clusterHeight||0)-(this.blockHeight||0);return e&&Math.floor(this.scrollTop/e)||0}initData(e,t){if(e.length<gt.BLOCK_ROWS)return{topOffset:0,bottomOffset:0,rowsAbove:0,rows:e};let i=Math.max((this.clusterRows-gt.BLOCK_ROWS)*t,0),s=i+this.clusterRows,n=Math.max(i*this.itemHeight,0),o=Math.max((e.length-s)*this.itemHeight,0),l=[],a=i;n<1&&a++;for(let h=i;h<s;h++)e[h]&&l.push(e[h]);return this.dataStart=i,this.dataEnd=s,{topOffset:n,bottomOffset:o,rowsAbove:a,rows:l}}checkChanges(e,t){let i=t!==this.cache[e];return this.cache[e]=t,i}getExtra(e,t){let i=document.createElement("li");return i.className=`virtual-scroll-${e}`,t&&(i.style.height=`${t}px`),i}},os=".ms-select-all, ul li[data-key]",Qu=".ms-select-all.highlighted, ul li[data-key].highlighted",Zu=class{constructor(r,e){this.elm=r,V(this,"_bindEventService"),V(this,"isAllSelected",!1),V(this,"isPartiallyAllSelected",!1),V(this,"fromHtml",!1),V(this,"choiceElm"),V(this,"selectClearElm"),V(this,"closeElm"),V(this,"clearSearchIconElm"),V(this,"filterText",""),V(this,"updateData",[]),V(this,"data",[]),V(this,"dataTotal"),V(this,"dropElm"),V(this,"okButtonElm"),V(this,"filterParentElm"),V(this,"lastFocusedItemKey",""),V(this,"lastMouseOverPosition",""),V(this,"ulElm"),V(this,"parentElm"),V(this,"labelElm"),V(this,"selectAllParentElm"),V(this,"selectAllElm"),V(this,"searchInputElm"),V(this,"selectGroupElms"),V(this,"selectItemElms"),V(this,"noResultsElm"),V(this,"options"),V(this,"selectAllName",""),V(this,"selectGroupName",""),V(this,"selectItemName",""),V(this,"scrolledByMouse",!1),V(this,"openDelayTimer"),V(this,"updateDataStart"),V(this,"updateDataEnd"),V(this,"virtualScroll"),V(this,"_currentHighlightIndex",-1),V(this,"_currentSelectedElm"),V(this,"isMoveUpRecalcRequired",!1),V(this,"locales",{}),this.options=Object.assign({},gt.DEFAULTS,this.elm.dataset,e),this._bindEventService=new Nu({distinctEvent:!0})}get isRenderAsHtml(){return this.options.renderOptionLabelAsHtml||this.options.useSelectOptionLabelToHtml}init(){this.initLocale(),this.initContainer(),this.initData(),this.initSelected(!0),this.initFilter(),this.initDrop(),this.initView(),this.options.onAfterCreate()}destroy(r=!0){var e,t,i,s,n;this.elm&&this.parentElm&&(this.options.onDestroy({hardDestroy:r}),r&&this.options.onHardDestroy(),this.elm.parentElement&&this.parentElm.parentElement&&this.elm.parentElement.insertBefore(this.elm,this.parentElm.parentElement.firstChild),this.elm.classList.remove("ms-offscreen"),this._bindEventService.unbindAll(),(e=this.virtualScroll)==null||e.destroy(),(t=this.dropElm)==null||t.remove(),this.dropElm=void 0,(i=this.parentElm.parentNode)==null||i.removeChild(this.parentElm),this.fromHtml&&(delete this.options.data,this.fromHtml=!1),this.options.onAfterDestroy({hardDestroy:r}),r&&((n=(s=this.options).onAfterHardDestroy)==null||n.call(s),Object.keys(this.options).forEach(o=>delete this[o])))}initLocale(){if(this.options.locale){if(typeof this.options.locale=="object"){Object.assign(this.options,this.options.locale);return}let r=window.multipleSelect.locales,e=this.options.locale.split(/-|_/);if(e[0]=e[0].toLowerCase(),e[1]&&(e[1]=e[1].toUpperCase()),r[this.options.locale])Object.assign(this.options,r[this.options.locale]);else if(r[e.join("-")])Object.assign(this.options,r[e.join("-")]);else if(r[e[0]])Object.assign(this.options,r[e[0]]);else throw new Error(`[multiple-select-vanilla] invalid locales "${this.options.locale}", make sure to import it before using it`)}}initContainer(){var i;let r=this.elm.getAttribute("name")||this.options.name||"";this.options.classes&&this.elm.classList.add(this.options.classes),this.options.classPrefix&&(this.elm.classList.add(this.options.classPrefix),this.options.size&&this.elm.classList.add(`${this.options.classPrefix}-${this.options.size}`)),this.elm.style.display="none",this.labelElm=this.elm.closest("label"),!this.labelElm&&this.elm.id&&(this.labelElm=document.createElement("label"),this.labelElm.htmlFor=this.elm.id),(i=this.labelElm)!=null&&i.querySelector("input")&&(this.labelElm=null),typeof this.options.single>"u"&&(this.options.single=!this.elm.multiple),this.parentElm=Ue("div",{className:Pr(`ms-parent ${this.elm.className||""} ${this.options.classes}`).join(" "),dataset:{test:"sel"}}),this.options.darkMode&&this.parentElm.classList.add("ms-dark-mode");let e=this.elm.getAttribute("title")||"";e&&(this.parentElm.title=e),this.options.placeholder=this.options.placeholder||this.elm.getAttribute("placeholder")||"",this.choiceElm=Ue("button",{className:"ms-choice",type:"button"},this.parentElm),this.options.labelId&&(this.choiceElm.id=this.options.labelId,this.choiceElm.setAttribute("aria-labelledby",this.options.labelId)),this.choiceElm.appendChild(Ue("span",{className:"ms-placeholder",textContent:this.options.placeholder})),this.options.showClear&&(this.selectClearElm=Ue("div",{className:"ms-icon ms-icon-close"}),this.selectClearElm.style.display="none",this.choiceElm.appendChild(this.selectClearElm)),this.choiceElm.appendChild(Ue("div",{className:"ms-icon ms-icon-caret"})),this.dropElm=Ue("div",{className:`ms-drop ${this.options.position}`,ariaExpanded:"false"},this.parentElm),this.options.darkMode&&this.dropElm.classList.add("ms-dark-mode"),r&&(this.dropElm.dataset.name=r);let t=this.elm.getAttribute("data-test")||this.options.dataTest;t&&(this.parentElm.dataset.test=t,this.dropElm.dataset.test=t),this.closeElm=this.choiceElm.querySelector(".ms-icon-close"),this.options.dropWidth&&(this.dropElm.style.width=typeof this.options.dropWidth=="string"?this.options.dropWidth:`${this.options.dropWidth}px`),Yu(this.elm,this.parentElm),this.elm.disabled&&(this.choiceElm.classList.add("disabled"),this.choiceElm.disabled=!0),this.selectAllName=`selectAll${r}`,this.selectGroupName=`selectGroup${r}`,this.selectItemName=`selectItem${r}`,this.options.keepOpen||(this._bindEventService.unbindAll("body-click"),this._bindEventService.bind(document.body,"click",s=>{this.getEventTarget(s)===this.choiceElm||xa(this.getEventTarget(s),".ms-choice")===this.choiceElm||(this.getEventTarget(s)===this.dropElm||xa(this.getEventTarget(s),".ms-drop")!==this.dropElm&&this.getEventTarget(s)!==this.elm)&&this.options.isOpen&&this.close("body.click")},void 0,"body-click"))}initData(){let r=[];if(this.options.data){if(Array.isArray(this.options.data))this.data=this.options.data.map(e=>typeof e=="string"||typeof e=="number"?{text:e,value:e}:e);else if(typeof this.options.data=="object"){for(let[e,t]of Object.entries(this.options.data))r.push({value:e,text:`${t}`});this.data=r}}else this.elm.childNodes.forEach(e=>{let t=this.initRow(e);t&&r.push(t)}),this.options.data=r,this.data=r,this.fromHtml=!0;this.dataTotal=Uu(this.data||[])}initRow(r,e){var i,s;let t={};return((i=r.tagName)==null?void 0:i.toLowerCase())==="option"?(t.type="option",t.text=this.options.textTemplate(r),t.value=r.value,t.visible=!0,t.selected=!!r.selected,t.disabled=e||r.disabled,t.classes=r.getAttribute("class")||"",t.title=r.getAttribute("title")||"",r.dataset.value&&(t._value=r.dataset.value),Object.keys(r.dataset).length&&(t._data=r.dataset,t._data.divider&&(t.divider=t._data.divider)),t):((s=r.tagName)==null?void 0:s.toLowerCase())==="optgroup"?(t.type="optgroup",t.label=this.options.labelTemplate(r),t.visible=!0,t.selected=!!r.selected,t.disabled=r.disabled,t.children=[],Object.keys(r.dataset).length&&(t._data=r.dataset),r.childNodes.forEach(n=>{t.children.push(this.initRow(n,t.disabled))}),t):null}initDrop(){this.initList(),this.update(!0),this.options.isOpen&&this.open(10),this.options.openOnHover&&this.parentElm&&(this._bindEventService.bind(this.parentElm,"mouseover",()=>this.open(null)),this._bindEventService.bind(this.parentElm,"mouseout",()=>this.close("hover.mouseout")))}initFilter(){if(this.filterText="",this.options.filter||!this.options.filterByDataLength)return;let r=0;for(let e of this.data||[])e.type==="optgroup"?r+=e.children.length:r+=1;this.options.filter=r>this.options.filterByDataLength}initList(){var r,e;if(this.options.filter&&(this.filterParentElm=Ue("div",{className:"ms-search"},this.dropElm),this.filterParentElm.appendChild(Ue("input",{autocomplete:"off",autocapitalize:"off",spellcheck:!1,type:"text",placeholder:this.options.filterPlaceholder||"🔎︎"})),this.options.showSearchClear&&this.filterParentElm.appendChild(Ue("span",{className:"ms-icon ms-icon-close"}))),this.options.selectAll&&!this.options.single){let t=this.elm.getAttribute("name")||this.options.name||"";this.selectAllParentElm=Ue("div",{className:"ms-select-all",dataset:{key:"select_all"}});let i=document.createElement("label"),s=`ms-icon ${this.isAllSelected?"ms-icon-check":this.isPartiallyAllSelected?"ms-icon-minus":"ms-icon-uncheck"}`,n=Ue("div",{className:"icon-checkbox-container"},i);Ue("input",{type:"checkbox",ariaChecked:String(this.isAllSelected),checked:this.isAllSelected,dataset:{name:`selectAll${t}`}},n),Ue("div",{className:s},n),i.appendChild(Ue("span",{textContent:this.formatSelectAll()})),this.selectAllParentElm.appendChild(i),(r=this.dropElm)==null||r.appendChild(this.selectAllParentElm)}this.ulElm=document.createElement("ul"),this.ulElm.role="combobox",this.ulElm.ariaExpanded="false",this.ulElm.ariaMultiSelectable=String(!this.options.single),(e=this.dropElm)==null||e.appendChild(this.ulElm),this.options.showOkButton&&!this.options.single&&(this.okButtonElm=Ue("button",{className:"ms-ok-button",type:"button",textContent:this.formatOkButton()},this.dropElm)),this.initListItems()}initListItems(){var t;let r=0,e=this.getListRows();if(this.options.selectAll&&!this.options.single&&(r=-1),e.length>gt.BLOCK_ROWS*gt.CLUSTER_BLOCKS){let i=this.dropElm&&((t=this.dropElm)==null?void 0:t.style.display)!=="none";!i&&this.dropElm&&(this.dropElm.style.left="-10000",this.dropElm.style.display="block",this.dropElm.ariaExpanded="true");let s=()=>{if(this.virtualScroll){this._currentHighlightIndex=0,this.updateDataStart=this.virtualScroll.dataStart+r,this.updateDataEnd=this.virtualScroll.dataEnd+r,this.updateDataStart<0&&(this.updateDataStart=0,this._currentHighlightIndex=0);let n=this.getDataLength();this.updateDataEnd>n&&(this.updateDataEnd=n),this.ulElm&&(this.isMoveUpRecalcRequired?this.recalculateArrowMove("up"):this.virtualScroll.dataStart>this.updateDataStart&&this.recalculateArrowMove("down"))}};this.ulElm&&(this.virtualScroll?this.virtualScroll.reset(e):this.virtualScroll=new Xu({rows:e,scrollEl:this.ulElm,contentEl:this.ulElm,sanitizer:this.options.sanitizer,callback:()=>{s(),this.events()}})),s(),!i&&this.dropElm&&(this.dropElm.style.left="0",this.dropElm.style.display="none",this.dropElm.ariaExpanded="false")}else this.ulElm&&(Xs(this.ulElm),e.forEach(i=>this.ulElm.appendChild(kr(i)))),this.updateDataStart=0,this.updateDataEnd=this.updateData.length;return this.events(),e}getEventTarget(r){return r.composedPath?r.composedPath()[0]:r.target}getListRows(){var e;let r=[];return this.updateData=[],(e=this.data)==null||e.forEach(t=>r.push(...this.initListItem(t))),this.options.infiniteScroll&&r.push({tagName:"li",props:{className:"ms-infinite-option",role:"option"}}),r.push({tagName:"li",props:{className:"ms-no-results",textContent:this.formatNoMatchesFound()}}),r}initListItem(r,e=0){let t=(r==null?void 0:r.title)||"",i=this.options.multiple?"multiple":"",s=this.options.single?"radio":"checkbox",n=!!(r!=null&&r.selected),o=this.options.single&&!this.options.singleRadio,l="";if(!(r!=null&&r.visible))return[];if(this.updateData.push(r),o&&(l="hide-radio "),r.selected&&(l+="selected "),r.type==="optgroup"){let f=[],g;if(this.options.hideOptgroupCheckboxes||this.options.single)g={tagName:"span",props:{dataset:{name:this.selectGroupName,key:r._key}}};else{let S={tagName:"input",props:{type:"checkbox",dataset:{name:this.selectGroupName,key:r._key},checked:n,disabled:r.disabled}};o?g=S:g={tagName:"div",props:{className:`icon-checkbox-container${s==="radio"?" radio":""}`},children:[S,{tagName:"div",props:{className:`ms-icon ${n?s==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]}}!l.includes("hide-radio")&&(this.options.hideOptgroupCheckboxes||this.options.single)&&(l+="hide-radio ");let _={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(_.props,r.label);let C={tagName:"li",props:{className:Pr(`group${this.options.single||r.disabled?" disabled":""} ${l}`).join(" "),role:"option",ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:Pr(`optgroup${this.options.single||r.disabled?" disabled":""}`).join(" ")},children:[g,_]}]},b=this.options.cssStyler(r);return b&&(C.props.style=b),f.push(C),r.children.forEach(S=>f.push(...this.initListItem(S,1))),f}if(l+=r.classes||"",e&&this.options.single&&(l+=`option-level-${e} `),r.divider)return[{tagName:"li",props:{className:"option-divider"}}];let a=i||l?(i+l).trim():"";r.disabled&&(a+=" disabled");let h=`${r.disabled?"disabled":""}`,d={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(d.props,r.text);let c={tagName:"input",props:{type:s,value:encodeURI(r.value),dataset:{key:r._key,name:this.selectItemName},checked:n,disabled:!!r.disabled}};r.selected&&(c.attrs={checked:"checked"});let u={tagName:"div",props:{className:`icon-checkbox-container${s==="radio"?" radio":""}`},children:[c,{tagName:"div",props:{className:`ms-icon ${c.props.checked?s==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]},p={tagName:"li",props:{role:"option",title:t,ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:h},children:[o?c:u,d]}]};a&&(p.props.className=a);let m=this.options.cssStyler(r);return m&&(p.props.style=m),[p]}initSelected(r=!1){var t,i;let e=0;for(let s of this.data||[])if(s.type==="optgroup"){let n=s.children.filter(o=>(o==null?void 0:o.selected)&&!o.disabled&&o.visible).length;s.children.length&&(s.selected=!this.options.single&&n&&n===s.children.filter(o=>o&&!o.disabled&&o.visible&&!o.divider).length),e+=n}else e+=s.selected&&!s.disabled&&s.visible?1:0;this.isAllSelected=((t=this.data)==null?void 0:t.filter(s=>s.selected&&!s.disabled&&s.visible).length)===((i=this.data)==null?void 0:i.filter(s=>!s.disabled&&s.visible&&!s.divider).length),this.isPartiallyAllSelected=!this.isAllSelected&&e>0,r||(this.isAllSelected?this.options.onCheckAll():e===0&&this.options.onUncheckAll())}initView(){let r;window.getComputedStyle?(r=window.getComputedStyle(this.elm).width,r==="auto"&&(r=Qs(this.dropElm,"outer","width")+20)):r=Qs(this.elm,"outer","width")+20,this.parentElm.style.width=`${this.options.width||r}px`,this.elm.classList.add("ms-offscreen")}events(){var e,t,i,s,n,o,l;this._bindEventService.unbindAll(["ok-button","search-input","select-all-checkbox","input-checkbox-list","group-checkbox-list","hover-highlight","arrow-highlight","option-list-scroll"]),this.clearSearchIconElm=(e=this.filterParentElm)==null?void 0:e.querySelector(".ms-icon-close"),this.searchInputElm=(t=this.dropElm)==null?void 0:t.querySelector(".ms-search input"),this.selectAllElm=(i=this.dropElm)==null?void 0:i.querySelector(`input[data-name="${this.selectAllName}"]`),this.selectGroupElms=(s=this.dropElm)==null?void 0:s.querySelectorAll(`input[data-name="${this.selectGroupName}"],span[data-name="${this.selectGroupName}"]`),this.selectItemElms=(n=this.dropElm)==null?void 0:n.querySelectorAll(`input[data-name="${this.selectItemName}"]:enabled`),this.noResultsElm=(o=this.dropElm)==null?void 0:o.querySelector(".ms-no-results");let r=a=>{a.preventDefault(),!this.getEventTarget(a).classList.contains("ms-icon-close")&&(this.options.isOpen?this.close("toggle.close"):this.open())};this.labelElm&&this._bindEventService.bind(this.labelElm,"click",a=>{this.getEventTarget(a).nodeName.toLowerCase()==="label"&&(r(a),(!this.options.filter||!this.options.isOpen)&&this.focus(),a.stopPropagation())}),this._bindEventService.bind(this.choiceElm,"click",r),this.options.onFocus&&this._bindEventService.bind(this.choiceElm,"focus",this.options.onFocus),this.options.onBlur&&this._bindEventService.bind(this.choiceElm,"blur",this.options.onBlur),this._bindEventService.bind(this.parentElm,"keydown",a=>{a.code==="Escape"&&this.handleEscapeKey()}),this.closeElm&&this._bindEventService.bind(this.closeElm,"click",a=>{a.preventDefault(),this._checkAll(!1,!0),this.initSelected(!1),this.updateSelected(),this.update(),this.options.onClear()}),this.clearSearchIconElm&&this._bindEventService.bind(this.clearSearchIconElm,"click",a=>{a.preventDefault(),this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this._currentHighlightIndex=-1,this.moveHighlightDown(),this.filter(),this.options.onFilterClear()}),this.searchInputElm&&(this._bindEventService.bind(this.searchInputElm,"keydown",a=>{a.code==="Tab"&&a.shiftKey&&this.close("key.shift+tab")},void 0,"search-input"),this._bindEventService.bind(this.searchInputElm,"keyup",a=>{var h,d,c;if(this.options.filterAcceptOnEnter&&["Enter","Space"].includes(a.code)&&((h=this.searchInputElm)!=null&&h.value)){if(this.options.single){let u=[];(d=this.selectItemElms)==null||d.forEach(p=>{var m;((m=p.closest("li"))==null?void 0:m.style.display)!=="none"&&u.push(p)}),u.length&&u[0].hasAttribute("data-name")&&this.setSelects([u[0].value])}else(c=this.selectAllElm)==null||c.click();this.close(`key.${a.code.toLowerCase()}`),this.focus();return}this.filter()},void 0,"search-input")),this.selectAllElm&&this._bindEventService.bind(this.selectAllElm,"click",a=>{var h;return this._checkAll((h=a.currentTarget)==null?void 0:h.checked)},void 0,"select-all-checkbox"),this.okButtonElm&&this._bindEventService.bind(this.okButtonElm,"click",a=>{r(a),a.stopPropagation()},void 0,"ok-button"),this.selectGroupElms&&this._bindEventService.bind(this.selectGroupElms,"click",a=>{let h=a.currentTarget,d=h.checked,c=Ks(this.data,"_key",h.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(Rr({label:c.label,selected:c.selected,data:c._data,children:c.children.map(u=>{if(u)return Rr({text:u.text,value:u.value,selected:u.selected,disabled:u.disabled,data:u._data})})}))},void 0,"group-checkbox-list"),this.selectItemElms&&this._bindEventService.bind(this.selectItemElms,"click",a=>{let h=a.currentTarget,d=h.checked,c=Ks(this.data,"_key",h.dataset.key),u=()=>{this.options.single&&this.options.isOpen&&!this.options.keepOpen&&this.close("selection")};if(this.options.onBeforeClick(c)===!1){u();return}this._check(c,d),this.options.onClick(Rr({text:c.text,value:c.value,selected:c.selected,data:c._data})),u()},void 0,"input-checkbox-list"),this.lastFocusedItemKey&&this.dropElm&&((l=this.dropElm.querySelector(`li[data-key=${this.lastFocusedItemKey}]`))==null||l.focus()),this.options.navigationHighlight&&this.dropElm&&(this._bindEventService.bind(this.dropElm,"mouseover",a=>{var d,c;let h=this.getEventTarget(a).closest(".ms-select-all")||this.getEventTarget(a).closest("li");if((d=this.dropElm)!=null&&d.contains(h)&&this.lastMouseOverPosition!==`${a.clientX}:${a.clientY}`){let u=((c=this.dropElm)==null?void 0:c.querySelectorAll(os))||[],p=Array.from(u).findIndex(m=>m.dataset.key===h.dataset.key);this._currentHighlightIndex!==p&&!h.classList.contains("disabled")&&(this._currentSelectedElm=h,this._currentHighlightIndex=p,this.changeCurrentOptionHighlight(h))}this.lastMouseOverPosition=`${a.clientX}:${a.clientY}`},void 0,"hover-highlight"),this._bindEventService.bind(this.dropElm,"keydown",a=>{var h,d,c,u;switch(a.key){case"ArrowUp":a.preventDefault(),this.moveHighlightUp();break;case"ArrowDown":a.preventDefault(),this.moveHighlightDown();break;case"Escape":this.handleEscapeKey();break;case"Enter":case" ":{if(document.activeElement!==this.okButtonElm){let p=this.getEventTarget(a).closest(".ms-select-all")||this.getEventTarget(a).closest("li");if(a.key===" "&&this.options.filter||this.options.filterAcceptOnEnter&&!p)return;a.preventDefault(),(d=(h=this._currentSelectedElm)==null?void 0:h.querySelector("input"))==null||d.click(),this.options.single&&(this.choiceElm.focus(),this.lastFocusedItemKey=((c=this.choiceElm)==null?void 0:c.dataset.key)||"")}break}case"Tab":{a.preventDefault(),a.shiftKey?document.activeElement===this.okButtonElm?(this.focusSelectAllOrList(),this.highlightCurrentOption()):(this.close("key.shift+tab"),this.choiceElm.focus()):(this.changeCurrentOptionHighlight(),(u=this.okButtonElm)==null||u.focus());break}}},void 0,"arrow-highlight")),this.ulElm&&this.options.infiniteScroll&&this._bindEventService.bind(this.ulElm,"scroll",this.infiniteScrollHandler.bind(this),void 0,"option-list-scroll")}handleEscapeKey(){this.options.keepOpen||(this.close("key.escape"),this.choiceElm.focus())}infiniteScrollHandler(r,e,t){let i=!1;r&&this.getEventTarget(r)&&this.ulElm&&this.scrolledByMouse?this.getEventTarget(r).scrollTop+this.getEventTarget(r).clientHeight===this.ulElm.scrollHeight&&(i=!0):e!==void 0&&e+1===t&&(i=!0),i&&this.ulElm&&(this.virtualScroll?this.initListItems():this.ulElm.scrollTop=0,this._currentHighlightIndex=0,this.highlightCurrentOption())}open(r=0){return new Promise(e=>{r!==null&&r>=0?(window.clearTimeout(this.openDelayTimer),this.openDelayTimer=window.setTimeout(()=>{this.openDrop(),e()},r)):(this.openDrop(),e())})}openDrop(){var i,s,n,o,l;if(!this.dropElm||(i=this.choiceElm)!=null&&i.classList.contains("disabled"))return;if(this.options.isOpen=!0,this.parentElm.classList.add("ms-parent-open"),(n=(s=this.choiceElm)==null?void 0:s.querySelector("div.ms-icon-caret"))==null||n.classList.add("open"),this.dropElm.style.display="block",this.dropElm.ariaExpanded="true",(o=this.selectAllElm)!=null&&o.parentElement&&(this.selectAllElm.parentElement.style.display="inline-flex"),this.noResultsElm&&(this.noResultsElm.style.display="none"),this.getDataLength()||((l=this.selectAllElm)!=null&&l.parentElement&&(this.selectAllElm.parentElement.style.display="none"),this.noResultsElm&&(this.noResultsElm.style.display="block")),this.options.container){let a=Fr(this.dropElm),h;this.options.container instanceof Node?h=this.options.container:typeof this.options.container=="string"&&(h=this.options.container==="body"?document.body:document.querySelector(this.options.container)),h.appendChild(this.dropElm),this.dropElm.style.top=`${(a==null?void 0:a.top)??0}px`,this.dropElm.style.left=`${(a==null?void 0:a.left)??0}px`,this.dropElm.style.minWidth="auto",this.dropElm.style.width=`${Qs(this.parentElm,"outer","width")}px`}let r=this.options.minHeight,e=this.options.maxHeight;this.options.maxHeightUnit==="row"&&(e=Qs(this.dropElm.querySelector("ul>li"),"outer","height")*this.options.maxHeight),this.ulElm??(this.ulElm=this.dropElm.querySelector("ul")),this.ulElm&&(r&&(this.ulElm.style.minHeight=`${r}px`),this.ulElm.style.maxHeight=`${e}px`),this.dropElm.querySelectorAll(".multiple").forEach(a=>{a.style.width=`${this.options.multipleWidth}px`}),this.getDataLength()&&this.options.filter?(this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this.filter(!0)):this.focusSelectAllOrList(),this._currentHighlightIndex<0?this.moveHighlightDown():this.highlightCurrentOption(),this.options.autoAdjustDropWidthByTextSize&&this.adjustDropWidthByText();let t=this.options.position;if(this.options.autoAdjustDropHeight){if(this.options.autoAdjustDropPosition){let{bottom:a,top:h}=Ar(this.dropElm),d=this.dropElm.getBoundingClientRect().height;t=a<d&&h>a?"top":"bottom"}this.adjustDropHeight(t)}this.options.autoAdjustDropPosition&&this.adjustDropPosition(!0),this.options.onOpen()}focusSelectAllOrList(){this.selectAllElm?this.selectAllElm.focus():this.ulElm&&(this.ulElm.tabIndex=0,this.ulElm.focus())}highlightCurrentOption(){var e;let r=((e=this.dropElm)==null?void 0:e.querySelectorAll(os))||[];if(this._currentHighlightIndex<=r.length){let t=r[this._currentHighlightIndex];t&&(this.lastFocusedItemKey=t.dataset.key||"",this._currentSelectedElm=t,this.scrolledByMouse=!1,t.scrollIntoView({block:"nearest"}),this.changeCurrentOptionHighlight(t),window.setTimeout(()=>this.scrolledByMouse=!0,10))}}changeCurrentOptionHighlight(r){var e;r==null||r.classList.add("highlighted"),(((e=this.dropElm)==null?void 0:e.querySelectorAll(Qu))||[]).forEach(t=>{t!==r&&t.classList.remove("highlighted")})}moveHighlightDown(){var t,i;let r=((t=this.dropElm)==null?void 0:t.querySelectorAll(os))||[],e=r.length;this._currentHighlightIndex<e-1?(this._currentHighlightIndex++,(i=r[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightDown()):this.options.infiniteScroll&&this.infiniteScrollHandler(null,this._currentHighlightIndex,e),this.highlightCurrentOption()}moveHighlightUp(){var t,i;let r=((t=this.dropElm)==null?void 0:t.querySelectorAll(os))||[],e=this.options.single?0:1;if(this.virtualScroll&&this._currentHighlightIndex<=e&&this.updateDataStart>0&&this.ulElm){let s=r[this._currentHighlightIndex+(this.options.single?0:1)],n=s==null?void 0:s.dataset.key;this.lastFocusedItemKey=n,this.ulElm.scrollTop=this.ulElm.scrollTop-(s==null?void 0:s.getBoundingClientRect().height)||10,this.isMoveUpRecalcRequired=!0;return}this._currentHighlightIndex>0&&(this._currentHighlightIndex--,(i=r[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightUp()),this.highlightCurrentOption()}recalculateArrowMove(r){var i;let e=((i=this.dropElm)==null?void 0:i.querySelectorAll(os))||[],t=Array.from(e).findIndex(s=>s.dataset.key===this.lastFocusedItemKey);this._currentHighlightIndex=t-1,r==="down"?this.moveHighlightDown():r==="up"&&(this.moveHighlightUp(),this.isMoveUpRecalcRequired=!1)}close(r){var e,t;this.options.isOpen=!1,this.parentElm.classList.remove("ms-parent-open"),(t=(e=this.choiceElm)==null?void 0:e.querySelector("div.ms-icon-caret"))==null||t.classList.remove("open"),this.dropElm&&(this.dropElm.style.display="none",this.dropElm.ariaExpanded="false",this.options.container&&(this.parentElm.appendChild(this.dropElm),this.dropElm.style.top="auto",this.dropElm.style.left="auto")),this.options.onClose(r)}applyAsTextOrHtmlWhenEnabled(r,e){r||(r={}),this.isRenderAsHtml?r.innerHTML=typeof this.options.sanitizer=="function"?this.options.sanitizer(e):e:r.textContent=e}update(r=!1){var a;let e=this.getSelects(),t=this.getSelects("text");this.options.displayValues&&(t=e);let i=(a=this.choiceElm)==null?void 0:a.querySelector("span"),s=e.length,n=null,o=()=>{if(this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml){let h=e.join(this.options.displayDelimiter);return this.options.useSelectOptionLabelToHtml?ju(h):h}return t.join(this.options.displayDelimiter)};if(i){if(s===0){let h=this.options.placeholder||"";i.classList.add("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,h)}else s<this.options.minimumCountSelected?n=o():this.formatAllSelected()&&s===this.dataTotal?n=this.formatAllSelected():this.options.ellipsis&&s>this.options.minimumCountSelected?n=`${t.slice(0,this.options.minimumCountSelected).join(this.options.displayDelimiter)}...`:this.formatCountSelected(s,this.dataTotal)&&s>this.options.minimumCountSelected?n=this.formatCountSelected(s,this.dataTotal):n=o();if(n!==null&&(i==null||i.classList.remove("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,n)),this.options.showClear&&this.selectClearElm){let h=n?"block":"none";this.selectClearElm.style.display=h}if(this.options.displayTitle){let h=this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml?"value":"text";i.title=this.getSelects(h).join(this.options.displayDelimiter)}}let l=this.getSelects();this.options.single?this.elm.value=l.length?l[0]:"":Array.from(this.elm.options).forEach(h=>{h.selected=l.some(d=>d===h.value)}),r||this.elm.dispatchEvent(new Event("change"))}updateSelected(r){var t,i,s;for(let n=this.updateDataStart;n<this.updateDataEnd;n++){let o=this.updateData[n],l=(t=this.dropElm)==null?void 0:t.querySelector(`input[data-key=${o._key}]`);if(l){l.checked=o.selected;let a=l.closest("li"),h=a==null?void 0:a.querySelector(".icon-checkbox-container div");a&&(o.selected&&!a.classList.contains("selected")?(a.classList.add("selected"),a.ariaSelected="true",h&&(h.className=`ms-icon ms-icon-${l.type==="radio"?"radio":"check"}`)):o.selected||(a.classList.remove("selected"),a.ariaSelected="false",h&&(h.className="ms-icon ms-icon-uncheck")))}}let e=((i=this.data)==null?void 0:i.filter(n=>n.visible).length)===0;if(this.selectAllElm){this.selectAllElm.ariaChecked=String(this.isAllSelected);let n=(s=this.dropElm)==null?void 0:s.querySelector(".ms-select-all .icon-checkbox-container div");if(n){let o="";this.isAllSelected?o="ms-icon-check":this.isPartiallyAllSelected?o="ms-icon-minus":o="ms-icon-uncheck",n.className=`ms-icon ${o}`}this.selectAllElm.checked=this.isAllSelected,Ia(this.selectAllElm.closest("li"),!e)}Ia(this.noResultsElm,e),this.virtualScroll&&(this.virtualScroll.rows=r??this.getListRows())}getData(){return this.options.data}getDataLength(){var r;return((r=this.data)==null?void 0:r.length)??0}getOptions(r=!0){let e=Object.assign({},this.options);return delete e.data,r?xr(e):this.options}refreshOptions(r){Wu(this.options,r,!0)||(this.options=Object.assign(this.options,r),this.destroy(!1),this.init())}getDropElement(){return this.dropElm}getParentElement(){return this.parentElm}getSelects(r="value"){let e=[];for(let t of this.data||[])if(t.type==="optgroup"){let i=t.children.filter(s=>s==null?void 0:s.selected);if(!i.length)continue;if(r==="value"||this.options.single)e.push(...i.map(s=>r==="value"&&s._value||s[r]));else{let s=[];s.push("["),s.push(t.label),s.push(`: ${i.map(n=>n[r]).join(", ")}`),s.push("]"),e.push(s.join(""))}}else t.selected&&e.push(r==="value"&&t._value||t[r]);return e}setSelects(r,e="value",t=!1){let i=!1,s=n=>{var o;for(let l of n){let a=!1;if(e==="text"){let h=document.createElement("div");this.applyAsTextOrHtmlWhenEnabled(h,l.text),a=r.includes(((o=h.textContent)==null?void 0:o.trim())??"")}else a=r.includes(l._value||l.value),!a&&l.value===`${+l.value}`&&(a=r.includes(+l.value));l.selected!==a&&(i=!0),l.selected=a}};for(let n of this.data||[])n.type==="optgroup"?s(n.children):s([n]);i&&(this.initSelected(t),this.updateSelected(),this.update(t))}enable(){this.choiceElm&&(this.choiceElm.classList.remove("disabled"),this.choiceElm.disabled=!1)}disable(){var r;this.choiceElm&&((r=this.choiceElm)==null||r.classList.add("disabled"),this.choiceElm.disabled=!0)}check(r){let e=Ks(this.data,"value",r);e&&this._check(e,!0)}uncheck(r){let e=Ks(this.data,"value",r);e&&this._check(e,!1)}_check(r,e){this.options.single&&this._checkAll(!1,!0),r.selected=e,this.initSelected(),this.updateSelected(),this.update()}checkAll(){this._checkAll(!0)}uncheckAll(){this._checkAll(!1)}_checkAll(r,e){for(let t of this.data||[])t.type==="optgroup"?this._checkGroup(t,r,!0):!t.disabled&&!t.divider&&(e||t.visible)&&(t.selected=r);e||(this.initSelected(),this.updateSelected(),this.update())}_checkGroup(r,e,t){r.selected=e,r.children.forEach(i=>{i&&!i.disabled&&!i.divider&&(t||i.visible)&&(i.selected=e)}),t||(this.initSelected(),this.updateSelected(),this.update())}checkInvert(){if(!this.options.single){for(let r of this.data||[])if(r.type==="optgroup")for(let e of r.children)e&&(e.divider||(e.selected=!e.selected));else r&&!r.divider&&(r.selected=!r.selected);this.initSelected(),this.updateSelected(),this.update()}}focus(){var r;(r=this.choiceElm)==null||r.focus(),this.options.onFocus()}blur(){var r;(r=this.choiceElm)==null||r.blur(),this.options.onBlur()}refresh(){this.destroy(!1),this.init()}filter(r){var s;let e=((s=this.searchInputElm)==null?void 0:s.value.trim())??"",t=e.toLowerCase();if(this.filterText===t)return;this.filterText=t;for(let n of this.data||[])if(n.type==="optgroup")if(this.options.filterGroup){let o=`${(n==null?void 0:n.label)??""}`;if(n!=null){let l=this.options.customFilter({label:Oi(o.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalLabel:o,originalSearch:e,row:n});n.visible=l;for(let a of n.children)a&&(a.visible=l)}}else{for(let o of n.children)if(o!=null){let l=`${(o==null?void 0:o.text)??""}`;o.visible=this.options.customFilter({text:Oi(l.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalText:l,originalSearch:e,row:o,parent:n})}n.visible=n.children.filter(o=>o==null?void 0:o.visible).length>0}else{let o=`${(n==null?void 0:n.text)??""}`;n.visible=this.options.customFilter({text:Oi(o.toString().toLowerCase(),this.options.diacriticParser),search:Oi(t,this.options.diacriticParser),originalText:o,originalSearch:e,row:n})}let i=this.initListItems();this.initSelected(r),this.updateSelected(i),r||this.options.onFilter(e)}adjustDropHeight(r){var h,d,c,u;let e=r!=="top",t=((h=this.filterParentElm)==null?void 0:h.getBoundingClientRect().height)??0,i=((d=this.okButtonElm)==null?void 0:d.getBoundingClientRect().height)??0,s=this.options.single?0:((c=this.selectAllParentElm)==null?void 0:c.getBoundingClientRect().height)??0,n=t+i+s+5,{bottom:o,top:l}=Ar(this.parentElm),a=this.options.maxHeight;if(e?a=o-n-this.options.adjustedHeightPadding:a=l-n-this.options.adjustedHeightPadding,!this.options.maxHeight||this.options.maxHeight&&a<this.options.maxHeight){let p=(u=this.dropElm)==null?void 0:u.querySelector("ul");return p&&(p.style.maxHeight=`${a}px`),!0}return!1}adjustDropPosition(r){let e="bottom";if(this.dropElm&&this.parentElm){let{bottom:t,top:i}=Ar(this.dropElm),{top:s,left:n}=Fr(this.parentElm),o=this.dropElm.getBoundingClientRect().height,l=this.dropElm.getBoundingClientRect().width,a=document.body.offsetWidth||window.innerWidth,h=this.parentElm.getBoundingClientRect().width;if(t>o)e="bottom";else if(o>t&&i>t){if(this.options.container){let d=s-o;d<0&&(d=0),(d>0||r)&&(e="top",this.dropElm.style.top=`${d<0?0:d}px`)}else e="top",this.dropElm.classList.add(e);this.dropElm.classList.remove("bottom")}a-l<n&&(this.dropElm.style.left=`${n-(l-h)}px`)}return e}adjustDropWidthByText(){if(this.dropElm){let r=this.parentElm.scrollWidth;(this.options.dropWidth||this.options.width)&&(r=this.options.dropWidth||this.options.width||0);let e=this.dropElm.querySelector(".ms-select-all span"),t=this.dropElm.querySelector("ul"),i=26,s=(e==null?void 0:e.clientWidth)??0+i,n=t.scrollHeight>t.clientHeight?this.getScrollbarWidth():0,o=0;this.dropElm.querySelectorAll("li label").forEach(l=>{l.scrollWidth>o&&(o=l.scrollWidth)}),o+=i+n,o<s&&(o=s),this.options.maxWidth&&o>this.options.maxWidth&&(o=this.options.maxWidth),this.options.minWidth&&o<this.options.minWidth&&(o=this.options.minWidth),(r==="100%"||+r<o)&&(this.dropElm.style.width=`${o}px`,this.dropElm.style.maxWidth=`${o}px`)}}getScrollbarWidth(){var s;let r=document.createElement("div");r.style.visibility="hidden",r.style.width="100px",document.body.appendChild(r);let e=r.offsetWidth;r.style.overflow="scroll";let t=document.createElement("div");t.style.width="100%",r.appendChild(t);let i=t.offsetWidth;return(s=r.parentNode)==null||s.removeChild(r),e-i}formatAllSelected(){return this.options.allSelectedText||this.options.formatAllSelected()}formatCountSelected(r,e){return this.options.countSelectedText?this.options.countSelectedText.replace("#",`${r}`).replace("%",`${e}`):this.options.formatCountSelected(r,e)}formatNoMatchesFound(){return this.options.noMatchesFoundText||this.options.formatNoMatchesFound()}formatOkButton(){return this.options.okButtonText||this.options.formatOkButton()}formatSelectAll(){return this.options.selectAllText||this.options.formatSelectAll()}},xi=(r,e)=>typeof r=="string"?Dr(document.querySelectorAll(r),e):r instanceof Node?Dr([r],e):Dr(r,e);function Dr(r,e){let t=Array.from(r),i=[];for(let s=0;s<t.length;s++){let n=t[s];try{n._multipleSelect!==void 0&&(n._multipleSelect.destroy(),delete n._multipleSelect),n._multipleSelect=new Zu(n,e||{}),n._multipleSelect.init();let o=n._multipleSelect.getOptions(!1);o.onHardDestroy=()=>delete n._multipleSelect,o.onAfterHardDestroyed=()=>i[s]=null,i.push(n._multipleSelect)}catch(o){console.error(o)}}return i.length===1?i[0]:i}xi.defaults=gt.DEFAULTS,xi.locales={...wa},xi.methods=gt.METHODS,typeof window<"u"&&(window.multipleSelect=xi);class Ra{constructor(e,t,i,s=!0){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._isMultipleSelect=!0,this._collectionLength=0,this._collectionObservers=[],this._shouldTriggerQuery=!0,this.isFilled=!1,this.enableTranslateLabel=!1,this.subscriptions=[],this._isMultipleSelect=s}get collectionOptions(){var e,t;return((t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.collectionOptions)??{}}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)??{}}get customStructure(){var e,t;return(t=(e=this.columnDef)==null?void 0:e.filter)==null?void 0:t.customStructure}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get defaultOperator(){return this.isMultipleSelect?H.in:H.equal}get filterOptions(){var e,t;return{...(e=this.gridOptions.defaultFilterOptions)==null?void 0:e.select,...(t=this.columnFilter)==null?void 0:t.filterOptions}}get isMultipleSelect(){return this._isMultipleSelect}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get operator(){var e;return((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.columnFilter&&(this.columnFilter.operator=e)}init(e){var s,n,o,l,a,h,d,c,u,p,m;if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.searchTerms=(e.hasOwnProperty("searchTerms")?e.searchTerms:[])||[],this.filterContainerElm=e.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the MultipleSelect/SingleSelect Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.multipleSelect, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);if(this.enableTranslateLabel=((s=this.columnFilter)==null?void 0:s.enableTranslateLabel)??!1,this.labelName=((n=this.customStructure)==null?void 0:n.label)??"label",this.labelPrefixName=((o=this.customStructure)==null?void 0:o.labelPrefix)??"labelPrefix",this.labelSuffixName=((l=this.customStructure)==null?void 0:l.labelSuffix)??"labelSuffix",this.optionLabel=((a=this.customStructure)==null?void 0:a.optionLabel)??"value",this.valueName=((h=this.customStructure)==null?void 0:h.value)??"value",this.enableTranslateLabel&&(!this.translaterService||typeof this.translaterService.translate!="function"))throw new Error('[select-filter] The Translate Service is required for the Select Filter to work correctly when "enableTranslateLabel" is set.');this._locales=((d=this.gridOptions)==null?void 0:d.locales)??R.locales,this.initMultipleSelectTemplate();let t=((c=this.gridOptions)==null?void 0:c.defaultFilterPlaceholder)||"";(u=this.columnFilter)!=null&&u.placeholder&&(t=this.columnFilter.placeholder),this.defaultOptions.placeholder=t||"",this._isMultipleSelect&&((p=this.columnDef)!=null&&p.filter)&&(this.columnDef.filter.emptySearchTermReturnAllValues=((m=this.columnDef.filter)==null?void 0:m.emptySearchTermReturnAllValues)??!1);const i=this.columnFilter.collection||[];return new Promise(async(f,g)=>{try{let _;this.columnFilter.collectionAsync&&!this.columnFilter.collection?(_=Yo(this.columnFilter.collectionAsync,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),f(_)):(_=i,this.renderDomElement(i),f(i)),(this.columnFilter.collectionAsync||this.columnFilter.enableCollectionWatch)&&(await(_??this.columnFilter.collectionAsync),this.watchCollectionChanges())}catch(_){g(_)}})}clear(e=!0){this._msInstance&&this._collectionLength>0&&(this._msInstance.setSelects([]),this.updateFilterStyle(!1),this.searchTerms=[],this._shouldTriggerQuery=e,this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0)}destroy(){var e,t;typeof((e=this._msInstance)==null?void 0:e.destroy)=="function"&&this._msInstance.destroy(),(t=this.filterElm)==null||t.remove(),cs(this.subscriptions)}getValues(){var e;return((e=this._msInstance)==null?void 0:e.getSelects())??[]}setValues(e,t,i=!1){e!==void 0&&this._msInstance&&(e=Array.isArray(e)?e.every(s=>$i(s))?e.map(String):e:[e],this._msInstance.setSelects(e)),this.updateFilterStyle(this.getValues().length>0),this.operator=t||this.defaultOperator,i&&this.onTriggerEvent()}filterCollection(e){var i,s;let t=e;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const n=this.columnFilter.collectionFilterBy,o=((i=this.columnFilter.collectionOptions)==null?void 0:i.filterResultAfterEachPass)||null;t=((s=this.collectionService)==null?void 0:s.filterCollection(t,n,o))||[]}return t}sortCollection(e){var i;let t=e;if(this.columnFilter&&this.columnFilter.collectionSortBy){const s=this.columnFilter.collectionSortBy;t=((i=this.collectionService)==null?void 0:i.sortCollection(this.columnDef,t,s,this.enableTranslateLabel))||[]}return t}watchCollectionChanges(){var e;(e=this.columnFilter)!=null&&e.collection&&(this._collectionObservers.push(ci(this.columnFilter.collection,this.watchCallback.bind(this))),hs(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(e){this.renderDomElement(e||[]),this.columnFilter.collection&&this._collectionObservers.push(ci(this.columnFilter.collection,this.watchCallback.bind(this)))}watchCallback(e){this.renderDomElement(this.columnFilter.collection||e||[])}renderDomElement(e){var n,o,l,a;if(!Array.isArray(e)&&((n=this.collectionOptions)!=null&&n.collectionInsideObjectProperty)){const h=this.collectionOptions.collectionInsideObjectProperty;e=Ee(e,h||"")}if(!Array.isArray(e))throw new Error('The "collection" passed to the Select Filter is not a valid array.');let t=[];if(e.length>0&&(t=[...e]),(o=this.collectionOptions)!=null&&o.addBlankEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==""&&t.unshift(this.createBlankEntry()),(l=this.collectionOptions)!=null&&l.addCustomFirstEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&t.unshift(this.collectionOptions.addCustomFirstEntry),(a=this.collectionOptions)!=null&&a.addCustomLastEntry&&Array.isArray(t)&&t.length>0){const h=t.length-1;t[h][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&t.push(this.collectionOptions.addCustomLastEntry)}let i=t;i=this.filterCollection(i),i=this.sortCollection(i);const s=Xl("filter",i,this.columnDef,this.grid,this.isMultipleSelect,this.translaterService,this.searchTerms||[]);this.isFilled=s.hasFoundSearchTerm,this.createFilterElement(s.selectElement,s.dataCollection),this._collectionLength=i.length}createBlankEntry(){const e={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(e[this.labelPrefixName]=""),this.labelSuffixName&&(e[this.labelSuffixName]=""),e}createFilterElement(e,t){var s;const i=((s=this.columnDef)==null?void 0:s.id)??"";this.elementName=`filter-${i}`,this.defaultOptions.name=this.elementName,ee(this.filterContainerElm),this.filterElm=e,this.filterElm.dataset.columnId=`${i}`,this.updateFilterStyle(this.isFilled),this.filterContainerElm.appendChild(e),this.filterElmOptions={...this.defaultOptions,...this.filterOptions,data:t},this._msInstance=xi(e,this.filterElmOptions)}initMultipleSelectTemplate(){var s,n,o,l,a,h,d,c,u,p,m,f,g;const e=((s=this.gridOptions)==null?void 0:s.enableTranslate)??!1,i={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,name:`${((n=this.columnDef)==null?void 0:n.id)??""}`,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,single:!0,singleRadio:!0,showSearchClear:!0,renderOptionLabelAsHtml:((o=this.columnFilter)==null?void 0:o.enableRenderHtml)??!1,sanitizer:_=>this.grid.sanitizeHtmlString(_),onClose:()=>this.onTriggerEvent(),onClear:()=>this.clear()};if(this._isMultipleSelect){i.single=!1,i.singleRadio=!1,i.showOkButton=!0,i.displayTitle=!0;const _=lt(this.gridOptions);i.countSelectedText=e&&((l=this.translaterService)!=null&&l.translate)?this.translaterService.translate(`${_}X_OF_Y_SELECTED`):(a=this._locales)==null?void 0:a.TEXT_X_OF_Y_SELECTED,i.allSelectedText=e&&((h=this.translaterService)!=null&&h.translate)?this.translaterService.translate(`${_}ALL_SELECTED`):(d=this._locales)==null?void 0:d.TEXT_ALL_SELECTED,i.noMatchesFoundText=e&&((c=this.translaterService)!=null&&c.translate)?this.translaterService.translate(`${_}NO_MATCHES_FOUND`):(u=this._locales)==null?void 0:u.TEXT_NO_MATCHES_FOUND,i.okButtonText=e&&((p=this.translaterService)!=null&&p.translate)?this.translaterService.translate(`${_}OK`):(m=this._locales)==null?void 0:m.TEXT_OK,i.selectAllText=e&&((f=this.translaterService)!=null&&f.translate)?this.translaterService.translate(`${_}SELECT_ALL`):(g=this._locales)==null?void 0:g.TEXT_SELECT_ALL}this.defaultOptions=i}onTriggerEvent(){if(this._msInstance){const e=this.getValues();this.updateFilterStyle(Array.isArray(e)&&e.length>1||e.length===1&&e[0]!==""),this.searchTerms=e,this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:e,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0}}updateFilterStyle(e){var t,i,s,n,o,l;e?(this.isFilled=!0,(t=this.filterElm)==null||t.classList.add("filled"),(s=(i=this._msInstance)==null?void 0:i.getParentElement())==null||s.classList.add("filled")):(this.isFilled=!1,(n=this.filterElm)==null||n.classList.remove("filled"),(l=(o=this._msInstance)==null?void 0:o.getParentElement())==null||l.classList.remove("filled"))}}class Ju extends Ra{constructor(e,t,i){super(e,t,i,!0),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class ep extends Ra{constructor(e,t,i){super(e,t,i,!1),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class tp extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="single"}}class ip extends Or{constructor(e){super(e),this.translaterService=e,this.sliderType="double"}}const Zs={autocompleter:Rd,compoundDate:Nc,compoundInput:ya,compoundInputNumber:xu,compoundInputPassword:Iu,compoundInputText:ya,compoundSlider:Au,dateRange:Pu,input:Yt,inputMask:ku,inputNumber:Fu,inputPassword:Du,inputText:Yt,multipleSelect:Ju,singleSelect:ep,slider:tp,sliderRange:ip},Mr={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,autoHeight:!0,autoHeightRecalcRow:100,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:250,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Aa},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"}},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{itemsKey:"ITEMS",ofKey:"OF",itemsSelectedKey:"ITEMS_SELECTED"}},customTooltip:{tooltipTextMaxLength:700,maxWidth:500},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:Zs.input,defaultBackendServiceFilterTypingDebounce:500,enableFilterTrimWhiteSpace:!1,defaultFilterPlaceholder:"🔎︎",defaultFilterRangeOperator:H.rangeInclusive,defaultColumnSortFieldId:"id",draggableGrouping:{hideToggleAllButton:!1,toggleAllButtonText:"",dropPlaceHolderTextKey:"DROP_COLUMN_HEADER_TO_GROUP_BY"},editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,emptyDataWarning:{className:"slick-empty-data-warning",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,autoDetectCellFormat:!0,exportWithFormatter:!1,filename:"export",format:ve.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"⮞",groupExpandedSymbol:"⮟",groupingAggregatorRowText:"",sanitizeDataExport:!0},textExportOptions:{delimiter:Ot.comma,exportWithFormatter:!1,filename:"export",format:ve.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!0,useUtf8WithBom:!0},eventNamingStyle:at.lowerCase,forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleFilterCommand:!1,hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-pin-off-outline",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",headerColumnValueExtractor:Aa},headerMenu:{autoAlign:!0,autoAlignOffset:4,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFilterShortcutSubMenu:"mdi mdi-filter-outline",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},ignoreAccentOnStringFilterAndSort:!1,multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},headerRowHeight:35,rowHeight:35,topPanelHeight:30,translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"͏͏͏͏͏͏͏͏͏·"}};function Aa(r,e){let t=(r==null?void 0:r.columnPickerLabel)??(r==null?void 0:r.name)??"";(t instanceof HTMLElement||t instanceof DocumentFragment)&&(t=t.textContent||"");const i=(r==null?void 0:r.columnGroup)||"",s=(e==null?void 0:e.columnGroupSeparator)??" - ";return i?i+s+t:t}class sp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._sum=0,this._itemCount=0,this._type="sum",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._isTreeAggregator=t,this._isInitialized=!0,this._sum=0,this._itemCount=0,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={},e.__treeTotals.count={}),e.__treeTotals.count[this._field]=0,e.__treeTotals[this._type][this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator?t?(e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals),this._sum=parseFloat(e.__treeTotals[this._type][this._field]??0),this._itemCount=e.__treeTotals.count[this._field]??0):U(i)&&(this._sum=parseFloat(i),this._itemCount=1):U(i)&&(this._sum+=parseFloat(i))}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),this.addGroupTotalPropertiesWhenNotExist(e);let t=this._sum,i=this._itemCount;this._isTreeAggregator&&(t+=e[this._type][this._field],i+=e.count[this._field],e.count[this._field]=i),e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={}),this._isTreeAggregator&&e.count===void 0&&(e.count={})}}class np{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._max=null,this._type="max",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._max=null,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=null)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;if(!this._isTreeAggregator)this.keepMaxValueWhenFound(i);else if(t){e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals);const s=e.__treeTotals[this._type][this._field]!==null?parseFloat(e.__treeTotals[this._type][this._field]):null;s!==null&&U(s)&&(this._max===null||s>this._max)&&(this._max=s)}else U(i)&&this.keepMaxValueWhenFound(i)}storeResult(e){let t=this._max;if(this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&t!==null){const i=e[this._type][this._field];U(i)&&i>t&&(t=i)}e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={})}keepMaxValueWhenFound(e){U(e)&&(this._max===null||e>this._max)&&(this._max=parseFloat(e))}}class rp{constructor(e){this._isInitialized=!1,this._distinctValues=[],this._type="distinct",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){if(this._distinctValues=[],this._isInitialized=!0,t)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(e){const t=e&&e.hasOwnProperty(this._field)?e[this._field]:void 0;this._distinctValues.indexOf(t)===-1&&t!==void 0&&this._distinctValues.push(t)}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),e[this._type][this._field]=this._distinctValues}}class op{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._min=null,this._type="min",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._min=null,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=null)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;if(!this._isTreeAggregator)this.keepMinValueWhenFound(i);else if(t){e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals);const s=e.__treeTotals[this._type][this._field]!==null?parseFloat(e.__treeTotals[this._type][this._field]):null;s!==null&&U(s)&&(this._min===null||s<this._min)&&(this._min=s)}else U(i)&&this.keepMinValueWhenFound(i)}storeResult(e){let t=this._min;if(this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&t!==null){const i=e[this._type][this._field];U(i)&&i<t&&(t=i)}e[this._type][this._field]=t}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={})}keepMinValueWhenFound(e){U(e)&&(this._min===null||e<this._min)&&(this._min=parseFloat(e))}}class lp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._count=0,this._type="count",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._count=0,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),e.__treeTotals[this._type][this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator&&(t?(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={}),this._count=e.__treeTotals[this._type][this._field]??0):U(i)&&(this._count=1))}storeResult(e){var i,s;(!e||e[this._type]===void 0)&&(e[this._type]={});let t=this._count;this._isTreeAggregator?t+=e[this._type][this._field]:t=((s=(i=e.group)==null?void 0:i.rows)==null?void 0:s.length)??0,e[this._type][this._field]=t}}class ap{constructor(e){this._isInitialized=!1,this._data="",this._type="clone",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){if(this._data="",this._isInitialized=!0,t)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(e){const t=e&&e.hasOwnProperty(this._field)?e[this._field]:null;t!==null&&t!==""&&(this._data=t)}storeResult(e){(!e||e[this._type]===void 0)&&(e[this._type]={}),e[this._type][this._field]=this._data}}class hp{constructor(e){this._isInitialized=!1,this._isTreeAggregator=!1,this._nonNullCount=0,this._sum=0,this._type="avg",this._field=e}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(e,t=!1){this._sum=0,this._nonNullCount=0,this._isInitialized=!0,this._isTreeAggregator=t,t&&(e.__treeTotals||(e.__treeTotals={}),e.__treeTotals[this._type]===void 0&&(e.__treeTotals[this._type]={},e.__treeTotals.sum={},e.__treeTotals.count={}),e.__treeTotals[this._type][this._field]=0,e.__treeTotals.count[this._field]=0,e.__treeTotals.sum[this._field]=0)}accumulate(e,t=!1){const i=e!=null&&e.hasOwnProperty(this._field)?e[this._field]:null;this._isTreeAggregator?t?(e.__treeTotals||(e.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(e.__treeTotals),this._sum=parseFloat(e.__treeTotals.sum[this._field]??0),this._nonNullCount=e.__treeTotals.count[this._field]??0):U(i)&&(this._sum=parseFloat(i),this._nonNullCount=1):U(i)&&(this._nonNullCount++,this._sum+=parseFloat(i))}storeResult(e){let t=this._sum,i=this._nonNullCount;this.addGroupTotalPropertiesWhenNotExist(e),this._isTreeAggregator&&(t+=e.sum[this._field],i+=e.count[this._field],e.sum[this._field]=t,e.count[this._field]=i),i!==0&&(e[this._type][this._field]=i===0?t:t/i)}addGroupTotalPropertiesWhenNotExist(e){e[this._type]===void 0&&(e[this._type]={}),this._isTreeAggregator&&e.sum===void 0&&(e.sum={}),this._isTreeAggregator&&e.count===void 0&&(e.count={})}}const Lr={Avg:hp,Clone:ap,Count:lp,Distinct:rp,Min:op,Max:np,Sum:sp};function Js(r,e){const t=e.errorMessage,i=e.required,s=e.minLength,n=e.maxLength,o=e.operatorConditionalType||"inclusive",l={"{{minLength}}":s,"{{maxLength}}":n};let a=!0,h="";const d=(r==null?void 0:r.length)??0;if(e.validator)return e.validator(r,e.editorArgs);if(i&&r==="")a=!1,h=t||R.VALIDATION_REQUIRED_FIELD;else if(s!==void 0&&n!==void 0&&(o==="exclusive"&&(d<=s||d>=n)||o==="inclusive"&&(d<s||d>n)))a=!1,h=t||R.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN.replace(/{{minLength}}|{{maxLength}}/gi,c=>l[c]);else if(s!==void 0&&d!==null&&(o==="exclusive"&&d<=s||o==="inclusive"&&d!==null&&d<s)){a=!1;const c=o==="inclusive"?R.VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE:R.VALIDATION_EDITOR_TEXT_MIN_LENGTH;h=t||c.replace(/{{minLength}}/gi,u=>l[u])}else if(n!==void 0&&d!==null&&(o==="exclusive"&&d>=n||o==="inclusive"&&d!==null&&d>n)){a=!1;const c=o==="inclusive"?R.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE:R.VALIDATION_EDITOR_TEXT_MAX_LENGTH;h=t||c.replace(/{{maxLength}}/gi,u=>l[u])}return{valid:a,msg:h}}const dp=3;class cp{constructor(e){var t,i;if(this.args=e,this._isValueTouched=!1,this._lastTriggeredByClearInput=!1,this.disabled=!1,this.forceUserInput=!1,this.finalCollection=[],!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this._bindEventService=new Pe,(t=this.gridOptions)!=null&&t.translater&&(this._translater=this.gridOptions.translater),this._locales=((i=this.gridOptions)==null?void 0:i.locales)||R.locales,this.init()}get autocompleterOptions(){return this._autocompleterOptions||{}}get collection(){var e;return((e=this.columnEditor)==null?void 0:e.collection)??[]}get editorDomElement(){return this._inputElm}get elementCollection(){return this._elementCollection}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get customStructure(){var i,s,n,o,l;let e=(i=this.columnEditor)==null?void 0:i.customStructure;const t=((s=this.columnEditor)==null?void 0:s.type)??((n=this.columnDef)==null?void 0:n.type);return!e&&t===w.object&&((o=this.columnDef)!=null&&o.dataKey)&&((l=this.columnDef)!=null&&l.labelKey)&&(e={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),e}get dataContext(){return this.args.item}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.autocompleter,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get instance(){return this._instance}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var t,i,s,n,o,l;this.labelName=((t=this.customStructure)==null?void 0:t.label)??"label",this.valueName=((i=this.customStructure)==null?void 0:i.value)??"value",this.labelPrefixName=((s=this.customStructure)==null?void 0:s.labelPrefix)??"labelPrefix",this.labelSuffixName=((n=this.customStructure)==null?void 0:n.labelSuffix)??"labelSuffix";let e=this.columnEditor.collection;(o=this.columnEditor)!=null&&o.collectionAsync&&!e&&(e=[]),this.renderDomElement(e),(this.disabled||(l=this.columnEditor)!=null&&l.collectionAsync&&Array.isArray(e)&&e.length===0)&&this.disable(!0)}destroy(){var e,t,i;this._bindEventService.unbindAll(),typeof((e=this._instance)==null?void 0:e.destroy)=="function"&&this._instance.destroy(),(i=(t=this._inputElm)==null?void 0:t.remove)==null||i.call(t),this._elementCollection=null}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._inputElm)if(e){this._inputElm.disabled=!0;const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.clear(!0)}else this._inputElm.disabled=!1}focus(){this.grid.focus(),this._inputElm&&(this._inputElm.focus(),this._inputElm.select())}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(e,t=!1,i=!0){if(this._inputElm.value=e!=null&&e.hasOwnProperty(this.labelName)?e[this.labelName]:e,t){this._currentValue=e,this._defaultTextValue=typeof e=="string"?e:(e==null?void 0:e[this.labelName])??"",this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var n,o;let i=t;const s=(n=this.columnDef)==null?void 0:n.field;if(s!==void 0){Array.isArray(this.collection)&&this.collection.length>0&&(i=At(this.collection,h=>h&&Bt(t)&&h.hasOwnProperty(this.valueName)?h[this.valueName].toString()===(t.hasOwnProperty(this.valueName)&&t[this.valueName].toString()):h&&typeof t=="string"&&h.hasOwnProperty(this.valueName)?h[this.valueName].toString()===t:(h==null?void 0:h.toString())===t,""));const l=(s==null?void 0:s.indexOf("."))>0,a=this.validate(null,i);if(i=a!=null&&a.valid?i:"",l){const h=((o=this.columnEditor)==null?void 0:o.complexObjectPath)??s??"";We(e,h,i)}else e[s]=i}}isValueChanged(){var s,n;const e=this._inputElm.value,t=(s=this._lastInputKeyEvent)==null?void 0:s.key;if((n=this.columnEditor)!=null&&n.alwaysSaveOnEnterKey&&t==="Enter")return!0;const i=!(e===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&e!==this._defaultTextValue;return this._lastTriggeredByClearInput||i}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._currentValue=n,this._originalValue=n,this._defaultTextValue=typeof n=="string"?n:(n==null?void 0:n[this.labelName])??"",this._inputElm.value=this._defaultTextValue,this._inputElm.select()}}clear(e=!1){this._inputElm&&(this._currentValue="",this._defaultTextValue="",this.setValue("",!0)),this._isValueTouched=!0,this._lastTriggeredByClearInput=!0;const t=this.args.compositeEditorOptions;if(t){const i=!e;this.handleChangeOnCompositeEditor(null,t,"user",i)}else this.save()}reset(e,t=!0,i=!1){const s=e??this._originalValue??"";this._inputElm&&(this._currentValue=s,this._defaultTextValue=typeof s=="string"?s:(s==null?void 0:s[this.labelName])??"",this._inputElm.value=this._defaultTextValue),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){var i;const e=this.validate(),t=(e==null?void 0:e.valid)??!1;if(this.hasAutoCommitEdit&&t)this.grid.getEditorLock().commitCurrentEdit();else{const s=((i=this._lastInputKeyEvent)==null?void 0:i.key)!=="Enter";this.args.commitChanges(s)}}serializeValue(){var e,t,i,s,n;if(this._inputElm&&this.editorOptions.forceUserInput){const o=((e=this.editorOptions)==null?void 0:e.minLength)??dp;this._currentValue=this._inputElm.value.length>o?this._inputElm.value:this._currentValue}return this.customStructure&&this._currentValue&&this._currentValue.hasOwnProperty(this.valueName)&&((t=this.columnDef)==null?void 0:t.type)!==w.object&&((i=this.columnEditor)==null?void 0:i.type)!==w.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((s=this.columnDef)==null?void 0:s.type)===w.object||((n=this.columnEditor)==null?void 0:n.type)===w.object?{[this.labelName]:this._currentValue.label,[this.valueName]:this._currentValue.value}:this._currentValue.value:this._currentValue}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._inputElm)==null?void 0:s.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleSelect(e){var t;if(e!==void 0){const i=e;this._currentValue=i,this._isValueTouched=!0;const s=this.args.compositeEditorOptions,n=((t=this.editorOptions)==null?void 0:t.renderItem)??!1,o=typeof i=="string"?i:n?i[this.labelName]:i.label;if(this.setValue(o),s?this.handleChangeOnCompositeEditor(null,s):this.save(),typeof this.editorOptions.onSelectItem=="function"){const{row:l,cell:a}=this.grid.getActiveCell()||{};this.editorOptions.onSelectItem(e,l,a,this.args.column,this.args.item)}window.setTimeout(()=>this._lastTriggeredByClearInput=!1)}return!1}renderRegularItem(e){const t=typeof e=="string"?e:(e==null?void 0:e.label)??"";return v("div",{textContent:t||""})}renderCustomItem(e){var s,n;const t=((n=(s=this._autocompleterOptions)==null?void 0:s.renderItem)==null?void 0:n.templateCallback(e))??"",i=document.createElement("div");return this.grid.applyHtmlCode(i,t),i}renderCollectionItem(e){var h;const t=((h=this.columnEditor)==null?void 0:h.enableRenderHtml)??!1,i=e.labelPrefix||"",s=e.label||"",n=e.labelSuffix||"",o=i+s+n,l=this.grid.sanitizeHtmlString(o)||"",a=document.createElement("div");return a[t?"innerHTML":"textContent"]=l,a}renderDomElement(e){var l,a,h,d,c,u,p,m,f,g,_,C;const t=((l=this.columnDef)==null?void 0:l.id)??"",i=((a=this.columnEditor)==null?void 0:a.placeholder)??"",s=((h=this.columnEditor)==null?void 0:h.title)??"";this._editorInputGroupElm=v("div",{className:"autocomplete-container input-group"});const n=v("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=v("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(v("i",{className:"icon-clear"})),this._inputElm=v("input",{type:"text",placeholder:i,title:s,autocomplete:"off",ariaAutoComplete:"none",className:`autocomplete form-control editor-text input-group-editor editor-${t}`,dataset:{input:""}},this._editorInputGroupElm),this._editorInputGroupElm.appendChild(document.createElement("span")),(d=this.editorOptions)!=null&&d.hideClearButton||(n.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(n),this._bindEventService.bind(this._clearButtonElm,"click",()=>this.clear())),this._bindEventService.bind(this._inputElm,"focus",()=>{var b;return(b=this._inputElm)==null?void 0:b.select()}),this._bindEventService.bind(this._inputElm,"keydown",b=>{this._lastInputKeyEvent=b,(b.key==="ArrowLeft"||b.key==="ArrowRight"||b.key==="Home"||b.key==="End")&&b.stopImmediatePropagation(),b.key==="Enter"&&b.target.value===""&&this.columnEditor.alwaysSaveOnEnterKey&&(this._currentValue=null)});let o=e;if(o&&((c=this.columnEditor)!=null&&c.collectionOverride)){const b={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:S,modalType:E}=this.args.compositeEditorOptions;b.compositeEditorOptions={formValues:S,modalType:E}}o=this.columnEditor.collectionOverride(o,b)}o&&(this.finalCollection=o),Array.isArray(o)&&(this.collection.every(b=>$i(b))?o=o.map(b=>({label:b,value:b})):o=o.map(b=>({label:b==null?void 0:b[this.labelName],value:b==null?void 0:b[this.valueName],labelPrefix:(b==null?void 0:b[this.labelPrefixName])??"",labelSuffix:(b==null?void 0:b[this.labelSuffixName])??""})),this._elementCollection=o),this._autocompleterOptions={input:this._inputElm,debounceWaitMs:200,className:`slick-autocomplete ${((u=this.editorOptions)==null?void 0:u.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((p=this._translater)!=null&&p.translate)?this._translater.translate("NO_ELEMENTS_FOUND"):((m=this._locales)==null?void 0:m.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(b,S,E)=>{E.style.width=""},onSelect:this.handleSelect.bind(this),...this.editorOptions},(f=this.gridOptions)!=null&&f.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=he(this.autocompleterOptions.className).join(" "),(g=this._autocompleterOptions.renderItem)!=null&&g.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${fi(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(e)?this._autocompleterOptions.render=((_=this._autocompleterOptions.render)==null?void 0:_.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(C=this._autocompleterOptions)!=null&&C.fetch?(jo(this._inputElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(b,S)=>{o&&S(o.filter(E=>((typeof E=="string"?E:E==null?void 0:E.label)||"").toLowerCase().includes(b.toLowerCase())))}}),this.args.container.appendChild(this._editorInputGroupElm),this.args.compositeEditorOptions||window.setTimeout(()=>this.focus(),50)}}class up{constructor(e){if(this.args=e,this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var s,n,o,l;const e=((s=this.columnDef)==null?void 0:s.id)??"",t=this.args.compositeEditorOptions;this._checkboxContainerElm=v("div",{className:`checkbox-editor-container editor-${e}`}),this._input=v("input",{type:"checkbox",value:"true",ariaLabel:((n=this.columnEditor)==null?void 0:n.ariaLabel)??`${Ct(e+"")} Checkbox Editor`,className:`editor-checkbox editor-${e}`,title:((o=this.columnEditor)==null?void 0:o.title)??""});const i=(l=this.args)==null?void 0:l.container;i&&typeof i.appendChild=="function"&&(t?(this._checkboxContainerElm.appendChild(this._input),i.appendChild(this._checkboxContainerElm)):i.appendChild(this._input)),this.hasAutoCommitEdit&&!t&&this._bindEventService.bind(this._input,"click",()=>{this._isValueTouched=!0,this.save()}),t?this._bindEventService.bind(this._input,"change",a=>{this._isValueTouched=!0,this.handleChangeOnCompositeEditor(a,t)}):this.focus()}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._input)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._input)if(e){this._input.setAttribute("disabled","disabled"),this._checkboxContainerElm.classList.add("disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==!1&&this.reset(!1,!0,!0)}else this._input.removeAttribute("disabled"),this._checkboxContainerElm.classList.remove("disabled")}focus(){var e;this.grid.focus(),(e=this._input)==null||e.focus()}preClick(){this._input&&(this._input.checked=!this._input.checked)}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var e;return((e=this._input)==null?void 0:e.checked)??!1}setValue(e,t=!1,i=!0){const s=!!e;if(this._input&&(this._input.checked=s),t){this.applyValue(this.args.item,this.serializeValue());const n=this.args.compositeEditorOptions;n&&i&&this.handleChangeOnCompositeEditor(null,n,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(null,t),a=l&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else e[i]=a}}isValueChanged(){return this.serializeValue()!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=n,this._input.checked=!!this._originalValue}}reset(e,t=!0,i=!1){const s=e??this._originalValue??!1;this._input&&(this._originalValue=s,this._input.checked=!!s),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=e&&e.valid||!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var e;return((e=this._input)==null?void 0:e.checked)??!1}validate(e,t){var o,l;const i=(o=this.args)!=null&&o.compositeEditorOptions?!1:this.columnEditor.required,s=t!==void 0?t:(l=this._input)==null?void 0:l.checked,n=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(s,this.args):i&&!s?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}}class pp{constructor(e){var t;if(this.args=e,this._isValueTouched=!1,this._lastClickIsDate=!1,this._lastTriggeredByClearDate=!1,this.hasTimePicker=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},(t=this.gridOptions)!=null&&t.translater&&(this._translaterService=this.gridOptions.translater),this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._inputElm}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.date,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get pickerOptions(){return this._pickerMergedOptions}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}async init(){var e,t,i,s,n,o,l,a;if(this.args&&this.columnDef){const h=this.args.compositeEditorOptions,d=((e=this.columnDef)==null?void 0:e.id)??"",c=this.args.grid.getOptions()||{};this.defaultDate=(t=this.args.item)==null?void 0:t[this.columnDef.field];const u=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,p=Ke(u),m=((s=(i=this._translaterService)==null?void 0:i.getCurrentLanguage)==null?void 0:s.call(i))||c.locale||"en";p&&(p==="ISO8601"||p.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const f=Ke(this.hasTimePicker?w.dateTimeIsoAM_PM:w.dateIso),g={input:!0,jumpToSelectedDate:!0,sanitizer:b=>this.grid.sanitizeHtmlString(b),toggleSelected:!1,actions:{clickDay:()=>{this._lastClickIsDate=!0},changeToInput:(b,S)=>{if(S.HTMLInputElement){let E="";if(S.selectedDates[0]?(E=S.selectedDates[0],S.HTMLInputElement.value=vt(S.selectedDates[0],void 0,u)):S.HTMLInputElement.value="",E&&this.hasTimePicker){const y=gs(E,f);y.setHours(+(S.selectedHours||0)),y.setMinutes(+(S.selectedMinutes||0)),S.HTMLInputElement.value=vt(y,void 0,u)}this._lastClickIsDate&&(this.handleOnDateChange(),S.hide())}}},settings:{lang:m,iso8601:!1,visibility:{theme:(n=this.gridOptions)!=null&&n.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.hasTimePicker&&(g.settings.selection={time:24}),this._pickerMergedOptions=de(!0,{},g,{settings:this.editorOptions,type:"default"});const _=`.editor-text.date-picker.editor-${d}.form-control.input-group-editor`;this._editorInputGroupElm=v("div",{className:"vanilla-picker input-group"});const C=v("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=v("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(v("i",{className:"icon-clear"})),this._inputElm=v("input",{placeholder:((o=this.columnEditor)==null?void 0:o.placeholder)??"",title:this.columnEditor&&this.columnEditor.title||"",className:_.replace(/\./g," "),dataset:{input:"",defaultdate:this.defaultDate},readOnly:((l=this.columnEditor.editorOptions)==null?void 0:l.allowInput)!==!0},this._editorInputGroupElm),this.args.container.appendChild(this._editorInputGroupElm),(a=this.columnEditor.editorOptions)!=null&&a.hideClearButton||(C.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(C),this._bindEventService.bind(this._clearButtonElm,"click",()=>{this.clear(),this.handleOnDateChange()})),this._bindEventService.bind(this._inputElm,"keydown",b=>{var S;((S=this.columnEditor.editorOptions)==null?void 0:S.allowInput)===!0&&(this._isValueTouched=!0,this._lastInputKeyEvent=b,(b.key==="ArrowLeft"||b.key==="ArrowRight"||b.key==="Home"||b.key==="End")&&b.stopImmediatePropagation())}),queueMicrotask(()=>{this.calendarInstance=new Yl(this._inputElm,this._pickerMergedOptions),this.calendarInstance.init(),h||(this.show(),this.focus()),this.calendarInstance&&Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:this.defaultDate,updatePickerUI:!0})})}}destroy(){queueMicrotask(()=>{var e,t,i;this.hide(),(e=this.calendarInstance)==null||e.destroy(),ee(this._editorInputGroupElm),ee(this._inputElm),(t=this._editorInputGroupElm)==null||t.remove(),(i=this._inputElm)==null||i.remove()}),this._bindEventService.unbindAll()}clear(){this._lastTriggeredByClearDate=!0,this.calendarInstance&&Mn(this.calendarInstance)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._inputElm)if(e){this._inputElm.setAttribute("disabled","disabled"),this._clearButtonElm.disabled=!0;const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._inputElm.removeAttribute("disabled"),this._clearButtonElm.disabled=!1}changeEditorOption(e,t){this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[e]=t,this._pickerMergedOptions=de(!0,{},this._pickerMergedOptions,{settings:{[e]:t}})}focus(){var e;this.grid.focus(),this.show(),(e=this._inputElm)==null||e.focus()}hide(){var e;(e=this.calendarInstance)==null||e.hide()}show(){var t;const e=!!((t=this.args)!=null&&t.compositeEditorOptions);!e&&this.calendarInstance?this.calendarInstance.show():e&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(e,t=!1,i=!0){if(this.calendarInstance&&Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:e,updatePickerUI:!0}),t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(this.columnDef&&i!==void 0){const o=this.columnDef.saveOutputType||this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,l=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateUtc,a=i.indexOf(".")>0,h=this.validate(null,t),d=t&&(h!=null&&h.valid)?vt(t,l,o):"";if(a){const c=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i;We(e,c,d)}else e[i]=d}}isValueChanged(){var s,n,o;let e=!1;const t=this.getValue(),i=(s=this._lastInputKeyEvent)==null?void 0:s.key;return((n=this.columnEditor.editorOptions)==null?void 0:n.allowInput)===!0&&((o=this.columnEditor)!=null&&o.alwaysSaveOnEnterKey)&&i==="Enter"?!0:(this.columnDef&&(e=this._lastTriggeredByClearDate||!(t===""&&this._originalDate==="")&&t!==this._originalDate),e)}isValueTouched(){return this._isValueTouched}loadValue(e){var i,s;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&this.columnDef&&t!==void 0){const o=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t],l=this.columnEditor.type||((s=this.columnDef)==null?void 0:s.type)||w.dateIso,a=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||w.dateIso,h=vt(o,l,a);this._originalDate=h!==""?o:"",this._inputElm.value=h}}reset(e,t=!0,i=!1){const s=e??this._originalDate??"";this.calendarInstance&&(this._originalDate=s,this.calendarInstance.settings.selected.dates=[s],s?Gi(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:s}):Mn(this.calendarInstance)),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(n,"user",o)}}save(){const e=this.validate(),t=(e==null?void 0:e.valid)??!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){const e=this.getValue();return e||""}validate(e,t){var o,l;const i=(o=this.args)!=null&&o.compositeEditorOptions?!1:this.columnEditor.required,s=t??((l=this._inputElm)==null?void 0:l.value),n=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(s,this.args):i&&s===""?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleOnDateChange(){if(this._isValueTouched=!0,this.args){const e=this.args.compositeEditorOptions;e?this.handleChangeOnCompositeEditor(e):this.save()}window.setTimeout(()=>this._lastTriggeredByClearDate=!1)}handleChangeOnCompositeEditor(e,t="user",i=!1){var c,u,p;const s=this.grid.getActiveCell(),n=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",l=this.dataContext,a=this.grid,h=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,h),this.applyValue(e.formValues,h);const d=((p=(u=this.gridOptions)==null?void 0:u.compositeEditorOptions)==null?void 0:p.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],a.onCompositeEditorChange.notify({...s,item:l,grid:a,column:n,formValues:e.formValues,editors:e.editors,triggeredBy:t},new le)}}function Pa(r,e){const t=isNaN(r)?null:parseFloat(r),i=e.decimal||0,s=e.required,n=e.minValue,o=e.maxValue,l=e.operatorConditionalType||"inclusive",a=e.errorMessage,h={"{{minValue}}":n,"{{maxValue}}":o,"{{minDecimal}}":0,"{{maxDecimal}}":i};let d=!0,c="";if(typeof e.validator=="function")return e.validator(r,e.editorArgs);if(s&&r==="")d=!1,c=a||R.VALIDATION_REQUIRED_FIELD;else if(r!==""&&(isNaN(r)||i===0&&!/^[-+]?(\d*(\.)?(\d)*)$/.test(r)))d=!1,c=a||R.VALIDATION_EDITOR_VALID_NUMBER;else if(n!==void 0&&o!==void 0&&t!==null&&(l==="exclusive"&&(t<=+n||t>=+o)||l==="inclusive"&&(t<+n||t>+o)))d=!1,c=a||R.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,u=>h[u]);else if(n!==void 0&&t!==null&&(l==="exclusive"&&t<=+n||l==="inclusive"&&t<+n)){d=!1;const u=l==="inclusive"?R.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE:R.VALIDATION_EDITOR_NUMBER_MIN;c=a||u.replace(/{{minValue}}/gi,p=>h[p])}else if(o!==void 0&&t!==null&&(l==="exclusive"&&t>=+o||l==="inclusive"&&t>+o)){d=!1;const u=l==="inclusive"?R.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE:R.VALIDATION_EDITOR_NUMBER_MAX;c=a||u.replace(/{{maxValue}}/gi,p=>h[p])}else i>0&&!new RegExp(`^[-+]?(\\d*(\\.)?(\\d){0,${i}})$`).test(r)&&(d=!1,c=a||R.VALIDATION_EDITOR_DECIMAL_BETWEEN.replace(/{{minDecimal}}|{{maxDecimal}}/gi,u=>h[u]));return{valid:d,msg:c}}function ka(r,e){let t=isNaN(r)?null:parseInt(r,10);t!==null&&isNaN(t)&&(t=null);const i=e.errorMessage,s=e.required,n=e.minValue,o=e.maxValue,l=e.operatorConditionalType||"inclusive",a={"{{minValue}}":n,"{{maxValue}}":o};let h=!0,d="";if(e.validator)return e.validator(r,e.editorArgs);if(s&&r==="")h=!1,d=i||R.VALIDATION_REQUIRED_FIELD;else if(r!==""&&(isNaN(r)||!/^[+-]?\d+$/.test(r)))h=!1,d=i||R.VALIDATION_EDITOR_VALID_INTEGER;else if(n!==void 0&&o!==void 0&&t!==null&&(l==="exclusive"&&(t<=+n||t>=+o)||l==="inclusive"&&(t<+n||t>+o)))h=!1,d=i||R.VALIDATION_EDITOR_INTEGER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,c=>a[c]);else if(n!==void 0&&t!==null&&(l==="exclusive"&&t<=+n||l==="inclusive"&&t!==null&&t<+n)){h=!1;const c=l==="inclusive"?R.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE:R.VALIDATION_EDITOR_INTEGER_MIN;d=i||c.replace(/{{minValue}}/gi,u=>a[u])}else if(o!==void 0&&t!==null&&(l==="exclusive"&&t>=+o||l==="inclusive"&&t!==null&&t>+o)){h=!1;const c=l==="inclusive"?R.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE:R.VALIDATION_EDITOR_INTEGER_MAX;d=i||c.replace(/{{maxValue}}/gi,u=>a[u])}return{valid:h,msg:d}}function mp(r,e){const t=e.required,i=e.minValue,s=e.maxValue,n=e.errorMessage,o={"{{minValue}}":i,"{{maxValue}}":s};return e.validator?e.validator(r,e.editorArgs):t&&r===""?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:i!==void 0&&s!==void 0&&r!==null&&(r<i||r>s)?{valid:!1,msg:n||R.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,l=>o[l])}:{valid:!0,msg:null}}class fp{constructor(e){if(this.args=e,this._isValueSaveCalled=!1,this._isLeftValueTouched=!1,this._isRightValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},this._eventHandler=new pe,this._bindEventService=new Pe,this.init(),this._eventHandler.subscribe(this.grid.onValidationError,()=>this._isValueSaveCalled=!0)}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return{leftInput:this._leftInput,rightInput:this._rightInput}}get editorParams(){return this.columnEditor.params||{}}get eventHandler(){return this._eventHandler}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get isValueSaveCalled(){return this._isValueSaveCalled}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var i,s,n,o;if(!this.editorParams||!this.editorParams.leftInput||!this.editorParams.leftInput.field||!this.editorParams.rightInput||!this.editorParams.rightInput.field)throw new Error(`[Slickgrid-Universal] Please make sure that your Combo Input Editor has params defined with "leftInput" and "rightInput" (example: { editor: { model: Editors.comboInput, params: { leftInput: { field: 'firstName' }, { rightSide: { field: 'lastName' } }}}`);this._leftFieldName=(i=this.editorParams.leftInput)==null?void 0:i.field,this._rightFieldName=(s=this.editorParams.rightInput)==null?void 0:s.field,this._leftInput=this.createInput("leftInput"),this._rightInput=this.createInput("rightInput");const e=(n=this.args)==null?void 0:n.container;e&&typeof e.appendChild=="function"&&(e.appendChild(this._leftInput),e.appendChild(this._rightInput)),this._bindEventService.bind(this._leftInput,"keydown",l=>this.handleKeyDown(l,"leftInput")),this._bindEventService.bind(this._rightInput,"keydown",l=>this.handleKeyDown(l,"rightInput")),this.hasAutoCommitEdit&&(this._bindEventService.bind(this._leftInput,"focusout",l=>this.handleFocusOut(l,"leftInput")),this._bindEventService.bind(this._rightInput,"focusout",l=>this.handleFocusOut(l,"rightInput"))),((o=this.args)==null?void 0:o.compositeEditorOptions)?(this._bindEventService.bind(this._leftInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this)),this._bindEventService.bind(this._rightInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this))):window.setTimeout(()=>this._leftInput.select(),50)}handleFocusOut(e,t){var o;const i=((o=e.relatedTarget)==null?void 0:o.className)||"";!this.args.compositeEditorOptions&&i.indexOf("dual-editor")===-1&&this._lastEventType!=="focusout-right"&&(t==="rightInput"||t==="leftInput"&&this._lastEventType!=="focusout-left")&&(t==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this.save());const n=t==="leftInput"?"left":"right";this._lastEventType=`${e==null?void 0:e.type}-${n}`}handleKeyDown(e,t){t==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this._lastInputKeyEvent=e,(e.key==="ArrowLeft"||e.key==="ArrowRight"||e.key==="Home"||e.key==="End"||e.key==="Tab")&&e.stopImmediatePropagation()}destroy(){var e,t,i,s;this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),(t=(e=this._leftInput)==null?void 0:e.remove)==null||t.call(e),(s=(i=this._rightInput)==null?void 0:i.remove)==null||s.call(i)}createInput(e){var a,h,d,c;const t=this.editorParams[e],i=((a=this.columnDef)==null?void 0:a.id)??"",s=this.gridOptions.datasetIdPropertyName||"id",n=((d=(h=this.args)==null?void 0:h.item)==null?void 0:d[s])??"";let o=t.type||"text";(o==="float"||o==="integer")&&(o="number");const l=v("input",{type:o||"text",id:`item-${n}-${e}`,ariaLabel:((c=this.columnEditor)==null?void 0:c.ariaLabel)??`${Ct(i+"")} Input Editor`,className:`dual-editor-text editor-${i} ${e.replace(/input/gi,"")}`,autocomplete:"off",ariaAutoComplete:"none",placeholder:t.placeholder||"",title:t.title||""});return o==="readonly"&&(l.readOnly=!0,o="text"),o==="number"&&(l.step=this.getInputDecimalSteps(e)),l}disable(e=!0){var i;const t=this.disabled;this.disabled=e,this._leftInput&&this._rightInput&&(e?(this._leftInput.setAttribute("disabled","disabled"),this._rightInput.setAttribute("disabled","disabled"),t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&this.reset("",!0,!0)):(this._leftInput.removeAttribute("disabled"),this._rightInput.removeAttribute("disabled")))}focus(){this.grid.focus()}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValues(){const e={},t=this._leftInput.value,i=this._rightInput.value,s=this.editorParams.leftInput&&(this.editorParams.leftInput.type==="float"||this.editorParams.leftInput.type==="integer"),n=this.editorParams.rightInput&&(this.editorParams.rightInput.type==="float"||this.editorParams.rightInput.type==="integer"),o=t!==""&&s?+this._leftInput.value:t||"",l=i!==""&&n?+this._rightInput.value:i||"";return We(e,this._leftFieldName,o),We(e,this._rightFieldName,l),e}setValues(e){Array.isArray(e)&&e.length===2&&(this._leftInput.value=`${e[0]}`,this._rightInput.value=`${e[1]}`)}applyValue(e,t){this.applyValueByPosition(e,t,"leftInput"),this.applyValueByPosition(e,t,"rightInput")}applyValueByPosition(e,t,i){var n;const s=i==="leftInput"?this._leftFieldName:this._rightFieldName;if(s!==void 0){const o=(s==null?void 0:s.indexOf("."))>0;let l=s;if(o){const d=s.split(/\.(.*)/);l=d.length>1?d[1]:d}const a=o?Ee(t,l):t[s],h=this.validate(null,{position:i,inputValue:a});if(o){const d=Ee(t,l),c=h&&h.valid?d:"",u=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??s??"";We(e,u,c)}else s&&(e[s]=h&&h.valid?t[s]:"")}}isValueChanged(){var a,h,d;const e=this._leftInput.value,t=this._rightInput.value,i=(a=this.editorParams)==null?void 0:a.leftInput,s=(h=this.editorParams)==null?void 0:h.rightInput,n=(d=this._lastInputKeyEvent)==null?void 0:d.key;if((i&&i.alwaysSaveOnEnterKey||s&&s.alwaysSaveOnEnterKey)&&n==="Enter")return!0;const o=!(e===""&&(this._originalLeftValue===null||this._originalLeftValue===void 0))&&e!==this._originalLeftValue,l=!(t===""&&(this._originalRightValue===null||this._originalRightValue===void 0))&&t!==this._originalRightValue;return o||l}isValueTouched(){return this._isLeftValueTouched||this._isRightValueTouched}loadValue(e){this.loadValueByPosition(e,"leftInput"),this.loadValueByPosition(e,"rightInput"),this._leftInput.select()}loadValueByPosition(e,t){const i=t==="leftInput"?this._leftFieldName:this._rightFieldName,s=t==="leftInput"?"_originalLeftValue":"_originalRightValue",n=t==="leftInput"?"_leftInput":"_rightInput";if(e&&i!==void 0){const l=(i==null?void 0:i.indexOf("."))>0?Ee(e,i):e.hasOwnProperty(i)?e[i]:"";if(this[s]=l,this.editorParams[t].type==="float"){const a=this.getDecimalPlaces(t);a!==null&&(this[s]||this[s]===0)&&this[s]!==void 0&&(this[s]=(+this[s]).toFixed(a))}this[n]&&(this[n].value=`${this[s]}`)}}reset(e,t=!0,i=!1){const s=e??this._originalLeftValue??"",n=e??this._originalRightValue??"";this._leftInput&&this._rightInput&&(this._originalLeftValue=s,this._originalRightValue=n,this._leftInput.value=`${s}`,this._rightInput.value=`${n}`),this._isLeftValueTouched=!1,this._isRightValueTouched=!1;const o=this.args.compositeEditorOptions;if(o&&t){const l=!i;this.handleChangeOnCompositeEditor(null,o,"user",l)}}save(){const e=this.validate(),t=e&&e.valid||!1;this._isValueSaveCalled||(this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges(),this._isValueSaveCalled=!0)}serializeValue(){const e={},t=this.serializeValueByPosition("leftInput"),i=this.serializeValueByPosition("rightInput");return We(e,this._leftFieldName,t),We(e,this._rightFieldName,i),e}serializeValueByPosition(e){const t=e==="leftInput"?this._leftInput.value:this._rightInput.value;if(t===""||isNaN(+t))return t;let i=parseFloat(t);const s=this.getDecimalPlaces(e);return s!==null&&(i||i===0)&&i.toFixed&&(i=parseFloat(i.toFixed(s))),i}getDecimalPlaces(e){const i=e==="leftInput"?"leftInput":"rightInput",s=this.editorParams[i],n=s==null?void 0:s.decimal;return n===void 0?0:n}getInputDecimalSteps(e){const t=this.getDecimalPlaces(e);let i="";for(let s=1;s<t;s++)i+="0";return t>0?`0.${i}1`:"1"}validate(e,t){if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(t){const i=this.validateByPosition(t.position,t.inputValue);if(!i.valid)return t.position==="leftInput"?this._leftInput.select():this._rightInput.select(),i}else{const i=this.validateByPosition("leftInput"),s=this.validateByPosition("rightInput");if(!i.valid)return this._leftInput.select(),i;if(!s.valid)return this._rightInput.select(),s}return{valid:!0,msg:""}}validateByPosition(e,t){var l;const i=this.editorParams[e];let s="";if(t)s=t;else{const a=e==="leftInput"?this._leftInput:this._rightInput;s=a&&a.value}const n=this.validator;s=typeof n=="function"?this.getValues():s;const o={editorArgs:this.args,errorMessage:i.errorMessage,required:(l=this.args)!=null&&l.compositeEditorOptions?!1:i.required,validator:typeof n=="function"?n:i.validator};switch(i.type){case"float":return Pa(s,{...o,decimal:this.getDecimalPlaces(e),minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"integer":return ka(s,{...o,minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"text":case"password":default:return Js(s,o)}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var p,m,f,g,_,C;const n=this.grid.getActiveCell(),o=this.args.column,l=((m=(p=this.columnEditor.params)==null?void 0:p.leftInput)==null?void 0:m.field)??"",a=((g=(f=this.columnEditor.params)==null?void 0:f.rightInput)==null?void 0:g.field)??"",h=this.dataContext,d=this.grid,c=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,c),this.applyValue(t.formValues,c);const u=((C=(_=this.gridOptions)==null?void 0:_.compositeEditorOptions)==null?void 0:C.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&u&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],(s||this.disabled&&u&&t.formValues.hasOwnProperty(a))&&delete t.formValues[a],d.onCompositeEditorChange.notify({...n,item:h,grid:d,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleChangeOnCompositeEditorDebounce(e){var i,s;const t=(i=this.args)==null?void 0:i.compositeEditorOptions;if(t){const n=((s=this.gridOptions)==null?void 0:s.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),n)}}}const gp=0;class en{constructor(e,t="text"){var i;if(this.args=e,this._inputType="text",this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=(i=e.grid)==null?void 0:i.getOptions(),this._bindEventService=new Pe,this.inputType=t,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get inputType(){return this._inputType}set inputType(e){this._inputType=e}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var s,n,o,l;const e=((s=this.columnDef)==null?void 0:s.id)??"",t=this.args.compositeEditorOptions;this._input=v("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",ariaLabel:((n=this.columnEditor)==null?void 0:n.ariaLabel)??`${Ct(e+"")} Input Editor`,className:`editor-text editor-${e}`,placeholder:((o=this.columnEditor)==null?void 0:o.placeholder)??"",title:((l=this.columnEditor)==null?void 0:l.title)??""}),this.inputType==="number"&&(this._input.step=`${this.columnEditor.valueStep!==void 0?this.columnEditor.valueStep:this.getInputDecimalSteps()}`);const i=this.args.container;i&&typeof i.appendChild=="function"&&i.appendChild(this._input),this._bindEventService.bind(this._input,"focus",()=>{var a;return(a=this._input)==null?void 0:a.select()}),this._bindEventService.bind(this._input,"keydown",a=>{this._isValueTouched=!0,this._lastInputKeyEvent=a,(a.key==="ArrowLeft"||a.key==="ArrowRight"||a.key==="Home"||a.key==="End")&&a.stopImmediatePropagation()}),this.hasAutoCommitEdit&&!t&&this._bindEventService.bind(this._input,["focusout","blur"],()=>{this._isValueTouched=!0,this.save()}),t&&(this._bindEventService.bind(this._input,["input","paste"],this.handleOnInputChange.bind(this)),this.inputType==="number"&&this._bindEventService.bind(this._input,"wheel",this.handleOnMouseWheel.bind(this),{passive:!0}))}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._input)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._input)if(e){this._input.setAttribute("disabled","disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._input.removeAttribute("disabled")}focus(){var e;this.grid.focus(),(e=this._input)==null||e.focus()}getDecimalPlaces(){var t,i,s;let e=((t=this.columnEditor)==null?void 0:t.decimal)??((s=(i=this.columnEditor)==null?void 0:i.params)==null?void 0:s.decimalPlaces)??void 0;return e===void 0&&(e=gp),!e&&e!==0?0:e}getInputDecimalSteps(){const e=this.getDecimalPlaces();let t="";for(let i=1;i<e;i++)t+="0";return e>0?`0.${t}1`:"1"}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var e;return((e=this._input)==null?void 0:e.value)||""}setValue(e,t=!1,i=!0){if(this._input&&(this._input.value=`${e}`,t)){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(null,t),a=l!=null&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else i&&(e[i]=a)}}isValueChanged(){var i,s,n;const e=(i=this._input)==null?void 0:i.value,t=(s=this._lastInputKeyEvent)==null?void 0:s.key;return(n=this.columnEditor)!=null&&n.alwaysSaveOnEnterKey&&t==="Enter"?!0:!(e===""&&(this._originalValue===null||this._originalValue===void 0))&&e!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e.hasOwnProperty(t)&&e[t]||"";this._originalValue=n,this._input.value=this._originalValue,this._input.select()}}reset(e,t=!0,i=!1){const s=e??this._originalValue??"";this._input&&(this._originalValue=s,this._input.value=`${s}`),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=e&&e.valid||!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var e;return((e=this._input)==null?void 0:e.value)??""}validate(e,t){var s;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:this._input&&this._input.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(s=this.args)!=null&&s.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}handleOnInputChange(e){var i;this._isValueTouched=!0;const t=this.args.compositeEditorOptions;if(t){const s=((i=this.gridOptions)==null?void 0:i.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),s)}}handleOnMouseWheel(e){this._isValueTouched=!0;const t=this.args.compositeEditorOptions;t&&this.handleChangeOnCompositeEditor(e,t)}}class _p extends en{constructor(e){super(e,"number"),this.args=e}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(t!==void 0&&e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=n;const o=this.getDecimalPlaces();o!==null&&(this._originalValue||this._originalValue===0)&&this._originalValue!==void 0&&(this._originalValue=(+this._originalValue).toFixed(o)),this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var s;const e=(s=this._input)==null?void 0:s.value;if(e===void 0||e===""||isNaN(+e))return e;let t=parseFloat(e);const i=this.getDecimalPlaces();return i!==null&&(t||t===0)&&t.toFixed&&(t=parseFloat(t.toFixed(i))),t}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._input)==null?void 0:s.value;return Pa(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,decimal:this.getDecimalPlaces(),minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}}class Cp extends en{constructor(e){super(e,"password"),this.args=e}}class vp extends en{constructor(e){super(e,"number"),this.args=e}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(t!==void 0&&e&&t!==void 0&&this._input){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._originalValue=isNaN(n)||n===null||n===void 0?n:`${n}`,this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var i;const e=(i=this._input)==null?void 0:i.value;if(e===void 0||e===""||isNaN(+e))return e;const t=isNaN(+e)?e:parseInt(e,10);return isNaN(+t)?e:t}validate(e,t){var s;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:this.getValue();return ka(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(s=this.args)!=null&&s.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}handleOnMouseWheel(e){this._isValueTouched=!0;const t=this.args.compositeEditorOptions;t&&this.handleChangeOnCompositeEditor(e,t)}}class bp{constructor(e){var i,s;if(this.args=e,this._isValueTouched=!1,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=(i=e.grid)==null?void 0:i.getOptions();const t=this.gridOptions||this.args.column.params||{};t!=null&&t.translater&&(this._translater=t.translater),this._locales=((s=this.gridOptions)==null?void 0:s.locales)||R.locales,this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._textareaElm}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.longText,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get hasAutoCommitEdit(){var e;return((e=this.gridOptions)==null?void 0:e.autoCommitEdit)??!1}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var d,c,u,p,m,f,g,_,C,b,S,E,y,x,O;let e="",t="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const I=lt(this.gridOptions),A=((d=this.editorOptions.buttonTexts)==null?void 0:d.cancelKey)??`${I}CANCEL`,D=((c=this.editorOptions.buttonTexts)==null?void 0:c.saveKey)??`${I}SAVE`;e=this._translater.translate(`${I}${A}`),t=this._translater.translate(`${I}${D}`)}else e=((u=this.editorOptions.buttonTexts)==null?void 0:u.cancel)??((p=this._locales)==null?void 0:p.TEXT_CANCEL)??"Cancel",t=((m=this.editorOptions.buttonTexts)==null?void 0:m.save)??((f=this._locales)==null?void 0:f.TEXT_SAVE)??"Save";const i=this.args.compositeEditorOptions,s=((g=this.columnDef)==null?void 0:g.id)??"",n=(_=this.columnEditor)==null?void 0:_.maxLength,o=((C=this.editorOptions)==null?void 0:C.rows)??4,l=i?this.args.container:document.body;this._wrapperElm=v("div",{className:`slick-large-editor-text editor-${s}`,style:{position:i?"relative":"absolute"}}),(b=this.gridOptions)!=null&&b.darkMode&&this._wrapperElm.classList.add("slick-dark-mode"),l.appendChild(this._wrapperElm),this._textareaElm=v("textarea",{ariaLabel:((S=this.columnEditor)==null?void 0:S.ariaLabel)??`${Ct(s+"")} Text Editor`,cols:((E=this.editorOptions)==null?void 0:E.cols)??40,rows:i&&o>3?3:o,placeholder:((y=this.columnEditor)==null?void 0:y.placeholder)??"",title:((x=this.columnEditor)==null?void 0:x.title)??""},this._wrapperElm);const a=v("div",{className:"editor-footer"}),h=v("span",{className:"counter"});if(this._currentLengthElm=v("span",{className:"text-length",textContent:"0"}),h.appendChild(this._currentLengthElm),n!==void 0&&(h.appendChild(v("span",{className:"separator",textContent:"/"})),h.appendChild(v("span",{className:"max-length",textContent:`${n}`}))),a.appendChild(h),!i){const I=v("button",{className:"btn btn-cancel btn-default btn-xs",textContent:e}),A=v("button",{className:"btn btn-save btn-primary btn-xs",textContent:t});this.editorOptions.saveButtonPosition==="left"?(a.appendChild(A),a.appendChild(I)):(a.appendChild(I),a.appendChild(A)),this._bindEventService.bind(I,"click",this.cancel.bind(this)),this._bindEventService.bind(A,"click",this.save.bind(this)),this.position((O=this.args)==null?void 0:O.position),this._textareaElm.focus(),this._textareaElm.select()}this._wrapperElm.appendChild(a),this._bindEventService.bind(this._textareaElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._textareaElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._textareaElm,"paste",this.handleOnInputChange.bind(this))}cancel(){var t;const e=this._defaultTextValue||"";this._textareaElm.value=e,this._currentLengthElm.textContent=`${e.length}`,(t=this.args)!=null&&t.cancelChanges&&this.args.cancelChanges()}hide(){this._wrapperElm.style.display="none"}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)?this.applyInputUsabilityState():this._wrapperElm.style.display="block"}destroy(){var e,t;this._bindEventService.unbindAll(),(t=(e=this._wrapperElm)==null?void 0:e.remove)==null||t.call(e)}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._textareaElm&&this._wrapperElm)if(e){this._textareaElm.disabled=!0,this._wrapperElm.classList.add("disabled");const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset("",!0,!0)}else this._textareaElm.disabled=!1,this._wrapperElm.classList.remove("disabled")}focus(){this.grid.focus(),this._textareaElm&&(this._textareaElm.focus(),this._textareaElm.select())}getValue(){return this._textareaElm.value}setValue(e,t=!1,i=!0){if(this._textareaElm.value=e,this._currentLengthElm.textContent=`${e.length}`,t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var s,n;const i=(s=this.columnDef)==null?void 0:s.field;if(i!==void 0){const o=(i==null?void 0:i.indexOf("."))>0,l=this.validate(void 0,t),a=l!=null&&l.valid?t:"";if(o){const h=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??i??"";We(e,h,a)}else e[i]=a}}isValueChanged(){const e=this._textareaElm.value;return!(e===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&e!==this._defaultTextValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=(i=this.columnDef)==null?void 0:i.field;if(e&&t!==void 0){const n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e[t];this._defaultTextValue=n||"",this._textareaElm.value=this._defaultTextValue,this._currentLengthElm.textContent=this._defaultTextValue.length,this._textareaElm.defaultValue=this._defaultTextValue,this._textareaElm.select()}}position(e){var u,p;const t=ge(this.args.container),i=this.args.container.offsetHeight,s=this.args.container.offsetWidth,n=this._wrapperElm.getBoundingClientRect().height||this.args.position.height,o=this._wrapperElm.getBoundingClientRect().width||this.args.position.width,l=document.body.offsetHeight||window.innerHeight,a=document.body.offsetWidth||window.innerWidth;let h=this.args.container?t.top:e.top??0,d=this.args.container?t.left:e.left??0;const c=((u=this.editorOptions)==null?void 0:u.position)??"auto";if(c==="left"||c==="auto"&&d+o>a){const m=((p=this.editorOptions)==null?void 0:p.marginRight)??0;d-=o-s+m}(c==="top"||c==="auto"&&h+n>l)&&(h-=n-i),this._wrapperElm.style.top=`${h}px`,this._wrapperElm.style.left=`${d}px`}reset(e,t=!0,i=!1){const s=e??this._defaultTextValue??"";this._textareaElm&&(this._defaultTextValue=s,this._textareaElm.value=s,this._currentLengthElm.textContent=s.length),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=(e==null?void 0:e.valid)??!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){return this._textareaElm.value}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._textareaElm)==null?void 0:s.value;return Js(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleKeyDown(e){const t=e.key;this._isValueTouched=!0,this.args.compositeEditorOptions||(t==="Enter"&&e.ctrlKey||e.ctrlKey&&e.key.toUpperCase()==="S"?(e.preventDefault(),this.save()):t==="Escape"?(e.preventDefault(),this.cancel()):t==="Tab"&&e.shiftKey?(e.preventDefault(),this.args&&this.grid&&this.grid.navigatePrev()):t==="Tab"&&(e.preventDefault(),this.args&&this.grid&&this.grid.navigateNext()))}handleOnInputChange(e){var n,o;const t=this.args.compositeEditorOptions,i=(n=this.columnEditor)==null?void 0:n.maxLength;let s=!1;if(i&&(s=this.truncateText(this._textareaElm,i)),s)this._currentLengthElm.textContent=`${i}`;else{const l=e.type==="paste"?e.clipboardData.getData("text"):e.target.value;this._currentLengthElm.textContent=`${l.length}`}if(t){const l=((o=this.gridOptions)==null?void 0:o.editorTypingDebounce)??500;window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>this.handleChangeOnCompositeEditor(e,t),l)}}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}truncateText(e,t){const i=e.value+"";return i.length>t?(e.value=i.substring(0,t),!0):!1}}class Fa{constructor(e,t,i=-1){var l,a,h,d,c,u,p,m,f;if(this.args=e,this.isMultipleSelect=t,this.delayOpening=i,this._isValueTouched=!1,this._isDisposingOrCallingSave=!1,this.disabled=!1,this.enableTranslateLabel=!1,this.finalCollection=[],!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},(l=this.gridOptions)!=null&&l.translater&&(this._translaterService=this.gridOptions.translater),this._locales=this.gridOptions.locales||R.locales;const s=((a=this.columnDef)==null?void 0:a.id)??"";this.elementName=`editor-${s}`;const n=this.args.compositeEditorOptions,o={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,minHeight:25,name:this.elementName,single:!0,singleRadio:!0,renderOptionLabelAsHtml:((h=this.columnEditor)==null?void 0:h.enableRenderHtml)??!1,sanitizer:g=>this.grid.sanitizeHtmlString(g),onClick:()=>this._isValueTouched=!0,onCheckAll:()=>this._isValueTouched=!0,onUncheckAll:()=>this._isValueTouched=!0,onClose:g=>{if(g==="key.escape"||g==="body.click"||!this.hasAutoCommitEdit&&!this.isValueChanged()){g==="key.escape"&&this.cancel();return}n?this.handleChangeOnCompositeEditor(n):(this._isDisposingOrCallingSave=!0,this.save(this.hasAutoCommitEdit))}};if(t)if(o.single=!1,o.singleRadio=!1,o.displayTitle=!0,o.showOkButton=!0,(d=this._translaterService)!=null&&d.getCurrentLanguage()){const g=lt(this.gridOptions);o.countSelectedText=this._translaterService.translate(`${g}X_OF_Y_SELECTED`),o.allSelectedText=this._translaterService.translate(`${g}ALL_SELECTED`),o.selectAllText=this._translaterService.translate(`${g}SELECT_ALL`),o.okButtonText=this._translaterService.translate(`${g}OK`),o.noMatchesFoundText=this._translaterService.translate(`${g}NO_MATCHES_FOUND`)}else o.countSelectedText=(c=this._locales)==null?void 0:c.TEXT_X_OF_Y_SELECTED,o.allSelectedText=(u=this._locales)==null?void 0:u.TEXT_ALL_SELECTED,o.selectAllText=(p=this._locales)==null?void 0:p.TEXT_SELECT_ALL,o.okButtonText=(m=this._locales)==null?void 0:m.TEXT_OK,o.noMatchesFoundText=(f=this._locales)==null?void 0:f.TEXT_NO_MATCHES_FOUND;this.defaultOptions=o,this.init()}get collection(){var e;return((e=this.columnEditor)==null?void 0:e.collection)??[]}get collectionOptions(){var e;return(e=this.columnEditor)==null?void 0:e.collectionOptions}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)??{}}get dataContext(){return this.args.item}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.select,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get isCompositeEditor(){var e;return!!((e=this.args)!=null&&e.compositeEditorOptions)}get customStructure(){var e,t;return(t=(e=this.columnDef)==null?void 0:e.editor)==null?void 0:t.customStructure}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get currentValues(){var s,n,o;const e=new Set;if((((s=this._msInstance)==null?void 0:s.getSelects("value"))??[]).forEach(l=>e.add(l.toString())),this.collection.every(l=>typeof l=="number"||typeof l=="string"))return this.collection.filter(l=>e.has(l==null?void 0:l.toString()));const t=((n=this.collectionOptions)==null?void 0:n.separatorBetweenTextLabels)??"",i=((o=this.collectionOptions)==null?void 0:o.includePrefixSuffixToSelectedValues)??!1;return this.collection.filter(l=>{var a;return e.has((a=l==null?void 0:l[this.valueName])==null?void 0:a.toString())}).map(l=>{var m,f;const a=l[this.valueName];let h=l[this.labelPrefixName]||"",d=l[this.labelSuffixName]||"";const c=((m=this.columnDef)==null?void 0:m.field)??"",u=(c==null?void 0:c.indexOf("."))>0,p=((f=this.columnEditor)==null?void 0:f.serializeComplexValueFormat)??"object";return u&&typeof l=="object"&&p==="object"?l:(h=this.enableTranslateLabel&&this._translaterService&&h&&typeof h=="string"?this._translaterService.translate(h||" "):h,d=this.enableTranslateLabel&&this._translaterService&&d&&typeof d=="string"?this._translaterService.translate(d||" "):d,i?[h,a,d].filter(_=>_).join(t):a)})}get currentValue(){var s,n,o,l,a;const e=((s=this._msInstance)==null?void 0:s.getSelects())??[],t=e.length?e[0]:"",i=(n=this.columnDef)==null?void 0:n.field;if(i!==void 0){if(this.collection.every(m=>typeof m=="number"||typeof m=="string"))return At(this.collection,m=>{var f;return((f=m==null?void 0:m.toString)==null?void 0:f.call(m))===`${t}`});const h=((o=this.collectionOptions)==null?void 0:o.separatorBetweenTextLabels)??"",d=((l=this.collectionOptions)==null?void 0:l.includePrefixSuffixToSelectedValues)??!1,c=At(this.collection,m=>{var f;return m.hasOwnProperty(this.valueName)&&((f=m[this.valueName])==null?void 0:f.toString())===`${t}`}),u=(i==null?void 0:i.indexOf("."))>0,p=((a=this.columnEditor)==null?void 0:a.serializeComplexValueFormat)??"object";if(u&&typeof c=="object"&&p==="object")return c;if(c&&c.hasOwnProperty(this.valueName)){const m=c[this.valueName];if(d){let f=c[this.labelPrefixName]||"",g=c[this.labelSuffixName]||"";return f=this.enableTranslateLabel&&this._translaterService&&f&&typeof f=="string"?this._translaterService.translate(f||" "):f,g=this.enableTranslateLabel&&this._translaterService&&g&&typeof g=="string"?this._translaterService.translate(g||" "):g,[f,m,g].filter(C=>C).join(h)}return m}}return""}get validator(){var e,t;return((e=this.columnEditor)==null?void 0:e.validator)??((t=this.columnDef)==null?void 0:t.validator)}init(){var e,t,i,s,n,o,l;if(!this.columnDef||!this.columnDef.editor||!this.columnDef.editor.collection&&!this.columnDef.editor.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") inside Column Definition Editor for the MultipleSelect/SingleSelect Editor to work correctly.
18
18
  Also each option should include a value/label pair (or value/labelKey when using Locale).
19
19
  For example: { editor: { collection: [{ value: true, label: 'True' },{ value: false, label: 'False'}] } }`);if(this._collectionService=new Kl(this._translaterService),this.enableTranslateLabel=((e=this.columnEditor)==null?void 0:e.enableTranslateLabel)??!1,this.labelName=((t=this.customStructure)==null?void 0:t.label)??"label",this.labelPrefixName=((i=this.customStructure)==null?void 0:i.labelPrefix)??"labelPrefix",this.labelSuffixName=((s=this.customStructure)==null?void 0:s.labelSuffix)??"labelSuffix",this.optionLabel=((n=this.customStructure)==null?void 0:n.optionLabel)??"value",this.valueName=((o=this.customStructure)==null?void 0:o.value)??"value",this.enableTranslateLabel&&(!this._translaterService||typeof this._translaterService.translate!="function"))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.renderDomElement(this.collection),(this.disabled||(l=this.columnEditor)!=null&&l.collectionAsync&&Array.isArray(this.collection)&&this.collection.length===0)&&this.disable(!0)}getValue(){return this.isMultipleSelect?this.currentValues:this.currentValue}setValue(e,t=!1,i=!0){if(this.isMultipleSelect&&Array.isArray(e)?this.loadMultipleValues(e):this.loadSingleValue(e),t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(s,"system")}}cancel(){var e;(e=this.args)!=null&&e.cancelChanges&&this.args.cancelChanges()}hide(){this._msInstance&&this._msInstance.close()}show(e){!this.isCompositeEditor&&this._msInstance?this._msInstance.open(e):this.isCompositeEditor&&this.applyInputUsabilityState()}applyValue(e,t){var o,l,a;const i=(o=this.columnDef)==null?void 0:o.field,s=(l=this.columnDef)==null?void 0:l.type;let n=t;if(i!==void 0){(s===w.number||s===w.integer||s===w.boolean)&&!isNaN(parseFloat(t))&&(n=parseFloat(t)),this.isMultipleSelect&&typeof t=="string"&&t.indexOf(",")>=0&&(n=t.split(","));const h=(i==null?void 0:i.indexOf("."))>0,d=this.validate(null,n);if(n=d!=null&&d.valid?n:"",h){const c=((a=this.columnEditor)==null?void 0:a.complexObjectPath)??i??"";We(e,c,n)}else e[i]=n}}destroy(){var e,t;this._msInstance&&this.hasAutoCommitEdit&&this.isValueChanged()&&!this._isDisposingOrCallingSave&&!this.isCompositeEditor&&(this._isDisposingOrCallingSave=!0,this.save(!0)),this._isDisposingOrCallingSave=!0,typeof((e=this._msInstance)==null?void 0:e.destroy)=="function"&&this._msInstance.destroy(),(t=this.editorElm)==null||t.remove(),this._msInstance=void 0}loadValue(e){var s,n;const t=(s=this.columnDef)==null?void 0:s.field,i=t!==void 0&&(t==null?void 0:t.indexOf("."))>0;if(e&&t!==void 0){const o=((n=this.columnEditor)==null?void 0:n.complexObjectPath)??t,l=i?Ee(e,o):e.hasOwnProperty(t)&&e[t],a=i&&(l!=null&&l.hasOwnProperty(this.valueName))?l[this.valueName]:l;this.isMultipleSelect&&Array.isArray(a)?this.loadMultipleValues(a):this.loadSingleValue(a)}}loadMultipleValues(e){var t;if(Array.isArray(e)){this.originalValue=e.map(s=>typeof s=="number"||typeof s=="boolean"?`${s}`:s),(t=this._msInstance)==null||t.setSelects(this.originalValue);const i=this.args.compositeEditorOptions;i&&this.handleChangeOnCompositeEditor(i)}}loadSingleValue(e){var t;this.originalValue=typeof e=="number"||typeof e=="boolean"?`${e}`:e,(t=this._msInstance)==null||t.setSelects([this.originalValue])}serializeValue(){return this.isMultipleSelect?this.currentValues:this.currentValue}changeEditorOption(e,t){var i;this.columnEditor&&(this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[e]=t,this.editorElmOptions={...this.editorElmOptions,[e]:t},(i=this._msInstance)==null||i.refreshOptions(this.editorElmOptions))}disable(e=!0){const t=this.disabled;if(this.disabled=e,this._msInstance)if(e){this._msInstance.disable();const i=this.getValue(),s=Array.isArray(i)&&this.isMultipleSelect?(i==null?void 0:i[0])==="":i==="";t!==e&&this.isCompositeEditor&&!s&&this.reset("",!0,!0)}else this._msInstance.enable()}focus(){var e;this.grid.focus(),(e=this._msInstance)==null||e.focus()}isValueChanged(){var i;const e=(i=this._msInstance)==null?void 0:i.getSelects();if(this.isMultipleSelect)return!pt(e,this.originalValue);const t=Array.isArray(e)&&e.length>0?e[0]:void 0;return t!==void 0&&t!==this.originalValue}isValueTouched(){return this._isValueTouched}reset(e,t=!0,i=!1){const s=e??this.originalValue;if(this._msInstance){this.originalValue=this.isMultipleSelect?s!==void 0?[s]:[]:s;const o=this.originalValue===void 0?[]:[this.originalValue];this._msInstance.setSelects(o)}this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(n,"user",o)}}save(e=!1){const t=this.validate(),i=(t==null?void 0:t.valid)??!1;(!this._isDisposingOrCallingSave||e)&&this.hasAutoCommitEdit&&i?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}validate(e,t){var o,l;const i=this.isCompositeEditor?!1:(o=this.columnEditor)==null?void 0:o.required,s=t!==void 0?t:(l=this._msInstance)==null?void 0:l.getSelects(),n=this.columnEditor&&this.columnEditor.errorMessage;if(this.isCompositeEditor&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(this.validator){const a=t!==void 0?t:this.isMultipleSelect?this.currentValues:this.currentValue;return this.validator(a,this.args)}return i&&(s===""||Array.isArray(s)&&s.length===0)?{valid:!1,msg:n||R.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}filterCollection(e){var i;let t=e;if(this.columnEditor&&this.columnEditor.collectionFilterBy){const s=this.columnEditor.collectionFilterBy,n=((i=this.columnEditor.collectionOptions)==null?void 0:i.filterResultAfterEachPass)??null;t=this._collectionService.filterCollection(t,s,n)}return t}sortCollection(e){let t=e;if(this.columnDef&&this.columnEditor&&this.columnEditor.collectionSortBy){const i=this.columnEditor.collectionSortBy;t=this._collectionService.sortCollection(this.columnDef,t,i,this.enableTranslateLabel)}return t}renderDomElement(e){var n,o,l,a,h;if(!Array.isArray(e)&&((n=this.collectionOptions)!=null&&n.collectionInsideObjectProperty)){const d=this.collectionOptions.collectionInsideObjectProperty;e=Ee(e,d)}if(!Array.isArray(e))throw new Error('The "collection" passed to the Select Editor is not a valid array.');let t=[];if(e.length>0&&(t=[...e]),(o=this.collectionOptions)!=null&&o.addBlankEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==""&&(t.unshift(this.createBlankEntry()),this.collection.unshift(this.createBlankEntry())),(l=this.collectionOptions)!=null&&l.addCustomFirstEntry&&Array.isArray(t)&&t.length>0&&t[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&(t.unshift(this.collectionOptions.addCustomFirstEntry),this.collection.unshift(this.collectionOptions.addCustomFirstEntry)),(a=this.collectionOptions)!=null&&a.addCustomLastEntry&&Array.isArray(t)&&t.length>0){const d=t.length-1;t[d][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&t.push(this.collectionOptions.addCustomLastEntry)}let i=t;if(i=this.filterCollection(i),i=this.sortCollection(i),(h=this.columnEditor)!=null&&h.collectionOverride){const d={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:c,modalType:u}=this.args.compositeEditorOptions;d.compositeEditorOptions={formValues:c,modalType:u}}i=this.columnEditor.collectionOverride(i,d)}this.finalCollection=i;const s=Xl("editor",i,this.columnDef,this.grid,this.isMultipleSelect,this._translaterService);this.createDomElement(s.selectElement,s.dataCollection)}createBlankEntry(){const e={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(e[this.labelPrefixName]=""),this.labelSuffixName&&(e[this.labelSuffixName]=""),e}createDomElement(e,t){var n;const i=this.args.container;e&&i&&typeof i.appendChild=="function"&&(ee(i),i.appendChild(e));const s=((n=this.columnEditor)==null?void 0:n.placeholder)??"";this.defaultOptions.placeholder=s||"",this.editorElmOptions={...this.defaultOptions,...this.editorOptions,data:t},this._msInstance=xi(e,this.editorElmOptions),this.editorElm=this._msInstance.getParentElement(),this.isCompositeEditor||this.show(this.delayOpening)}handleChangeOnCompositeEditor(e,t="user",i=!1){var c,u,p;const s=this.grid.getActiveCell(),n=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",l=this.dataContext,a=this.grid,h=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,h),this.applyValue(e.formValues,h);const d=((p=(u=this.gridOptions)==null?void 0:u.compositeEditorOptions)==null?void 0:p.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],a.onCompositeEditorChange.notify({...s,item:l,grid:a,column:n,formValues:e.formValues,editors:e.editors,triggeredBy:t},new le)}}class Sp extends Fa{constructor(e,t=0){super(e,!0,t),this.args=e,this.delayOpening=t}}class yp extends Fa{constructor(e,t=0){super(e,!1,t),this.args=e,this.delayOpening=t}}class Ep{constructor(e){if(this.args=e,this._defaultValue=0,this._isValueTouched=!1,this._sliderNumberElm=null,this.disabled=!1,!e)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=e.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new Pe,this.init()}get columnDef(){return this.args.column}get columnEditor(){var e;return((e=this.columnDef)==null?void 0:e.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._editorElm}get editorInputDomElement(){return this._inputElm}get editorOptions(){var e,t;return{...(e=this.gridOptions.defaultEditorOptions)==null?void 0:e.slider,...(t=this.columnEditor)==null?void 0:t.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get sliderOptions(){return this._sliderOptions}get validator(){var e;return this.columnEditor.validator??((e=this.columnDef)==null?void 0:e.validator)}init(){var e;if(this._cellContainerElm=(e=this.args)==null?void 0:e.container,this._cellContainerElm&&this.columnDef){const t=this.args.compositeEditorOptions;this._editorElm=this.buildDomElement(),t||this.focus(),this._cellContainerElm.appendChild(this._editorElm),this._bindEventService.bind(this._sliderTrackElm,["click","mouseup"],this.sliderTrackClicked.bind(this)),this._bindEventService.bind(this._inputElm,["change","mouseup","touchend"],this.handleChangeEvent.bind(this)),this._bindEventService.bind(this._inputElm,["input","change"],this.handleChangeSliderNumber.bind(this))}}cancel(){this._inputElm&&(this._inputElm.value=`${this._originalValue}`),this.args.cancelChanges()}destroy(){var e,t,i;this._bindEventService.unbindAll(),(e=this._inputElm)==null||e.remove(),(t=this._editorElm)==null||t.remove(),(i=this._sliderTrackElm)==null||i.remove()}disable(e=!0){var i;const t=this.disabled;if(this.disabled=e,this._inputElm)if(e){this._inputElm.disabled=!0;const s=this.getValue();t!==e&&((i=this.args)!=null&&i.compositeEditorOptions)&&s!==""&&this.reset(0,!0,!0)}else this._inputElm.disabled=!1}focus(){var e;this.grid.focus(),(e=this._inputElm)==null||e.focus()}show(){var t;!!((t=this.args)!=null&&t.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var e;return((e=this._inputElm)==null?void 0:e.value)??""}setValue(e,t=!1,i=!0){if(this._inputElm&&(this._inputElm.value=`${e}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${e}`),t){this.applyValue(this.args.item,this.serializeValue());const s=this.args.compositeEditorOptions;s&&i&&this.handleChangeOnCompositeEditor(null,s,"system")}}applyValue(e,t){var s;const i=((s=this.columnDef)==null?void 0:s.field)??"";if(i!==void 0){const n=(i==null?void 0:i.indexOf("."))>0,o=this.validate(void 0,t),l=o&&o.valid?t:"";if(n){const a=this.columnEditor.complexObjectPath??i??"";We(e,a,l)}else e&&(e[i]=l)}}changeEditorOption(e,t){var i;if(this.columnEditor)switch((i=this.columnEditor).editorOptions??(i.editorOptions={}),this.columnEditor.editorOptions[e]=t,this._sliderOptions[e]=t,e){case"hideSliderNumber":this.renderSliderNumber(this._editorElm,0);break;case"sliderStartValue":this._inputElm.value=`${t}`,this._inputElm.defaultValue=`${t}`;break;case"maxValue":case"minValue":case"step":this._inputElm[e.replace("Value","")]=`${t}`;break}}isValueChanged(){var t;const e=((t=this._inputElm)==null?void 0:t.value)??"";return!(e===""&&this._originalValue===void 0)&&+e!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(e){var i;const t=((i=this.columnDef)==null?void 0:i.field)??"";if(e&&t!==void 0){let n=(t==null?void 0:t.indexOf("."))>0?Ee(e,t):e.hasOwnProperty(t)?e[t]:this._defaultValue;(n===""||n===null||n===void 0)&&(n=this._defaultValue),this._originalValue=+n,this._inputElm&&(this._inputElm.value=`${n}`,this._inputElm.title=`${n}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${n}`)}this.updateTrackFilledColorWhenEnabled()}reset(e,t=!0,i=!1){const s=e??this._originalValue??0;this._inputElm&&(this._inputElm.value=`${s}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${s}`),this._isValueTouched=!1;const n=this.args.compositeEditorOptions;if(n&&t){const o=!i;this.handleChangeOnCompositeEditor(null,n,"user",o)}}save(){const e=this.validate(),t=e&&e.valid||!1;this.hasAutoCommitEdit&&t?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var t;const e=((t=this._inputElm)==null?void 0:t.value)??"";return e!==""?parseInt(e,10):this._originalValue}validate(e,t){var s,n;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const i=t!==void 0?t:(s=this._inputElm)==null?void 0:s.value;return mp(i,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,required:(n=this.args)!=null&&n.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}buildDomElement(){var h;const e=((h=this.columnDef)==null?void 0:h.id)??"",t=this.columnEditor.title??"",i=+(this.columnEditor.minValue??R.SLIDER_DEFAULT_MIN_VALUE),s=+(this.columnEditor.maxValue??R.SLIDER_DEFAULT_MAX_VALUE),n=+(this.columnEditor.valueStep??R.SLIDER_DEFAULT_STEP),o=this.editorOptions.sliderStartValue??i;this._defaultValue=+o,this._sliderTrackElm=v("div",{className:"slider-track"}),this._inputElm=v("input",{type:"range",title:t,defaultValue:`${o}`,value:`${o}`,min:`${i}`,max:`${s}`,step:`${this.columnEditor.valueStep??R.SLIDER_DEFAULT_STEP}`,ariaLabel:this.columnEditor.ariaLabel??`${Ct(e+"")} Slider Editor`,className:`slider-editor-input editor-${e}`});const l=v("div",{className:"slider-container slider-editor"}),a=v("div",{className:"slider-input-container slider-editor"});return a.appendChild(this._sliderTrackElm),a.appendChild(this._inputElm),l.appendChild(a),this.renderSliderNumber(l,o),this._sliderOptions={minValue:i,maxValue:s,step:n},l}renderSliderNumber(e,t){var i;if(this.editorOptions.hideSliderNumber)(i=e.querySelector(".slider-value"))==null||i.remove();else{e.classList.add("input-group");const s=v("div",{className:"input-group-addon input-group-append slider-value"});this._sliderNumberElm=v("span",{className:"input-group-text",textContent:`${t}`}),s.appendChild(this._sliderNumberElm),e.appendChild(s)}}applyInputUsabilityState(){const e=this.grid.getActiveCell(),t=this.grid.onBeforeEditCell.notify({...e,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(t===!1)}handleChangeEvent(e){this._isValueTouched=!0;const t=this.args.compositeEditorOptions;t?this.handleChangeOnCompositeEditor(e,t):this.save()}handleChangeSliderNumber(e){var i,s;const t=((i=e.target)==null?void 0:i.value)??"";t!==""&&(!this.editorOptions.hideSliderNumber&&this._sliderNumberElm&&(this._sliderNumberElm.textContent=t),this._inputElm.title=t,(s=this.args)!=null&&s.compositeEditorOptions||this.grid.onMouseEnter.notify({column:this.columnDef,grid:this.grid},new le(e))),this.updateTrackFilledColorWhenEnabled()}handleChangeOnCompositeEditor(e,t,i="user",s=!1){var u,p,m;const n=this.grid.getActiveCell(),o=this.args.column,l=((u=this.columnDef)==null?void 0:u.id)??"",a=this.dataContext,h=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(t.formValues,d);const c=((m=(p=this.gridOptions)==null?void 0:p.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(s||this.disabled&&c&&t.formValues.hasOwnProperty(l))&&delete t.formValues[l],h.onCompositeEditorChange.notify({...n,item:a,grid:h,column:o,formValues:t.formValues,editors:t.editors,triggeredBy:i},new le(e))}sliderTrackClicked(e){e.preventDefault();const t=e.offsetX,i=this._sliderTrackElm.offsetWidth,s=(t+0)*100/i;this._inputElm&&(this._inputElm.value=`${s}`,this._inputElm.dispatchEvent(new Event("change")))}updateTrackFilledColorWhenEnabled(){var e,t;if(this.editorOptions.enableSliderTrackColoring&&this._inputElm){const s=(+this.getValue()-+this._inputElm.min)/(((e=this.sliderOptions)==null?void 0:e.maxValue)??0-+this._inputElm.min)*100,n="linear-gradient(to right, %b %p1, %c %p1, %c %p2, %b %p2)".replace(/%b/g,"#eee").replace(/%c/g,((t=this.editorOptions)==null?void 0:t.sliderTrackFilledColor)??"var(--slick-slider-filter-thumb-color, #86bff8)").replace(/%p1/g,"0%").replace(/%p2/g,`${s}%`);this._sliderTrackElm.style.background=n,this._sliderOptions.sliderTrackBackground=n}}}const Nr={autocompleter:cp,checkbox:up,date:pp,dualInput:fp,float:_p,integer:vp,longText:bp,multipleSelect:Sp,password:Cp,singleSelect:yp,slider:Ep,text:en},wp=(r,e,t,i,s)=>{var h;const n=i&&i.params||{},o=n.propertyNames,l=(n==null?void 0:n.includeTitle)??!0;let a=n.dataContextProperty;if(a||(a=((h=i==null?void 0:i.field)==null?void 0:h.split(".")[0])||""),!o||!Array.isArray(o)||!a)throw new Error(`Formatters.arrayObjectToCsv requires you to pass an array of "propertyNames" (declared in "params") that you want to pull the data from.
20
20
  For example, if we have an array of user objects that have the property of firstName & lastName then we need to pass in your column definition:: { params: { propertyNames: ['firtName'] }}.
@@ -24,10 +24,10 @@
24
24
  2- via the generic "params" with a "complexField" and a "labelKey" property on your Column Definition, example: this.columnDefs = [{ id: 'user', field: 'user', labelKey: 'firstName', params: { complexField: 'user' } }]
25
25
  3- via the field name that includes a dot notation, example: this.columnDefs = [{ id: 'user', field: 'user.firstName'}] `);if(i.labelKey&&s.hasOwnProperty(o))return(l=s[o])==null?void 0:l[i.labelKey];if(typeof o=="string"&&o.indexOf(".")>0){let a=o.split(".").reduce((h,d)=>h!=null&&h.hasOwnProperty(d)?h[d]:"",s);return(a==null||typeof a=="object"&&Object.entries(a).length===0&&!(a instanceof Date))&&(a=""),a}return t},Ip=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,numberPrefix:a,numberSuffix:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(i,n,"decimal","cell");return U(t)?Ie(t,o,l,u,a,h,d,c):t},Rp=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"currency","cell");return U(t)?Ie(t,o,l,d,"$","",a,h):t},Ap=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"currency","cell");if(U(t)){const c=t>=0?"green":"red",u=Ie(t,o,l,d,"$","",a,h),p=v("span",{ariaHidden:"true",textContent:u});return p.style.color=c,p}return t},Pp=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"currency","cell");if(U(t)){const c=t>=0?"green":"red",u=Ie(t,o,l,d,"$","",a,h),p=v("span",{ariaHidden:"true",textContent:u});return p.style.color=c,p.style.fontWeight="bold",p}return t},kp=(r,e,t,i,s,n)=>{const{currencyPrefix:o,currencySuffix:l,minDecimal:a,maxDecimal:h,numberPrefix:d,numberSuffix:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(i,n,"decimal","cell");if(U(t)){const f=Ie(t,a,h,m,o,l,u,p);return`${d}${f}${c}`}return t},Fp=(r,e,t,i,s,n)=>{const o=i&&i.params||{};let l=o.hyperlinkText?o.hyperlinkText:t;l=n.sanitizeHtmlString(l);let a=o.hyperlinkUrl?o.hyperlinkUrl:t;a=n.sanitizeHtmlString(a);const h=a.match(/^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&amp;:/~+#]*[\w\-@?^=%&amp;/~+#])?/i);if(h&&Array.isArray(h)&&h.length>0){const d=h[0];return v("a",{href:d,textContent:l})}return t},Dp=(r,e,t,i)=>{const n=((i==null?void 0:i.params)||{}).cssClass;if(!n)throw new Error('[Slickgrid-Universal] When using `Formatters.iconBoolean`, you must provide You must provide the "cssClass", e.g.: { formatter: Formatters.iconBoolean, params: { cssClass: "mdi mdi-check" }}');let o=!1;const l=!isNaN(t);return(t===!0||l&&parseFloat(t)>0||!l&&typeof t=="string"&&t.toLowerCase()!=="false"&&t!=="0")&&(o=!0),o?v("i",{className:n,ariaHidden:"true"}):""},Mp=(r,e,t,i)=>{const s=(i==null?void 0:i.params)??{},n=s.iconCssClass||s.icon||s.formatterIcon;if(!n)throw new Error('[Slickgrid-Universal] When using `Formatters.icon`, you must provide the "iconCssClass" via the generic "params". (e.g.: `{ formatter: Formatters.icon, params: { iconCssClass: "mdi mdi-magnify" }}`');const o=s.title||null;return v("i",{className:n,ariaHidden:"true",title:o})},Lp=(r,e,t,i,s,n)=>{const l=(i.params||{}).mask;if(!l)throw new Error(`You must provide a "mask" via the generic "params" options (e.g.: { formatter: Formatters.mask, params: { mask: '000-000' }}`);if(t){let a=0;const h=t.toString(),d=n.getOptions()||{},c=d!=null&&d.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return c.textContent=l.replace(/[09A]/gi,()=>h[a++]||""),c}return t},Np=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"percent","cell");if(U(t)){const c=t*100;return Ie(c,o,l,d,"","%",a,h)}return t},Hp=(r,e,t)=>{if(!U(t))return"";let i="",s=parseFloat(t);return s>100&&(s=100),s<30?i="red":s<70?i="silver":i="green",v("span",{className:"percent-complete-bar",title:`${s}%`,style:{background:i,width:`${s}%`}})},Vp=(r,e,t)=>{if(!U(t))return"";let i="",s=parseFloat(t);return s>100&&(s=100),s<30?i="red":s<70?i="silver":i="green",v("div",{className:"percent-complete-bar-with-text",title:`${s}%`,textContent:`${s}%`,style:{background:i,width:`${s}%`}})},Bp=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"percent","cell");if(U(t)){const c=t<50?"red":"green",u=Ie(t,o,l,d,"","%",a,h),p=t>100?"100%":u;return v("span",{textContent:p,style:{color:c}})}return t},zp=(r,e,t,i,s,n)=>{const{minDecimal:o,maxDecimal:l,decimalSeparator:a,thousandSeparator:h,wrapNegativeNumber:d}=Se(i,n,"percent","cell");return U(t)?Ie(t,o,l,d,"","%",a,h):t},$p=(r,e,t)=>{if(!U(t))return"";let i="",s=parseFloat(t);s>100&&(s=100),s<30?i="danger":s<70?i="warning":i="success";const n=v("div",{className:"progress"});return n.appendChild(v("div",{className:`progress-bar progress-bar-${i} bg-${i}`,role:"progressbar",ariaValueNow:String(s),ariaValueMin:"0",ariaValueMax:"100",textContent:`${s}%`,style:{minWidth:"2em",width:`${s}%`}})),n},Wp=(r,e,t,i,s,n)=>{const l=((n==null?void 0:n.getOptions())??{}).translater||i&&i.params&&i.params.translater;if(!l||typeof l.translate!="function")throw new Error(`"Formatters.translate" requires the Translate Service to be provided as a Grid Options "translater" (or "i18n" depending on which framework you use).
26
26
  For example: this.gridOptions = { enableTranslate: true, translater: this.translateService }`);return t!=null&&typeof t!="string"&&(t=t+""),t?l.translate(t):""},Gp=(r,e,t,i,s,n)=>{var x,O;const o=n.getOptions(),l=o==null?void 0:o.treeDataOptions,a=(l==null?void 0:l.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,h=(l==null?void 0:l.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,d=(l==null?void 0:l.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP,c=(l==null?void 0:l.exportIndentMarginLeft)??5,u=(l==null?void 0:l.exportIndentationLeadingChar)??".",p=(l==null?void 0:l.exportIndentationLeadingSpaceCount)??3,m=((x=o==null?void 0:o.excelExportOptions)==null?void 0:x.groupCollapsedSymbol)??"⮞",f=((O=o==null?void 0:o.excelExportOptions)==null?void 0:O.groupExpandedSymbol)??"⮟";let g=t;if(g=Ni(i,s,t),g==null||s===void 0)return"";if(!s.hasOwnProperty(d))throw new Error('[Slickgrid-Universal] You must provide valid "treeDataOptions" in your Grid Options, however it seems that we could not find any tree level info on the current item datacontext row.');const _=(s==null?void 0:s[d])??0;let C="",b=0;s[h]?(C=s!=null&&s[a]?m:f,b=_===0?0:c*_):b=c*(_===0?0:_+1);const S=zi(b);return l!=null&&l.titleFormatter&&(g=Gs(l.titleFormatter,r,e,i,s,n)),g=`${_===0&&C?"":_===0?`${u}${zi(p)}`:u}${S}${C} ${g}`,we(g)},Up=(r,e,t,i,s,n)=>{const o=n.getOptions(),l=o==null?void 0:o.treeDataOptions,a=(l==null?void 0:l.indentMarginLeft)??15,h=(l==null?void 0:l.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,d=(l==null?void 0:l.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,c=(l==null?void 0:l.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;let u=t;if(u=Ni(i,s,t),u==null||s===void 0)return"";if(!s.hasOwnProperty(c))throw new Error('[Slickgrid-Universal] You must provide valid "treeDataOptions" in your Grid Options, however it seems that we could not find any tree level info on the current item datacontext row.');const p=(s==null?void 0:s[c])??0,m=document.createElement("span");m.style.display="inline-block",m.style.width=`${a*p}px`;const f=`slick-tree-level-${p}`;let g="";s[d]&&(g=s!=null&&s[h]?"collapsed":"expanded"),l!=null&&l.titleFormatter&&(u=Gs(l.titleFormatter,r,e,i,s,n));const _=`slick-group-toggle ${g}`.trim(),C=v("div",{className:_,ariaExpanded:String(g==="expanded")}),b=v("span",{className:"slick-tree-title"});n.applyHtmlCode(b,u),b.setAttribute("level",p);const S=o!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return S.appendChild(m),S.appendChild(C),S.appendChild(b),{addClasses:f,html:S}},jp=(r,e,t,i,s,n)=>{var c;const o=n.getOptions(),l=((c=o==null?void 0:o.treeDataOptions)==null?void 0:c.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,{groupTotalsFormatter:a,treeTotalsFormatter:h,params:d}=i;if(!a&&!h)throw new Error('[Slickgrid-Universal] When using Formatters.treeParseTotals, you must provide a total formatter via "groupTotalsFormatter" or "treeTotalsFormatter".');if(s[l]&&(s!=null&&s.__treeTotals)&&(a||h))return(h??a)(s==null?void 0:s.__treeTotals,i,n);if(d.formatters){let u=t;for(const p of d.formatters)!s[l]&&!(s!=null&&s.__treeTotals)&&typeof p=="function"&&(u=p(r,e,u,i,s,n)||t);return u}return t},Yp=(r,e,t,i,s,n)=>{const l=((n==null?void 0:n.getOptions())??{}).translater||i&&i.params&&i.params.translater;if(!l||typeof l.translate!="function")throw new Error(`"Formatters.translateBoolean" requires the Translate Service to be provided as a Grid Options "translater" (or "i18n" depending on which framework you use).
27
- For example: this.gridOptions = { enableTranslate: true, translater: this.translateService }`);return t!=null&&typeof t!="string"&&(t=t+""),t?l.translate(t.toUpperCase()):""},_e={arrayObjectToCsv:wp,arrayToCsv:tn,checkmarkMaterial:Tp,complex:Da,complexObject:Da,collection:xp,collectionEditor:Op,currency:kp,dateIso:ye(w.dateIso,"-"),dateTimeIso:ye(w.dateTimeIso,"-"),dateTimeShortIso:ye(w.dateTimeShortIso,"-"),dateTimeIsoAmPm:ye(w.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:ye(w.dateTimeIsoAM_PM,"-"),dateEuro:ye(w.dateEuro,"/"),dateEuroShort:ye(w.dateEuroShort,"/"),dateTimeEuro:ye(w.dateTimeEuro,"/"),dateTimeEuroShort:ye(w.dateTimeEuroShort,"/"),dateTimeShortEuro:ye(w.dateTimeShortEuro,"/"),dateTimeEuroAmPm:ye(w.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:ye(w.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:ye(w.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:ye(w.dateTimeEuroShortAM_PM,"/"),dateUs:ye(w.dateUs,"/"),dateTimeUs:ye(w.dateTimeUs,"/"),dateTimeShortUs:ye(w.dateTimeShortUs,"/"),dateTimeUsAmPm:ye(w.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:ye(w.dateTimeUsAM_PM,"/"),dateTimeUsShort:ye(w.dateTimeUsShort,"/"),dateTimeUsShortAmPm:ye(w.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:ye(w.dateTimeUsShortAM_PM,"/"),dateUsShort:ye(w.dateUsShort,"/"),dateUtc:ye(w.dateUtc,"-"),decimal:Ip,dollar:Rp,dollarColored:Ap,dollarColoredBold:Pp,hyperlink:Fp,icon:Mp,iconBoolean:Dp,mask:Lp,multiple:Ws,percent:Np,percentComplete:Bp,percentCompleteBar:Hp,percentCompleteBarWithText:Vp,percentSymbol:zp,progressBar:$p,translate:Wp,translateBoolean:Yp,tree:Up,treeParseTotals:jp,treeExport:Gp},re={avgTotals:(r,e,t)=>{var p;const i=e.field??"";let s=(p=r.avg)==null?void 0:p[i];const n=e==null?void 0:e.params;let o=(n==null?void 0:n.groupFormatterPrefix)||"";const l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){if(s<0)if(s=Math.abs(s),!u)o+="-";else{if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}(${m})${l}`}return`${o}(${Vt(s,a,h,d,c)})${l}`}if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}${m}${l}`}return`${o}${Vt(s,a,h,d,c)}${l}`}return""},avgTotalsCurrency:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.avg)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=Ie(s,d,c,m,a,h,u,p);return`${o}${g}${l}`}return""},avgTotalsDollar:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.avg)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return`${o}${m}${l}`}return""},avgTotalsPercentage:(r,e,t)=>{var p;const i=e.field??"";let s=(p=r.avg)==null?void 0:p[i];const n=e==null?void 0:e.params;let o=(n==null?void 0:n.groupFormatterPrefix)||"";const l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"percent","group");if(U(s)){if(s<0)if(s=Math.abs(s),!u)o+="-";else{if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}(${m}%)${l}`}return`${o}(${Vt(s,a,h,d,c)}%)${l}`}if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}${m}%${l}`}return`${o}${Vt(s,a,h,d,c)}%${l}`}return""},maxTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.max)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},minTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.min)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},sumTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},sumTotalsBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return v("span",{style:{fontWeight:"bold"},textContent:`${o}${m}${l}`})}return""},sumTotalsColored:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"","",d,c);return v("span",{style:{color:m},textContent:`${o}${f}${l}`})}return""},sumTotalsCurrency:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.sum)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=Ie(s,d,c,m,a,h,u,p);return`${o}${g}${l}`}return""},sumTotalsCurrencyColored:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.sum)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=s>=0?"green":"red",_=Ie(s,d,c,m,a,h,u,p);return v("span",{style:{color:g},textContent:`${o}${_}${l}`})}return""},sumTotalsDollar:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return`${o}${m}${l}`}return""},sumTotalsDollarBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{fontWeight:"bold"},textContent:`${o}${m}${l}`})}return""},sumTotalsDollarColored:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{color:m},textContent:`${o}${f}${l}`})}return""},sumTotalsDollarColoredBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{color:m,fontWeight:"bold"},textContent:`${o}${f}${l}`})}return""}};class qp{constructor(){this.options=Mr}}const Hr={...uh,...ph,..._h,...qh,...Oh,deepAssign:Zt};function Kp(r,e,t){let i;t={...{modalType:"edit",validationFailedMsg:"Some of the fields have failed validation",validationMsgPrefix:null,show:null,hide:null,position:null,destroy:null,formValues:{},editors:{}},...t};const n=()=>{},o=a=>{const h=e[a],d=ge(h),c=(h==null?void 0:h.clientWidth)??0,u=(h==null?void 0:h.clientHeight)??0;return{top:d.top,left:d.left,bottom:d.top+u,right:d.left+c,width:c,height:u,visible:!0}};function l(a){const h=this;let d=[];function c(){let u={},p=0;for(;p<r.length;){if(r[p].editorClass){const m=r[p];u={...a},u.container=e[p],u.column=m,u.position=o(p),u.commitChanges=n,u.cancelChanges=n,u.compositeEditorOptions=t,u.formValues={};const f=new m.editorClass(u);t.editors[m.id]=f,d.push(f)}p++}window.setTimeout(()=>{Array.isArray(d)&&d.length>0&&typeof d[0].focus=="function"&&d[0].focus()},0)}h.getEditors=()=>d,h.destroy=()=>{var m;let u=d.pop();for(;u;)u==null||u.destroy(),u=d.pop();let p=e.pop();for(;p;)ee(p),p==null||p.remove(),p=e.pop();(m=t==null?void 0:t.destroy)==null||m.call(t),d=[],e=null},h.focus=()=>{(i||d[0]).focus()},h.isValueChanged=()=>{let u=0;for(;u<d.length;){if(d[u].isValueChanged())return!0;u++}return!1},h.serializeValue=()=>{const u=[];let p=0;for(;p<d.length;)u[p]=d[p].serializeValue(),p++;return u},h.applyValue=(u,p)=>{let m=0;for(;m<d.length;)d[m].applyValue(u,p==null?void 0:p[m]),m++},h.loadValue=u=>{let p=0;for(;p<d.length;)d[p].loadValue(u),p++},h.validate=u=>{var g;let p;i=null;const m=[];let f=0;for(;f<d.length;){const _=(g=d[f].args)==null?void 0:g.column;if((_==null?void 0:_.id)!==void 0){const C=document.querySelector(".slick-editor-modal");let b=C==null?void 0:C.querySelector(`.item-details-validation.editor-${_.id}`),S=C==null?void 0:C.querySelector(`.item-details-label.editor-${_.id}`),E=C==null?void 0:C.querySelector(`[data-editorid='${_.id}']`);const y=(t==null?void 0:t.validationMsgPrefix)??"";(!u||E!=null&&E.contains(u))&&(p=d[f].validate(),p.valid?b&&(b.textContent="",E==null||E.classList.remove("invalid"),S==null||S.classList.remove("invalid")):(i=d[f],m.push({index:f,editor:d[f],container:e[f],msg:p.msg}),b&&(b.textContent=`${y}${p.msg}`,S==null||S.classList.add("invalid"),E==null||E.classList.add("invalid")))),b=null,S=null,E=null}f++}return u=null,m.length?{valid:!1,msg:t.validationFailedMsg,errors:m}:{valid:!0,msg:""}},h.hide=()=>{var p,m,f;let u=0;for(;u<d.length;)(m=(p=d[u])==null?void 0:p.hide)==null||m.call(p),u++;(f=t==null?void 0:t.hide)==null||f.call(t)},h.show=()=>{var p,m,f;let u=0;for(;u<d.length;)(m=(p=d[u])==null?void 0:p.show)==null||m.call(p),u++;(f=t==null?void 0:t.show)==null||f.call(t)},h.position=u=>{var p;(p=t==null?void 0:t.position)==null||p.call(t,u)},c()}return l.prototype=this,l}const Ma=r=>console.log(r.message);class Vr{get eventHandler(){return this._eventHandler}get dataView(){var e;return(e=this.grid)==null?void 0:e.getData()}get dataViewLength(){return this.dataView.getLength()}get formValues(){return this._formValues}get editors(){return this._editors}set editors(e){this._editors=e}get gridOptions(){var e;return(e=this.grid)==null?void 0:e.getOptions()}constructor(){this._columnDefinitions=[],this._lastActiveRowNumber=-1,this._formValues=null,this.gridService=null,this._eventHandler=new pe,this._bindEventService=new Pe}init(e,t){var i;if(this.grid=e,this.gridService=t.get("GridService"),this.translaterService=t.get("TranslaterService"),!this.gridService)throw new Error("[Slickgrid-Universal] it seems that the GridService is not being loaded properly, make sure the Container Service is properly implemented.");if(this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this._locales=((i=this.gridOptions)==null?void 0:i.locales)??R.locales}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this._formValues=null,this.disposeComponent()}disposeComponent(){var e,t,i;(e=this._modalBodyTopValidationElm)==null||e.remove(),(t=this._modalSaveButtonElm)==null||t.remove(),typeof((i=this._modalElm)==null?void 0:i.remove)=="function"&&(this._modalElm.remove(),document.body.classList.remove("slick-modal-open")),this._editorContainers=[]}changeFormInputValue(e,t,i=!1,s=!0){var d,c,u,p,m,f;const n=this.getColumnByObjectOrId(e),o=typeof e=="string"?e:(n==null?void 0:n.id)??"",l=(d=this._editors)==null?void 0:d[o];let a=t;if(!l&&!i)throw new Error(`Composite Editor with column id "${o}" not found.`);if(typeof(l==null?void 0:l.setValue)=="function"&&Array.isArray(this._editorContainers)){l.setValue(t,!0,s);const g=this._editorContainers.find(C=>C.dataset.editorid===o),_=((u=(c=this.gridOptions)==null?void 0:c.compositeEditorOptions)==null?void 0:u.excludeDisabledFieldFormValues)??!1;!l.disabled||l.disabled&&!_?(p=g==null?void 0:g.classList)==null||p.add("modified"):(a="",(m=g==null?void 0:g.classList)==null||m.remove("modified")),l.disabled&&(a!==""||a!==null||a!==void 0||a!==0)&&(a="")}const h=(n==null?void 0:n.field)??"";if(n&&(h!=null&&h.includes("."))){const g=((f=n.editor)==null?void 0:f.complexObjectPath)??h??"";We(this._formValues??{},g,t)}else this._formValues={...this._formValues,[o]:a}}changeFormValue(e,t){var o;const i=this.getColumnByObjectOrId(e),s=typeof e=="string"?e:(i==null?void 0:i.id)??"",n=(i==null?void 0:i.field)??e;if(n!=null&&n.includes(".")){const l=((o=i==null?void 0:i.editor)==null?void 0:o.complexObjectPath)??n??"";We(this._formValues,l,t)}else this._formValues={...this._formValues,[s]:t};this._formValues=Zt({},this._itemDataContext,this._formValues)}changeFormEditorOption(e,t,i){var n;const s=(n=this._editors)==null?void 0:n[e];if(s!=null&&s.changeEditorOption)s.changeEditorOption(t,i);else throw new Error(`Editor with column id "${e}" not found OR the Editor does not support "changeEditorOption" (current only available with Date, MultipleSelect, SingleSelect & Slider Editors).`)}disableFormInput(e,t=!0){var s;const i=(s=this._editors)==null?void 0:s[e];i!=null&&i.disable&&Array.isArray(this._editorContainers)&&i.disable(t)}openDetails(e){var s,n,o,l,a,h,d,c,u;const t=e.onError??Ma,i={backdrop:"static",showCloseButtonOutside:!0,shouldClearRowSelectionAfterMassAction:!0,viewColumnLayout:"auto",modalType:"edit"};try{if(!this.grid||this.grid.getEditorLock().isActive()&&!this.grid.getEditorLock().commitCurrentEdit())return null;this._formValues=null,this._options={...i,...this.gridOptions.compositeEditorOptions,...e,labels:{...(s=this.gridOptions.compositeEditorOptions)==null?void 0:s.labels,...e==null?void 0:e.labels}},this._options.backdrop=e.backdrop!==void 0?e.backdrop:"static";const p=this._options.viewColumnLayout||1,m=this.grid.getActiveCell(),f=(m==null?void 0:m.cell)??0,g=(m==null?void 0:m.row)??0,_=this.grid.getUID()||"";let C=e.headerTitle||"";typeof this._options.onBeforeOpen=="function"&&this._options.onBeforeOpen(),this.hasRowSelectionEnabled()&&this._options.modalType==="auto-mass"&&this.grid.getSelectedRows&&((this.grid.getSelectedRows()||[]).length>0?(this._options.modalType="mass-selection",e!=null&&e.headerTitleMassSelection&&(C=e==null?void 0:e.headerTitleMassSelection)):(this._options.modalType="mass-update",e!=null&&e.headerTitleMassUpdate&&(C=e==null?void 0:e.headerTitleMassUpdate)));const b=this._options.modalType||"edit";if(this.gridOptions.editable)if(this.gridOptions.enableCellNavigation){if(!this.gridOptions.enableAddRow&&(b==="clone"||b==="create"))return t({type:"error",code:"ENABLE_ADD_ROW_REQUIRED",message:'Composite Editor requires the flag "enableAddRow" to be set to True in your Grid Options when cloning/creating a new item.'}),null;if(!m&&(b==="clone"||b==="edit"))return t({type:"warning",code:"NO_RECORD_FOUND",message:"No records selected for edit or clone operation."}),null;{const S=b==="mass-update"||b==="mass-selection",E=S?{}:this.grid.getDataItem(g);this._originalDataContext=de(!0,{},E),this._columnDefinitions=this.grid.getColumns();const y=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],x=((n=this.dataView)==null?void 0:n.getItemCount())??0;this._lastActiveRowNumber=g;const O=this.dataView.getAllSelectedIds(),I=b==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,E,f,I,S))return null;if(b==="edit"&&!E)return t({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(b==="mass-selection"&&y.length<1)return t({type:"warning",code:"ROW_SELECTION_REQUIRED",message:"You must select some rows before trying to apply new value(s)."}),null;let D=[];S?D=this._columnDefinitions.filter(Q=>{var ce;return Q.editorClass&&((ce=Q.editor)==null?void 0:ce.massUpdate)===!0}):D=this._columnDefinitions.filter(Q=>Q.editorClass),D.some(Q=>{var ce;return((ce=Q.editor)==null?void 0:ce.compositeEditorFormOrder)!==void 0})&&D.sort((Q,ce)=>{var Nt,N;const ct=((Nt=Q==null?void 0:Q.editor)==null?void 0:Nt.compositeEditorFormOrder)??1/0,hi=((N=ce==null?void 0:ce.editor)==null?void 0:N.compositeEditorFormOrder)??1/0;return Ro(ct,hi,ae.asc)});const M=C.replace(/\{\{(.*?)\}\}/g,(Q,ce)=>Ee(E,ce)),L=p==="auto"?this.autoCalculateLayoutColumnCount(D.length):p;this._modalElm=v("div",{className:`slick-editor-modal ${_}`});const W=v("div",{className:"slick-editor-modal-content"});if((o=this.gridOptions)!=null&&o.darkMode&&W.classList.add("slick-dark-mode"),!isNaN(p)&&+p>1||p==="auto"&&L>1){const Q=L===2?"split-view":"triple-split-view";W.classList.add(Q)}const K=v("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(K,M);const J=v("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((l=K==null?void 0:K.classList)==null||l.add("outside"),(a=J==null?void 0:J.classList)==null||a.add("outside"));const X=v("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});X.appendChild(K),X.appendChild(J);const ie=v("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=v("div",{className:"validation-summary",style:{display:"none"}},ie);const ze=v("div",{className:"slick-editor-modal-footer"}),nt=v("button",{type:"button",ariaLabel:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),className:"btn btn-cancel btn-default btn-sm",textContent:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),dataset:{action:"cancel"}});let fe="",xe="";switch(b){case"clone":xe=this.getLabelText("cloneButton","TEXT_CLONE","Clone");break;case"mass-update":const Q=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");fe=this.parseText(Q,{x}),xe=this.getLabelText("massUpdateButton","TEXT_APPLY_MASS_UPDATE","Mass Update");break;case"mass-selection":const ce=this.getLabelText("massSelectionStatus","TEXT_X_OF_Y_MASS_SELECTED","{{x}} of {{y}} selected");fe=this.parseText(ce,{x:O.length,y:x}),xe=this.getLabelText("massSelectionButton","TEXT_APPLY_TO_SELECTION","Update Selection");break;default:xe=this.getLabelText("saveButton","TEXT_SAVE","Save")}const qe=v("div",{className:"footer-status-text",textContent:fe});this._modalSaveButtonElm=v("button",{type:"button",className:"btn btn-save btn-primary btn-sm",ariaLabel:xe,textContent:xe,dataset:{action:b==="create"||b==="edit"?"save":b,ariaLabel:xe}});const Le=v("div",{className:"footer-buttons"});(b==="mass-update"||b==="mass-selection")&&ze.appendChild(qe),Le.appendChild(nt),Le.appendChild(this._modalSaveButtonElm),ze.appendChild(Le),W.appendChild(X),W.appendChild(ie),W.appendChild(ze),this._modalElm.appendChild(W);for(const Q of D)if(Q.editorClass){const ce=v("div",{className:`item-details-container editor-${Q.id}`});L===1?ce.classList.add("slick-col-medium-12"):ce.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/L}`);const ct=v("div",{className:`item-details-label editor-${Q.id}`});this.grid.applyHtmlCode(ct,this.getColumnLabel(Q)||"n/a");const hi=v("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${Q.id}`}}),Nt=v("div",{className:`item-details-validation editor-${Q.id}`});if((h=this._options)!=null&&h.showResetButtonOnEachEditor){const N=this.createEditorResetButtonElement(`${Q.id}`);this._bindEventService.bind(N,"click",this.handleResetInputValue.bind(this)),ct.appendChild(N)}ce.appendChild(ct),ce.appendChild(hi),ce.appendChild(Nt),ie.appendChild(ce)}if((d=this._options)!=null&&d.showFormResetButton){const Q=this.createFormResetButtonElement();this._bindEventService.bind(Q,"click",this.handleResetFormClicked.bind(this)),ie.appendChild(Q)}document.body.appendChild(this._modalElm),document.body.classList.add("slick-modal-open"),this._bindEventService.bind(document.body,"click",this.handleBodyClicked.bind(this)),typeof this._options.onRendered=="function"&&this._options.onRendered(this._modalElm),this._editors={},this._editorContainers=D.map(Q=>ie.querySelector(`[data-editorid='${Q.id}']`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:b,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const ke=new Kp(D,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(ke),this._bindEventService.bind(J,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(nt,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(this._modalSaveButtonElm,"click",this.handleSaveClicked.bind(this)),this._bindEventService.bind(this._modalElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._modalElm,"focusout",this.validateCurrentEditor.bind(this)),this._bindEventService.bind(this._modalElm,"blur",this.validateCurrentEditor.bind(this)),this._eventHandler.subscribe(this.grid.onCompositeEditorChange,this.handleOnCompositeEditorChange.bind(this)),this._eventHandler.subscribe(this.grid.onAddNewRow,(Q,ce)=>{this._originalDataContext=this.insertNewItemInDataView(ce.item)})}}else return t({type:"error",code:"ENABLE_CELL_NAVIGATION_REQUIRED",message:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.'}),null;else return t({type:"error",code:"EDITABLE_GRID_REQUIRED",message:"Your grid must be editable in order to use the Composite Editor Modal."}),null;return this}catch(p){this.dispose();const m=typeof p=="string"?p:(p==null?void 0:p.message)??((c=p==null?void 0:p.body)==null?void 0:c.message)??"",f=typeof p=="string"?p:(p==null?void 0:p.status)??((u=p==null?void 0:p.body)==null?void 0:u.status)??m;return t({type:"error",code:f,message:m}),null}}async cancelEditing(){var t,i,s;let e=!0;this.formValues&&Object.keys(this.formValues).length>0&&typeof this._options.onClose=="function"&&(e=await this._options.onClose()),e&&((t=this.grid.getEditController())==null||t.cancelCurrentEdit(),(((i=this._options)==null?void 0:i.modalType)==="edit"||((s=this._options)==null?void 0:s.modalType)==="clone")&&this.resetCurrentRowDataContext(),this.grid.setActiveRow(this._lastActiveRowNumber),this.dispose())}showValidationSummaryText(e,t=""){var i,s;e&&t!==""?(this._modalBodyTopValidationElm.textContent=t,this._modalBodyTopValidationElm.style.display="block",(s=(i=this._modalBodyTopValidationElm).scrollIntoView)==null||s.call(i),this._modalSaveButtonElm.disabled=!1,this._modalSaveButtonElm.classList.remove("saving")):(this._modalBodyTopValidationElm.style.display="none",this._modalBodyTopValidationElm.textContent=t)}applySaveMassUpdateChanges(e,t,i=!0){const s=i?this.dataView.getItems():de(!0,[],this.dataView.getItems());return Object.keys(e).forEach(n=>{n in e&&s.forEach(o=>{var l;n in e&&(((l=this._options)==null?void 0:l.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(n,o,e)!==!1)&&(o[n]=e[n])})}),i&&(this.dataView.setItems(s,this.gridOptions.datasetIdPropertyName),this.grid.invalidate()),s}applySaveMassSelectionChanges(e,t,i=!0){var l;const n=((t==null?void 0:t.dataContextIds)??[]).map(a=>this.dataView.getItemById(a)),o=i?n:de(!0,[],n);return Object.keys(e).forEach(a=>{a in e&&o.forEach(h=>{var d;a in e&&(((d=this._options)==null?void 0:d.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(a,h,e)!==!1)&&(h[a]=e[a])})}),i&&((l=this.gridService)==null||l.updateItems(o)),o}autoCalculateLayoutColumnCount(e){return e>=15?3:e>=8?2:1}createEditorResetButtonElement(e){var i,s,n,o;const t=v("button",{type:"button",name:e,ariaLabel:"Reset",title:((s=(i=this._options)==null?void 0:i.labels)==null?void 0:s.resetFormButton)??"Reset Form Input",className:"btn btn-xs btn-editor-reset"});if((n=this._options)!=null&&n.resetEditorButtonCssClass){const l=he((o=this._options)==null?void 0:o.resetEditorButtonCssClass);for(const a of l)t.classList.add(a)}return t}createFormResetButtonElement(){var i;const e=v("div",{className:"reset-container"}),t=v("button",{type:"button",className:"btn btn-sm reset-form"},e);return v("span",{className:((i=this._options)==null?void 0:i.resetFormButtonIconCssClass)??""},t),t.appendChild(document.createTextNode(" Reset Form")),e}executeOnError(e){var i;(((i=this._options)==null?void 0:i.onError)??Ma)(e)}async executeOnSave(e,t,i,s){var n,o,l,a;try{if(this.showValidationSummaryText(!1,""),this.validateCompositeEditors().valid){if(this._modalSaveButtonElm.classList.add("saving"),this._modalSaveButtonElm.disabled=!0,typeof((n=this._options)==null?void 0:n.onSave)=="function"){const d=this._options.modalType==="mass-update"||this._options.modalType==="mass-selection";let c;d&&((o=this._options)!=null&&o.shouldPreviewMassChangeDataset)&&(c=e(this.formValues,this.getCurrentRowSelections(),!1));const u=d?c:s;await((l=this._options)==null?void 0:l.onSave(this.formValues,this.getCurrentRowSelections(),u))&&(e(this.formValues,this.getCurrentRowSelections()),t())}else e(this.formValues,this.getCurrentRowSelections()),t();typeof i=="function"&&i(),this.dispose()}}catch(h){const d=typeof h=="string"?h:(h==null?void 0:h.message)??((a=h==null?void 0:h.body)==null?void 0:a.message)??"";this.showValidationSummaryText(!0,d)}}focusOnFirstColumnCellWithEditor(e,t,i,s,n){const o=n&&!this.gridOptions.enableAddRow&&s>=this.dataViewLength?this.dataViewLength-1:s;let l=i;const a=e[i].editorClass;let h=this.grid.getCellNode(o,i);if(!a||!h||!this.getActiveCellEditor(o,i)){if(l=this.findNextAvailableEditorColumnIndex(e,t,s,n),l===-1)return this.executeOnError({type:"error",code:"NO_EDITOR_FOUND",message:"We could not find any Editor in your Column Definition"}),!1;this.grid.setActiveCell(o,l,!1),n&&this.grid.setActiveRow(this.dataViewLength,l,!0)}return h=this.grid.getCellNode(o,l),!!h}findNextAvailableEditorColumnIndex(e,t,i,s){var o;let n=-1;for(let l=0;l<e.length;l++){const a=e[l];if(a.editorClass&&(!s||s&&((o=a.editor)!=null&&o.massUpdate))){const h=this.grid.onBeforeEditCell.notify({row:i,cell:l,item:t,column:a,grid:this.grid,target:"composite",compositeEditorOptions:this._compositeOptions}).getReturnValue();if(this.grid.setActiveCell(i,l,!1),h!==!1){n=l;break}}}return n}getColumnByObjectOrId(e){let t;return typeof e=="object"?t=e:typeof e=="string"&&(t=this._columnDefinitions.find(i=>i.id===e)),t}getActiveCellEditor(e,t){return this.grid.setActiveCell(e,t,!1),this.grid.getCellEditor()}getColumnLabel(e){var o;const t=this.gridOptions.columnGroupSeparator||" - ";let i=e.nameCompositeEditor||e.name||"",s=e.columnGroup||"";if(this.gridOptions.enableTranslate&&this.translaterService){const l=e.nameCompositeEditorKey||e.nameKey;l&&(i=this.translaterService.translate(l)),e.columnGroupKey&&((o=this.translaterService)!=null&&o.translate)&&(s=this.translaterService.translate(e.columnGroupKey))}const n=s?`${s}${t}${i}`:i;return _t(n,"innerHTML")}getLabelText(e,t,i){var n,o,l,a,h;const s={...(n=this.gridOptions.compositeEditorOptions)==null?void 0:n.labels,...(o=this._options)==null?void 0:o.labels};if((l=this.gridOptions)!=null&&l.enableTranslate&&((a=this.translaterService)!=null&&a.translate)&&s.hasOwnProperty(`${e}Key`)){const d=s[`${e}Key`];return this.translaterService.translate(d||"")}return(s==null?void 0:s[e])??((h=this._locales)==null?void 0:h[t])??i}getCurrentRowSelections(){const e=this.dataView.getAllSelectedIds();return{gridRowIndexes:this.dataView.mapIdsToRows(e),dataContextIds:e}}handleBodyClicked(e){var t,i,s;(i=(t=e.target)==null?void 0:t.classList)!=null&&i.contains("slick-editor-modal")&&((s=this._options)==null?void 0:s.backdrop)!=="static"&&this.dispose()}handleKeyDown(e){e.code==="Escape"?(this.cancelEditing(),e.stopPropagation(),e.preventDefault()):e.code==="Tab"&&this.validateCurrentEditor()}handleResetInputValue(e){var s,n;const t=e.target.name,i=(s=this._editors)==null?void 0:s[t];typeof(i==null?void 0:i.reset)=="function"&&i.reset(),(n=this._formValues)==null||delete n[t]}async handleMassSaving(e,t){if(!this.formValues||Object.keys(this.formValues).length===0)this.executeOnError({type:"warning",code:"NO_CHANGES_DETECTED",message:"Sorry we could not detect any changes."});else{const i=e==="mass-update"?"applySaveMassUpdateChanges":"applySaveMassSelectionChanges";this.executeOnSave(this[i].bind(this),t.bind(this))}}handleOnCompositeEditorChange(e,t){var l,a,h,d;const i=((l=t.column)==null?void 0:l.id)??"";this._formValues={...this._formValues,...t.formValues};const s=(a=this._editors)==null?void 0:a[i],n=((h=s==null?void 0:s.isValueTouched)==null?void 0:h.call(s))??((d=s==null?void 0:s.isValueChanged)==null?void 0:d.call(s))??!1;this._itemDataContext=(s==null?void 0:s.dataContext)??{};const o=this._modalElm.querySelector(`[data-editorid='${i}']`);o!=null&&o.classList&&(n?o.classList.add("modified"):o.classList.remove("modified")),this.validateCompositeEditors()}hasRowSelectionEnabled(){const e=this.grid.getSelectionModel();return!!((this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&e)}handleResetFormClicked(){for(const e of Object.keys(this._editors)){const t=this._editors[e];t!=null&&t.reset&&t.reset()}this._formValues=wo(this._formValues)}async handleSaveClicked(){var t,i,s,n;const e=(t=this._options)==null?void 0:t.modalType;switch(e){case"mass-update":this.handleMassSaving(e,()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"mass-selection":this.handleMassSaving(e,()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveRow(this._lastActiveRowNumber),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"clone":const o={...this._originalDataContext,...this.formValues},l=()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1)};this.executeOnSave(this.insertNewItemInDataView.bind(this,o),l,this.resetCurrentRowDataContext.bind(this),o);break;case"create":case"edit":default:let a=(i=this.grid.getEditController())==null?void 0:i.commitCurrentEdit();if(a&&typeof((s=this._options)==null?void 0:s.onSave)=="function"){const h=e==="create"?this._originalDataContext:this.grid.getDataItem(this._lastActiveRowNumber);a=await((n=this._options)==null?void 0:n.onSave(this.formValues,this.getCurrentRowSelections(),h))}a&&this.dispose();break}}insertNewItemInDataView(e){var s,n;const t=((s=this.dataView)==null?void 0:s.getItemCount())||0,i=this._options.insertNewId??t+1;return e[this.gridOptions.datasetIdPropertyName||"id"]=i,this.dataView.getItemById(i)?this.executeOnError({type:"error",code:"ITEM_ALREADY_EXIST",message:`The item object which you are trying to add already exist with the same Id:: ${i}`}):(n=this.gridService)==null||n.addItem(e,this._options.insertOptions),e}parseText(e,t){return e.replace(/\{\{(.*?)\}\}/g,(i,s)=>t[s]!==void 0?t[s]:i)}resetCurrentRowDataContext(){const e=this.gridOptions.datasetIdPropertyName||"id";this.grid.getData().updateItem(this._originalDataContext[e],this._originalDataContext)}validateCompositeEditors(e){let t={valid:!0,msg:""};const i=this.grid.getCellEditor();return i&&(t=i.validate(e)),t}validateCurrentEditor(){const e=this.grid.getCellEditor();e!=null&&e.validate&&e.validate()}}class Br{constructor(){this._isPreviouslyShown=!1,this._warningLeftElement=null,this._warningRightElement=null}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){this._grid=e,this._translaterService=t.get("TranslaterService")}dispose(){var e,t;(e=this._warningLeftElement)==null||e.remove(),(t=this._warningRightElement)==null||t.remove(),this._warningLeftElement=null,this._warningRightElement=null}showEmptyDataMessage(e=!0,t){var _,C,b,S;if(!this._grid||!this.gridOptions||this._isPreviouslyShown===e)return!1;this._isPreviouslyShown=e;const i=this._grid.getUID(),n={message:"No data to display.",...this.gridOptions.emptyDataWarning,...t},o=(n==null?void 0:n.className)??"slick-empty-data-warning";this._warningLeftElement=document.querySelector(`.${i} .${o}`);const l=document.querySelector(`.${i} .grid-canvas.grid-canvas-left`),a=document.querySelector(`.${i} .grid-canvas.grid-canvas-right`),h=n.leftViewportMarginLeft??0,d=n.rightViewportMarginLeft??0,c=n.frozenLeftViewportMarginLeft??0,u=n.frozenRightViewportMarginLeft??0,p=((_=this.gridOptions)==null?void 0:_.frozenColumn)!==void 0&&this.gridOptions.frozenColumn>=0,m=typeof h=="string"?h:`${h}px`,f=typeof d=="string"?d:`${d}px`;if(this.gridOptions.autoHeight){const E=document.querySelector(`.${i} .slick-pane.slick-pane-top.slick-pane-left`);if(E&&E.style&&l&&l.style){const y=parseInt(E.style.height,10)||0,x=((C=this.gridOptions)==null?void 0:C.rowHeight)??0,O=this.gridOptions.enableFiltering?((b=this.gridOptions)==null?void 0:b.headerRowHeight)??0:0,I=this.gridOptions.createPreHeaderPanel?((S=this.gridOptions)==null?void 0:S.preHeaderPanelHeight)??0:0;if(e){let A=y!==null&&y<100?y:100;A+=O+I,E.style.minHeight=`${A}px`,l.style.minHeight=`${x}px`}}}let g=n.message;if(this.gridOptions.enableTranslate&&this._translaterService&&(n!=null&&n.messageKey)&&(g=this._translaterService.translate(n.messageKey)),!this._warningLeftElement&&l&&a&&(this._warningLeftElement=document.createElement("div"),this._warningLeftElement.classList.add(...he(o)),this._warningLeftElement.classList.add("left"),this._grid.applyHtmlCode(this._warningLeftElement,g),this._warningRightElement=this._warningLeftElement.cloneNode(!0),this._warningRightElement.classList.add("right"),a.appendChild(this._warningRightElement),l.appendChild(this._warningLeftElement)),this._warningLeftElement){let E=e?"flex":"none";p&&e&&(E=n.hideFrozenLeftWarning?"none":"flex"),this._warningLeftElement.style.display=E;const y=typeof c=="string"?c:`${c}px`;this._warningLeftElement.style.marginLeft=p?y:m}if(this._warningRightElement){let E=e?"flex":"none";p&&e&&(E=n.hideFrozenRightWarning?"none":"flex"),this._warningRightElement.style.display=E;const y=typeof u=="string"?u:`${u}px`;this._warningRightElement.style.marginLeft=p?y:f}return e}}class La{constructor(){this._enableTranslate=!1,this._subscriptions=[],this.currentPagination={},this.firstButtonClasses="",this.lastButtonClasses="",this.prevButtonClasses="",this.nextButtonClasses="",this.textItemsPerPage="items per page",this.textItems="items",this.textOf="of",this.textPage="Page",this._bindingHelper=new Go,this._bindingEventService=new Pe}get availablePageSizes(){return this._paginationService.availablePageSizes||[]}get dataFrom(){return this._paginationService.dataFrom}get dataTo(){return this._paginationService.dataTo}get itemsPerPage(){return this._paginationService.itemsPerPage}set itemsPerPage(e){this._paginationService.changeItemPerPage(e)}get pageCount(){return this._paginationService.pageCount}get pageNumber(){return this._paginationService.pageNumber}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())||""}get locales(){var e;return((e=this.gridOptions)==null?void 0:e.locales)??R.locales}get totalItems(){return this._paginationService.totalItems}get isLeftPaginationDisabled(){return this.pageNumber===1||this.totalItems===0}get isRightPaginationDisabled(){return this.pageNumber===this.pageCount||this.totalItems===0}init(e,t,i,s){var n,o,l;if(this._grid=e,this._pubSubService=i,this._translaterService=s,this._paginationService=t,this.currentPagination=t.getFullPagination(),this._bindingHelper.querySelectorPrefix=this.gridUid?`.${this.gridUid} `:"",this._enableTranslate=((n=this.gridOptions)==null?void 0:n.enableTranslate)??!1,this._enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(this.translatePaginationTexts(),this._enableTranslate&&((o=this._pubSubService)!=null&&o.subscribe)){const a=((l=this._translaterService)==null?void 0:l.eventName)??"onLanguageChange";this._subscriptions.push(this._pubSubService.subscribe(a,()=>this.translatePaginationTexts()))}this._subscriptions.push(this._pubSubService.subscribe("onPaginationRefreshed",a=>{var h;Object.keys(a).forEach(d=>this.currentPagination[d]=a[d]),this.updatePageButtonsUsability(),(h=this._spanInfoFromToElm)!=null&&h.style&&(this._spanInfoFromToElm.style.display=this.currentPagination.totalItems===0?"none":"")}),this._pubSubService.subscribe("onPaginationSetCursorBased",()=>{this.disposeDom(),this.renderPagination(this._gridContainerElm)}))}dispose(){this._pubSubService.unsubscribeAll(this._subscriptions),this.disposeDom()}disposeDom(){this._bindingEventService.unbindAll(),this._bindingHelper.dispose(),this._paginationElement.remove()}renderPagination(e){this._gridContainerElm=e;const t=this.createPaginationContainer(),i=v("div",{className:"slick-pagination-nav"}),s=v("nav",{ariaLabel:"Page navigation"}),n=v("ul",{className:"pagination"});this._seekFirstElm=v("li",{className:"page-item seek-first"},n),this._seekFirstElm.appendChild(v("a",{className:"page-link icon-seek-first",ariaLabel:"First Page",role:"button"})),this._seekPrevElm=v("li",{className:"page-item seek-prev"},n),this._seekPrevElm.appendChild(v("a",{className:"page-link icon-seek-prev",ariaLabel:"Previous Page",role:"button"})),s.appendChild(n);const o=this.createPageNumberSection(),l=v("nav",{ariaLabel:"Page navigation"}),a=v("ul",{className:"pagination"});this._seekNextElm=v("li",{className:"page-item seek-next"},a),this._seekNextElm.appendChild(v("a",{className:"page-link icon-seek-next",ariaLabel:"Next Page",role:"button"})),this._seekEndElm=v("li",{className:"page-item seek-end"},a),this._seekEndElm.appendChild(v("a",{className:"page-link icon-seek-end",ariaLabel:"Last Page",role:"button"})),l.appendChild(a),t.appendChild(i),i.appendChild(s),i.appendChild(o),i.appendChild(l);const h=this.createPaginationSettingsSection();t.appendChild(i),t.appendChild(h),this._paginationElement.appendChild(t),e!=null&&e.appendChild&&this._paginationElement&&e.appendChild(this._paginationElement),this.renderPageSizes(),this.addBindings(),this.addEventListeners(),this.updatePageButtonsUsability()}renderPageSizes(){if(this._itemPerPageElm&&Array.isArray(this.availablePageSizes))for(const e of this.availablePageSizes)this._itemPerPageElm.appendChild(v("option",{value:`${e}`,text:`${e}`}))}addBindings(){this._bindingHelper.addElementBinding(this,"firstButtonClasses","li.page-item.seek-first","className"),this._bindingHelper.addElementBinding(this,"prevButtonClasses","li.page-item.seek-prev","className"),this._bindingHelper.addElementBinding(this,"lastButtonClasses","li.page-item.seek-end","className"),this._bindingHelper.addElementBinding(this,"nextButtonClasses","li.page-item.seek-next","className"),this._bindingHelper.addElementBinding(this.currentPagination,"dataFrom","span.item-from","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"dataTo","span.item-to","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"totalItems","span.total-items","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageCount","span.page-count","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageSize","select.items-per-page","value"),this._paginationService.isCursorBased?this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","span.page-number","textContent"):this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","input.page-number","value","change",this.changeToCurrentPage.bind(this)),this._bindingHelper.addElementBinding(this,"textItems","span.text-items","textContent"),this._bindingHelper.addElementBinding(this,"textItemsPerPage","span.text-item-per-page","textContent"),this._bindingHelper.addElementBinding(this,"textOf","span.text-of","textContent"),this._bindingHelper.addElementBinding(this,"textPage","span.text-page","textContent")}addEventListeners(){this._bindingEventService.bind(this._seekFirstElm,"click",this.changeToFirstPage.bind(this)),this._bindingEventService.bind(this._seekEndElm,"click",this.changeToLastPage.bind(this)),this._bindingEventService.bind(this._seekNextElm,"click",this.changeToNextPage.bind(this)),this._bindingEventService.bind(this._seekPrevElm,"click",this.changeToPreviousPage.bind(this)),this._bindingEventService.bind(this._itemPerPageElm,"change",this.updateItemsPerPage.bind(this))}changeToFirstPage(e){this.isLeftPaginationDisabled||this._paginationService.goToFirstPage(e)}changeToLastPage(e){this.isRightPaginationDisabled||this._paginationService.goToLastPage(e)}changeToNextPage(e){this.isRightPaginationDisabled||this._paginationService.goToNextPage(e)}changeToPreviousPage(e){this.isLeftPaginationDisabled||this._paginationService.goToPreviousPage(e)}changeToCurrentPage(e){this._paginationService.goToPageNumber(+e)}updateItemsPerPage(e){var t;this.itemsPerPage=+(((t=e==null?void 0:e.target)==null?void 0:t.value)??0)}translatePaginationTexts(){var e;if(this._enableTranslate&&((e=this._translaterService)!=null&&e.translate)){const t=lt(this.gridOptions);this.textItemsPerPage=this._translaterService.translate(`${t}ITEMS_PER_PAGE`),this.textItems=this._translaterService.translate(`${t}ITEMS`),this.textOf=this._translaterService.translate(`${t}OF`),this.textPage=this._translaterService.translate(`${t}PAGE`)}else this.locales&&(this.textItemsPerPage=this.locales.TEXT_ITEMS_PER_PAGE||"TEXT_ITEMS_PER_PAGE",this.textItems=this.locales.TEXT_ITEMS||"TEXT_ITEMS",this.textOf=this.locales.TEXT_OF||"TEXT_OF",this.textPage=this.locales.TEXT_PAGE||"TEXT_PAGE")}createPaginationContainer(){const e=v("div",{id:"pager",className:`slick-pagination-container ${this.gridUid} pager`,style:{width:"100%"}}),t=v("div",{className:"slick-pagination"});return e.appendChild(t),this._paginationElement=e,t}createPageNumberSection(){const e=v("div",{className:"slick-page-number"});return v("span",{className:"text-page",textContent:"Page"},e),e.appendChild(document.createTextNode(" ")),this._paginationService.isCursorBased?v("span",{className:"page-number",ariaLabel:"Page Number",dataset:{test:"page-number-label"},textContent:"1"},e):v("input",{type:"text",className:"form-control page-number",ariaLabel:"Page Number",value:"1",size:1,dataset:{test:"page-number-input"}},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"text-of",textContent:"of"},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"page-count",dataset:{test:"page-count"}},e),e}createPaginationSettingsSection(){const e=v("span",{className:"slick-pagination-settings"});this._itemPerPageElm=v("select",{id:"items-per-page-label",ariaLabel:"Items per Page",className:"items-per-page"},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"text-item-per-page",textContent:"items per page"},e),e.appendChild(document.createTextNode(", "));const t=v("span",{className:"slick-pagination-count"},e);this._spanInfoFromToElm=v("span",{className:"page-info-from-to"},t),v("span",{className:"item-from",ariaLabel:"Page Item From",dataset:{test:"item-from"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode("-")),v("span",{className:"item-to",ariaLabel:"Page Item To",dataset:{test:"item-to"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" ")),v("span",{className:"text-of",textContent:"of"},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" "));const i=v("span",{className:"page-info-total-items"},t);return v("span",{className:"total-items",ariaLabel:"Total Items",dataset:{test:"total-items"}},i),i.appendChild(document.createTextNode(" ")),v("span",{className:"text-items",textContent:"items"},i),i.appendChild(document.createTextNode(" ")),e}updatePageButtonsUsability(){this.firstButtonClasses=this.isLeftPaginationDisabled?"page-item seek-first disabled":"page-item seek-first",this.prevButtonClasses=this.isLeftPaginationDisabled?"page-item seek-prev disabled":"page-item seek-prev",this.lastButtonClasses=this.isRightPaginationDisabled?"page-item seek-end disabled":"page-item seek-end",this.nextButtonClasses=this.isRightPaginationDisabled?"page-item seek-next disabled":"page-item seek-next"}}var Na={},Xp=function(r,e,t,i,s){var n=new Worker(Na[e]||(Na[e]=URL.createObjectURL(new Blob([r+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return n.onmessage=function(o){var l=o.data,a=l.$e$;if(a){var h=new Error(a[0]);h.code=a[1],h.stack=a[2],s(h,null)}else s(null,l)},n.postMessage(t,i),n},Ve=Uint8Array,Ze=Uint16Array,sn=Int32Array,nn=new Ve([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),rn=new Ve([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),zr=new Ve([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ha=function(r,e){for(var t=new Ze(31),i=0;i<31;++i)t[i]=e+=1<<r[i-1];for(var s=new sn(t[30]),i=1;i<30;++i)for(var n=t[i];n<t[i+1];++n)s[n]=n-t[i]<<5|i;return{b:t,r:s}},Va=Ha(nn,2),Qp=Va.b,on=Va.r;Qp[28]=258,on[258]=28;for(var Zp=Ha(rn,0),$r=Zp.r,ln=new Ze(32768),Ce=0;Ce<32768;++Ce){var qt=(Ce&43690)>>1|(Ce&21845)<<1;qt=(qt&52428)>>2|(qt&13107)<<2,qt=(qt&61680)>>4|(qt&3855)<<4,ln[Ce]=((qt&65280)>>8|(qt&255)<<8)>>1}for(var Ii=function(r,e,t){for(var i=r.length,s=0,n=new Ze(e);s<i;++s)r[s]&&++n[r[s]-1];var o=new Ze(e);for(s=1;s<e;++s)o[s]=o[s-1]+n[s-1]<<1;var l;if(t){l=new Ze(1<<e);var a=15-e;for(s=0;s<i;++s)if(r[s])for(var h=s<<4|r[s],d=e-r[s],c=o[r[s]-1]++<<d,u=c|(1<<d)-1;c<=u;++c)l[ln[c]>>a]=h}else for(l=new Ze(i),s=0;s<i;++s)r[s]&&(l[s]=ln[o[r[s]-1]++]>>15-r[s]);return l},Kt=new Ve(288),Ce=0;Ce<144;++Ce)Kt[Ce]=8;for(var Ce=144;Ce<256;++Ce)Kt[Ce]=9;for(var Ce=256;Ce<280;++Ce)Kt[Ce]=7;for(var Ce=280;Ce<288;++Ce)Kt[Ce]=8;for(var ls=new Ve(32),Ce=0;Ce<32;++Ce)ls[Ce]=5;var Ba=Ii(Kt,9,0),za=Ii(ls,5,0),Wr=function(r){return(r+7)/8|0},Gr=function(r,e,t){return(e==null||e<0)&&(e=0),(t==null||t>r.length)&&(t=r.length),new Ve(r.subarray(e,t))},Jp=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ri=function(r,e,t){var i=new Error(e||Jp[r]);if(i.code=r,Error.captureStackTrace&&Error.captureStackTrace(i,Ri),!t)throw i;return i},Tt=function(r,e,t){t<<=e&7;var i=e/8|0;r[i]|=t,r[i+1]|=t>>8},Ai=function(r,e,t){t<<=e&7;var i=e/8|0;r[i]|=t,r[i+1]|=t>>8,r[i+2]|=t>>16},an=function(r,e){for(var t=[],i=0;i<r.length;++i)r[i]&&t.push({s:i,f:r[i]});var s=t.length,n=t.slice();if(!s)return{t:qr,l:0};if(s==1){var o=new Ve(t[0].s+1);return o[t[0].s]=1,{t:o,l:1}}t.sort(function(E,y){return E.f-y.f}),t.push({s:-1,f:25001});var l=t[0],a=t[1],h=0,d=1,c=2;for(t[0]={s:-1,f:l.f+a.f,l,r:a};d!=s-1;)l=t[t[h].f<t[c].f?h++:c++],a=t[h!=d&&t[h].f<t[c].f?h++:c++],t[d++]={s:-1,f:l.f+a.f,l,r:a};for(var u=n[0].s,i=1;i<s;++i)n[i].s>u&&(u=n[i].s);var p=new Ze(u+1),m=hn(t[d-1],p,0);if(m>e){var i=0,f=0,g=m-e,_=1<<g;for(n.sort(function(y,x){return p[x.s]-p[y.s]||y.f-x.f});i<s;++i){var C=n[i].s;if(p[C]>e)f+=_-(1<<m-p[C]),p[C]=e;else break}for(f>>=g;f>0;){var b=n[i].s;p[b]<e?f-=1<<e-p[b]++-1:++i}for(;i>=0&&f;--i){var S=n[i].s;p[S]==e&&(--p[S],++f)}m=e}return{t:new Ve(p),l:m}},hn=function(r,e,t){return r.s==-1?Math.max(hn(r.l,e,t+1),hn(r.r,e,t+1)):e[r.s]=t},Ur=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new Ze(++e),i=0,s=r[0],n=1,o=function(a){t[i++]=a},l=1;l<=e;++l)if(r[l]==s&&l!=e)++n;else{if(!s&&n>2){for(;n>138;n-=138)o(32754);n>2&&(o(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(o(s),--n;n>6;n-=6)o(8304);n>2&&(o(n-3<<5|8208),n=0)}for(;n--;)o(s);n=1,s=r[l]}return{c:t.subarray(0,i),n:e}},Pi=function(r,e){for(var t=0,i=0;i<e.length;++i)t+=r[i]*e[i];return t},jr=function(r,e,t){var i=t.length,s=Wr(e+2);r[s]=i&255,r[s+1]=i>>8,r[s+2]=r[s]^255,r[s+3]=r[s+1]^255;for(var n=0;n<i;++n)r[s+n+4]=t[n];return(s+4+i)*8},Yr=function(r,e,t,i,s,n,o,l,a,h,d){Tt(e,d++,t),++s[256];for(var c=an(s,15),u=c.t,p=c.l,m=an(n,15),f=m.t,g=m.l,_=Ur(u),C=_.c,b=_.n,S=Ur(f),E=S.c,y=S.n,x=new Ze(19),O=0;O<C.length;++O)++x[C[O]&31];for(var O=0;O<E.length;++O)++x[E[O]&31];for(var I=an(x,7),A=I.t,D=I.l,M=19;M>4&&!A[zr[M-1]];--M);var L=h+5<<3,W=Pi(s,Kt)+Pi(n,ls)+o,K=Pi(s,u)+Pi(n,f)+o+14+3*M+Pi(x,A)+2*x[16]+3*x[17]+7*x[18];if(a>=0&&L<=W&&L<=K)return jr(e,d,r.subarray(a,a+h));var J,X,ie,ze;if(Tt(e,d,1+(K<W)),d+=2,K<W){J=Ii(u,p,0),X=u,ie=Ii(f,g,0),ze=f;var nt=Ii(A,D,0);Tt(e,d,b-257),Tt(e,d+5,y-1),Tt(e,d+10,M-4),d+=14;for(var O=0;O<M;++O)Tt(e,d+3*O,A[zr[O]]);d+=3*M;for(var fe=[C,E],xe=0;xe<2;++xe)for(var qe=fe[xe],O=0;O<qe.length;++O){var Le=qe[O]&31;Tt(e,d,nt[Le]),d+=A[Le],Le>15&&(Tt(e,d,qe[O]>>5&127),d+=qe[O]>>12)}}else J=Ba,X=Kt,ie=za,ze=ls;for(var O=0;O<l;++O){var ke=i[O];if(ke>255){var Le=ke>>18&31;Ai(e,d,J[Le+257]),d+=X[Le+257],Le>7&&(Tt(e,d,ke>>23&31),d+=nn[Le]);var Q=ke&31;Ai(e,d,ie[Q]),d+=ze[Q],Q>3&&(Ai(e,d,ke>>5&8191),d+=rn[Q])}else Ai(e,d,J[ke]),d+=X[ke]}return Ai(e,d,J[256]),d+X[256]},$a=new sn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),qr=new Ve(0),Wa=function(r,e,t,i,s,n){var o=n.z||r.length,l=new Ve(i+o+5*(1+Math.ceil(o/7e3))+s),a=l.subarray(i,l.length-s),h=n.l,d=(n.r||0)&7;if(e){d&&(a[0]=n.r>>3);for(var c=$a[e-1],u=c>>13,p=c&8191,m=(1<<t)-1,f=n.p||new Ze(32768),g=n.h||new Ze(m+1),_=Math.ceil(t/3),C=2*_,b=function(je){return(r[je]^r[je+1]<<_^r[je+2]<<C)&m},S=new sn(25e3),E=new Ze(288),y=new Ze(32),x=0,O=0,I=n.i||0,A=0,D=n.w||0,M=0;I+2<o;++I){var L=b(I),W=I&32767,K=g[L];if(f[W]=K,g[L]=W,D<=I){var J=o-I;if((x>7e3||A>24576)&&(J>423||!h)){d=Yr(r,a,0,S,E,y,O,A,M,I-M,d),A=x=O=0,M=I;for(var X=0;X<286;++X)E[X]=0;for(var X=0;X<30;++X)y[X]=0}var ie=2,ze=0,nt=p,fe=W-K&32767;if(J>2&&L==b(I-fe))for(var xe=Math.min(u,J)-1,qe=Math.min(32767,I),Le=Math.min(258,J);fe<=qe&&--nt&&W!=K;){if(r[I+ie]==r[I+ie-fe]){for(var ke=0;ke<Le&&r[I+ke]==r[I+ke-fe];++ke);if(ke>ie){if(ie=ke,ze=fe,ke>xe)break;for(var Q=Math.min(fe,ke-2),ce=0,X=0;X<Q;++X){var ct=I-fe+X&32767,hi=f[ct],Nt=ct-hi&32767;Nt>ce&&(ce=Nt,K=ct)}}}W=K,K=f[W],fe+=W-K&32767}if(ze){S[A++]=268435456|on[ie]<<18|$r[ze];var N=on[ie]&31,se=$r[ze]&31;O+=nn[N]+rn[se],++E[257+N],++y[se],D=I+ie,++x}else S[A++]=r[I],++E[r[I]]}}for(I=Math.max(I,D);I<o;++I)S[A++]=r[I],++E[r[I]];d=Yr(r,a,h,S,E,y,O,A,M,I-M,d),h||(n.r=d&7|a[d/8|0]<<3,d-=7,n.h=g,n.p=f,n.i=I,n.w=D)}else{for(var I=n.w||0;I<o+h;I+=65535){var Ne=I+65535;Ne>=o&&(a[d/8|0]=h,Ne=o),d=jr(a,d+1,r.subarray(I,Ne))}n.i=o}return Gr(l,0,i+Wr(d)+s)},em=function(){for(var r=new Int32Array(256),e=0;e<256;++e){for(var t=e,i=9;--i;)t=(t&1&&-306674912)^t>>>1;r[e]=t}return r}(),tm=function(){var r=-1;return{p:function(e){for(var t=r,i=0;i<e.length;++i)t=em[t&255^e[i]]^t>>>8;r=t},d:function(){return~r}}},Ga=function(r,e,t,i,s){if(!s&&(s={l:1},e.dictionary)){var n=e.dictionary.subarray(-32768),o=new Ve(n.length+r.length);o.set(n),o.set(r,n.length),r=o,s.w=n.length}return Wa(r,e.level==null?6:e.level,e.mem==null?s.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,t,i,s)},Kr=function(r,e){var t={};for(var i in r)t[i]=r[i];for(var i in e)t[i]=e[i];return t},Ua=function(r,e,t){for(var i=r(),s=r.toString(),n=s.slice(s.indexOf("[")+1,s.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<i.length;++o){var l=i[o],a=n[o];if(typeof l=="function"){e+=";"+a+"=";var h=l.toString();if(l.prototype)if(h.indexOf("[native code]")!=-1){var d=h.indexOf(" ",8)+1;e+=h.slice(d,h.indexOf("(",d))}else{e+=h;for(var c in l.prototype)e+=";"+a+".prototype."+c+"="+l.prototype[c].toString()}else e+=h}else t[a]=l}return e},dn=[],im=function(r){var e=[];for(var t in r)r[t].buffer&&e.push((r[t]=new r[t].constructor(r[t])).buffer);return e},sm=function(r,e,t,i){if(!dn[t]){for(var s="",n={},o=r.length-1,l=0;l<o;++l)s=Ua(r[l],s,n);dn[t]={c:Ua(r[o],s,n),e:n}}var a=Kr({},dn[t].e);return Xp(dn[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+e.toString()+"}",t,a,im(a),i)},nm=function(){return[Ve,Ze,sn,nn,rn,zr,on,$r,Ba,Kt,za,ls,ln,$a,qr,Ii,Tt,Ai,an,hn,Ur,Pi,jr,Yr,Wr,Gr,Wa,Ga,Xr,ja]},ja=function(r){return postMessage(r,[r.buffer])},rm=function(r,e,t,i,s,n){var o=sm(t,i,s,function(l,a){o.terminate(),n(l,a)});return o.postMessage([r,e],e.consume?[r.buffer]:[]),function(){o.terminate()}},Be=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function om(r,e,t){return t||(t=e,e={}),typeof t!="function"&&Ri(7),rm(r,e,[nm],function(i){return ja(Xr(i.data[0],i.data[1]))},0,t)}function Xr(r,e){return Ga(r,e||{},0,0)}var Ya=function(r,e,t,i){for(var s in r){var n=r[s],o=e+s,l=i;Array.isArray(n)&&(l=Kr(i,n[1]),n=n[0]),n instanceof Ve?t[o]=[n,l]:(t[o+="/"]=[new Ve(0),l],Ya(n,o,t,i))}},qa=typeof TextEncoder<"u"&&new TextEncoder,lm=typeof TextDecoder<"u"&&new TextDecoder,am=0;try{lm.decode(qr,{stream:!0}),am=1}catch{}function Qr(r,e){var t;if(qa)return qa.encode(r);for(var i=r.length,s=new Ve(r.length+(r.length>>1)),n=0,o=function(h){s[n++]=h},t=0;t<i;++t){if(n+5>s.length){var l=new Ve(n+8+(i-t<<1));l.set(s),s=l}var a=r.charCodeAt(t);a<128||e?o(a):a<2048?(o(192|a>>6),o(128|a&63)):a>55295&&a<57344?(a=65536+(a&1047552)|r.charCodeAt(++t)&1023,o(240|a>>18),o(128|a>>12&63),o(128|a>>6&63),o(128|a&63)):(o(224|a>>12),o(128|a>>6&63),o(128|a&63))}return Gr(s,0,n)}var Zr=function(r){var e=0;if(r)for(var t in r){var i=r[t].length;i>65535&&Ri(9),e+=i+4}return e},Ka=function(r,e,t,i,s,n,o,l){var a=i.length,h=t.extra,d=l&&l.length,c=Zr(h);Be(r,e,o!=null?33639248:67324752),e+=4,o!=null&&(r[e++]=20,r[e++]=t.os),r[e]=20,e+=2,r[e++]=t.flag<<1|(n<0&&8),r[e++]=s&&8,r[e++]=t.compression&255,r[e++]=t.compression>>8;var u=new Date(t.mtime==null?Date.now():t.mtime),p=u.getFullYear()-1980;if((p<0||p>119)&&Ri(10),Be(r,e,p<<25|u.getMonth()+1<<21|u.getDate()<<16|u.getHours()<<11|u.getMinutes()<<5|u.getSeconds()>>1),e+=4,n!=-1&&(Be(r,e,t.crc),Be(r,e+4,n<0?-n-2:n),Be(r,e+8,t.size)),Be(r,e+12,a),Be(r,e+14,c),e+=16,o!=null&&(Be(r,e,d),Be(r,e+6,t.attrs),Be(r,e+10,o),e+=14),r.set(i,e),e+=a,c)for(var m in h){var f=h[m],g=f.length;Be(r,e,+m),Be(r,e+2,g),r.set(f,e+4),e+=4+g}return d&&(r.set(l,e),e+=d),e},hm=function(r,e,t,i,s){Be(r,e,101010256),Be(r,e+8,t),Be(r,e+10,t),Be(r,e+12,i),Be(r,e+16,s)};function dm(r,e,t){t||(t=e,e={}),typeof t!="function"&&Ri(7);var i={};Ya(r,"",i,e);var s=Object.keys(i),n=s.length,o=0,l=0,a=n,h=new Array(n),d=[],c=function(){for(var g=0;g<d.length;++g)d[g]()},u=function(g,_){Xa(function(){t(g,_)})};Xa(function(){u=t});var p=function(){var g=new Ve(l+22),_=o,C=l-o;l=0;for(var b=0;b<a;++b){var S=h[b];try{var E=S.c.length;Ka(g,l,S,S.f,S.u,E);var y=30+S.f.length+Zr(S.extra),x=l+y;g.set(S.c,x),Ka(g,o,S,S.f,S.u,E,l,S.m),o+=16+y+(S.m?S.m.length:0),l=x+E}catch(O){return u(O,null)}}hm(g,o,h.length,C,_),u(null,g)};n||p();for(var m=function(g){var _=s[g],C=i[_],b=C[0],S=C[1],E=tm(),y=b.length;E.p(b);var x=Qr(_),O=x.length,I=S.comment,A=I&&Qr(I),D=A&&A.length,M=Zr(S.extra),L=S.level==0?0:8,W=function(K,J){if(K)c(),u(K,null);else{var X=J.length;h[g]=Kr(S,{size:y,crc:E.d(),c:J,f:x,m:A,u:O!=_.length||A&&I.length!=D,compression:L}),o+=30+O+M+X,l+=76+2*(O+M)+(D||0)+X,--n||p()}};if(O>65535&&W(Ri(11,0,1),null),!L)W(null,b);else if(y<16e4)try{W(null,Xr(b,S))}catch(K){W(K,null)}else d.push(om(b,S,W))},f=0;f<a;++f)m(f);return c}var Xa=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(r){r()},cm=Object.defineProperty,um=(r,e,t)=>e in r?cm(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,F=(r,e,t)=>um(r,typeof e!="symbol"?e+"":e,t);function Lt(r){const e=typeof r;return r!=null&&(e==="object"||e==="function")}function pm(r){if(typeof r!="object"||r===null||Object.prototype.toString.call(r)!=="[object Object]")return!1;const e=Object.getPrototypeOf(r);if(e===null)return!0;const t=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Function.prototype.call(t)===Function.prototype.call(r)}function ki(r){return r!=null&&typeof r.valueOf()=="string"}const mm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Qa=r=>(typeof r!="string"&&(r=`${r}`),r.replace(/[&<>"']/g,e=>mm[e]));class cn{constructor(e,t){F(this,"documentElement"),this.documentElement=this.createElement(t),this.documentElement.setAttribute("xmlns",e)}createElement(e){return new un({nodeName:e})}createTextNode(e){return new Za(e)}toString(){return this.documentElement.toString()}}F(cn,"Node",{Create:r=>{switch(r.type){case"XML":return new un(r);case"TEXT":return new Za(r.nodeValue);default:return null}}});class Za{constructor(e){F(this,"nodeValue"),this.nodeValue=e}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return Qa(this.nodeValue)}}class un{constructor(e){if(F(this,"nodeName",""),F(this,"children"),F(this,"nodeValue"),F(this,"attributes"),F(this,"firstChild"),this.nodeName=e.nodeName,this.children=[],this.nodeValue=e.nodeValue||"",this.attributes={},e.children)for(let t=0,i=e.children.length;t<i;t++)this.appendChild(cn.Node.Create(e.children[t]));if(e.attributes)for(const t in e.attributes)e.attributes.hasOwnProperty(t)&&this.setAttribute(t,e.attributes[t])}toString(){let e=`<${this.nodeName}`;for(const i in this.attributes)this.attributes.hasOwnProperty(i)&&(e=`${e} ${i}="${Qa(this.attributes[i])}"`);let t="";for(let i=0,s=this.children.length;i<s;i++)t+=this.children[i].toString();return t?e+=`>${t}</${this.nodeName}>`:e+="/>",e}toJSON(){const e=[];for(let t=0,i=this.children.length;t<i;t++)e.push(this.children[t].toJSON());return{nodeName:this.nodeName,children:e,nodeValue:this.nodeValue,attributes:this.attributes,type:"XML"}}setAttribute(e,t){if(t===null){delete this.attributes[e],delete this[e];return}this.attributes[e]=t,this[e]=t}appendChild(e){this.children.push(e),this.firstChild=this.children[0]}cloneNode(e){return new un(this.toJSON())}}const pn=class di{static uniqueId(e){return di._idSpaces[e]||(di._idSpaces[e]=1),di._idSpaces[e]++}static createXmlDoc(e,t){return new cn(e||null,t)}static createElement(e,t,i){const s=e.createElement(t);i=i||[];let n=i.length;for(;n--;)s.setAttribute(i[n][0],i[n][1]);return s}static setAttributesOnDoc(e,t){for(let[i,s]of Object.entries(t)){if(pm(s))if(s.v!==null&&s.v!==void 0)switch(s.type){case Boolean:s=s.v?"1":"0";break}else s=null;s!=null&&e.setAttribute(i,s)}}static positionToLetterRef(e,t){let i=1,s,n=e,o="";const l="ABCDEFGHIJKLMNOPQRSTUVWXYZ";if(di.LETTER_REFS[e])return di.LETTER_REFS[e].concat(t);for(;n>0;)n-=Math.pow(26,i-1),s=n%Math.pow(26,i),n-=s,s=s/Math.pow(26,i-1),o=l.charAt(s)+o,i+=1;return di.LETTER_REFS[e]=o,o.concat(String(t))}};F(pn,"_idSpaces",{}),F(pn,"LETTER_REFS",{}),F(pn,"schemas",{worksheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",sharedStrings:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",stylesheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",relationships:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",relationshipPackage:"http://schemas.openxmlformats.org/package/2006/relationships",contentTypes:"http://schemas.openxmlformats.org/package/2006/content-types",spreadsheetml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",markupCompat:"http://schemas.openxmlformats.org/markup-compatibility/2006",x14ac:"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",officeDocument:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",package:"http://schemas.openxmlformats.org/package/2006/relationships",table:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",spreadsheetDrawing:"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",drawing:"http://schemas.openxmlformats.org/drawingml/2006/main",drawingRelationship:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",image:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",chart:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"});let z=pn;const Jr={};function Xt(r="$lodash$"){Jr[r]||(Jr[r]=0);const e=++Jr[r];return r==="$lodash$"?`${e}`:`${r}${e}`}const Qt={};class eo{constructor(){F(this,"relations",{}),F(this,"lastId",1),Xt("rId")}importData(e){this.relations=e.relations,this.lastId=e.lastId}exportData(){return{relations:this.relations,lastId:this.lastId}}addRelation(e,t){return this.relations[e.id]={id:Xt("rId"),schema:z.schemas[t],object:e},this.relations[e.id].id}getRelationshipId(e){return this.relations[e.id]?this.relations[e.id].id:null}toXML(){const e=z.createXmlDoc(z.schemas.relationshipPackage,"Relationships"),t=e.documentElement;for(const[i,s]of Object.entries(this.relations)){const n=z.createElement(e,"Relationship",[["Id",s.id],["Type",s.schema],["Target",s.object.target||Qt[i]]]);s.object.targetMode&&n.setAttribute("TargetMode",s.object.targetMode),t.appendChild(n)}return e}}class fm{constructor(){F(this,"state",null),F(this,"xSplit",null),F(this,"ySplit",null),F(this,"activePane","bottomRight"),F(this,"topLeftCell",null),F(this,"_freezePane")}freezePane(e,t,i){this._freezePane={xSplit:e,ySplit:t,cell:i}}exportXML(e){const t=e.createElement("pane");return this.state!==null&&(t.setAttribute("xSplit",this._freezePane.xSplit),t.setAttribute("ySplit",this._freezePane.ySplit),t.setAttribute("topLeftCell",this._freezePane.cell),t.setAttribute("activePane","bottomRight"),t.setAttribute("state","frozen")),t}}class Ja{constructor(){F(this,"strings",{}),F(this,"stringArray",[]),F(this,"id",Xt("SharedStrings"))}addString(e){return this.strings[e]=this.stringArray.length,this.stringArray[this.stringArray.length]=e,this.strings[e]}exportData(){return this.strings}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"sst"),t=e.documentElement;this.stringArray.reverse();let i=this.stringArray.length;t.setAttribute("count",i),t.setAttribute("uniqueCount",i);const s=e.createElement("si"),n=e.createElement("t");n.appendChild(e.createTextNode("--placeholder--")),s.appendChild(n);const o=this.stringArray;for(;i--;){const l=s.cloneNode(!0);typeof o[i]=="string"&&o[i].match(/\s+/)&&l.firstChild.setAttribute("xml:space","preserve"),l.firstChild.firstChild.nodeValue=o[i],t.appendChild(l)}return e}}class gm{constructor(e){F(this,"pane"),F(this,"showZeros",null),F(this,"defaultGridColor",null),F(this,"colorId",null),F(this,"rightToLeft",null),F(this,"showFormulas",null),F(this,"showGridLines",null),F(this,"showOutlineSymbols",null),F(this,"showRowColHeaders",null),F(this,"showRuler",null),F(this,"showWhiteSpace",null),F(this,"tabSelected",null),F(this,"topLeftCell",null),F(this,"viewType",null),F(this,"windowProtection",null),F(this,"zoomScale",null),F(this,"zoomScaleNormal",null),F(this,"zoomScalePageLayoutView",null),F(this,"zoomScaleSheetLayoutView",null);const t=e||{};this.pane=t.pane||new fm}freezePane(e,t,i){this.pane.state="frozen",this.pane.xSplit=e,this.pane.ySplit=t,this.pane.topLeftCell=i}exportXML(e){const t=e.createElement("sheetViews"),i=e.createElement("sheetView");return z.setAttributesOnDoc(i,{workbookViewId:0,showZeros:{v:this.showZeros,type:Boolean},defaultGridColor:{v:this.defaultGridColor,type:Boolean},colorId:this.colorId,rightToLeft:{v:this.rightToLeft,type:Boolean},showFormulas:{v:this.showFormulas,type:Boolean},showGridLines:{v:this.showGridLines,type:Boolean},showOutlineSymbols:{v:this.showOutlineSymbols,type:Boolean},showRowColHeaders:{v:this.showRowColHeaders,type:Boolean},showRuler:{v:this.showRuler,type:Boolean},showWhiteSpace:{v:this.showWhiteSpace,type:Boolean},tabSelected:{v:this.tabSelected,type:Boolean},viewType:this.viewType,windowProtection:{v:this.windowProtection,type:Boolean},zoomScale:{v:this.zoomScale,type:Boolean},zoomScaleNormal:this.zoomScaleNormal,zoomScalePageLayoutView:this.zoomScalePageLayoutView,zoomScaleSheetLayoutView:this.zoomScaleSheetLayoutView}),i.appendChild(this.pane.exportXML(e)),t.appendChild(i),t}}function _m(r,e){return e.reduce((t,i)=>(r!=null&&r.hasOwnProperty(i)&&(t[i]=r[i]),t),{})}class eh{constructor(){F(this,"id",Xt("StyleSheet")),F(this,"cellStyles",[{name:"Normal",xfId:"0",builtinId:"0"}]),F(this,"defaultTableStyle",!1),F(this,"differentialStyles",[{}]),F(this,"masterCellFormats",[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfid:0}]),F(this,"masterCellStyles",[{numFmtId:0,fontId:0,fillId:0,borderId:0}]),F(this,"fonts",[{}]),F(this,"numberFormatters",[]),F(this,"fills",[{},{type:"pattern",patternType:"gray125",fgColor:"FF333333",bgColor:"FF333333"}]),F(this,"borders",[{top:{},left:{},right:{},bottom:{},diagonal:{}}]),F(this,"tableStyles",[])}createSimpleFormatter(e){const t={id:this.masterCellFormats.length};switch(e){case"date":t.numFmtId=14;break}return this.masterCellFormats.push(t),t}createFill(e){const t=this.fills.length,i=e;return i.id=t,this.fills.push(i),i}createNumberFormatter(e){const t={id:this.numberFormatters.length+100,formatCode:e};return this.numberFormatters.push(t),t}createFormat(e){const t={id:this.masterCellFormats.length};if(e.protection&&(t.protection=e.protection),e.font&&Lt(e.font))t.fontId=this.createFontStyle(e.font).id;else if(e.font){if(Number.isNaN(Number.parseInt(e.font,10)))throw new Error("Passing a non-numeric font id is not supported");t.fontId=e.font}if(e.format&&ki(e.format))t.numFmtId=this.createNumberFormatter(e.format).id;else if(e.format){if(Number.isNaN(Number.parseInt(e.format,10)))throw new Error("Invalid number formatter id");t.numFmtId=e.format}if(e.border&&Lt(e.border))t.borderId=this.createBorderFormatter(e.border).id;else if(e.border){if(Number.isNaN(Number.parseInt(e.border,10)))throw new Error("Passing a non-numeric border id is not supported");t.borderId=e.border}if(e.fill&&Lt(e.fill))t.fillId=this.createFill(e.fill).id;else if(e.fill){if(Number.isNaN(Number.parseInt(e.fill,10)))throw new Error("Passing a non-numeric fill id is not supported");t.fillId=e.fill}return e.alignment&&Lt(e.alignment)&&(t.alignment=_m(e.alignment,["horizontal","justifyLastLine","readingOrder","relativeIndent","shrinkToFit","textRotation","vertical","wrapText"])),this.masterCellFormats.push(t),t}createDifferentialStyle(e){const t=this.differentialStyles.length,i={id:t};return e.font&&Lt(e.font)&&(i.font=e.font),e.border&&Lt(e.border)&&(i.border=Object.assign({top:{},left:{},right:{},bottom:{},diagonal:{}},e.border)),e.fill&&Lt(e.fill)&&(i.fill=e.fill),e.alignment&&Lt(e.alignment)&&(i.alignment=e.alignment),e.format&&ki(e.format)&&(i.numFmt=e.format),this.differentialStyles[t]=i,i}createTableStyle(e){this.tableStyles.push(e)}createBorderFormatter(e){return e={top:{},left:{},right:{},bottom:{},diagonal:{},id:this.borders.length,...e},this.borders.push(e),e}createFontStyle(e){const t={id:this.fonts.length};return e.bold&&(t.bold=!0),e.italic&&(t.italic=!0),e.superscript&&(t.vertAlign="superscript"),e.subscript&&(t.vertAlign="subscript"),e.underline&&(typeof e.underline=="string"&&["double","singleAccounting","doubleAccounting"].includes(e.underline)?t.underline=e.underline:t.underline=!0),e.strike&&(t.strike=!0),e.outline&&(t.outline=!0),e.shadow&&(t.shadow=!0),e.size&&(t.size=e.size),e.color&&(t.color=e.color),e.fontName&&(t.fontName=e.fontName),this.fonts.push(t),t}exportBorders(e){const t=e.createElement("borders");t.setAttribute("count",this.borders.length);for(let i=0,s=this.borders.length;i<s;i++)t.appendChild(this.exportBorder(e,this.borders[i]));return t}exportBorder(e,t){const i=e.createElement("border"),s=n=>{const o=e.createElement(n);return t[n].style&&o.setAttribute("style",t[n].style),t[n].color&&o.appendChild(this.exportColor(e,t[n].color)),o};return i.appendChild(s("left")),i.appendChild(s("right")),i.appendChild(s("top")),i.appendChild(s("bottom")),i.appendChild(s("diagonal")),i}exportColor(e,t){const i=e.createElement("color");return ki(t)?(i.setAttribute("rgb",t),i):(t.tint!==void 0&&i.setAttribute("tint",t.tint),t.auto!==void 0&&i.setAttribute("auto",String(!!t.auto)),t.theme!==void 0&&i.setAttribute("theme",t.theme),i)}exportMasterCellFormats(e){const t=z.createElement(e,"cellXfs",[["count",this.masterCellFormats.length]]);for(let i=0,s=this.masterCellFormats.length;i<s;i++){const n=this.masterCellFormats[i];t.appendChild(this.exportCellFormatElement(e,n))}return t}exportMasterCellStyles(e){const t=z.createElement(e,"cellStyleXfs",[["count",this.masterCellStyles.length]]);for(let i=0,s=this.masterCellStyles.length;i<s;i++){const n=this.masterCellStyles[i];t.appendChild(this.exportCellFormatElement(e,n))}return t}exportCellFormatElement(e,t){const i=e.createElement("xf"),s=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","borderId","fillId","fontId","numFmtId","pivotButton","quotePrefix","xfId"],n=Object.keys(t).filter(l=>s.indexOf(l)!==-1);if(t.alignment){const l=t.alignment;i.appendChild(this.exportAlignment(e,l))}t.protection&&(i.appendChild(this.exportProtection(e,t.protection)),i.setAttribute("applyProtection","1"));let o=n.length;for(;o--;)i.setAttribute(n[o],t[n[o]]);return t.fillId&&i.setAttribute("applyFill","1"),t.fontId&&i.setAttribute("applyFont","1"),t.borderId&&i.setAttribute("applyBorder","1"),t.alignment&&i.setAttribute("applyAlignment","1"),t.numFmtId&&i.setAttribute("applyNumberFormat","1"),t.numFmtId!==void 0&&t.xfId===void 0&&i.setAttribute("xfId","0"),i}exportAlignment(e,t){const i=e.createElement("alignment"),s=Object.keys(t);for(let n=0,o=s.length;n<o;n++)i.setAttribute(s[n],t[s[n]]);return i}exportFonts(e){const t=e.createElement("fonts");t.setAttribute("count",String(this.fonts.length));for(let i=0,s=this.fonts.length;i<s;i++){const n=this.fonts[i];t.appendChild(this.exportFont(e,n))}return t}exportFont(e,t){const i=e.createElement("font");if(t.size){const s=e.createElement("sz");s.setAttribute("val",t.size),i.appendChild(s)}if(t.fontName){const s=e.createElement("name");s.setAttribute("val",t.fontName),i.appendChild(s)}if(t.bold&&i.appendChild(e.createElement("b")),t.italic&&i.appendChild(e.createElement("i")),t.vertAlign){const s=e.createElement("vertAlign");s.setAttribute("val",t.vertAlign),i.appendChild(s)}if(t.underline){const s=e.createElement("u");t.underline!==!0&&s.setAttribute("val",t.underline),i.appendChild(s)}return t.strike&&i.appendChild(e.createElement("strike")),t.shadow&&i.appendChild(e.createElement("shadow")),t.outline&&i.appendChild(e.createElement("outline")),t.color&&i.appendChild(this.exportColor(e,t.color)),i}exportFills(e){const t=e.createElement("fills");t.setAttribute("count",String(this.fills.length));for(let i=0,s=this.fills.length;i<s;i++){const n=this.fills[i];t.appendChild(this.exportFill(e,n))}return t}exportFill(e,t){let i;const s=e.createElement("fill");return t.type==="pattern"?(i=this.exportPatternFill(e,t),s.appendChild(i)):t.type==="gradient"&&(i=this.exportGradientFill(e,t),s.appendChild(i)),s}exportGradientFill(e,t){const i=e.createElement("gradientFill");t.degree?i.setAttribute("degree",t.degree):t.left&&(i.setAttribute("left",t.left),i.setAttribute("right",t.right),i.setAttribute("top",t.top),i.setAttribute("bottom",t.bottom));const s=e.createElement("stop");s.setAttribute("position",t.start.pureAt||0);const n=e.createElement("color");typeof t.start=="string"||t.start.color?n.setAttribute("rgb",t.start.color||t.start):t.start.theme&&n.setAttribute("theme",t.start.theme);const o=e.createElement("stop"),l=e.createElement("color");return o.setAttribute("position",t.end.pureAt||1),typeof t.start=="string"||t.end.color?l.setAttribute("rgb",t.end.color||t.end):t.end.theme&&l.setAttribute("theme",t.end.theme),s.appendChild(n),o.appendChild(l),i.appendChild(s),i.appendChild(o),i}exportPatternFill(e,t){const i=z.createElement(e,"patternFill",[["patternType",t.patternType]]);t.bgColor||(t.bgColor="FFFFFFFF"),t.fgColor||(t.fgColor="FFFFFFFF");const s=e.createElement("bgColor");ki(t.bgColor)?s.setAttribute("rgb",t.bgColor):t.bgColor.theme?s.setAttribute("theme",t.bgColor.theme):s.setAttribute("rgb",t.bgColor.rbg);const n=e.createElement("fgColor");return ki(t.fgColor)?n.setAttribute("rgb",t.fgColor):t.fgColor.theme?n.setAttribute("theme",t.fgColor.theme):n.setAttribute("rgb",t.fgColor.rbg),i.appendChild(n),i.appendChild(s),i}exportNumberFormatters(e){const t=e.createElement("numFmts");t.setAttribute("count",String(this.numberFormatters.length));for(let i=0,s=this.numberFormatters.length;i<s;i++){const n=this.numberFormatters[i];t.appendChild(this.exportNumberFormatter(e,n))}return t}exportNumberFormatter(e,t){const i=e.createElement("numFmt");return i.setAttribute("numFmtId",t.id),i.setAttribute("formatCode",t.formatCode),i}exportCellStyles(e){const t=e.createElement("cellStyles");t.setAttribute("count",String(this.cellStyles.length));for(let i=0,s=this.cellStyles.length;i<s;i++){const n=this.cellStyles[i];delete n.id;const o=z.createElement(e,"cellStyle");t.appendChild(o);const l=Object.keys(n);let a=l.length;for(;a--;)o.setAttribute(l[a],n[l[a]])}return t}exportDifferentialStyles(e){const t=e.createElement("dxfs");t.setAttribute("count",String(this.differentialStyles.length));for(let i=0,s=this.differentialStyles.length;i<s;i++){const n=this.differentialStyles[i];t.appendChild(this.exportDFX(e,n))}return t}exportDFX(e,t){const i=e.createElement("dxf");return t.font&&i.appendChild(this.exportFont(e,t.font)),t.fill&&i.appendChild(this.exportFill(e,t.fill)),t.border&&i.appendChild(this.exportBorder(e,t.border)),t.numFmt&&i.appendChild(this.exportNumberFormatter(e,t.numFmt)),t.alignment&&i.appendChild(this.exportAlignment(e,t.alignment)),i}exportTableStyles(e){const t=e.createElement("tableStyles");t.setAttribute("count",String(this.tableStyles.length)),this.defaultTableStyle&&t.setAttribute("defaultTableStyle",String(this.defaultTableStyle));for(let i=0,s=this.tableStyles.length;i<s;i++)t.appendChild(this.exportTableStyle(e,this.tableStyles[i]));return t}exportTableStyle(e,t){const i=e.createElement("tableStyle");i.setAttribute("name",t.name),i.setAttribute("pivot",String(0));let s=0;return Object.entries(t).forEach(([n,o])=>{if(n==="name")return;s++;const l=e.createElement("tableStyleElement");l.setAttribute("type",n),l.setAttribute("dxfId",o),i.appendChild(l)}),i.setAttribute("count",String(s)),i}exportProtection(e,t){const i=e.createElement("protection");for(const s in t)s in t&&i.setAttribute(s,t[s]);return i}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"styleSheet"),t=e.documentElement;return t.appendChild(this.exportNumberFormatters(e)),t.appendChild(this.exportFonts(e)),t.appendChild(this.exportFills(e)),t.appendChild(this.exportBorders(e)),t.appendChild(this.exportMasterCellStyles(e)),t.appendChild(this.exportMasterCellFormats(e)),t.appendChild(this.exportCellStyles(e)),t.appendChild(this.exportDifferentialStyles(e)),this.tableStyles.length&&t.appendChild(this.exportTableStyles(e)),e}}class Cm{constructor(e){F(this,"name",""),F(this,"id",Xt("Worksheet")),F(this,"_timezoneOffset"),F(this,"relations",null),F(this,"columnFormats",[]),F(this,"data",[]),F(this,"mergedCells",[]),F(this,"columns",[]),F(this,"sheetProtection",!1),F(this,"_headers",[]),F(this,"_footers",[]),F(this,"_tables",[]),F(this,"_drawings",[]),F(this,"_orientation"),F(this,"_margin"),F(this,"_rowInstructions",{}),F(this,"_freezePane",{}),F(this,"sharedStrings",null),F(this,"hyperlinks",[]),F(this,"sheetView"),F(this,"showZeros",null),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,this.sheetView=e.sheetView||new gm,this.initialize(e)}initialize(e){e=e||{},this.name=e.name,this.id=Xt("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,e.columns&&this.setColumns(e.columns),this.relations=new eo}exportData(){return{relations:this.relations.exportData(),columnFormats:this.columnFormats,data:this.data,columns:this.columns,mergedCells:this.mergedCells,_headers:this._headers,_footers:this._footers,_tables:this._tables,_rowInstructions:this._rowInstructions,_freezePane:this._freezePane,name:this.name,id:this.id}}importData(e){this.relations.importData(e.relations),delete e.relations,Object.assign(this,e)}setSharedStringCollection(e){this.sharedStrings=e}addTable(e){this._tables.push(e),this.relations.addRelation(e,"table")}addDrawings(e){this._drawings.push(e),this.relations.addRelation(e,"drawingRelationship")}setRowInstructions(e,t){this._rowInstructions[e]=t}setHeader(e){if(!Array.isArray(e))throw"Invalid argument type - setHeader expects an array of three instructions";this._headers=e}setFooter(e){if(!Array.isArray(e))throw"Invalid argument type - setFooter expects an array of three instructions";this._footers=e}compilePageDetailPackage(e){return e=e||"",["&L",this.compilePageDetailPiece(e[0]||""),"&C",this.compilePageDetailPiece(e[1]||""),"&R",this.compilePageDetailPiece(e[2]||"")].join("")}compilePageDetailPiece(e){if(ki(e))return'&"-,Regular"'.concat(e);if(Lt(e)&&!Array.isArray(e)){let t="";if(e.font||e.bold){const i=e.bold?"Bold":"Regular";t+=`&"${e.font||"-"}`,t+=`,${i}"`}else t+='&"-,Regular"';return e.underline&&(t+="&U"),e.fontSize&&(t+=`&${e.fontSize}`),t+=e.text,t}if(Array.isArray(e))return e.reduce((t,i)=>t.concat(this.compilePageDetailPiece(i)),"")}exportHeader(e){const t=e.createElement("oddHeader");return t.appendChild(e.createTextNode(this.compilePageDetailPackage(this._headers))),t}exportFooter(e){const t=e.createElement("oddFooter");return t.appendChild(e.createTextNode(this.compilePageDetailPackage(this._footers))),t}_buildCache(e){const t=e.createElement("c"),i=e.createElement("v");i.appendChild(e.createTextNode("--temp--")),t.appendChild(i);const s=e.createElement("c"),n=e.createElement("f");n.appendChild(e.createTextNode("--temp--")),s.appendChild(n);const o=e.createElement("c");o.setAttribute("t","s");const l=e.createElement("v");return l.appendChild(e.createTextNode("--temp--")),o.appendChild(l),{number:t,date:t,string:o,formula:s}}collectSharedStrings(){const e=this.data,t={};for(let i=0,s=e.length;i<s;i++){const n=e[i],o=n.length;for(let l=0;l<o;l++){let a=n[l];const h=(a==null?void 0:a.metadata)||{};a&&typeof a=="object"&&(a=a.value),h.type||typeof a=="number"&&(h.type="number"),(h.type==="text"||!h.type)&&typeof t[a]>"u"&&(t[a]=!0)}}return Object.keys(t)}toXML(){var e,t,i;const s=this.data,n=this.columns||[],o=z.createXmlDoc(z.schemas.spreadsheetml,"worksheet"),l=o.documentElement;let a,h,d;l.setAttribute("xmlns:r",z.schemas.relationships),l.setAttribute("xmlns:mc",z.schemas.markupCompat);let c=0;const u=z.createElement(o,"sheetData"),p=this._buildCache(o);for(d=0,h=s.length;d<h;d++){const m=s[d],f=m.length;c=f>c?f:c;const g=o.createElement("row");for(let _=0;_<f;_++){n[_]=n[_]||{};let C=m[_],b;const S=(C==null?void 0:C.metadata)||{};switch(C&&typeof C=="object"&&(C=C.value),S.type||typeof C=="number"&&(S.type="number"),S.type){case"number":b=p.number.cloneNode(!0),b.firstChild.firstChild.nodeValue=C;break;case"date":b=p.date.cloneNode(!0),C instanceof Date&&(C=C.getTime()),b.firstChild.firstChild.nodeValue=25569+(C-this._timezoneOffset)/(60*60*24*1e3);break;case"formula":b=p.formula.cloneNode(!0),b.firstChild.firstChild.nodeValue=C;break;case"text":default:{let E;typeof((e=this.sharedStrings)==null?void 0:e.strings[C])<"u"?E=this.sharedStrings.strings[C]:E=(t=this.sharedStrings)==null?void 0:t.addString(C),b=p.string.cloneNode(!0),b.firstChild.firstChild.nodeValue=E;break}}S.style?b.setAttribute("s",S.style):((i=this._rowInstructions[d])==null?void 0:i.style)!==void 0&&b.setAttribute("s",this._rowInstructions[d].style),b.setAttribute("r",z.positionToLetterRef(_+1,String(d+1))),g.appendChild(b)}if(g.setAttribute("r",d+1),this._rowInstructions[d]){const _=this._rowInstructions[d];_.height!==void 0&&(g.setAttribute("customHeight","1"),g.setAttribute("ht",_.height)),_.style!==void 0&&(g.setAttribute("customFormat","1"),g.setAttribute("s",_.style))}u.appendChild(g)}if(c!==0?l.appendChild(z.createElement(o,"dimension",[["ref",`${z.positionToLetterRef(1,1)}:${z.positionToLetterRef(c,String(s.length))}`]])):l.appendChild(z.createElement(o,"dimension",[["ref",z.positionToLetterRef(1,1)]])),l.appendChild(this.sheetView.exportXML(o)),this.columns.length&&l.appendChild(this.exportColumns(o)),l.appendChild(u),this.sheetProtection&&l.appendChild(this.sheetProtection.exportXML(o)),this.hyperlinks.length>0){const m=o.createElement("hyperlinks"),f=this.hyperlinks;for(a=0,h=f.length;a<h;a++){const g=o.createElement("hyperlink"),_=f[a];g.setAttribute("ref",String(_.cell)),_.id=z.uniqueId("hyperlink"),this.relations.addRelation({id:_.id,target:_.location,targetMode:_.targetMode||"External"},"hyperlink"),g.setAttribute("r:id",this.relations.getRelationshipId(_)),m.appendChild(g)}l.appendChild(m)}if(this.mergedCells.length>0){const m=o.createElement("mergeCells");for(a=0,h=this.mergedCells.length;a<h;a++){const f=o.createElement("mergeCell");f.setAttribute("ref",`${this.mergedCells[a][0]}:${this.mergedCells[a][1]}`),m.appendChild(f)}l.appendChild(m)}if(this.exportPageSettings(o,l),this._headers.length>0||this._footers.length>0){const m=o.createElement("headerFooter");this._headers.length>0&&m.appendChild(this.exportHeader(o)),this._footers.length>0&&m.appendChild(this.exportFooter(o)),l.appendChild(m)}for(a=0,h=this._drawings.length;a<h;a++){const m=o.createElement("drawing");m.setAttribute("r:id",this.relations.getRelationshipId(this._drawings[a])),l.appendChild(m)}if(this._tables.length>0){const m=o.createElement("tableParts");for(m.setAttribute("count",this._tables.length),a=0,h=this._tables.length;a<h;a++){const f=o.createElement("tablePart");f.setAttribute("r:id",this.relations.getRelationshipId(this._tables[a])),m.appendChild(f)}l.appendChild(m)}return o}exportColumns(e){const t=z.createElement(e,"cols");for(let i=0,s=this.columns.length;i<s;i++){const n=this.columns[i],o=z.createElement(e,"col",[["min",n.min||i+1],["max",n.max||i+1]]);n.hidden&&o.setAttribute("hidden",String(1)),n.bestFit&&o.setAttribute("bestFit",String(1)),(n.customWidth||n.width)&&o.setAttribute("customWidth",String(1)),n.width?o.setAttribute("width",n.width):o.setAttribute("width",String(9.140625)),t.appendChild(o)}return t}exportPageSettings(e,t){if(this._margin){let i=.7;const s=this._margin.left?this._margin.left:i,n=this._margin.right?this._margin.right:i,o=this._margin.top?this._margin.top:i,l=this._margin.bottom?this._margin.bottom:i;i=.3;const a=this._margin.header?this._margin.header:i,h=this._margin.footer?this._margin.footer:i;t.appendChild(z.createElement(e,"pageMargins",[["top",o],["bottom",l],["left",s],["right",n],["header",a],["footer",h]]))}this._orientation&&t.appendChild(z.createElement(e,"pageSetup",[["orientation",this._orientation]]))}setPageOrientation(e){this._orientation=e}setPageMargin(e){this._margin=e}setColumns(e){this.columns=e}setData(e){this.data=e}mergeCells(e,t){this.mergedCells.push([e,t])}freezePane(e,t,i){this.sheetView.freezePane(e,t,i)}setColumnFormats(e){this.columnFormats=e}}class vm{constructor(){F(this,"id",Xt("Workbook")),F(this,"styleSheet",new eh),F(this,"sharedStrings",new Ja),F(this,"relations",new eo),F(this,"worksheets",[]),F(this,"tables",[]),F(this,"drawings",[]),F(this,"media",{}),F(this,"printTitles"),this.initialize()}initialize(){this.id=Xt("Workbook"),this.styleSheet=new eh,this.sharedStrings=new Ja,this.relations=new eo,this.relations.addRelation(this.styleSheet,"stylesheet"),this.relations.addRelation(this.sharedStrings,"sharedStrings")}createWorksheet(e){return e=Object.assign({},{name:"Sheet ".concat(String(this.worksheets.length+1))},e),new Cm(e)}getStyleSheet(){return this.styleSheet}addTable(e){this.tables.push(e)}addDrawings(e){this.drawings.push(e)}setPrintTitleTop(e,t){this.printTitles==null&&(this.printTitles={}),this.printTitles[e]==null&&(this.printTitles[e]={}),this.printTitles[e].top=t}setPrintTitleLeft(e,t){this.printTitles==null&&(this.printTitles={}),this.printTitles[e]==null&&(this.printTitles[e]={}),this.printTitles[e].left=String.fromCharCode(64+t)}addMedia(e,t,i,s){const n=t.split("."),o=n[n.length-1];if(!s)switch(o.toLowerCase()){case"jpeg":case"jpg":s="image/jpeg";break;case"png":s="image/png";break;case"gif":s="image/gif";break;default:s=null;break}return this.media[t]||(this.media[t]={id:t,data:i,fileName:t,contentType:s,extension:o}),this.media[t]}addWorksheet(e){this.relations.addRelation(e,"worksheet"),e.setSharedStringCollection(this.sharedStrings),this.worksheets.push(e)}createContentTypes(){const e=z.createXmlDoc(z.schemas.contentTypes,"Types"),t=e.documentElement;let i,s;t.appendChild(z.createElement(e,"Default",[["Extension","rels"],["ContentType","application/vnd.openxmlformats-package.relationships+xml"]])),t.appendChild(z.createElement(e,"Default",[["Extension","xml"],["ContentType","application/xml"]]));const n={};for(const o in this.media)o in this.media&&(n[this.media[o].extension]=this.media[o].contentType);for(const o in n)o in n&&t.appendChild(z.createElement(e,"Default",[["Extension",o],["ContentType",n[o]]]));for(t.appendChild(z.createElement(e,"Override",[["PartName","/xl/workbook.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"]])),t.appendChild(z.createElement(e,"Override",[["PartName","/xl/sharedStrings.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"]])),t.appendChild(z.createElement(e,"Override",[["PartName","/xl/styles.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"]])),i=0,s=this.worksheets.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/worksheets/sheet${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"]]));for(i=0,s=this.tables.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/tables/table${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"]]));for(i=0,s=this.drawings.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/drawings/drawing${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.drawing+xml"]]));return e}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"workbook"),t=e.documentElement;t.setAttribute("xmlns:r",z.schemas.relationships);const i=31,s=z.createElement(e,"sheets");for(let l=0,a=this.worksheets.length;l<a;l++){const h=e.createElement("sheet");typeof console<"u"&&this.worksheets[l].name.length>i&&console.log(`Microsoft Excel requires work sheet names to be less than ${i+1} characters long, work sheet name "${this.worksheets[l].name}" is ${this.worksheets[l].name.length} characters long`),h.setAttribute("name",this.worksheets[l].name),h.setAttribute("sheetId",l+1),h.setAttribute("r:id",this.relations.getRelationshipId(this.worksheets[l])),s.appendChild(h)}t.appendChild(s);const n=z.createElement(e,"definedNames");let o=0;for(const l in this.printTitles)if(l in this.printTitles){const a=this.printTitles[l],h=e.createElement("definedName");h.setAttribute("name","_xlnm.Print_Titles"),h.setAttribute("localSheetId",o++);let d="";a.top&&(d+=`${l}!$1:$${a.top}`,a.left&&(d+=",")),a.left&&(d+=`${l}!$A:$${a.left}`),h.appendChild(e.createTextNode(d)),n.appendChild(h)}return t.appendChild(n),e}createWorkbookRelationship(){const e=z.createXmlDoc(z.schemas.relationshipPackage,"Relationships");return e.documentElement.appendChild(z.createElement(e,"Relationship",[["Id","rId1"],["Type",z.schemas.officeDocument],["Target","xl/workbook.xml"]])),e}_generateCorePaths(e){let t,i;for(Qt[this.styleSheet.id]="styles.xml",Qt[this.sharedStrings.id]="sharedStrings.xml",Qt[this.id]="/xl/workbook.xml",t=0,i=this.tables.length;t<i;t++)e[`/xl/tables/table${t+1}.xml`]=this.tables[t].toXML(),Qt[this.tables[t].id]=`/xl/tables/table${t+1}.xml`;for(const s in this.media)if(s in this.media){const n=this.media[s];e[`/xl/media/${s}`]=n.data,Qt[s]=`/xl/media/${s}`}for(t=0,i=this.drawings.length;t<i;t++)e[`/xl/drawings/drawing${t+1}.xml`]=this.drawings[t].toXML(),Qt[this.drawings[t].id]=`/xl/drawings/drawing${t+1}.xml`,e[`/xl/drawings/_rels/drawing${t+1}.xml.rels`]=this.drawings[t].relations.toXML()}_prepareFilesForPackaging(e){Object.assign(e,{"/[Content_Types].xml":this.createContentTypes(),"/_rels/.rels":this.createWorkbookRelationship(),"/xl/styles.xml":this.styleSheet.toXML(),"/xl/workbook.xml":this.toXML(),"/xl/sharedStrings.xml":this.sharedStrings.toXML(),"/xl/_rels/workbook.xml.rels":this.relations.toXML()});for(const[t,i]of Object.entries(e))if(t.indexOf(".xml")!==-1||t.indexOf(".rels")!==-1){i instanceof cn?e[t]=i.toString():e[t]=i.xml||new window.XMLSerializer().serializeToString(i);let s=e[t].replace(/xmlns=""/g,"");s=s.replace(/NS[\d]+:/g,""),s=s.replace(/xmlns:NS[\d]+=""/g,""),e[t]=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
27
+ For example: this.gridOptions = { enableTranslate: true, translater: this.translateService }`);return t!=null&&typeof t!="string"&&(t=t+""),t?l.translate(t.toUpperCase()):""},_e={arrayObjectToCsv:wp,arrayToCsv:tn,checkmarkMaterial:Tp,complex:Da,complexObject:Da,collection:xp,collectionEditor:Op,currency:kp,dateIso:ye(w.dateIso,"-"),dateTimeIso:ye(w.dateTimeIso,"-"),dateTimeShortIso:ye(w.dateTimeShortIso,"-"),dateTimeIsoAmPm:ye(w.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:ye(w.dateTimeIsoAM_PM,"-"),dateEuro:ye(w.dateEuro,"/"),dateEuroShort:ye(w.dateEuroShort,"/"),dateTimeEuro:ye(w.dateTimeEuro,"/"),dateTimeEuroShort:ye(w.dateTimeEuroShort,"/"),dateTimeShortEuro:ye(w.dateTimeShortEuro,"/"),dateTimeEuroAmPm:ye(w.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:ye(w.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:ye(w.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:ye(w.dateTimeEuroShortAM_PM,"/"),dateUs:ye(w.dateUs,"/"),dateTimeUs:ye(w.dateTimeUs,"/"),dateTimeShortUs:ye(w.dateTimeShortUs,"/"),dateTimeUsAmPm:ye(w.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:ye(w.dateTimeUsAM_PM,"/"),dateTimeUsShort:ye(w.dateTimeUsShort,"/"),dateTimeUsShortAmPm:ye(w.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:ye(w.dateTimeUsShortAM_PM,"/"),dateUsShort:ye(w.dateUsShort,"/"),dateUtc:ye(w.dateUtc,"-"),decimal:Ip,dollar:Rp,dollarColored:Ap,dollarColoredBold:Pp,hyperlink:Fp,icon:Mp,iconBoolean:Dp,mask:Lp,multiple:Ws,percent:Np,percentComplete:Bp,percentCompleteBar:Hp,percentCompleteBarWithText:Vp,percentSymbol:zp,progressBar:$p,translate:Wp,translateBoolean:Yp,tree:Up,treeParseTotals:jp,treeExport:Gp},re={avgTotals:(r,e,t)=>{var p;const i=e.field??"";let s=(p=r.avg)==null?void 0:p[i];const n=e==null?void 0:e.params;let o=(n==null?void 0:n.groupFormatterPrefix)||"";const l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){if(s<0)if(s=Math.abs(s),!u)o+="-";else{if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}(${m})${l}`}return`${o}(${Vt(s,a,h,d,c)})${l}`}if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}${m}${l}`}return`${o}${Vt(s,a,h,d,c)}${l}`}return""},avgTotalsCurrency:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.avg)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=Ie(s,d,c,m,a,h,u,p);return`${o}${g}${l}`}return""},avgTotalsDollar:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.avg)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return`${o}${m}${l}`}return""},avgTotalsPercentage:(r,e,t)=>{var p;const i=e.field??"";let s=(p=r.avg)==null?void 0:p[i];const n=e==null?void 0:e.params;let o=(n==null?void 0:n.groupFormatterPrefix)||"";const l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"percent","group");if(U(s)){if(s<0)if(s=Math.abs(s),!u)o+="-";else{if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}(${m}%)${l}`}return`${o}(${Vt(s,a,h,d,c)}%)${l}`}if(isNaN(a)&&isNaN(h)){const m=Rt(Math.round(s),c);return`${o}${m}%${l}`}return`${o}${Vt(s,a,h,d,c)}%${l}`}return""},maxTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.max)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},minTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.min)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},sumTotals:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return`${o}${m}${l}`}return""},sumTotalsBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=Ie(s,a,h,u,"","",d,c);return v("span",{style:{fontWeight:"bold"},textContent:`${o}${m}${l}`})}return""},sumTotalsColored:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"regular","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"","",d,c);return v("span",{style:{color:m},textContent:`${o}${f}${l}`})}return""},sumTotalsCurrency:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.sum)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=Ie(s,d,c,m,a,h,u,p);return`${o}${g}${l}`}return""},sumTotalsCurrencyColored:(r,e,t)=>{var f;const i=e.field??"",s=(f=r.sum)==null?void 0:f[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",a=(n==null?void 0:n.groupFormatterCurrencyPrefix)||"",h=(n==null?void 0:n.groupFormatterCurrencySuffix)||"",{minDecimal:d,maxDecimal:c,decimalSeparator:u,thousandSeparator:p,wrapNegativeNumber:m}=Se(e,t,"currency","group");if(U(s)){const g=s>=0?"green":"red",_=Ie(s,d,c,m,a,h,u,p);return v("span",{style:{color:g},textContent:`${o}${_}${l}`})}return""},sumTotalsDollar:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return`${o}${m}${l}`}return""},sumTotalsDollarBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{fontWeight:"bold"},textContent:`${o}${m}${l}`})}return""},sumTotalsDollarColored:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{color:m},textContent:`${o}${f}${l}`})}return""},sumTotalsDollarColoredBold:(r,e,t)=>{var p;const i=e.field??"",s=(p=r.sum)==null?void 0:p[i],n=e==null?void 0:e.params,o=(n==null?void 0:n.groupFormatterPrefix)||"",l=(n==null?void 0:n.groupFormatterSuffix)||"",{minDecimal:a,maxDecimal:h,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:u}=Se(e,t,"currency","group");if(U(s)){const m=s>=0?"green":"red",f=Ie(s,a,h,u,"$","",d,c);return v("span",{style:{color:m,fontWeight:"bold"},textContent:`${o}${f}${l}`})}return""}};class qp{constructor(){this.options=Mr}}const Hr={...uh,...ph,..._h,...qh,...Oh,deepAssign:Zt};function Kp(r,e,t){let i;t={...{modalType:"edit",validationFailedMsg:"Some of the fields have failed validation",validationMsgPrefix:null,show:null,hide:null,position:null,destroy:null,formValues:{},editors:{}},...t};const n=()=>{},o=a=>{const h=e[a],d=ge(h),c=(h==null?void 0:h.clientWidth)??0,u=(h==null?void 0:h.clientHeight)??0;return{top:d.top,left:d.left,bottom:d.top+u,right:d.left+c,width:c,height:u,visible:!0}};function l(a){const h=this;let d=[];function c(){let u={},p=0;for(;p<r.length;){if(r[p].editorClass){const m=r[p];u={...a},u.container=e[p],u.column=m,u.position=o(p),u.commitChanges=n,u.cancelChanges=n,u.compositeEditorOptions=t,u.formValues={};const f=new m.editorClass(u);t.editors[m.id]=f,d.push(f)}p++}window.setTimeout(()=>{Array.isArray(d)&&d.length>0&&typeof d[0].focus=="function"&&d[0].focus()},0)}h.getEditors=()=>d,h.destroy=()=>{var m;let u=d.pop();for(;u;)u==null||u.destroy(),u=d.pop();let p=e.pop();for(;p;)ee(p),p==null||p.remove(),p=e.pop();(m=t==null?void 0:t.destroy)==null||m.call(t),d=[],e=null},h.focus=()=>{(i||d[0]).focus()},h.isValueChanged=()=>{let u=0;for(;u<d.length;){if(d[u].isValueChanged())return!0;u++}return!1},h.serializeValue=()=>{const u=[];let p=0;for(;p<d.length;)u[p]=d[p].serializeValue(),p++;return u},h.applyValue=(u,p)=>{let m=0;for(;m<d.length;)d[m].applyValue(u,p==null?void 0:p[m]),m++},h.loadValue=u=>{let p=0;for(;p<d.length;)d[p].loadValue(u),p++},h.validate=u=>{var g;let p;i=null;const m=[];let f=0;for(;f<d.length;){const _=(g=d[f].args)==null?void 0:g.column;if((_==null?void 0:_.id)!==void 0){const C=document.querySelector(".slick-editor-modal");let b=C==null?void 0:C.querySelector(`.item-details-validation.editor-${_.id}`),S=C==null?void 0:C.querySelector(`.item-details-label.editor-${_.id}`),E=C==null?void 0:C.querySelector(`[data-editorid='${_.id}']`);const y=(t==null?void 0:t.validationMsgPrefix)??"";(!u||E!=null&&E.contains(u))&&(p=d[f].validate(),p.valid?b&&(b.textContent="",E==null||E.classList.remove("invalid"),S==null||S.classList.remove("invalid")):(i=d[f],m.push({index:f,editor:d[f],container:e[f],msg:p.msg}),b&&(b.textContent=`${y}${p.msg}`,S==null||S.classList.add("invalid"),E==null||E.classList.add("invalid")))),b=null,S=null,E=null}f++}return u=null,m.length?{valid:!1,msg:t.validationFailedMsg,errors:m}:{valid:!0,msg:""}},h.hide=()=>{var p,m,f;let u=0;for(;u<d.length;)(m=(p=d[u])==null?void 0:p.hide)==null||m.call(p),u++;(f=t==null?void 0:t.hide)==null||f.call(t)},h.show=()=>{var p,m,f;let u=0;for(;u<d.length;)(m=(p=d[u])==null?void 0:p.show)==null||m.call(p),u++;(f=t==null?void 0:t.show)==null||f.call(t)},h.position=u=>{var p;(p=t==null?void 0:t.position)==null||p.call(t,u)},c()}return l.prototype=this,l}const Ma=r=>console.log(r.message);class Vr{get eventHandler(){return this._eventHandler}get dataView(){var e;return(e=this.grid)==null?void 0:e.getData()}get dataViewLength(){return this.dataView.getLength()}get formValues(){return this._formValues}get editors(){return this._editors}set editors(e){this._editors=e}get gridOptions(){var e;return(e=this.grid)==null?void 0:e.getOptions()}constructor(){this._columnDefinitions=[],this._lastActiveRowNumber=-1,this._formValues=null,this.gridService=null,this._eventHandler=new pe,this._bindEventService=new Pe}init(e,t){var i;if(this.grid=e,this.gridService=t.get("GridService"),this.translaterService=t.get("TranslaterService"),!this.gridService)throw new Error("[Slickgrid-Universal] it seems that the GridService is not being loaded properly, make sure the Container Service is properly implemented.");if(this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this._locales=((i=this.gridOptions)==null?void 0:i.locales)??R.locales}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this._formValues=null,this.disposeComponent()}disposeComponent(){var e,t,i;(e=this._modalBodyTopValidationElm)==null||e.remove(),(t=this._modalSaveButtonElm)==null||t.remove(),typeof((i=this._modalElm)==null?void 0:i.remove)=="function"&&(this._modalElm.remove(),document.body.classList.remove("slick-modal-open")),this._editorContainers=[]}changeFormInputValue(e,t,i=!1,s=!0){var d,c,u,p,m,f;const n=this.getColumnByObjectOrId(e),o=typeof e=="string"?e:(n==null?void 0:n.id)??"",l=(d=this._editors)==null?void 0:d[o];let a=t;if(!l&&!i)throw new Error(`Composite Editor with column id "${o}" not found.`);if(typeof(l==null?void 0:l.setValue)=="function"&&Array.isArray(this._editorContainers)){l.setValue(t,!0,s);const g=this._editorContainers.find(C=>C.dataset.editorid===o),_=((u=(c=this.gridOptions)==null?void 0:c.compositeEditorOptions)==null?void 0:u.excludeDisabledFieldFormValues)??!1;!l.disabled||l.disabled&&!_?(p=g==null?void 0:g.classList)==null||p.add("modified"):(a="",(m=g==null?void 0:g.classList)==null||m.remove("modified")),l.disabled&&(a!==""||a!==null||a!==void 0||a!==0)&&(a="")}const h=(n==null?void 0:n.field)??"";if(n&&(h!=null&&h.includes("."))){const g=((f=n.editor)==null?void 0:f.complexObjectPath)??h??"";We(this._formValues??{},g,t)}else this._formValues={...this._formValues,[o]:a}}changeFormValue(e,t){var o;const i=this.getColumnByObjectOrId(e),s=typeof e=="string"?e:(i==null?void 0:i.id)??"",n=(i==null?void 0:i.field)??e;if(n!=null&&n.includes(".")){const l=((o=i==null?void 0:i.editor)==null?void 0:o.complexObjectPath)??n??"";We(this._formValues,l,t)}else this._formValues={...this._formValues,[s]:t};this._formValues=Zt({},this._itemDataContext,this._formValues)}changeFormEditorOption(e,t,i){var n;const s=(n=this._editors)==null?void 0:n[e];if(s!=null&&s.changeEditorOption)s.changeEditorOption(t,i);else throw new Error(`Editor with column id "${e}" not found OR the Editor does not support "changeEditorOption" (current only available with Date, MultipleSelect, SingleSelect & Slider Editors).`)}disableFormInput(e,t=!0){var s;const i=(s=this._editors)==null?void 0:s[e];i!=null&&i.disable&&Array.isArray(this._editorContainers)&&i.disable(t)}openDetails(e){var s,n,o,l,a,h,d,c,u;const t=e.onError??Ma,i={backdrop:"static",showCloseButtonOutside:!0,shouldClearRowSelectionAfterMassAction:!0,viewColumnLayout:"auto",modalType:"edit"};try{if(!this.grid||this.grid.getEditorLock().isActive()&&!this.grid.getEditorLock().commitCurrentEdit())return null;this._formValues=null,this._options={...i,...this.gridOptions.compositeEditorOptions,...e,labels:{...(s=this.gridOptions.compositeEditorOptions)==null?void 0:s.labels,...e==null?void 0:e.labels}},this._options.backdrop=e.backdrop!==void 0?e.backdrop:"static";const p=this._options.viewColumnLayout||1,m=this.grid.getActiveCell(),f=(m==null?void 0:m.cell)??0,g=(m==null?void 0:m.row)??0,_=this.grid.getUID()||"";let C=e.headerTitle||"";typeof this._options.onBeforeOpen=="function"&&this._options.onBeforeOpen(),this.hasRowSelectionEnabled()&&this._options.modalType==="auto-mass"&&this.grid.getSelectedRows&&((this.grid.getSelectedRows()||[]).length>0?(this._options.modalType="mass-selection",e!=null&&e.headerTitleMassSelection&&(C=e==null?void 0:e.headerTitleMassSelection)):(this._options.modalType="mass-update",e!=null&&e.headerTitleMassUpdate&&(C=e==null?void 0:e.headerTitleMassUpdate)));const b=this._options.modalType||"edit";if(this.gridOptions.editable)if(this.gridOptions.enableCellNavigation){if(!this.gridOptions.enableAddRow&&(b==="clone"||b==="create"))return t({type:"error",code:"ENABLE_ADD_ROW_REQUIRED",message:'Composite Editor requires the flag "enableAddRow" to be set to True in your Grid Options when cloning/creating a new item.'}),null;if(!m&&(b==="clone"||b==="edit"))return t({type:"warning",code:"NO_RECORD_FOUND",message:"No records selected for edit or clone operation."}),null;{const S=b==="mass-update"||b==="mass-selection",E=S?{}:this.grid.getDataItem(g);this._originalDataContext=de(!0,{},E),this._columnDefinitions=this.grid.getColumns();const y=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],x=((n=this.dataView)==null?void 0:n.getItemCount())??0;this._lastActiveRowNumber=g;const O=this.dataView.getAllSelectedIds(),I=b==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,E,f,I,S))return null;if(b==="edit"&&!E)return t({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(b==="mass-selection"&&y.length<1)return t({type:"warning",code:"ROW_SELECTION_REQUIRED",message:"You must select some rows before trying to apply new value(s)."}),null;let D=[];S?D=this._columnDefinitions.filter(Q=>{var ce;return Q.editorClass&&((ce=Q.editor)==null?void 0:ce.massUpdate)===!0}):D=this._columnDefinitions.filter(Q=>Q.editorClass),D.some(Q=>{var ce;return((ce=Q.editor)==null?void 0:ce.compositeEditorFormOrder)!==void 0})&&D.sort((Q,ce)=>{var Nt,N;const ct=((Nt=Q==null?void 0:Q.editor)==null?void 0:Nt.compositeEditorFormOrder)??1/0,hi=((N=ce==null?void 0:ce.editor)==null?void 0:N.compositeEditorFormOrder)??1/0;return Ro(ct,hi,ae.asc)});const L=C.replace(/\{\{(.*?)\}\}/g,(Q,ce)=>Ee(E,ce)),M=p==="auto"?this.autoCalculateLayoutColumnCount(D.length):p;this._modalElm=v("div",{className:`slick-editor-modal ${_}`});const W=v("div",{className:"slick-editor-modal-content"});if((o=this.gridOptions)!=null&&o.darkMode&&W.classList.add("slick-dark-mode"),!isNaN(p)&&+p>1||p==="auto"&&M>1){const Q=M===2?"split-view":"triple-split-view";W.classList.add(Q)}const K=v("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(K,L);const J=v("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((l=K==null?void 0:K.classList)==null||l.add("outside"),(a=J==null?void 0:J.classList)==null||a.add("outside"));const X=v("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});X.appendChild(K),X.appendChild(J);const ie=v("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=v("div",{className:"validation-summary",style:{display:"none"}},ie);const ze=v("div",{className:"slick-editor-modal-footer"}),nt=v("button",{type:"button",ariaLabel:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),className:"btn btn-cancel btn-default btn-sm",textContent:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),dataset:{action:"cancel"}});let fe="",xe="";switch(b){case"clone":xe=this.getLabelText("cloneButton","TEXT_CLONE","Clone");break;case"mass-update":const Q=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");fe=this.parseText(Q,{x}),xe=this.getLabelText("massUpdateButton","TEXT_APPLY_MASS_UPDATE","Mass Update");break;case"mass-selection":const ce=this.getLabelText("massSelectionStatus","TEXT_X_OF_Y_MASS_SELECTED","{{x}} of {{y}} selected");fe=this.parseText(ce,{x:O.length,y:x}),xe=this.getLabelText("massSelectionButton","TEXT_APPLY_TO_SELECTION","Update Selection");break;default:xe=this.getLabelText("saveButton","TEXT_SAVE","Save")}const qe=v("div",{className:"footer-status-text",textContent:fe});this._modalSaveButtonElm=v("button",{type:"button",className:"btn btn-save btn-primary btn-sm",ariaLabel:xe,textContent:xe,dataset:{action:b==="create"||b==="edit"?"save":b,ariaLabel:xe}});const Le=v("div",{className:"footer-buttons"});(b==="mass-update"||b==="mass-selection")&&ze.appendChild(qe),Le.appendChild(nt),Le.appendChild(this._modalSaveButtonElm),ze.appendChild(Le),W.appendChild(X),W.appendChild(ie),W.appendChild(ze),this._modalElm.appendChild(W);for(const Q of D)if(Q.editorClass){const ce=v("div",{className:`item-details-container editor-${Q.id}`});M===1?ce.classList.add("slick-col-medium-12"):ce.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/M}`);const ct=v("div",{className:`item-details-label editor-${Q.id}`});this.grid.applyHtmlCode(ct,this.getColumnLabel(Q)||"n/a");const hi=v("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${Q.id}`}}),Nt=v("div",{className:`item-details-validation editor-${Q.id}`});if((h=this._options)!=null&&h.showResetButtonOnEachEditor){const N=this.createEditorResetButtonElement(`${Q.id}`);this._bindEventService.bind(N,"click",this.handleResetInputValue.bind(this)),ct.appendChild(N)}ce.appendChild(ct),ce.appendChild(hi),ce.appendChild(Nt),ie.appendChild(ce)}if((d=this._options)!=null&&d.showFormResetButton){const Q=this.createFormResetButtonElement();this._bindEventService.bind(Q,"click",this.handleResetFormClicked.bind(this)),ie.appendChild(Q)}document.body.appendChild(this._modalElm),document.body.classList.add("slick-modal-open"),this._bindEventService.bind(document.body,"click",this.handleBodyClicked.bind(this)),typeof this._options.onRendered=="function"&&this._options.onRendered(this._modalElm),this._editors={},this._editorContainers=D.map(Q=>ie.querySelector(`[data-editorid='${Q.id}']`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:b,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const ke=new Kp(D,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(ke),this._bindEventService.bind(J,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(nt,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(this._modalSaveButtonElm,"click",this.handleSaveClicked.bind(this)),this._bindEventService.bind(this._modalElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._modalElm,"focusout",this.validateCurrentEditor.bind(this)),this._bindEventService.bind(this._modalElm,"blur",this.validateCurrentEditor.bind(this)),this._eventHandler.subscribe(this.grid.onCompositeEditorChange,this.handleOnCompositeEditorChange.bind(this)),this._eventHandler.subscribe(this.grid.onAddNewRow,(Q,ce)=>{this._originalDataContext=this.insertNewItemInDataView(ce.item)})}}else return t({type:"error",code:"ENABLE_CELL_NAVIGATION_REQUIRED",message:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.'}),null;else return t({type:"error",code:"EDITABLE_GRID_REQUIRED",message:"Your grid must be editable in order to use the Composite Editor Modal."}),null;return this}catch(p){this.dispose();const m=typeof p=="string"?p:(p==null?void 0:p.message)??((c=p==null?void 0:p.body)==null?void 0:c.message)??"",f=typeof p=="string"?p:(p==null?void 0:p.status)??((u=p==null?void 0:p.body)==null?void 0:u.status)??m;return t({type:"error",code:f,message:m}),null}}async cancelEditing(){var t,i,s;let e=!0;this.formValues&&Object.keys(this.formValues).length>0&&typeof this._options.onClose=="function"&&(e=await this._options.onClose()),e&&((t=this.grid.getEditController())==null||t.cancelCurrentEdit(),(((i=this._options)==null?void 0:i.modalType)==="edit"||((s=this._options)==null?void 0:s.modalType)==="clone")&&this.resetCurrentRowDataContext(),this.grid.setActiveRow(this._lastActiveRowNumber),this.dispose())}showValidationSummaryText(e,t=""){var i,s;e&&t!==""?(this._modalBodyTopValidationElm.textContent=t,this._modalBodyTopValidationElm.style.display="block",(s=(i=this._modalBodyTopValidationElm).scrollIntoView)==null||s.call(i),this._modalSaveButtonElm.disabled=!1,this._modalSaveButtonElm.classList.remove("saving")):(this._modalBodyTopValidationElm.style.display="none",this._modalBodyTopValidationElm.textContent=t)}applySaveMassUpdateChanges(e,t,i=!0){const s=i?this.dataView.getItems():de(!0,[],this.dataView.getItems());return Object.keys(e).forEach(n=>{n in e&&s.forEach(o=>{var l;n in e&&(((l=this._options)==null?void 0:l.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(n,o,e)!==!1)&&(o[n]=e[n])})}),i&&(this.dataView.setItems(s,this.gridOptions.datasetIdPropertyName),this.grid.invalidate()),s}applySaveMassSelectionChanges(e,t,i=!0){var l;const n=((t==null?void 0:t.dataContextIds)??[]).map(a=>this.dataView.getItemById(a)),o=i?n:de(!0,[],n);return Object.keys(e).forEach(a=>{a in e&&o.forEach(h=>{var d;a in e&&(((d=this._options)==null?void 0:d.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(a,h,e)!==!1)&&(h[a]=e[a])})}),i&&((l=this.gridService)==null||l.updateItems(o)),o}autoCalculateLayoutColumnCount(e){return e>=15?3:e>=8?2:1}createEditorResetButtonElement(e){var i,s,n,o;const t=v("button",{type:"button",name:e,ariaLabel:"Reset",title:((s=(i=this._options)==null?void 0:i.labels)==null?void 0:s.resetFormButton)??"Reset Form Input",className:"btn btn-xs btn-editor-reset"});if((n=this._options)!=null&&n.resetEditorButtonCssClass){const l=he((o=this._options)==null?void 0:o.resetEditorButtonCssClass);for(const a of l)t.classList.add(a)}return t}createFormResetButtonElement(){var i;const e=v("div",{className:"reset-container"}),t=v("button",{type:"button",className:"btn btn-sm reset-form"},e);return v("span",{className:((i=this._options)==null?void 0:i.resetFormButtonIconCssClass)??""},t),t.appendChild(document.createTextNode(" Reset Form")),e}executeOnError(e){var i;(((i=this._options)==null?void 0:i.onError)??Ma)(e)}async executeOnSave(e,t,i,s){var n,o,l,a;try{if(this.showValidationSummaryText(!1,""),this.validateCompositeEditors().valid){if(this._modalSaveButtonElm.classList.add("saving"),this._modalSaveButtonElm.disabled=!0,typeof((n=this._options)==null?void 0:n.onSave)=="function"){const d=this._options.modalType==="mass-update"||this._options.modalType==="mass-selection";let c;d&&((o=this._options)!=null&&o.shouldPreviewMassChangeDataset)&&(c=e(this.formValues,this.getCurrentRowSelections(),!1));const u=d?c:s;await((l=this._options)==null?void 0:l.onSave(this.formValues,this.getCurrentRowSelections(),u))&&(e(this.formValues,this.getCurrentRowSelections()),t())}else e(this.formValues,this.getCurrentRowSelections()),t();typeof i=="function"&&i(),this.dispose()}}catch(h){const d=typeof h=="string"?h:(h==null?void 0:h.message)??((a=h==null?void 0:h.body)==null?void 0:a.message)??"";this.showValidationSummaryText(!0,d)}}focusOnFirstColumnCellWithEditor(e,t,i,s,n){const o=n&&!this.gridOptions.enableAddRow&&s>=this.dataViewLength?this.dataViewLength-1:s;let l=i;const a=e[i].editorClass;let h=this.grid.getCellNode(o,i);if(!a||!h||!this.getActiveCellEditor(o,i)){if(l=this.findNextAvailableEditorColumnIndex(e,t,s,n),l===-1)return this.executeOnError({type:"error",code:"NO_EDITOR_FOUND",message:"We could not find any Editor in your Column Definition"}),!1;this.grid.setActiveCell(o,l,!1),n&&this.grid.setActiveRow(this.dataViewLength,l,!0)}return h=this.grid.getCellNode(o,l),!!h}findNextAvailableEditorColumnIndex(e,t,i,s){var o;let n=-1;for(let l=0;l<e.length;l++){const a=e[l];if(a.editorClass&&(!s||s&&((o=a.editor)!=null&&o.massUpdate))){const h=this.grid.onBeforeEditCell.notify({row:i,cell:l,item:t,column:a,grid:this.grid,target:"composite",compositeEditorOptions:this._compositeOptions}).getReturnValue();if(this.grid.setActiveCell(i,l,!1),h!==!1){n=l;break}}}return n}getColumnByObjectOrId(e){let t;return typeof e=="object"?t=e:typeof e=="string"&&(t=this._columnDefinitions.find(i=>i.id===e)),t}getActiveCellEditor(e,t){return this.grid.setActiveCell(e,t,!1),this.grid.getCellEditor()}getColumnLabel(e){var o;const t=this.gridOptions.columnGroupSeparator||" - ";let i=e.nameCompositeEditor||e.name||"",s=e.columnGroup||"";if(this.gridOptions.enableTranslate&&this.translaterService){const l=e.nameCompositeEditorKey||e.nameKey;l&&(i=this.translaterService.translate(l)),e.columnGroupKey&&((o=this.translaterService)!=null&&o.translate)&&(s=this.translaterService.translate(e.columnGroupKey))}const n=s?`${s}${t}${i}`:i;return _t(n,"innerHTML")}getLabelText(e,t,i){var n,o,l,a,h;const s={...(n=this.gridOptions.compositeEditorOptions)==null?void 0:n.labels,...(o=this._options)==null?void 0:o.labels};if((l=this.gridOptions)!=null&&l.enableTranslate&&((a=this.translaterService)!=null&&a.translate)&&s.hasOwnProperty(`${e}Key`)){const d=s[`${e}Key`];return this.translaterService.translate(d||"")}return(s==null?void 0:s[e])??((h=this._locales)==null?void 0:h[t])??i}getCurrentRowSelections(){const e=this.dataView.getAllSelectedIds();return{gridRowIndexes:this.dataView.mapIdsToRows(e),dataContextIds:e}}handleBodyClicked(e){var t,i,s;(i=(t=e.target)==null?void 0:t.classList)!=null&&i.contains("slick-editor-modal")&&((s=this._options)==null?void 0:s.backdrop)!=="static"&&this.dispose()}handleKeyDown(e){e.code==="Escape"?(this.cancelEditing(),e.stopPropagation(),e.preventDefault()):e.code==="Tab"&&this.validateCurrentEditor()}handleResetInputValue(e){var s,n;const t=e.target.name,i=(s=this._editors)==null?void 0:s[t];typeof(i==null?void 0:i.reset)=="function"&&i.reset(),(n=this._formValues)==null||delete n[t]}async handleMassSaving(e,t){if(!this.formValues||Object.keys(this.formValues).length===0)this.executeOnError({type:"warning",code:"NO_CHANGES_DETECTED",message:"Sorry we could not detect any changes."});else{const i=e==="mass-update"?"applySaveMassUpdateChanges":"applySaveMassSelectionChanges";this.executeOnSave(this[i].bind(this),t.bind(this))}}handleOnCompositeEditorChange(e,t){var l,a,h,d;const i=((l=t.column)==null?void 0:l.id)??"";this._formValues={...this._formValues,...t.formValues};const s=(a=this._editors)==null?void 0:a[i],n=((h=s==null?void 0:s.isValueTouched)==null?void 0:h.call(s))??((d=s==null?void 0:s.isValueChanged)==null?void 0:d.call(s))??!1;this._itemDataContext=(s==null?void 0:s.dataContext)??{};const o=this._modalElm.querySelector(`[data-editorid='${i}']`);o!=null&&o.classList&&(n?o.classList.add("modified"):o.classList.remove("modified")),this.validateCompositeEditors()}hasRowSelectionEnabled(){const e=this.grid.getSelectionModel();return!!((this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&e)}handleResetFormClicked(){for(const e of Object.keys(this._editors)){const t=this._editors[e];t!=null&&t.reset&&t.reset()}this._formValues=wo(this._formValues)}async handleSaveClicked(){var t,i,s,n;const e=(t=this._options)==null?void 0:t.modalType;switch(e){case"mass-update":this.handleMassSaving(e,()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"mass-selection":this.handleMassSaving(e,()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveRow(this._lastActiveRowNumber),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"clone":const o={...this._originalDataContext,...this.formValues},l=()=>{var h;(h=this.grid.getEditController())==null||h.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1)};this.executeOnSave(this.insertNewItemInDataView.bind(this,o),l,this.resetCurrentRowDataContext.bind(this),o);break;case"create":case"edit":default:let a=(i=this.grid.getEditController())==null?void 0:i.commitCurrentEdit();if(a&&typeof((s=this._options)==null?void 0:s.onSave)=="function"){const h=e==="create"?this._originalDataContext:this.grid.getDataItem(this._lastActiveRowNumber);a=await((n=this._options)==null?void 0:n.onSave(this.formValues,this.getCurrentRowSelections(),h))}a&&this.dispose();break}}insertNewItemInDataView(e){var s,n;const t=((s=this.dataView)==null?void 0:s.getItemCount())||0,i=this._options.insertNewId??t+1;return e[this.gridOptions.datasetIdPropertyName||"id"]=i,this.dataView.getItemById(i)?this.executeOnError({type:"error",code:"ITEM_ALREADY_EXIST",message:`The item object which you are trying to add already exist with the same Id:: ${i}`}):(n=this.gridService)==null||n.addItem(e,this._options.insertOptions),e}parseText(e,t){return e.replace(/\{\{(.*?)\}\}/g,(i,s)=>t[s]!==void 0?t[s]:i)}resetCurrentRowDataContext(){const e=this.gridOptions.datasetIdPropertyName||"id";this.grid.getData().updateItem(this._originalDataContext[e],this._originalDataContext)}validateCompositeEditors(e){let t={valid:!0,msg:""};const i=this.grid.getCellEditor();return i&&(t=i.validate(e)),t}validateCurrentEditor(){const e=this.grid.getCellEditor();e!=null&&e.validate&&e.validate()}}class Br{constructor(){this._isPreviouslyShown=!1,this._warningLeftElement=null,this._warningRightElement=null}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){this._grid=e,this._translaterService=t.get("TranslaterService")}dispose(){var e,t;(e=this._warningLeftElement)==null||e.remove(),(t=this._warningRightElement)==null||t.remove(),this._warningLeftElement=null,this._warningRightElement=null}showEmptyDataMessage(e=!0,t){var _,C,b,S;if(!this._grid||!this.gridOptions||this._isPreviouslyShown===e)return!1;this._isPreviouslyShown=e;const i=this._grid.getUID(),n={message:"No data to display.",...this.gridOptions.emptyDataWarning,...t},o=(n==null?void 0:n.className)??"slick-empty-data-warning";this._warningLeftElement=document.querySelector(`.${i} .${o}`);const l=document.querySelector(`.${i} .grid-canvas.grid-canvas-left`),a=document.querySelector(`.${i} .grid-canvas.grid-canvas-right`),h=n.leftViewportMarginLeft??0,d=n.rightViewportMarginLeft??0,c=n.frozenLeftViewportMarginLeft??0,u=n.frozenRightViewportMarginLeft??0,p=((_=this.gridOptions)==null?void 0:_.frozenColumn)!==void 0&&this.gridOptions.frozenColumn>=0,m=typeof h=="string"?h:`${h}px`,f=typeof d=="string"?d:`${d}px`;if(this.gridOptions.autoHeight){const E=document.querySelector(`.${i} .slick-pane.slick-pane-top.slick-pane-left`);if(E&&E.style&&l&&l.style){const y=parseInt(E.style.height,10)||0,x=((C=this.gridOptions)==null?void 0:C.rowHeight)??0,O=this.gridOptions.enableFiltering?((b=this.gridOptions)==null?void 0:b.headerRowHeight)??0:0,I=this.gridOptions.createPreHeaderPanel?((S=this.gridOptions)==null?void 0:S.preHeaderPanelHeight)??0:0;if(e){let A=y!==null&&y<100?y:100;A+=O+I,E.style.minHeight=`${A}px`,l.style.minHeight=`${x}px`}}}let g=n.message;if(this.gridOptions.enableTranslate&&this._translaterService&&(n!=null&&n.messageKey)&&(g=this._translaterService.translate(n.messageKey)),!this._warningLeftElement&&l&&a&&(this._warningLeftElement=document.createElement("div"),this._warningLeftElement.classList.add(...he(o)),this._warningLeftElement.classList.add("left"),this._grid.applyHtmlCode(this._warningLeftElement,g),this._warningRightElement=this._warningLeftElement.cloneNode(!0),this._warningRightElement.classList.add("right"),a.appendChild(this._warningRightElement),l.appendChild(this._warningLeftElement)),this._warningLeftElement){let E=e?"flex":"none";p&&e&&(E=n.hideFrozenLeftWarning?"none":"flex"),this._warningLeftElement.style.display=E;const y=typeof c=="string"?c:`${c}px`;this._warningLeftElement.style.marginLeft=p?y:m}if(this._warningRightElement){let E=e?"flex":"none";p&&e&&(E=n.hideFrozenRightWarning?"none":"flex"),this._warningRightElement.style.display=E;const y=typeof u=="string"?u:`${u}px`;this._warningRightElement.style.marginLeft=p?y:f}return e}}class La{constructor(){this._enableTranslate=!1,this._subscriptions=[],this.currentPagination={},this.firstButtonClasses="",this.lastButtonClasses="",this.prevButtonClasses="",this.nextButtonClasses="",this.textItemsPerPage="items per page",this.textItems="items",this.textOf="of",this.textPage="Page",this._bindingHelper=new Go,this._bindingEventService=new Pe}get availablePageSizes(){return this._paginationService.availablePageSizes||[]}get dataFrom(){return this._paginationService.dataFrom}get dataTo(){return this._paginationService.dataTo}get itemsPerPage(){return this._paginationService.itemsPerPage}set itemsPerPage(e){this._paginationService.changeItemPerPage(e)}get pageCount(){return this._paginationService.pageCount}get pageNumber(){return this._paginationService.pageNumber}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())||""}get locales(){var e;return((e=this.gridOptions)==null?void 0:e.locales)??R.locales}get totalItems(){return this._paginationService.totalItems}get isLeftPaginationDisabled(){return this.pageNumber===1||this.totalItems===0}get isRightPaginationDisabled(){return this.pageNumber===this.pageCount||this.totalItems===0}init(e,t,i,s){var n,o,l;if(this._grid=e,this._pubSubService=i,this._translaterService=s,this._paginationService=t,this.currentPagination=t.getFullPagination(),this._bindingHelper.querySelectorPrefix=this.gridUid?`.${this.gridUid} `:"",this._enableTranslate=((n=this.gridOptions)==null?void 0:n.enableTranslate)??!1,this._enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(this.translatePaginationTexts(),this._enableTranslate&&((o=this._pubSubService)!=null&&o.subscribe)){const a=((l=this._translaterService)==null?void 0:l.eventName)??"onLanguageChange";this._subscriptions.push(this._pubSubService.subscribe(a,()=>this.translatePaginationTexts()))}this._subscriptions.push(this._pubSubService.subscribe("onPaginationRefreshed",a=>{var h;Object.keys(a).forEach(d=>this.currentPagination[d]=a[d]),this.updatePageButtonsUsability(),(h=this._spanInfoFromToElm)!=null&&h.style&&(this._spanInfoFromToElm.style.display=this.currentPagination.totalItems===0?"none":"")}),this._pubSubService.subscribe("onPaginationSetCursorBased",()=>{this.disposeDom(),this.renderPagination(this._gridContainerElm)}))}dispose(){this._pubSubService.unsubscribeAll(this._subscriptions),this.disposeDom()}disposeDom(){this._bindingEventService.unbindAll(),this._bindingHelper.dispose(),this._paginationElement.remove()}renderPagination(e){this._gridContainerElm=e;const t=this.createPaginationContainer(),i=v("div",{className:"slick-pagination-nav"}),s=v("nav",{ariaLabel:"Page navigation"}),n=v("ul",{className:"pagination"});this._seekFirstElm=v("li",{className:"page-item seek-first"},n),this._seekFirstElm.appendChild(v("a",{className:"page-link icon-seek-first",ariaLabel:"First Page",role:"button"})),this._seekPrevElm=v("li",{className:"page-item seek-prev"},n),this._seekPrevElm.appendChild(v("a",{className:"page-link icon-seek-prev",ariaLabel:"Previous Page",role:"button"})),s.appendChild(n);const o=this.createPageNumberSection(),l=v("nav",{ariaLabel:"Page navigation"}),a=v("ul",{className:"pagination"});this._seekNextElm=v("li",{className:"page-item seek-next"},a),this._seekNextElm.appendChild(v("a",{className:"page-link icon-seek-next",ariaLabel:"Next Page",role:"button"})),this._seekEndElm=v("li",{className:"page-item seek-end"},a),this._seekEndElm.appendChild(v("a",{className:"page-link icon-seek-end",ariaLabel:"Last Page",role:"button"})),l.appendChild(a),t.appendChild(i),i.appendChild(s),i.appendChild(o),i.appendChild(l);const h=this.createPaginationSettingsSection();t.appendChild(i),t.appendChild(h),this._paginationElement.appendChild(t),e!=null&&e.appendChild&&this._paginationElement&&e.appendChild(this._paginationElement),this.renderPageSizes(),this.addBindings(),this.addEventListeners(),this.updatePageButtonsUsability()}renderPageSizes(){if(this._itemPerPageElm&&Array.isArray(this.availablePageSizes))for(const e of this.availablePageSizes)this._itemPerPageElm.appendChild(v("option",{value:`${e}`,text:`${e}`}))}addBindings(){this._bindingHelper.addElementBinding(this,"firstButtonClasses","li.page-item.seek-first","className"),this._bindingHelper.addElementBinding(this,"prevButtonClasses","li.page-item.seek-prev","className"),this._bindingHelper.addElementBinding(this,"lastButtonClasses","li.page-item.seek-end","className"),this._bindingHelper.addElementBinding(this,"nextButtonClasses","li.page-item.seek-next","className"),this._bindingHelper.addElementBinding(this.currentPagination,"dataFrom","span.item-from","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"dataTo","span.item-to","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"totalItems","span.total-items","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageCount","span.page-count","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageSize","select.items-per-page","value"),this._paginationService.isCursorBased?this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","span.page-number","textContent"):this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","input.page-number","value","change",this.changeToCurrentPage.bind(this)),this._bindingHelper.addElementBinding(this,"textItems","span.text-items","textContent"),this._bindingHelper.addElementBinding(this,"textItemsPerPage","span.text-item-per-page","textContent"),this._bindingHelper.addElementBinding(this,"textOf","span.text-of","textContent"),this._bindingHelper.addElementBinding(this,"textPage","span.text-page","textContent")}addEventListeners(){this._bindingEventService.bind(this._seekFirstElm,"click",this.changeToFirstPage.bind(this)),this._bindingEventService.bind(this._seekEndElm,"click",this.changeToLastPage.bind(this)),this._bindingEventService.bind(this._seekNextElm,"click",this.changeToNextPage.bind(this)),this._bindingEventService.bind(this._seekPrevElm,"click",this.changeToPreviousPage.bind(this)),this._bindingEventService.bind(this._itemPerPageElm,"change",this.updateItemsPerPage.bind(this))}changeToFirstPage(e){this.isLeftPaginationDisabled||this._paginationService.goToFirstPage(e)}changeToLastPage(e){this.isRightPaginationDisabled||this._paginationService.goToLastPage(e)}changeToNextPage(e){this.isRightPaginationDisabled||this._paginationService.goToNextPage(e)}changeToPreviousPage(e){this.isLeftPaginationDisabled||this._paginationService.goToPreviousPage(e)}changeToCurrentPage(e){this._paginationService.goToPageNumber(+e)}updateItemsPerPage(e){var t;this.itemsPerPage=+(((t=e==null?void 0:e.target)==null?void 0:t.value)??0)}translatePaginationTexts(){var e;if(this._enableTranslate&&((e=this._translaterService)!=null&&e.translate)){const t=lt(this.gridOptions);this.textItemsPerPage=this._translaterService.translate(`${t}ITEMS_PER_PAGE`),this.textItems=this._translaterService.translate(`${t}ITEMS`),this.textOf=this._translaterService.translate(`${t}OF`),this.textPage=this._translaterService.translate(`${t}PAGE`)}else this.locales&&(this.textItemsPerPage=this.locales.TEXT_ITEMS_PER_PAGE||"TEXT_ITEMS_PER_PAGE",this.textItems=this.locales.TEXT_ITEMS||"TEXT_ITEMS",this.textOf=this.locales.TEXT_OF||"TEXT_OF",this.textPage=this.locales.TEXT_PAGE||"TEXT_PAGE")}createPaginationContainer(){const e=v("div",{id:"pager",className:`slick-pagination-container ${this.gridUid} pager`,style:{width:"100%"}}),t=v("div",{className:"slick-pagination"});return e.appendChild(t),this._paginationElement=e,t}createPageNumberSection(){const e=v("div",{className:"slick-page-number"});return v("span",{className:"text-page",textContent:"Page"},e),e.appendChild(document.createTextNode(" ")),this._paginationService.isCursorBased?v("span",{className:"page-number",ariaLabel:"Page Number",dataset:{test:"page-number-label"},textContent:"1"},e):v("input",{type:"text",className:"form-control page-number",ariaLabel:"Page Number",value:"1",size:1,dataset:{test:"page-number-input"}},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"text-of",textContent:"of"},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"page-count",dataset:{test:"page-count"}},e),e}createPaginationSettingsSection(){const e=v("span",{className:"slick-pagination-settings"});this._itemPerPageElm=v("select",{id:"items-per-page-label",ariaLabel:"Items per Page",className:"items-per-page"},e),e.appendChild(document.createTextNode(" ")),v("span",{className:"text-item-per-page",textContent:"items per page"},e),e.appendChild(document.createTextNode(", "));const t=v("span",{className:"slick-pagination-count"},e);this._spanInfoFromToElm=v("span",{className:"page-info-from-to"},t),v("span",{className:"item-from",ariaLabel:"Page Item From",dataset:{test:"item-from"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode("-")),v("span",{className:"item-to",ariaLabel:"Page Item To",dataset:{test:"item-to"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" ")),v("span",{className:"text-of",textContent:"of"},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" "));const i=v("span",{className:"page-info-total-items"},t);return v("span",{className:"total-items",ariaLabel:"Total Items",dataset:{test:"total-items"}},i),i.appendChild(document.createTextNode(" ")),v("span",{className:"text-items",textContent:"items"},i),i.appendChild(document.createTextNode(" ")),e}updatePageButtonsUsability(){this.firstButtonClasses=this.isLeftPaginationDisabled?"page-item seek-first disabled":"page-item seek-first",this.prevButtonClasses=this.isLeftPaginationDisabled?"page-item seek-prev disabled":"page-item seek-prev",this.lastButtonClasses=this.isRightPaginationDisabled?"page-item seek-end disabled":"page-item seek-end",this.nextButtonClasses=this.isRightPaginationDisabled?"page-item seek-next disabled":"page-item seek-next"}}var Na={},Xp=function(r,e,t,i,s){var n=new Worker(Na[e]||(Na[e]=URL.createObjectURL(new Blob([r+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return n.onmessage=function(o){var l=o.data,a=l.$e$;if(a){var h=new Error(a[0]);h.code=a[1],h.stack=a[2],s(h,null)}else s(null,l)},n.postMessage(t,i),n},Ve=Uint8Array,Ze=Uint16Array,sn=Int32Array,nn=new Ve([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),rn=new Ve([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),zr=new Ve([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ha=function(r,e){for(var t=new Ze(31),i=0;i<31;++i)t[i]=e+=1<<r[i-1];for(var s=new sn(t[30]),i=1;i<30;++i)for(var n=t[i];n<t[i+1];++n)s[n]=n-t[i]<<5|i;return{b:t,r:s}},Va=Ha(nn,2),Qp=Va.b,on=Va.r;Qp[28]=258,on[258]=28;for(var Zp=Ha(rn,0),$r=Zp.r,ln=new Ze(32768),Ce=0;Ce<32768;++Ce){var qt=(Ce&43690)>>1|(Ce&21845)<<1;qt=(qt&52428)>>2|(qt&13107)<<2,qt=(qt&61680)>>4|(qt&3855)<<4,ln[Ce]=((qt&65280)>>8|(qt&255)<<8)>>1}for(var Ii=function(r,e,t){for(var i=r.length,s=0,n=new Ze(e);s<i;++s)r[s]&&++n[r[s]-1];var o=new Ze(e);for(s=1;s<e;++s)o[s]=o[s-1]+n[s-1]<<1;var l;if(t){l=new Ze(1<<e);var a=15-e;for(s=0;s<i;++s)if(r[s])for(var h=s<<4|r[s],d=e-r[s],c=o[r[s]-1]++<<d,u=c|(1<<d)-1;c<=u;++c)l[ln[c]>>a]=h}else for(l=new Ze(i),s=0;s<i;++s)r[s]&&(l[s]=ln[o[r[s]-1]++]>>15-r[s]);return l},Kt=new Ve(288),Ce=0;Ce<144;++Ce)Kt[Ce]=8;for(var Ce=144;Ce<256;++Ce)Kt[Ce]=9;for(var Ce=256;Ce<280;++Ce)Kt[Ce]=7;for(var Ce=280;Ce<288;++Ce)Kt[Ce]=8;for(var ls=new Ve(32),Ce=0;Ce<32;++Ce)ls[Ce]=5;var Ba=Ii(Kt,9,0),za=Ii(ls,5,0),Wr=function(r){return(r+7)/8|0},Gr=function(r,e,t){return(e==null||e<0)&&(e=0),(t==null||t>r.length)&&(t=r.length),new Ve(r.subarray(e,t))},Jp=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ri=function(r,e,t){var i=new Error(e||Jp[r]);if(i.code=r,Error.captureStackTrace&&Error.captureStackTrace(i,Ri),!t)throw i;return i},Tt=function(r,e,t){t<<=e&7;var i=e/8|0;r[i]|=t,r[i+1]|=t>>8},Ai=function(r,e,t){t<<=e&7;var i=e/8|0;r[i]|=t,r[i+1]|=t>>8,r[i+2]|=t>>16},an=function(r,e){for(var t=[],i=0;i<r.length;++i)r[i]&&t.push({s:i,f:r[i]});var s=t.length,n=t.slice();if(!s)return{t:qr,l:0};if(s==1){var o=new Ve(t[0].s+1);return o[t[0].s]=1,{t:o,l:1}}t.sort(function(E,y){return E.f-y.f}),t.push({s:-1,f:25001});var l=t[0],a=t[1],h=0,d=1,c=2;for(t[0]={s:-1,f:l.f+a.f,l,r:a};d!=s-1;)l=t[t[h].f<t[c].f?h++:c++],a=t[h!=d&&t[h].f<t[c].f?h++:c++],t[d++]={s:-1,f:l.f+a.f,l,r:a};for(var u=n[0].s,i=1;i<s;++i)n[i].s>u&&(u=n[i].s);var p=new Ze(u+1),m=hn(t[d-1],p,0);if(m>e){var i=0,f=0,g=m-e,_=1<<g;for(n.sort(function(y,x){return p[x.s]-p[y.s]||y.f-x.f});i<s;++i){var C=n[i].s;if(p[C]>e)f+=_-(1<<m-p[C]),p[C]=e;else break}for(f>>=g;f>0;){var b=n[i].s;p[b]<e?f-=1<<e-p[b]++-1:++i}for(;i>=0&&f;--i){var S=n[i].s;p[S]==e&&(--p[S],++f)}m=e}return{t:new Ve(p),l:m}},hn=function(r,e,t){return r.s==-1?Math.max(hn(r.l,e,t+1),hn(r.r,e,t+1)):e[r.s]=t},Ur=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new Ze(++e),i=0,s=r[0],n=1,o=function(a){t[i++]=a},l=1;l<=e;++l)if(r[l]==s&&l!=e)++n;else{if(!s&&n>2){for(;n>138;n-=138)o(32754);n>2&&(o(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(o(s),--n;n>6;n-=6)o(8304);n>2&&(o(n-3<<5|8208),n=0)}for(;n--;)o(s);n=1,s=r[l]}return{c:t.subarray(0,i),n:e}},Pi=function(r,e){for(var t=0,i=0;i<e.length;++i)t+=r[i]*e[i];return t},jr=function(r,e,t){var i=t.length,s=Wr(e+2);r[s]=i&255,r[s+1]=i>>8,r[s+2]=r[s]^255,r[s+3]=r[s+1]^255;for(var n=0;n<i;++n)r[s+n+4]=t[n];return(s+4+i)*8},Yr=function(r,e,t,i,s,n,o,l,a,h,d){Tt(e,d++,t),++s[256];for(var c=an(s,15),u=c.t,p=c.l,m=an(n,15),f=m.t,g=m.l,_=Ur(u),C=_.c,b=_.n,S=Ur(f),E=S.c,y=S.n,x=new Ze(19),O=0;O<C.length;++O)++x[C[O]&31];for(var O=0;O<E.length;++O)++x[E[O]&31];for(var I=an(x,7),A=I.t,D=I.l,L=19;L>4&&!A[zr[L-1]];--L);var M=h+5<<3,W=Pi(s,Kt)+Pi(n,ls)+o,K=Pi(s,u)+Pi(n,f)+o+14+3*L+Pi(x,A)+2*x[16]+3*x[17]+7*x[18];if(a>=0&&M<=W&&M<=K)return jr(e,d,r.subarray(a,a+h));var J,X,ie,ze;if(Tt(e,d,1+(K<W)),d+=2,K<W){J=Ii(u,p,0),X=u,ie=Ii(f,g,0),ze=f;var nt=Ii(A,D,0);Tt(e,d,b-257),Tt(e,d+5,y-1),Tt(e,d+10,L-4),d+=14;for(var O=0;O<L;++O)Tt(e,d+3*O,A[zr[O]]);d+=3*L;for(var fe=[C,E],xe=0;xe<2;++xe)for(var qe=fe[xe],O=0;O<qe.length;++O){var Le=qe[O]&31;Tt(e,d,nt[Le]),d+=A[Le],Le>15&&(Tt(e,d,qe[O]>>5&127),d+=qe[O]>>12)}}else J=Ba,X=Kt,ie=za,ze=ls;for(var O=0;O<l;++O){var ke=i[O];if(ke>255){var Le=ke>>18&31;Ai(e,d,J[Le+257]),d+=X[Le+257],Le>7&&(Tt(e,d,ke>>23&31),d+=nn[Le]);var Q=ke&31;Ai(e,d,ie[Q]),d+=ze[Q],Q>3&&(Ai(e,d,ke>>5&8191),d+=rn[Q])}else Ai(e,d,J[ke]),d+=X[ke]}return Ai(e,d,J[256]),d+X[256]},$a=new sn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),qr=new Ve(0),Wa=function(r,e,t,i,s,n){var o=n.z||r.length,l=new Ve(i+o+5*(1+Math.ceil(o/7e3))+s),a=l.subarray(i,l.length-s),h=n.l,d=(n.r||0)&7;if(e){d&&(a[0]=n.r>>3);for(var c=$a[e-1],u=c>>13,p=c&8191,m=(1<<t)-1,f=n.p||new Ze(32768),g=n.h||new Ze(m+1),_=Math.ceil(t/3),C=2*_,b=function(je){return(r[je]^r[je+1]<<_^r[je+2]<<C)&m},S=new sn(25e3),E=new Ze(288),y=new Ze(32),x=0,O=0,I=n.i||0,A=0,D=n.w||0,L=0;I+2<o;++I){var M=b(I),W=I&32767,K=g[M];if(f[W]=K,g[M]=W,D<=I){var J=o-I;if((x>7e3||A>24576)&&(J>423||!h)){d=Yr(r,a,0,S,E,y,O,A,L,I-L,d),A=x=O=0,L=I;for(var X=0;X<286;++X)E[X]=0;for(var X=0;X<30;++X)y[X]=0}var ie=2,ze=0,nt=p,fe=W-K&32767;if(J>2&&M==b(I-fe))for(var xe=Math.min(u,J)-1,qe=Math.min(32767,I),Le=Math.min(258,J);fe<=qe&&--nt&&W!=K;){if(r[I+ie]==r[I+ie-fe]){for(var ke=0;ke<Le&&r[I+ke]==r[I+ke-fe];++ke);if(ke>ie){if(ie=ke,ze=fe,ke>xe)break;for(var Q=Math.min(fe,ke-2),ce=0,X=0;X<Q;++X){var ct=I-fe+X&32767,hi=f[ct],Nt=ct-hi&32767;Nt>ce&&(ce=Nt,K=ct)}}}W=K,K=f[W],fe+=W-K&32767}if(ze){S[A++]=268435456|on[ie]<<18|$r[ze];var N=on[ie]&31,se=$r[ze]&31;O+=nn[N]+rn[se],++E[257+N],++y[se],D=I+ie,++x}else S[A++]=r[I],++E[r[I]]}}for(I=Math.max(I,D);I<o;++I)S[A++]=r[I],++E[r[I]];d=Yr(r,a,h,S,E,y,O,A,L,I-L,d),h||(n.r=d&7|a[d/8|0]<<3,d-=7,n.h=g,n.p=f,n.i=I,n.w=D)}else{for(var I=n.w||0;I<o+h;I+=65535){var Ne=I+65535;Ne>=o&&(a[d/8|0]=h,Ne=o),d=jr(a,d+1,r.subarray(I,Ne))}n.i=o}return Gr(l,0,i+Wr(d)+s)},em=function(){for(var r=new Int32Array(256),e=0;e<256;++e){for(var t=e,i=9;--i;)t=(t&1&&-306674912)^t>>>1;r[e]=t}return r}(),tm=function(){var r=-1;return{p:function(e){for(var t=r,i=0;i<e.length;++i)t=em[t&255^e[i]]^t>>>8;r=t},d:function(){return~r}}},Ga=function(r,e,t,i,s){if(!s&&(s={l:1},e.dictionary)){var n=e.dictionary.subarray(-32768),o=new Ve(n.length+r.length);o.set(n),o.set(r,n.length),r=o,s.w=n.length}return Wa(r,e.level==null?6:e.level,e.mem==null?s.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,t,i,s)},Kr=function(r,e){var t={};for(var i in r)t[i]=r[i];for(var i in e)t[i]=e[i];return t},Ua=function(r,e,t){for(var i=r(),s=r.toString(),n=s.slice(s.indexOf("[")+1,s.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<i.length;++o){var l=i[o],a=n[o];if(typeof l=="function"){e+=";"+a+"=";var h=l.toString();if(l.prototype)if(h.indexOf("[native code]")!=-1){var d=h.indexOf(" ",8)+1;e+=h.slice(d,h.indexOf("(",d))}else{e+=h;for(var c in l.prototype)e+=";"+a+".prototype."+c+"="+l.prototype[c].toString()}else e+=h}else t[a]=l}return e},dn=[],im=function(r){var e=[];for(var t in r)r[t].buffer&&e.push((r[t]=new r[t].constructor(r[t])).buffer);return e},sm=function(r,e,t,i){if(!dn[t]){for(var s="",n={},o=r.length-1,l=0;l<o;++l)s=Ua(r[l],s,n);dn[t]={c:Ua(r[o],s,n),e:n}}var a=Kr({},dn[t].e);return Xp(dn[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+e.toString()+"}",t,a,im(a),i)},nm=function(){return[Ve,Ze,sn,nn,rn,zr,on,$r,Ba,Kt,za,ls,ln,$a,qr,Ii,Tt,Ai,an,hn,Ur,Pi,jr,Yr,Wr,Gr,Wa,Ga,Xr,ja]},ja=function(r){return postMessage(r,[r.buffer])},rm=function(r,e,t,i,s,n){var o=sm(t,i,s,function(l,a){o.terminate(),n(l,a)});return o.postMessage([r,e],e.consume?[r.buffer]:[]),function(){o.terminate()}},Be=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function om(r,e,t){return t||(t=e,e={}),typeof t!="function"&&Ri(7),rm(r,e,[nm],function(i){return ja(Xr(i.data[0],i.data[1]))},0,t)}function Xr(r,e){return Ga(r,e||{},0,0)}var Ya=function(r,e,t,i){for(var s in r){var n=r[s],o=e+s,l=i;Array.isArray(n)&&(l=Kr(i,n[1]),n=n[0]),n instanceof Ve?t[o]=[n,l]:(t[o+="/"]=[new Ve(0),l],Ya(n,o,t,i))}},qa=typeof TextEncoder<"u"&&new TextEncoder,lm=typeof TextDecoder<"u"&&new TextDecoder,am=0;try{lm.decode(qr,{stream:!0}),am=1}catch{}function Qr(r,e){var t;if(qa)return qa.encode(r);for(var i=r.length,s=new Ve(r.length+(r.length>>1)),n=0,o=function(h){s[n++]=h},t=0;t<i;++t){if(n+5>s.length){var l=new Ve(n+8+(i-t<<1));l.set(s),s=l}var a=r.charCodeAt(t);a<128||e?o(a):a<2048?(o(192|a>>6),o(128|a&63)):a>55295&&a<57344?(a=65536+(a&1047552)|r.charCodeAt(++t)&1023,o(240|a>>18),o(128|a>>12&63),o(128|a>>6&63),o(128|a&63)):(o(224|a>>12),o(128|a>>6&63),o(128|a&63))}return Gr(s,0,n)}var Zr=function(r){var e=0;if(r)for(var t in r){var i=r[t].length;i>65535&&Ri(9),e+=i+4}return e},Ka=function(r,e,t,i,s,n,o,l){var a=i.length,h=t.extra,d=l&&l.length,c=Zr(h);Be(r,e,o!=null?33639248:67324752),e+=4,o!=null&&(r[e++]=20,r[e++]=t.os),r[e]=20,e+=2,r[e++]=t.flag<<1|(n<0&&8),r[e++]=s&&8,r[e++]=t.compression&255,r[e++]=t.compression>>8;var u=new Date(t.mtime==null?Date.now():t.mtime),p=u.getFullYear()-1980;if((p<0||p>119)&&Ri(10),Be(r,e,p<<25|u.getMonth()+1<<21|u.getDate()<<16|u.getHours()<<11|u.getMinutes()<<5|u.getSeconds()>>1),e+=4,n!=-1&&(Be(r,e,t.crc),Be(r,e+4,n<0?-n-2:n),Be(r,e+8,t.size)),Be(r,e+12,a),Be(r,e+14,c),e+=16,o!=null&&(Be(r,e,d),Be(r,e+6,t.attrs),Be(r,e+10,o),e+=14),r.set(i,e),e+=a,c)for(var m in h){var f=h[m],g=f.length;Be(r,e,+m),Be(r,e+2,g),r.set(f,e+4),e+=4+g}return d&&(r.set(l,e),e+=d),e},hm=function(r,e,t,i,s){Be(r,e,101010256),Be(r,e+8,t),Be(r,e+10,t),Be(r,e+12,i),Be(r,e+16,s)};function dm(r,e,t){t||(t=e,e={}),typeof t!="function"&&Ri(7);var i={};Ya(r,"",i,e);var s=Object.keys(i),n=s.length,o=0,l=0,a=n,h=new Array(n),d=[],c=function(){for(var g=0;g<d.length;++g)d[g]()},u=function(g,_){Xa(function(){t(g,_)})};Xa(function(){u=t});var p=function(){var g=new Ve(l+22),_=o,C=l-o;l=0;for(var b=0;b<a;++b){var S=h[b];try{var E=S.c.length;Ka(g,l,S,S.f,S.u,E);var y=30+S.f.length+Zr(S.extra),x=l+y;g.set(S.c,x),Ka(g,o,S,S.f,S.u,E,l,S.m),o+=16+y+(S.m?S.m.length:0),l=x+E}catch(O){return u(O,null)}}hm(g,o,h.length,C,_),u(null,g)};n||p();for(var m=function(g){var _=s[g],C=i[_],b=C[0],S=C[1],E=tm(),y=b.length;E.p(b);var x=Qr(_),O=x.length,I=S.comment,A=I&&Qr(I),D=A&&A.length,L=Zr(S.extra),M=S.level==0?0:8,W=function(K,J){if(K)c(),u(K,null);else{var X=J.length;h[g]=Kr(S,{size:y,crc:E.d(),c:J,f:x,m:A,u:O!=_.length||A&&I.length!=D,compression:M}),o+=30+O+L+X,l+=76+2*(O+L)+(D||0)+X,--n||p()}};if(O>65535&&W(Ri(11,0,1),null),!M)W(null,b);else if(y<16e4)try{W(null,Xr(b,S))}catch(K){W(K,null)}else d.push(om(b,S,W))},f=0;f<a;++f)m(f);return c}var Xa=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(r){r()},cm=Object.defineProperty,um=(r,e,t)=>e in r?cm(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,F=(r,e,t)=>um(r,typeof e!="symbol"?e+"":e,t);function Lt(r){const e=typeof r;return r!=null&&(e==="object"||e==="function")}function pm(r){if(typeof r!="object"||r===null||Object.prototype.toString.call(r)!=="[object Object]")return!1;const e=Object.getPrototypeOf(r);if(e===null)return!0;const t=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Function.prototype.call(t)===Function.prototype.call(r)}function ki(r){return r!=null&&typeof r.valueOf()=="string"}const mm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Qa=r=>(typeof r!="string"&&(r=`${r}`),r.replace(/[&<>"']/g,e=>mm[e]));class cn{constructor(e,t){F(this,"documentElement"),this.documentElement=this.createElement(t),this.documentElement.setAttribute("xmlns",e)}createElement(e){return new un({nodeName:e})}createTextNode(e){return new Za(e)}toString(){return this.documentElement.toString()}}F(cn,"Node",{Create:r=>{switch(r.type){case"XML":return new un(r);case"TEXT":return new Za(r.nodeValue);default:return null}}});class Za{constructor(e){F(this,"nodeValue"),this.nodeValue=e}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return Qa(this.nodeValue)}}class un{constructor(e){if(F(this,"nodeName",""),F(this,"children"),F(this,"nodeValue"),F(this,"attributes"),F(this,"firstChild"),this.nodeName=e.nodeName,this.children=[],this.nodeValue=e.nodeValue||"",this.attributes={},e.children)for(let t=0,i=e.children.length;t<i;t++)this.appendChild(cn.Node.Create(e.children[t]));if(e.attributes)for(const t in e.attributes)e.attributes.hasOwnProperty(t)&&this.setAttribute(t,e.attributes[t])}toString(){let e=`<${this.nodeName}`;for(const i in this.attributes)this.attributes.hasOwnProperty(i)&&(e=`${e} ${i}="${Qa(this.attributes[i])}"`);let t="";for(let i=0,s=this.children.length;i<s;i++)t+=this.children[i].toString();return t?e+=`>${t}</${this.nodeName}>`:e+="/>",e}toJSON(){const e=[];for(let t=0,i=this.children.length;t<i;t++)e.push(this.children[t].toJSON());return{nodeName:this.nodeName,children:e,nodeValue:this.nodeValue,attributes:this.attributes,type:"XML"}}setAttribute(e,t){if(t===null){delete this.attributes[e],delete this[e];return}this.attributes[e]=t,this[e]=t}appendChild(e){this.children.push(e),this.firstChild=this.children[0]}cloneNode(e){return new un(this.toJSON())}}const pn=class di{static uniqueId(e){return di._idSpaces[e]||(di._idSpaces[e]=1),di._idSpaces[e]++}static createXmlDoc(e,t){return new cn(e||null,t)}static createElement(e,t,i){const s=e.createElement(t);i=i||[];let n=i.length;for(;n--;)s.setAttribute(i[n][0],i[n][1]);return s}static setAttributesOnDoc(e,t){for(let[i,s]of Object.entries(t)){if(pm(s))if(s.v!==null&&s.v!==void 0)switch(s.type){case Boolean:s=s.v?"1":"0";break}else s=null;s!=null&&e.setAttribute(i,s)}}static positionToLetterRef(e,t){let i=1,s,n=e,o="";const l="ABCDEFGHIJKLMNOPQRSTUVWXYZ";if(di.LETTER_REFS[e])return di.LETTER_REFS[e].concat(t);for(;n>0;)n-=Math.pow(26,i-1),s=n%Math.pow(26,i),n-=s,s=s/Math.pow(26,i-1),o=l.charAt(s)+o,i+=1;return di.LETTER_REFS[e]=o,o.concat(String(t))}};F(pn,"_idSpaces",{}),F(pn,"LETTER_REFS",{}),F(pn,"schemas",{worksheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",sharedStrings:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",stylesheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",relationships:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",relationshipPackage:"http://schemas.openxmlformats.org/package/2006/relationships",contentTypes:"http://schemas.openxmlformats.org/package/2006/content-types",spreadsheetml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",markupCompat:"http://schemas.openxmlformats.org/markup-compatibility/2006",x14ac:"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",officeDocument:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",package:"http://schemas.openxmlformats.org/package/2006/relationships",table:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",spreadsheetDrawing:"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",drawing:"http://schemas.openxmlformats.org/drawingml/2006/main",drawingRelationship:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",image:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",chart:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"});let z=pn;const Jr={};function Xt(r="$lodash$"){Jr[r]||(Jr[r]=0);const e=++Jr[r];return r==="$lodash$"?`${e}`:`${r}${e}`}const Qt={};class eo{constructor(){F(this,"relations",{}),F(this,"lastId",1),Xt("rId")}importData(e){this.relations=e.relations,this.lastId=e.lastId}exportData(){return{relations:this.relations,lastId:this.lastId}}addRelation(e,t){return this.relations[e.id]={id:Xt("rId"),schema:z.schemas[t],object:e},this.relations[e.id].id}getRelationshipId(e){return this.relations[e.id]?this.relations[e.id].id:null}toXML(){const e=z.createXmlDoc(z.schemas.relationshipPackage,"Relationships"),t=e.documentElement;for(const[i,s]of Object.entries(this.relations)){const n=z.createElement(e,"Relationship",[["Id",s.id],["Type",s.schema],["Target",s.object.target||Qt[i]]]);s.object.targetMode&&n.setAttribute("TargetMode",s.object.targetMode),t.appendChild(n)}return e}}class fm{constructor(){F(this,"state",null),F(this,"xSplit",null),F(this,"ySplit",null),F(this,"activePane","bottomRight"),F(this,"topLeftCell",null),F(this,"_freezePane")}freezePane(e,t,i){this._freezePane={xSplit:e,ySplit:t,cell:i}}exportXML(e){const t=e.createElement("pane");return this.state!==null&&(t.setAttribute("xSplit",this._freezePane.xSplit),t.setAttribute("ySplit",this._freezePane.ySplit),t.setAttribute("topLeftCell",this._freezePane.cell),t.setAttribute("activePane","bottomRight"),t.setAttribute("state","frozen")),t}}class Ja{constructor(){F(this,"strings",{}),F(this,"stringArray",[]),F(this,"id",Xt("SharedStrings"))}addString(e){return this.strings[e]=this.stringArray.length,this.stringArray[this.stringArray.length]=e,this.strings[e]}exportData(){return this.strings}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"sst"),t=e.documentElement;this.stringArray.reverse();let i=this.stringArray.length;t.setAttribute("count",i),t.setAttribute("uniqueCount",i);const s=e.createElement("si"),n=e.createElement("t");n.appendChild(e.createTextNode("--placeholder--")),s.appendChild(n);const o=this.stringArray;for(;i--;){const l=s.cloneNode(!0);typeof o[i]=="string"&&o[i].match(/\s+/)&&l.firstChild.setAttribute("xml:space","preserve"),l.firstChild.firstChild.nodeValue=o[i],t.appendChild(l)}return e}}class gm{constructor(e){F(this,"pane"),F(this,"showZeros",null),F(this,"defaultGridColor",null),F(this,"colorId",null),F(this,"rightToLeft",null),F(this,"showFormulas",null),F(this,"showGridLines",null),F(this,"showOutlineSymbols",null),F(this,"showRowColHeaders",null),F(this,"showRuler",null),F(this,"showWhiteSpace",null),F(this,"tabSelected",null),F(this,"topLeftCell",null),F(this,"viewType",null),F(this,"windowProtection",null),F(this,"zoomScale",null),F(this,"zoomScaleNormal",null),F(this,"zoomScalePageLayoutView",null),F(this,"zoomScaleSheetLayoutView",null);const t=e||{};this.pane=t.pane||new fm}freezePane(e,t,i){this.pane.state="frozen",this.pane.xSplit=e,this.pane.ySplit=t,this.pane.topLeftCell=i}exportXML(e){const t=e.createElement("sheetViews"),i=e.createElement("sheetView");return z.setAttributesOnDoc(i,{workbookViewId:0,showZeros:{v:this.showZeros,type:Boolean},defaultGridColor:{v:this.defaultGridColor,type:Boolean},colorId:this.colorId,rightToLeft:{v:this.rightToLeft,type:Boolean},showFormulas:{v:this.showFormulas,type:Boolean},showGridLines:{v:this.showGridLines,type:Boolean},showOutlineSymbols:{v:this.showOutlineSymbols,type:Boolean},showRowColHeaders:{v:this.showRowColHeaders,type:Boolean},showRuler:{v:this.showRuler,type:Boolean},showWhiteSpace:{v:this.showWhiteSpace,type:Boolean},tabSelected:{v:this.tabSelected,type:Boolean},viewType:this.viewType,windowProtection:{v:this.windowProtection,type:Boolean},zoomScale:{v:this.zoomScale,type:Boolean},zoomScaleNormal:this.zoomScaleNormal,zoomScalePageLayoutView:this.zoomScalePageLayoutView,zoomScaleSheetLayoutView:this.zoomScaleSheetLayoutView}),i.appendChild(this.pane.exportXML(e)),t.appendChild(i),t}}function _m(r,e){return e.reduce((t,i)=>(r!=null&&r.hasOwnProperty(i)&&(t[i]=r[i]),t),{})}class eh{constructor(){F(this,"id",Xt("StyleSheet")),F(this,"cellStyles",[{name:"Normal",xfId:"0",builtinId:"0"}]),F(this,"defaultTableStyle",!1),F(this,"differentialStyles",[{}]),F(this,"masterCellFormats",[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfid:0}]),F(this,"masterCellStyles",[{numFmtId:0,fontId:0,fillId:0,borderId:0}]),F(this,"fonts",[{}]),F(this,"numberFormatters",[]),F(this,"fills",[{},{type:"pattern",patternType:"gray125",fgColor:"FF333333",bgColor:"FF333333"}]),F(this,"borders",[{top:{},left:{},right:{},bottom:{},diagonal:{}}]),F(this,"tableStyles",[])}createSimpleFormatter(e){const t={id:this.masterCellFormats.length};switch(e){case"date":t.numFmtId=14;break}return this.masterCellFormats.push(t),t}createFill(e){const t=this.fills.length,i=e;return i.id=t,this.fills.push(i),i}createNumberFormatter(e){const t={id:this.numberFormatters.length+100,formatCode:e};return this.numberFormatters.push(t),t}createFormat(e){const t={id:this.masterCellFormats.length};if(e.protection&&(t.protection=e.protection),e.font&&Lt(e.font))t.fontId=this.createFontStyle(e.font).id;else if(e.font){if(Number.isNaN(Number.parseInt(e.font,10)))throw new Error("Passing a non-numeric font id is not supported");t.fontId=e.font}if(e.format&&ki(e.format))t.numFmtId=this.createNumberFormatter(e.format).id;else if(e.format){if(Number.isNaN(Number.parseInt(e.format,10)))throw new Error("Invalid number formatter id");t.numFmtId=e.format}if(e.border&&Lt(e.border))t.borderId=this.createBorderFormatter(e.border).id;else if(e.border){if(Number.isNaN(Number.parseInt(e.border,10)))throw new Error("Passing a non-numeric border id is not supported");t.borderId=e.border}if(e.fill&&Lt(e.fill))t.fillId=this.createFill(e.fill).id;else if(e.fill){if(Number.isNaN(Number.parseInt(e.fill,10)))throw new Error("Passing a non-numeric fill id is not supported");t.fillId=e.fill}return e.alignment&&Lt(e.alignment)&&(t.alignment=_m(e.alignment,["horizontal","justifyLastLine","readingOrder","relativeIndent","shrinkToFit","textRotation","vertical","wrapText"])),this.masterCellFormats.push(t),t}createDifferentialStyle(e){const t=this.differentialStyles.length,i={id:t};return e.font&&Lt(e.font)&&(i.font=e.font),e.border&&Lt(e.border)&&(i.border=Object.assign({top:{},left:{},right:{},bottom:{},diagonal:{}},e.border)),e.fill&&Lt(e.fill)&&(i.fill=e.fill),e.alignment&&Lt(e.alignment)&&(i.alignment=e.alignment),e.format&&ki(e.format)&&(i.numFmt=e.format),this.differentialStyles[t]=i,i}createTableStyle(e){this.tableStyles.push(e)}createBorderFormatter(e){return e={top:{},left:{},right:{},bottom:{},diagonal:{},id:this.borders.length,...e},this.borders.push(e),e}createFontStyle(e){const t={id:this.fonts.length};return e.bold&&(t.bold=!0),e.italic&&(t.italic=!0),e.superscript&&(t.vertAlign="superscript"),e.subscript&&(t.vertAlign="subscript"),e.underline&&(typeof e.underline=="string"&&["double","singleAccounting","doubleAccounting"].includes(e.underline)?t.underline=e.underline:t.underline=!0),e.strike&&(t.strike=!0),e.outline&&(t.outline=!0),e.shadow&&(t.shadow=!0),e.size&&(t.size=e.size),e.color&&(t.color=e.color),e.fontName&&(t.fontName=e.fontName),this.fonts.push(t),t}exportBorders(e){const t=e.createElement("borders");t.setAttribute("count",this.borders.length);for(let i=0,s=this.borders.length;i<s;i++)t.appendChild(this.exportBorder(e,this.borders[i]));return t}exportBorder(e,t){const i=e.createElement("border"),s=n=>{const o=e.createElement(n);return t[n].style&&o.setAttribute("style",t[n].style),t[n].color&&o.appendChild(this.exportColor(e,t[n].color)),o};return i.appendChild(s("left")),i.appendChild(s("right")),i.appendChild(s("top")),i.appendChild(s("bottom")),i.appendChild(s("diagonal")),i}exportColor(e,t){const i=e.createElement("color");return ki(t)?(i.setAttribute("rgb",t),i):(t.tint!==void 0&&i.setAttribute("tint",t.tint),t.auto!==void 0&&i.setAttribute("auto",String(!!t.auto)),t.theme!==void 0&&i.setAttribute("theme",t.theme),i)}exportMasterCellFormats(e){const t=z.createElement(e,"cellXfs",[["count",this.masterCellFormats.length]]);for(let i=0,s=this.masterCellFormats.length;i<s;i++){const n=this.masterCellFormats[i];t.appendChild(this.exportCellFormatElement(e,n))}return t}exportMasterCellStyles(e){const t=z.createElement(e,"cellStyleXfs",[["count",this.masterCellStyles.length]]);for(let i=0,s=this.masterCellStyles.length;i<s;i++){const n=this.masterCellStyles[i];t.appendChild(this.exportCellFormatElement(e,n))}return t}exportCellFormatElement(e,t){const i=e.createElement("xf"),s=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","borderId","fillId","fontId","numFmtId","pivotButton","quotePrefix","xfId"],n=Object.keys(t).filter(l=>s.indexOf(l)!==-1);if(t.alignment){const l=t.alignment;i.appendChild(this.exportAlignment(e,l))}t.protection&&(i.appendChild(this.exportProtection(e,t.protection)),i.setAttribute("applyProtection","1"));let o=n.length;for(;o--;)i.setAttribute(n[o],t[n[o]]);return t.fillId&&i.setAttribute("applyFill","1"),t.fontId&&i.setAttribute("applyFont","1"),t.borderId&&i.setAttribute("applyBorder","1"),t.alignment&&i.setAttribute("applyAlignment","1"),t.numFmtId&&i.setAttribute("applyNumberFormat","1"),t.numFmtId!==void 0&&t.xfId===void 0&&i.setAttribute("xfId","0"),i}exportAlignment(e,t){const i=e.createElement("alignment"),s=Object.keys(t);for(let n=0,o=s.length;n<o;n++)i.setAttribute(s[n],t[s[n]]);return i}exportFonts(e){const t=e.createElement("fonts");t.setAttribute("count",String(this.fonts.length));for(let i=0,s=this.fonts.length;i<s;i++){const n=this.fonts[i];t.appendChild(this.exportFont(e,n))}return t}exportFont(e,t){const i=e.createElement("font");if(t.size){const s=e.createElement("sz");s.setAttribute("val",t.size),i.appendChild(s)}if(t.fontName){const s=e.createElement("name");s.setAttribute("val",t.fontName),i.appendChild(s)}if(t.bold&&i.appendChild(e.createElement("b")),t.italic&&i.appendChild(e.createElement("i")),t.vertAlign){const s=e.createElement("vertAlign");s.setAttribute("val",t.vertAlign),i.appendChild(s)}if(t.underline){const s=e.createElement("u");t.underline!==!0&&s.setAttribute("val",t.underline),i.appendChild(s)}return t.strike&&i.appendChild(e.createElement("strike")),t.shadow&&i.appendChild(e.createElement("shadow")),t.outline&&i.appendChild(e.createElement("outline")),t.color&&i.appendChild(this.exportColor(e,t.color)),i}exportFills(e){const t=e.createElement("fills");t.setAttribute("count",String(this.fills.length));for(let i=0,s=this.fills.length;i<s;i++){const n=this.fills[i];t.appendChild(this.exportFill(e,n))}return t}exportFill(e,t){let i;const s=e.createElement("fill");return t.type==="pattern"?(i=this.exportPatternFill(e,t),s.appendChild(i)):t.type==="gradient"&&(i=this.exportGradientFill(e,t),s.appendChild(i)),s}exportGradientFill(e,t){const i=e.createElement("gradientFill");t.degree?i.setAttribute("degree",t.degree):t.left&&(i.setAttribute("left",t.left),i.setAttribute("right",t.right),i.setAttribute("top",t.top),i.setAttribute("bottom",t.bottom));const s=e.createElement("stop");s.setAttribute("position",t.start.pureAt||0);const n=e.createElement("color");typeof t.start=="string"||t.start.color?n.setAttribute("rgb",t.start.color||t.start):t.start.theme&&n.setAttribute("theme",t.start.theme);const o=e.createElement("stop"),l=e.createElement("color");return o.setAttribute("position",t.end.pureAt||1),typeof t.start=="string"||t.end.color?l.setAttribute("rgb",t.end.color||t.end):t.end.theme&&l.setAttribute("theme",t.end.theme),s.appendChild(n),o.appendChild(l),i.appendChild(s),i.appendChild(o),i}exportPatternFill(e,t){const i=z.createElement(e,"patternFill",[["patternType",t.patternType]]);t.bgColor||(t.bgColor="FFFFFFFF"),t.fgColor||(t.fgColor="FFFFFFFF");const s=e.createElement("bgColor");ki(t.bgColor)?s.setAttribute("rgb",t.bgColor):t.bgColor.theme?s.setAttribute("theme",t.bgColor.theme):s.setAttribute("rgb",t.bgColor.rbg);const n=e.createElement("fgColor");return ki(t.fgColor)?n.setAttribute("rgb",t.fgColor):t.fgColor.theme?n.setAttribute("theme",t.fgColor.theme):n.setAttribute("rgb",t.fgColor.rbg),i.appendChild(n),i.appendChild(s),i}exportNumberFormatters(e){const t=e.createElement("numFmts");t.setAttribute("count",String(this.numberFormatters.length));for(let i=0,s=this.numberFormatters.length;i<s;i++){const n=this.numberFormatters[i];t.appendChild(this.exportNumberFormatter(e,n))}return t}exportNumberFormatter(e,t){const i=e.createElement("numFmt");return i.setAttribute("numFmtId",t.id),i.setAttribute("formatCode",t.formatCode),i}exportCellStyles(e){const t=e.createElement("cellStyles");t.setAttribute("count",String(this.cellStyles.length));for(let i=0,s=this.cellStyles.length;i<s;i++){const n=this.cellStyles[i];delete n.id;const o=z.createElement(e,"cellStyle");t.appendChild(o);const l=Object.keys(n);let a=l.length;for(;a--;)o.setAttribute(l[a],n[l[a]])}return t}exportDifferentialStyles(e){const t=e.createElement("dxfs");t.setAttribute("count",String(this.differentialStyles.length));for(let i=0,s=this.differentialStyles.length;i<s;i++){const n=this.differentialStyles[i];t.appendChild(this.exportDFX(e,n))}return t}exportDFX(e,t){const i=e.createElement("dxf");return t.font&&i.appendChild(this.exportFont(e,t.font)),t.fill&&i.appendChild(this.exportFill(e,t.fill)),t.border&&i.appendChild(this.exportBorder(e,t.border)),t.numFmt&&i.appendChild(this.exportNumberFormatter(e,t.numFmt)),t.alignment&&i.appendChild(this.exportAlignment(e,t.alignment)),i}exportTableStyles(e){const t=e.createElement("tableStyles");t.setAttribute("count",String(this.tableStyles.length)),this.defaultTableStyle&&t.setAttribute("defaultTableStyle",String(this.defaultTableStyle));for(let i=0,s=this.tableStyles.length;i<s;i++)t.appendChild(this.exportTableStyle(e,this.tableStyles[i]));return t}exportTableStyle(e,t){const i=e.createElement("tableStyle");i.setAttribute("name",t.name),i.setAttribute("pivot",String(0));let s=0;return Object.entries(t).forEach(([n,o])=>{if(n==="name")return;s++;const l=e.createElement("tableStyleElement");l.setAttribute("type",n),l.setAttribute("dxfId",o),i.appendChild(l)}),i.setAttribute("count",String(s)),i}exportProtection(e,t){const i=e.createElement("protection");for(const s in t)s in t&&i.setAttribute(s,t[s]);return i}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"styleSheet"),t=e.documentElement;return t.appendChild(this.exportNumberFormatters(e)),t.appendChild(this.exportFonts(e)),t.appendChild(this.exportFills(e)),t.appendChild(this.exportBorders(e)),t.appendChild(this.exportMasterCellStyles(e)),t.appendChild(this.exportMasterCellFormats(e)),t.appendChild(this.exportCellStyles(e)),t.appendChild(this.exportDifferentialStyles(e)),this.tableStyles.length&&t.appendChild(this.exportTableStyles(e)),e}}class Cm{constructor(e){F(this,"name",""),F(this,"id",Xt("Worksheet")),F(this,"_timezoneOffset"),F(this,"relations",null),F(this,"columnFormats",[]),F(this,"data",[]),F(this,"mergedCells",[]),F(this,"columns",[]),F(this,"sheetProtection",!1),F(this,"_headers",[]),F(this,"_footers",[]),F(this,"_tables",[]),F(this,"_drawings",[]),F(this,"_orientation"),F(this,"_margin"),F(this,"_rowInstructions",{}),F(this,"_freezePane",{}),F(this,"sharedStrings",null),F(this,"hyperlinks",[]),F(this,"sheetView"),F(this,"showZeros",null),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,this.sheetView=e.sheetView||new gm,this.initialize(e)}initialize(e){e=e||{},this.name=e.name,this.id=Xt("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,e.columns&&this.setColumns(e.columns),this.relations=new eo}exportData(){return{relations:this.relations.exportData(),columnFormats:this.columnFormats,data:this.data,columns:this.columns,mergedCells:this.mergedCells,_headers:this._headers,_footers:this._footers,_tables:this._tables,_rowInstructions:this._rowInstructions,_freezePane:this._freezePane,name:this.name,id:this.id}}importData(e){this.relations.importData(e.relations),delete e.relations,Object.assign(this,e)}setSharedStringCollection(e){this.sharedStrings=e}addTable(e){this._tables.push(e),this.relations.addRelation(e,"table")}addDrawings(e){this._drawings.push(e),this.relations.addRelation(e,"drawingRelationship")}setRowInstructions(e,t){this._rowInstructions[e]=t}setHeader(e){if(!Array.isArray(e))throw"Invalid argument type - setHeader expects an array of three instructions";this._headers=e}setFooter(e){if(!Array.isArray(e))throw"Invalid argument type - setFooter expects an array of three instructions";this._footers=e}compilePageDetailPackage(e){return e=e||"",["&L",this.compilePageDetailPiece(e[0]||""),"&C",this.compilePageDetailPiece(e[1]||""),"&R",this.compilePageDetailPiece(e[2]||"")].join("")}compilePageDetailPiece(e){if(ki(e))return'&"-,Regular"'.concat(e);if(Lt(e)&&!Array.isArray(e)){let t="";if(e.font||e.bold){const i=e.bold?"Bold":"Regular";t+=`&"${e.font||"-"}`,t+=`,${i}"`}else t+='&"-,Regular"';return e.underline&&(t+="&U"),e.fontSize&&(t+=`&${e.fontSize}`),t+=e.text,t}if(Array.isArray(e))return e.reduce((t,i)=>t.concat(this.compilePageDetailPiece(i)),"")}exportHeader(e){const t=e.createElement("oddHeader");return t.appendChild(e.createTextNode(this.compilePageDetailPackage(this._headers))),t}exportFooter(e){const t=e.createElement("oddFooter");return t.appendChild(e.createTextNode(this.compilePageDetailPackage(this._footers))),t}_buildCache(e){const t=e.createElement("c"),i=e.createElement("v");i.appendChild(e.createTextNode("--temp--")),t.appendChild(i);const s=e.createElement("c"),n=e.createElement("f");n.appendChild(e.createTextNode("--temp--")),s.appendChild(n);const o=e.createElement("c");o.setAttribute("t","s");const l=e.createElement("v");return l.appendChild(e.createTextNode("--temp--")),o.appendChild(l),{number:t,date:t,string:o,formula:s}}collectSharedStrings(){const e=this.data,t={};for(let i=0,s=e.length;i<s;i++){const n=e[i],o=n.length;for(let l=0;l<o;l++){let a=n[l];const h=(a==null?void 0:a.metadata)||{};a&&typeof a=="object"&&(a=a.value),h.type||typeof a=="number"&&(h.type="number"),(h.type==="text"||!h.type)&&typeof t[a]>"u"&&(t[a]=!0)}}return Object.keys(t)}toXML(){var e,t,i;const s=this.data,n=this.columns||[],o=z.createXmlDoc(z.schemas.spreadsheetml,"worksheet"),l=o.documentElement;let a,h,d;l.setAttribute("xmlns:r",z.schemas.relationships),l.setAttribute("xmlns:mc",z.schemas.markupCompat);let c=0;const u=z.createElement(o,"sheetData"),p=this._buildCache(o);for(d=0,h=s.length;d<h;d++){const m=s[d],f=m.length;c=f>c?f:c;const g=o.createElement("row");for(let _=0;_<f;_++){n[_]=n[_]||{};let C=m[_],b;const S=(C==null?void 0:C.metadata)||{};switch(C&&typeof C=="object"&&(C=C.value),S.type||typeof C=="number"&&(S.type="number"),S.type){case"number":b=p.number.cloneNode(!0),b.firstChild.firstChild.nodeValue=C;break;case"date":b=p.date.cloneNode(!0),C instanceof Date&&(C=C.getTime()),b.firstChild.firstChild.nodeValue=25569+(C-this._timezoneOffset)/(60*60*24*1e3);break;case"formula":b=p.formula.cloneNode(!0),b.firstChild.firstChild.nodeValue=C;break;case"text":default:{let E;typeof((e=this.sharedStrings)==null?void 0:e.strings[C])<"u"?E=this.sharedStrings.strings[C]:E=(t=this.sharedStrings)==null?void 0:t.addString(C),b=p.string.cloneNode(!0),b.firstChild.firstChild.nodeValue=E;break}}S.style?b.setAttribute("s",S.style):((i=this._rowInstructions[d])==null?void 0:i.style)!==void 0&&b.setAttribute("s",this._rowInstructions[d].style),b.setAttribute("r",z.positionToLetterRef(_+1,String(d+1))),g.appendChild(b)}if(g.setAttribute("r",d+1),this._rowInstructions[d]){const _=this._rowInstructions[d];_.height!==void 0&&(g.setAttribute("customHeight","1"),g.setAttribute("ht",_.height)),_.style!==void 0&&(g.setAttribute("customFormat","1"),g.setAttribute("s",_.style))}u.appendChild(g)}if(c!==0?l.appendChild(z.createElement(o,"dimension",[["ref",`${z.positionToLetterRef(1,1)}:${z.positionToLetterRef(c,String(s.length))}`]])):l.appendChild(z.createElement(o,"dimension",[["ref",z.positionToLetterRef(1,1)]])),l.appendChild(this.sheetView.exportXML(o)),this.columns.length&&l.appendChild(this.exportColumns(o)),l.appendChild(u),this.sheetProtection&&l.appendChild(this.sheetProtection.exportXML(o)),this.hyperlinks.length>0){const m=o.createElement("hyperlinks"),f=this.hyperlinks;for(a=0,h=f.length;a<h;a++){const g=o.createElement("hyperlink"),_=f[a];g.setAttribute("ref",String(_.cell)),_.id=z.uniqueId("hyperlink"),this.relations.addRelation({id:_.id,target:_.location,targetMode:_.targetMode||"External"},"hyperlink"),g.setAttribute("r:id",this.relations.getRelationshipId(_)),m.appendChild(g)}l.appendChild(m)}if(this.mergedCells.length>0){const m=o.createElement("mergeCells");for(a=0,h=this.mergedCells.length;a<h;a++){const f=o.createElement("mergeCell");f.setAttribute("ref",`${this.mergedCells[a][0]}:${this.mergedCells[a][1]}`),m.appendChild(f)}l.appendChild(m)}if(this.exportPageSettings(o,l),this._headers.length>0||this._footers.length>0){const m=o.createElement("headerFooter");this._headers.length>0&&m.appendChild(this.exportHeader(o)),this._footers.length>0&&m.appendChild(this.exportFooter(o)),l.appendChild(m)}for(a=0,h=this._drawings.length;a<h;a++){const m=o.createElement("drawing");m.setAttribute("r:id",this.relations.getRelationshipId(this._drawings[a])),l.appendChild(m)}if(this._tables.length>0){const m=o.createElement("tableParts");for(m.setAttribute("count",this._tables.length),a=0,h=this._tables.length;a<h;a++){const f=o.createElement("tablePart");f.setAttribute("r:id",this.relations.getRelationshipId(this._tables[a])),m.appendChild(f)}l.appendChild(m)}return o}exportColumns(e){const t=z.createElement(e,"cols");for(let i=0,s=this.columns.length;i<s;i++){const n=this.columns[i],o=z.createElement(e,"col",[["min",n.min||i+1],["max",n.max||i+1]]);n.hidden&&o.setAttribute("hidden",String(1)),n.bestFit&&o.setAttribute("bestFit",String(1)),(n.customWidth||n.width)&&o.setAttribute("customWidth",String(1)),n.width?o.setAttribute("width",n.width):o.setAttribute("width",String(9.140625)),t.appendChild(o)}return t}exportPageSettings(e,t){if(this._margin){let i=.7;const s=this._margin.left?this._margin.left:i,n=this._margin.right?this._margin.right:i,o=this._margin.top?this._margin.top:i,l=this._margin.bottom?this._margin.bottom:i;i=.3;const a=this._margin.header?this._margin.header:i,h=this._margin.footer?this._margin.footer:i;t.appendChild(z.createElement(e,"pageMargins",[["top",o],["bottom",l],["left",s],["right",n],["header",a],["footer",h]]))}this._orientation&&t.appendChild(z.createElement(e,"pageSetup",[["orientation",this._orientation]]))}setPageOrientation(e){this._orientation=e}setPageMargin(e){this._margin=e}setColumns(e){this.columns=e}setData(e){this.data=e}mergeCells(e,t){this.mergedCells.push([e,t])}freezePane(e,t,i){this.sheetView.freezePane(e,t,i)}setColumnFormats(e){this.columnFormats=e}}class vm{constructor(){F(this,"id",Xt("Workbook")),F(this,"styleSheet",new eh),F(this,"sharedStrings",new Ja),F(this,"relations",new eo),F(this,"worksheets",[]),F(this,"tables",[]),F(this,"drawings",[]),F(this,"media",{}),F(this,"printTitles"),this.initialize()}initialize(){this.id=Xt("Workbook"),this.styleSheet=new eh,this.sharedStrings=new Ja,this.relations=new eo,this.relations.addRelation(this.styleSheet,"stylesheet"),this.relations.addRelation(this.sharedStrings,"sharedStrings")}createWorksheet(e){return e=Object.assign({},{name:"Sheet ".concat(String(this.worksheets.length+1))},e),new Cm(e)}getStyleSheet(){return this.styleSheet}addTable(e){this.tables.push(e)}addDrawings(e){this.drawings.push(e)}setPrintTitleTop(e,t){this.printTitles==null&&(this.printTitles={}),this.printTitles[e]==null&&(this.printTitles[e]={}),this.printTitles[e].top=t}setPrintTitleLeft(e,t){this.printTitles==null&&(this.printTitles={}),this.printTitles[e]==null&&(this.printTitles[e]={}),this.printTitles[e].left=String.fromCharCode(64+t)}addMedia(e,t,i,s){const n=t.split("."),o=n[n.length-1];if(!s)switch(o.toLowerCase()){case"jpeg":case"jpg":s="image/jpeg";break;case"png":s="image/png";break;case"gif":s="image/gif";break;default:s=null;break}return this.media[t]||(this.media[t]={id:t,data:i,fileName:t,contentType:s,extension:o}),this.media[t]}addWorksheet(e){this.relations.addRelation(e,"worksheet"),e.setSharedStringCollection(this.sharedStrings),this.worksheets.push(e)}createContentTypes(){const e=z.createXmlDoc(z.schemas.contentTypes,"Types"),t=e.documentElement;let i,s;t.appendChild(z.createElement(e,"Default",[["Extension","rels"],["ContentType","application/vnd.openxmlformats-package.relationships+xml"]])),t.appendChild(z.createElement(e,"Default",[["Extension","xml"],["ContentType","application/xml"]]));const n={};for(const o in this.media)o in this.media&&(n[this.media[o].extension]=this.media[o].contentType);for(const o in n)o in n&&t.appendChild(z.createElement(e,"Default",[["Extension",o],["ContentType",n[o]]]));for(t.appendChild(z.createElement(e,"Override",[["PartName","/xl/workbook.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"]])),t.appendChild(z.createElement(e,"Override",[["PartName","/xl/sharedStrings.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"]])),t.appendChild(z.createElement(e,"Override",[["PartName","/xl/styles.xml"],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"]])),i=0,s=this.worksheets.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/worksheets/sheet${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"]]));for(i=0,s=this.tables.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/tables/table${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"]]));for(i=0,s=this.drawings.length;i<s;i++)t.appendChild(z.createElement(e,"Override",[["PartName",`/xl/drawings/drawing${i+1}.xml`],["ContentType","application/vnd.openxmlformats-officedocument.drawing+xml"]]));return e}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"workbook"),t=e.documentElement;t.setAttribute("xmlns:r",z.schemas.relationships);const i=31,s=z.createElement(e,"sheets");for(let l=0,a=this.worksheets.length;l<a;l++){const h=e.createElement("sheet");typeof console<"u"&&this.worksheets[l].name.length>i&&console.log(`Microsoft Excel requires work sheet names to be less than ${i+1} characters long, work sheet name "${this.worksheets[l].name}" is ${this.worksheets[l].name.length} characters long`),h.setAttribute("name",this.worksheets[l].name),h.setAttribute("sheetId",l+1),h.setAttribute("r:id",this.relations.getRelationshipId(this.worksheets[l])),s.appendChild(h)}t.appendChild(s);const n=z.createElement(e,"definedNames");let o=0;for(const l in this.printTitles)if(l in this.printTitles){const a=this.printTitles[l],h=e.createElement("definedName");h.setAttribute("name","_xlnm.Print_Titles"),h.setAttribute("localSheetId",o++);let d="";a.top&&(d+=`${l}!$1:$${a.top}`,a.left&&(d+=",")),a.left&&(d+=`${l}!$A:$${a.left}`),h.appendChild(e.createTextNode(d)),n.appendChild(h)}return t.appendChild(n),e}createWorkbookRelationship(){const e=z.createXmlDoc(z.schemas.relationshipPackage,"Relationships");return e.documentElement.appendChild(z.createElement(e,"Relationship",[["Id","rId1"],["Type",z.schemas.officeDocument],["Target","xl/workbook.xml"]])),e}_generateCorePaths(e){let t,i;for(Qt[this.styleSheet.id]="styles.xml",Qt[this.sharedStrings.id]="sharedStrings.xml",Qt[this.id]="/xl/workbook.xml",t=0,i=this.tables.length;t<i;t++)e[`/xl/tables/table${t+1}.xml`]=this.tables[t].toXML(),Qt[this.tables[t].id]=`/xl/tables/table${t+1}.xml`;for(const s in this.media)if(s in this.media){const n=this.media[s];e[`/xl/media/${s}`]=n.data,Qt[s]=`/xl/media/${s}`}for(t=0,i=this.drawings.length;t<i;t++)e[`/xl/drawings/drawing${t+1}.xml`]=this.drawings[t].toXML(),Qt[this.drawings[t].id]=`/xl/drawings/drawing${t+1}.xml`,e[`/xl/drawings/_rels/drawing${t+1}.xml.rels`]=this.drawings[t].relations.toXML()}_prepareFilesForPackaging(e){Object.assign(e,{"/[Content_Types].xml":this.createContentTypes(),"/_rels/.rels":this.createWorkbookRelationship(),"/xl/styles.xml":this.styleSheet.toXML(),"/xl/workbook.xml":this.toXML(),"/xl/sharedStrings.xml":this.sharedStrings.toXML(),"/xl/_rels/workbook.xml.rels":this.relations.toXML()});for(const[t,i]of Object.entries(e))if(t.indexOf(".xml")!==-1||t.indexOf(".rels")!==-1){i instanceof cn?e[t]=i.toString():e[t]=i.xml||new window.XMLSerializer().serializeToString(i);let s=e[t].replace(/xmlns=""/g,"");s=s.replace(/NS[\d]+:/g,""),s=s.replace(/xmlns:NS[\d]+=""/g,""),e[t]=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
28
28
  ${s}`}}generateFiles(){return new Promise(e=>{const t={};this._generateCorePaths(t);for(let i=0,s=this.worksheets.length;i<s;i++)t[`/xl/worksheets/sheet${i+1}.xml`]=this.worksheets[i].toXML(),Qt[this.worksheets[i].id]=`worksheets/sheet${i+1}.xml`,t[`/xl/worksheets/_rels/sheet${i+1}.xml.rels`]=this.worksheets[i].relations.toXML();return this._prepareFilesForPackaging(t),e(t)})}}function bm(r,e,t){const i={};return new Promise((s,n)=>{r.generateFiles().then(o=>{for(const[l,a]of Object.entries(o))i[l.substr(1)]=Qr(a);return dm(i,(t==null?void 0:t.zipOptions)||{},(l,a)=>{if(l){n(l);return}{const h=(t==null?void 0:t.fileFormat)??"xlsx";let d=t==null?void 0:t.mimeType;d===void 0&&(d=h==="xls"?"application/vnd.ms-excel":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),s(new Blob([a],{type:d}))}})})})}function Sm(r,e,t){if((t==null?void 0:t.downloadType)==="node")throw new Error('[Excel-Builder-Vanilla] Please note that `downloadExcelFile()` is currently only supporting the "browser" download type at the moment.');const i=e.match(/.*\.xls$/)?"xls":"xlsx";return bm(r,"Blob",{...t,fileFormat:i}).then(s=>{ym(e,s)})}function ym(r,e){const t=document.createElement("a"),i=URL.createObjectURL(e);t&&document&&(t.textContent="download",t.href=i,t.setAttribute("download",r),t.style.visibility="hidden",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(i))}const Em=(r,{excelFormatId:e})=>e!==void 0?{value:r,metadata:{style:e}}:r,wm=(r,{columnDef:e,excelFormatId:t,gridOptions:i})=>({value:typeof r=="string"&&/\d/g.test(r)?Tm(r,e,i):r,metadata:{style:t}});function Tm(r,e,t){let i=r;if(typeof r=="string"&&r){const s=wt("decimalSeparator",e,t,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR),n=parseFloat(s===","?r.replace(/[^0-9,-]+/g,"").replace(",","."):r.replace(/[^\d.-]/g,""));i=isNaN(n)?r:n}return i}function Om(r,e,t,i,s=!0){const n=Hi(t);let o,l=Em;return n===w.number&&s&&(o=to(r,e,t,i,"cell").excelFormat.id,l=wm),{excelFormatId:o,getDataValueParser:l}}function xm(r,e){var t;return((t=r==null?void 0:r[e.groupType])==null?void 0:t[e.columnDef.field])??0}function Im(r,e,t){var s;let i;if(t==="group")switch(r.groupTotalsFormatter){case re.avgTotalsCurrency:case re.avgTotalsDollar:case re.sumTotalsCurrency:case re.sumTotalsCurrencyColored:case re.sumTotalsDollar:case re.sumTotalsDollarBold:case re.sumTotalsDollarColored:case re.sumTotalsDollarColoredBold:i="currency";break;case re.avgTotalsPercentage:i="percent";break;case re.avgTotals:case re.minTotals:case re.maxTotals:case re.sumTotals:case re.sumTotalsColored:case re.sumTotalsBold:default:i="decimal";break}else if(r.formatter===_e.multiple&&Array.isArray((s=r.params)==null?void 0:s.formatters)){i="decimal";for(const n of r.params.formatters)if(i=th(n),i!=="decimal")break}else i=th(r.formatter);return Se(r,e,i,t)}function th(r){let e;switch(r){case _e.currency:case _e.dollar:case _e.dollarColored:case _e.dollarColoredBold:e="currency";break;case _e.percent:case _e.percentComplete:case _e.percentCompleteBar:case _e.percentCompleteBarWithText:case _e.percentSymbol:e="percent";break;case _e.decimal:default:e="decimal";break}return e}function to(r,e,t,i,s){var h,d;let n="",o=((h=t.groupTotalsExcelExportOptions)==null?void 0:h.groupType)||"",l;const a=Hi(t);if(s==="group")switch(t.groupTotalsFormatter){case re.avgTotals:case re.avgTotalsCurrency:case re.avgTotalsDollar:case re.avgTotalsPercentage:o="avg";break;case re.minTotals:o="min";break;case re.maxTotals:o="max";break;case re.sumTotals:case re.sumTotalsBold:case re.sumTotalsColored:case re.sumTotalsCurrency:case re.sumTotalsCurrencyColored:case re.sumTotalsDollar:case re.sumTotalsDollarColoredBold:case re.sumTotalsDollarColored:case re.sumTotalsDollarBold:o="sum";break;default:l=e.numberFormat;break}else switch(a){case w.number:switch(t.formatter){case _e.multiple:if(Array.isArray((d=t.params)==null?void 0:d.formatters))for(const c of t.params.formatters){const{excelFormat:u}=to(r,e,{...t,formatter:c},i,s);if(u!==e.numberFormat){l=u;break}}l||(l=e.numberFormat);break;case _e.currency:case _e.decimal:case _e.dollar:case _e.dollarColored:case _e.dollarColoredBold:case _e.percent:case _e.percentComplete:case _e.percentCompleteBar:case _e.percentCompleteBarWithText:case _e.percentSymbol:n=sh(t,i,"cell");break;default:l=e.numberFormat;break}break}return!l&&(t.formatter||t.groupTotalsFormatter)&&(n=sh(t,i,s,o),e.hasOwnProperty(n)||(e[n]=r.createFormat({format:n})),l=e[n]),{excelFormat:l,groupType:o}}function ih(r){const[e,t,i,s,n,o,l,a]=(r==null?void 0:r.match(/^([^\d(-]*)([(]?)([^\d]*)([-]?[\w]]?[\d\s]*[.,\d]*[\d]*[^)\s%]?)([^\d.,)]*)([)]?)([^\d]*)$/i))||[],h=(n||"").replace(/1/g,"0").replace(/[2]/g,"#");return[mn(t??""),i??"",mn(s??""),h,mn(o??""),l??"",mn(a??"")].join("").replace(",",",")}function sh(r,e,t,i=""){let s="",n="",o="";const{minDecimal:l,maxDecimal:a,thousandSeparator:h}=Im(r,e,t),c=parseFloat(`${h?"2220":"0"}.${Rm(l,a)}`);return t==="group"&&r.groupTotalsFormatter?(n=we(r.groupTotalsFormatter({[i]:{[r.field]:c}},r,e)),o=we(r.groupTotalsFormatter({[i]:{[r.field]:-c}},r,e))):r.formatter&&(n=we(r.formatter(0,0,c,r,{},e)),o=we(r.formatter(0,0,-c,r,{},e))),n&&o&&(s=ih(n)+";"+ih(o)),s}function mn(r){return r&&`"${r}"`}function Rm(r,e){return nh("1",r)+nh("2",e-r)}function nh(r,e){let t="";for(let i=0;i<e;i++)t+=r;return t}const Am={filename:"export",format:ve.xlsx};class Pm{constructor(){this._fileFormat=ve.xlsx,this._columnHeaders=[],this._hasColumnTitlePreHeader=!1,this._hasGroupedItems=!1,this._pubSubService=null,this._regularCellExcelFormats={},this._groupTotalExcelFormats={},this.className="ExcelExportService"}get _datasetIdPropName(){var e;return((e=this._gridOptions)==null?void 0:e.datasetIdPropertyName)??"id"}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}get stylesheet(){return this._stylesheet}get stylesheetFormats(){return this._stylesheetFormats}get groupTotalExcelFormats(){return this._groupTotalExcelFormats}get regularCellExcelFormats(){return this._regularCellExcelFormats}dispose(){var e;(e=this._pubSubService)==null||e.unsubscribeAll()}init(e,t){var i,s;if(this._grid=e,this._pubSubService=t.get("PubSubService"),this._locales=((i=this._gridOptions)==null?void 0:i.locales)??R.locales,this._translaterService=(s=this._gridOptions)==null?void 0:s.translater,this._gridOptions.enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be passed in the "translater" Grid Options when "enableTranslate" is enabled. (example: this.gridOptions = { enableTranslate: true, translater: this.translaterService })')}exportToExcel(e){var t;if(!this._grid||!this._dataView||!this._pubSubService)throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableExcelExport"?');return(t=this._pubSubService)==null||t.publish("onBeforeExportToExcel",!0),this._excelExportOptions=de(!0,{},{...Am,...this._gridOptions.excelExportOptions,...e}),this._fileFormat=this._excelExportOptions.format||ve.xlsx,this._regularCellExcelFormats={},this._groupTotalExcelFormats={},new Promise(i=>{const s={name:this._excelExportOptions.sheetName||"Sheet1"};this._workbook=new vm,this._sheet=this._workbook.createWorksheet(s),this._stylesheet=this._workbook.getStyleSheet();const n=this._stylesheet.createFormat({font:{bold:!0}}),o=this._stylesheet.createFormat({format:"@"}),l=this._stylesheet.createFormat({format:"0"});this._stylesheetFormats={boldFormat:n,numberFormat:l,stringFormat:o},this._sheet.setColumnFormats([n]);const a=this.getDataOutput();window.setTimeout(async()=>{var m,f,g,_;(f=(m=this._gridOptions)==null?void 0:m.excelExportOptions)!=null&&f.customExcelHeader&&this._gridOptions.excelExportOptions.customExcelHeader(this._workbook,this._sheet);const h=((g=this._grid)==null?void 0:g.getColumns())||[];this._sheet.setColumns(this.getColumnStyles(h));const d=this._sheet.data;let c=d;Array.isArray(d)&&Array.isArray(a)&&(c=this._sheet.data.concat(a)),this._sheet.setData(c),this._workbook.addWorksheet(this._sheet);let u=(_=this._excelExportOptions)==null?void 0:_.mimeType;u===void 0&&(u=this._fileFormat===ve.xls?"application/vnd.ms-excel":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");const p=`${this._excelExportOptions.filename}.${this._fileFormat}`;Sm(this._workbook,p,{mimeType:u}).then(()=>{var C;(C=this._pubSubService)==null||C.publish("onAfterExportToExcel",{filename:p,mimeType:u}),i(!0)})})})}getExcelColumnNameByIndex(e){const t="ZABCDEFGHIJKLMNOPQRSTUVWXY";let i=Math.floor(e/26);const s=Math.floor(e%26);return s===0&&i--,e>26?this.getExcelColumnNameByIndex(i)+t[s]:t[s]+""}getDataOutput(){var o,l;const e=((o=this._grid)==null?void 0:o.getColumns())||[],t=[],i=(l=this._gridOptions)==null?void 0:l.excelExportOptions,s=i==null?void 0:i.columnHeaderStyle;let n=this._stylesheetFormats.boldFormat.id;if(s&&(n=this._stylesheet.createFormat(s).id),this._gridOptions.createPreHeaderPanel&&this._gridOptions.showPreHeaderPanel&&!this._gridOptions.enableDraggableGrouping){const a=this._stylesheet.createFormat({alignment:{horizontal:"center"},font:{bold:!0}});t.push(this.getColumnGroupedHeaderTitlesData(e,{style:a==null?void 0:a.id})),this._hasColumnTitlePreHeader=!0}return t.push(this.getColumnHeaderData(e,{style:n})),this.pushAllGridRowDataToArray(t,e),t}getColumnStyles(e){var s,n;const t=this._dataView.getGrouping(),i=[];return Array.isArray(t)&&t.length>0&&i.push({bestFit:!0,columnStyles:((n=(s=this._gridOptions)==null?void 0:s.excelExportOptions)==null?void 0:n.customColumnWidth)??10}),e.forEach(o=>{var a,h,d;const l=o.excludeFromExport??!1;(o.width===void 0||o.width>0)&&!l&&i.push({bestFit:!0,width:((a=o.excelExportOptions)==null?void 0:a.width)??((d=(h=this._gridOptions)==null?void 0:h.excelExportOptions)==null?void 0:d.customColumnWidth)??10})}),i}getColumnGroupedHeaderTitlesData(e,t){let i=[];this._groupedColumnHeaders=this.getColumnGroupedHeaderTitles(e)||[],this._groupedColumnHeaders&&Array.isArray(this._groupedColumnHeaders)&&this._groupedColumnHeaders.length>0&&(i=this._groupedColumnHeaders.map(o=>({value:o.title,metadata:t})));let s=0;const n=this._groupedColumnHeaders.length;for(let o=0;o<n;o++)if(o+1===n||o+1<n&&this._groupedColumnHeaders[o].title!==this._groupedColumnHeaders[o+1].title){const l=this.getExcelColumnNameByIndex(s+1),a=this.getExcelColumnNameByIndex(o+1);this._sheet.mergeCells(`${l}1`,`${a}1`),s=o+1}return i}getColumnHeaderData(e,t){let i=[];this._columnHeaders=this.getColumnHeaders(e)||[],this._columnHeaders&&Array.isArray(this._columnHeaders)&&this._columnHeaders.length>0&&(i=this._columnHeaders.map(n=>({value:we(n.title),metadata:t})));const s=this.getGroupColumnTitle();return s&&i.unshift({value:s,metadata:t}),i}getGroupColumnTitle(){var i,s;let e=this._excelExportOptions.groupingColumnHeaderTitle;!e&&this._gridOptions.enableTranslate&&((i=this._translaterService)!=null&&i.translate)?e=this._translaterService.translate(`${lt(this._gridOptions)}GROUP_BY`):e||(e=(s=this._locales)==null?void 0:s.TEXT_GROUP_BY);const t=this._dataView.getGrouping();return Array.isArray(t)&&t.length>0?(this._hasGroupedItems=!0,e):(this._hasGroupedItems=!1,null)}getColumnGroupedHeaderTitles(e){const t=[];return Array.isArray(e)&&e.forEach(i=>{var o;let s="";i.columnGroupKey&&this._gridOptions.enableTranslate&&((o=this._translaterService)!=null&&o.translate)?s=this._translaterService.translate(i.columnGroupKey):s=i.columnGroup||"";const n=i.excludeFromExport||!1;(i.width===void 0||i.width>0)&&!n&&t.push({key:i.field||i.id,title:s||""})}),t}getColumnHeaders(e){const t=[];return Array.isArray(e)&&e.forEach(i=>{var o;let s="";(i.nameKey||i.nameKey)&&this._gridOptions.enableTranslate&&((o=this._translaterService)!=null&&o.translate)?s=this._translaterService.translate(i.nameKey||i.nameKey):s=_t(i.name||"","innerHTML")||ti(i.field);const n=i.excludeFromExport||!1;(i.width===void 0||i.width>0)&&!n&&t.push({key:(i.field||i.id)+"",title:s})}),t}pushAllGridRowDataToArray(e,t){const i=this._dataView.getLength();for(let s=0;s<i;s++){const n=this._dataView.getItem(s);n&&!n.hasOwnProperty("getItem")&&(n[this._datasetIdPropName]!==null&&n[this._datasetIdPropName]!==void 0?e.push(this.readRegularRowData(t,s,n,s)):this._hasGroupedItems&&n.__groupTotals===void 0?e.push([this.readGroupedRowTitle(n)]):n.__groupTotals&&e.push(this.readGroupedTotalRows(t,n,s)))}return e}readRegularRowData(e,t,i,s){var c,u,p,m;let n=0;const o=[],l=e.length;let a=1,h=0;const d=this._dataView.getItemMetadata(t);for(let f=0;f<l;f++){const g=e[f];if(g.excludeFromExport)continue;this._hasGroupedItems&&n===0&&o.push("");let _=1;if(this._gridOptions.enableCellRowSpan){const S=this._grid.getParentRowSpanByCell(t,f,!1);if(S)if(S.start===t)_=S.end-S.start+1;else{o.push("");continue}}let C=1,b;if(d!=null&&d.columns){const S=d.columns,E=S[g.id]||S[f];!isNaN(a)&&+a>1||a==="*"&&f>0||(a=(E==null?void 0:E.colspan)??1),a==="*"?C=e.length-f:(C=a,(g.id in S||f in S)&&(b=g.id,h=f))}if(_>1&&!isNaN(a)&&+a==1&&g.id===b){const S=t+(this._hasColumnTitlePreHeader?3:2),E=this.getExcelColumnNameByIndex(f+1),y=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`${E}${S}`,`${y}${S+_-1}`)}if(a==="*"&&f>0||!isNaN(a)&&+a>1&&g.id!==b){const S=t+(this._hasColumnTitlePreHeader?3:2);if(typeof a=="number"&&C-1===1){const E=this.getExcelColumnNameByIndex(h+1),y=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`${E}${S}`,`${y}${S+_-1}`),o.push("")}else if(a==="*"&&C===1){const E=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`A${S}`,`${E}${S+_-1}`)}else o.push("");typeof a=="number"&&!isNaN(a)&&+a>1&&(C=a--)}else{let S="";const E=Hi(g),y={...this._excelExportOptions};if(g.exportWithFormatter!==!1&&It(E)&&(y.exportWithFormatter=!0),S=Cr(t,f,g,i,this._grid,y),!this._regularCellExcelFormats.hasOwnProperty(g.id)){const I=((c=g.excelExportOptions)==null?void 0:c.autoDetectCellFormat)??((u=this._excelExportOptions)==null?void 0:u.autoDetectCellFormat),A=Om(this._stylesheet,this._stylesheetFormats,g,this._grid,I);(p=g.excelExportOptions)!=null&&p.style&&(A.excelFormatId=this._stylesheet.createFormat(g.excelExportOptions.style).id),(m=g.excelExportOptions)!=null&&m.valueParserCallback&&(A.getDataValueParser=g.excelExportOptions.valueParserCallback),this._regularCellExcelFormats[g.id]=A}typeof S=="string"&&(g.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(S=we(S));const{excelFormatId:x,getDataValueParser:O}=this._regularCellExcelFormats[g.id];S=O(S,{columnDef:g,excelFormatId:x,stylesheet:this._stylesheet,gridOptions:this._gridOptions,dataRowIdx:s,dataContext:i}),o.push(S),n++}}return o}readGroupedRowTitle(e){var i,s,n;const t=we(e.title);if((i=this._excelExportOptions)!=null&&i.addGroupIndentation){const o=((s=this._excelExportOptions)==null?void 0:s.groupCollapsedSymbol)||"⮞",l=((n=this._excelExportOptions)==null?void 0:n.groupExpandedSymbol)||"⮟";return(e.collapsed?o:l)+" "+zi(5*e.level)+t}return t}readGroupedTotalRows(e,t,i){const n=[this._excelExportOptions.groupingAggregatorRowText||""];return e.forEach(o=>{var c,u,p,m,f,g,_;let l="";const a=Hi(o),h=o.excludeFromExport||!1;if(o.exportCustomGroupTotalsFormatter){const C=o.exportCustomGroupTotalsFormatter(t,o,this._grid);l=C instanceof HTMLElement?C.textContent||"":C}const d=((c=o.excelExportOptions)==null?void 0:c.autoDetectCellFormat)??((u=this._excelExportOptions)==null?void 0:u.autoDetectCellFormat);if(a===w.number&&d!==!1){let C=this._groupTotalExcelFormats[o.id];C!=null&&C.groupType||(C=to(this._stylesheet,this._stylesheetFormats,o,this._grid,"group"),(p=o.groupTotalsExcelExportOptions)!=null&&p.style&&(C.excelFormat=this._stylesheet.createFormat(o.groupTotalsExcelExportOptions.style)),this._groupTotalExcelFormats[o.id]=C);const b=((m=o.groupTotalsExcelExportOptions)==null?void 0:m.valueParserCallback)??xm;if(((f=t[C.groupType])==null?void 0:f[o.field])!==void 0){const S=b(t,{columnDef:o,groupType:C.groupType,excelFormatId:(g=C.excelFormat)==null?void 0:g.id,stylesheet:this._stylesheet,dataRowIdx:i});l=typeof S=="object"&&S.hasOwnProperty("metadata")?S:l={value:S,metadata:{style:(_=C.excelFormat)==null?void 0:_.id}}}}else if(o.groupTotalsFormatter){const C=o.groupTotalsFormatter(t,o,this._grid);l=C instanceof HTMLElement?C.textContent||"":C}typeof l=="string"&&(o.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(l=we(l)),(o.width===void 0||o.width>0)&&!h&&n.push(l)}),n}}const fn=["title","data-slick-tooltip"],ai="[title], [data-slick-tooltip]",km="slick-custom-tooltip";class Fm{constructor(){this.name="CustomTooltip",this._cellType="slick-cell",this._rxjs=null,this._sharedService=null,this._mousePosition={x:0,y:0},this._hasMultipleTooltips=!1,this._defaultOptions={bodyClassName:"tooltip-body",className:"",offsetArrow:3,offsetLeft:0,offsetRight:0,offsetTopBottom:4,hideArrow:!1,regularTooltipWhiteSpace:"pre-line",whiteSpace:"normal"},this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get cancellablePromise(){return this._cancellablePromise}get cellAddonOptions(){return this._cellAddonOptions}get bodyClassName(){var e;return((e=this._cellAddonOptions)==null?void 0:e.bodyClassName)??"tooltip-body"}get className(){var t;let e=km;return(t=this._addonOptions)!=null&&t.className&&(e+=` ${this._addonOptions.className}`),e}get dataView(){return this._grid.getData()||{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())||""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get tooltipElm(){return this._tooltipElm}addRxJsResource(e){this._rxjs=e}init(e,t){var i,s;this._grid=e,this._rxjs=t.get("RxJsFacade"),this._sharedService=t.get("SharedService"),this._addonOptions={...this._defaultOptions,...(s=(i=this._sharedService)==null?void 0:i.gridOptions)==null?void 0:s.customTooltip},this._eventHandler.subscribe(e.onMouseEnter,this.handleOnMouseOver.bind(this)).subscribe(e.onHeaderMouseOver,(n,o)=>this.handleOnHeaderMouseOverByType(n,o,"slick-header-column")).subscribe(e.onHeaderRowMouseEnter,(n,o)=>this.handleOnHeaderMouseOverByType(n,o,"slick-headerrow-column")).subscribe(e.onHeaderRowMouseOver,(n,o)=>this.handleOnHeaderMouseOverByType(n,o,"slick-headerrow-column")).subscribe(e.onMouseLeave,this.hideTooltip.bind(this)).subscribe(e.onHeaderMouseOut,this.hideTooltip.bind(this)).subscribe(e.onHeaderRowMouseLeave,this.hideTooltip.bind(this)).subscribe(e.onHeaderRowMouseOut,this.hideTooltip.bind(this))}dispose(){this.hideTooltip(),this._cancellablePromise=void 0,this._eventHandler.unsubscribeAll()}hideTooltip(){var i,s;(i=this._cancellablePromise)==null||i.cancel(),(s=this._observable$)==null||s.unsubscribe();const e=he(this.className).join("."),t=document.body.querySelector(`.${e}${this.gridUidSelector}`);t==null||t.remove()}getOptions(){return this._addonOptions}setOptions(e){this._addonOptions={...this._addonOptions,...e}}asyncProcessCallback(e,t,i,s,n){var l,a;this.hideTooltip();const o={...n,[((l=this.addonOptions)==null?void 0:l.asyncParamsPropName)??"__params"]:e};(a=this._cellAddonOptions)!=null&&a.useRegularTooltip?this.renderRegularTooltip(this._cellAddonOptions.asyncPostFormatter,t,i,s,o):this.renderTooltipFormatter(this._cellAddonOptions.asyncPostFormatter,t,i,s,o)}handleOnHeaderMouseOverByType(e,t,i){var a,h,d,c;this._cellType=i,this._mousePosition={x:e.clientX||0,y:e.clientY||0},this._mouseTarget=(a=document.elementFromPoint(e.clientX||0,e.clientY||0))==null?void 0:a.closest(ai),this.hideTooltip();const s={row:-1,cell:this._grid.getColumns().findIndex(u=>{var p;return(((p=t==null?void 0:t.column)==null?void 0:p.id)??"")===u.id})},n=t.column,o={},l=i==="slick-headerrow-column";if(t||(t={}),t.cell=s.cell,t.row=s.row,t.columnDef=n,t.dataContext=o,t.grid=this._grid,t.type=l?"header-row":"header",this._cellAddonOptions={...this._addonOptions,...n==null?void 0:n.customTooltip},!(n!=null&&n.disableTooltip||typeof((h=this._cellAddonOptions)==null?void 0:h.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride(t))&&n&&e.target){this._cellNodeElm=e.target.closest(`.${i}`);const u=l?this._cellAddonOptions.headerRowFormatter:this._cellAddonOptions.headerFormatter;if((d=this._cellAddonOptions)!=null&&d.useRegularTooltip||!u){const p=l?(c=this._cellAddonOptions)!=null&&c.useRegularTooltip?null:u:n.name;this.renderRegularTooltip(p,s,null,n,o)}else this._cellNodeElm&&typeof u=="function"&&this.renderTooltipFormatter(u,s,null,n,o)}}async handleOnMouseOver(e){var t,i,s,n,o,l,a,h,d;if(this._cellType="slick-cell",this._mousePosition={x:e.clientX||0,y:e.clientY||0},this._mouseTarget=(t=document.elementFromPoint(e.clientX||0,e.clientY||0))==null?void 0:t.closest(ai),this.hideTooltip(),e&&this._grid){const c=(s=(i=e==null?void 0:e.target)==null?void 0:i.closest(".slick-cell"))==null?void 0:s.className,u=c&&/l\d+/.exec(c||"")?this._grid.getCellFromEvent(e):null;if(u){const p=this.dataView?this.dataView.getItem(u.row):this._grid.getDataItem(u.row),m=this._grid.getColumns()[u.cell];if(this._cellNodeElm=this._grid.getCellNode(u.row,u.cell),p&&m){if(this._cellAddonOptions={...this._addonOptions,...m==null?void 0:m.customTooltip},m!=null&&m.disableTooltip||typeof((n=this._cellAddonOptions)==null?void 0:n.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride({cell:u.cell,row:u.row,dataContext:p,column:m,grid:this._grid,type:"cell"}))return;const f=p.hasOwnProperty(m.field)?p[m.field]:null,g=this._grid.getEditorLock().isActive()?null:f;if(this._cellAddonOptions.useRegularTooltip&&!((o=this._cellAddonOptions)!=null&&o.asyncProcess)||!((l=this._cellAddonOptions)!=null&&l.formatter))this.renderRegularTooltip(m.formatter,u,g,m,p);else if(typeof((a=this._cellAddonOptions)==null?void 0:a.formatter)=="function"&&this.renderTooltipFormatter(this._cellAddonOptions.formatter,u,g,m,p),typeof((h=this._cellAddonOptions)==null?void 0:h.asyncProcess)=="function"){const _=this._cellAddonOptions.asyncProcess(u.row,u.cell,f,m,p,this._grid);if(this._cellAddonOptions.asyncPostFormatter||console.error('[Slickgrid-Universal] when using "asyncProcess" with Custom Tooltip, you must also provide an "asyncPostFormatter" formatter.'),_ instanceof Promise)this._cancellablePromise=ro(_),this._cancellablePromise.promise.then(C=>this.asyncProcessCallback(C,u,f,m,p)).catch(C=>{C instanceof Di||console.error(C)});else if((d=this._rxjs)!=null&&d.isObservable(_)){const C=this._rxjs;this._observable$=_.pipe(C.switchMap(b=>C.of(b))).subscribe(b=>this.asyncProcessCallback(b,u,f,m,p),b=>console.error(b))}}}}}}parseFormatterAndSanitize(e,t,i,s,n){if(typeof e=="function"){const o=e(t.row,t.cell,i,s,n,this._grid),l=ei(o)?o:o.html||o.text;return this._grid.sanitizeHtmlString((l instanceof HTMLElement?l.textContent:l)||"")}else if(typeof e=="string")return this._grid.sanitizeHtmlString(e);return""}renderRegularTooltip(e,t,i,s,n){var d,c,u,p,m,f,g,_;const o=document.createElement("div");this._grid.applyHtmlCode(o,this.parseFormatterAndSanitize(e,t,i,s,n)),this._hasMultipleTooltips=(((d=this._cellNodeElm)==null?void 0:d.querySelectorAll(ai).length)||0)>1;let l;const a=(c=this._cellAddonOptions)!=null&&c.useRegularTooltipFromCellTextOnly||!this._mouseTarget?this._cellNodeElm:this._mouseTarget;let h=(s==null?void 0:s.toolTip)??"";h||(this._cellType==="slick-cell"&&a&&a.clientWidth<a.scrollWidth&&!((u=this._cellAddonOptions)!=null&&u.useRegularTooltipFromFormatterOnly)?(h=((p=a.textContent)==null?void 0:p.trim())??"",(m=this._cellAddonOptions)!=null&&m.tooltipTextMaxLength&&h.length>((f=this._cellAddonOptions)==null?void 0:f.tooltipTextMaxLength)&&(h=h.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"..."),l=a):((g=this._cellAddonOptions)!=null&&g.useRegularTooltipFromFormatterOnly?l=o.querySelector(ai):(l=Bi(a,fn)?a:o.querySelector(ai),(!l||!Bi(l,fn))&&a&&(l=a.querySelector(ai))),(l==null?void 0:l.style.display)==="none"||this._hasMultipleTooltips&&(!a||a===this._cellNodeElm)?h="":(!h||typeof e=="function"&&((_=this._cellAddonOptions)!=null&&_.useRegularTooltipFromFormatterOnly))&&(h=Bi(l,fn)||""))),h!==""&&this.renderTooltipFormatter(e,t,i,s,n,h,l),this.swapAndClearTitleAttribute(l,h)}renderTooltipFormatter(e,t,i,s,n,o,l){var d,c,u,p,m,f,g,_,C;if(this._tooltipElm=v("div",{className:this.className}),this._tooltipBodyElm=v("div",{className:this.bodyClassName}),this._tooltipElm.classList.add(this.gridUid),this._tooltipElm.classList.add("l"+t.cell),this._tooltipElm.classList.add("r"+t.cell),(d=this.tooltipElm)==null||d.appendChild(this._tooltipBodyElm),i==null){const b=(c=this._cellNodeElm)==null?void 0:c.querySelector(ai);i=Bi(b,fn)||i}let a=o||this.parseFormatterAndSanitize(e,t,i,s,n)||"";a=(u=this._cellAddonOptions)!=null&&u.tooltipTextMaxLength&&a.length>this._cellAddonOptions.tooltipTextMaxLength?a.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"...":a;let h="";!o||(p=this._cellAddonOptions)!=null&&p.renderRegularTooltipAsHtml?(h=this._grid.sanitizeHtmlString(a),this._grid.applyHtmlCode(this._tooltipBodyElm,h),this._tooltipBodyElm.style.whiteSpace=((m=this._cellAddonOptions)==null?void 0:m.whiteSpace)??this._defaultOptions.whiteSpace):(h=a||"",this._tooltipBodyElm.textContent=h,this._tooltipBodyElm.style.whiteSpace=((f=this._cellAddonOptions)==null?void 0:f.regularTooltipWhiteSpace)??this._defaultOptions.regularTooltipWhiteSpace),(g=this._cellAddonOptions)!=null&&g.maxHeight&&(this._tooltipElm.style.maxHeight=`${this._cellAddonOptions.maxHeight}px`),(_=this._cellAddonOptions)!=null&&_.maxWidth&&(this._tooltipElm.style.maxWidth=`${this._cellAddonOptions.maxWidth}px`),h.toString()&&(document.body.appendChild(this._tooltipElm),this.reposition(t),(C=this._cellAddonOptions)!=null&&C.hideArrow||this._tooltipElm.classList.add("tooltip-arrow"),this.swapAndClearTitleAttribute(l,a))}reposition(e){var t,i,s,n,o,l,a,h,d,c;if(this._tooltipElm){this._cellNodeElm=this._cellNodeElm||this._grid.getCellNode(e.row,e.cell);const u=ge(this._cellNodeElm),p=this._cellNodeElm.offsetWidth,m=this._tooltipElm.getBoundingClientRect().height,f=this._tooltipElm.getBoundingClientRect().width,g=document.body.offsetWidth||window.innerWidth;let _=(u.top||0)-this._tooltipElm.offsetHeight-(((t=this._cellAddonOptions)==null?void 0:t.offsetTopBottom)??0),C=(u.left||0)-(((i=this._cellAddonOptions)==null?void 0:i.offsetRight)??0);const b=((s=this._cellAddonOptions)==null?void 0:s.position)??"auto";let S="";if(b==="center"?(C+=p/2-f/2+(((n=this._cellAddonOptions)==null?void 0:n.offsetRight)??0),S="top-center",this._tooltipElm.classList.remove("arrow-left-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-center-align")):b==="right-align"||(b==="auto"||b!=="left-align")&&C+f>g?(S="right",C-=f-p-(((o=this._cellAddonOptions)==null?void 0:o.offsetLeft)??0),this._tooltipElm.classList.remove("arrow-center-align","arrow-left-align"),this._tooltipElm.classList.add("arrow-right-align")):(S="left",this._tooltipElm.classList.remove("arrow-center-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-left-align")),b==="bottom"||(b==="auto"||b!=="top")&&m>Vi(this._cellNodeElm).top?(_=(u.top||0)+(this.gridOptions.rowHeight??0)+(((l=this._cellAddonOptions)==null?void 0:l.offsetTopBottom)??0),S=`bottom-${S}`,this._tooltipElm.classList.remove("arrow-down"),this._tooltipElm.classList.add("arrow-up")):(S=`top-${S}`,this._tooltipElm.classList.remove("arrow-up"),this._tooltipElm.classList.add("arrow-down")),this._tooltipElm&&(this._hasMultipleTooltips||(a=this.cellAddonOptions)!=null&&a.repositionByMouseOverTarget)){const E=ge(this._mouseTarget);S.includes("left")||S==="top-center"?C=E.left-(((h=this._addonOptions)==null?void 0:h.offsetArrow)??3):S.includes("right")&&(C=E.left-f+(((d=this._mouseTarget)==null?void 0:d.offsetWidth)??0)+(((c=this._addonOptions)==null?void 0:c.offsetArrow)??3))}this._tooltipElm.style.top=`${_}px`,this._tooltipElm.style.left=`${C}px`}}swapAndClearTitleAttribute(e,t){var n,o;let i;e&&(i=this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(n=this._cellNodeElm)==null?void 0:n.querySelector("[title]")));const s=e||this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(o=this._cellNodeElm)==null?void 0:o.querySelector("[title]"));s&&(s.setAttribute("data-slick-tooltip",t||""),s.hasAttribute("title")&&s.setAttribute("title",""),i!=null&&i.hasAttribute("title")&&i.setAttribute("title",""))}}function gn(r,e,t){return e<=r&&r<=t}function rh(r){if(r===void 0)return{};if(r===Object(r))return r;throw TypeError("Could not convert argument to dictionary")}function Dm(r){for(var e=String(r),t=e.length,i=0,s=[];i<t;){var n=e.charCodeAt(i);if(n<55296||n>57343)s.push(n);else if(56320<=n&&n<=57343)s.push(65533);else if(55296<=n&&n<=56319)if(i===t-1)s.push(65533);else{var o=r.charCodeAt(i+1);if(56320<=o&&o<=57343){var l=n&1023,a=o&1023;s.push(65536+(l<<10)+a),i+=1}else s.push(65533)}i+=1}return s}var oh=-1;function lh(r){this.tokens=[].slice.call(r)}lh.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():oh},prepend:function(r){if(Array.isArray(r))for(var e=r;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(r)},push:function(r){if(Array.isArray(r))for(var e=r;e.length;)this.tokens.push(e.shift());else this.tokens.push(r)}};var io=-1,ah="utf-8";function _n(r,e){if(!(this instanceof _n))return new _n(r,e);if(r=r!==void 0?String(r).toLowerCase():ah,r!==ah)throw new Error("Encoding not supported. Only utf-8 is supported");e=rh(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}_n.prototype={encode:function(e,t){e=e?String(e):"",t=rh(t),this._streaming||(this._encoder=new Mm(this._options)),this._streaming=!!t.stream;for(var i=[],s=new lh(Dm(e)),n;!s.endOfStream()&&(n=this._encoder.handler(s,s.read()),n!==io);)Array.isArray(n)?i.push.apply(i,n):i.push(n);if(!this._streaming){for(;n=this._encoder.handler(s,s.read()),n!==io;)Array.isArray(n)?i.push.apply(i,n):i.push(n);this._encoder=null}return new Uint8Array(i)}};function Mm(r){r.fatal,this.handler=function(e,t){if(t===oh)return io;if(gn(t,0,127))return t;var i,s;gn(t,128,2047)?(i=1,s=192):gn(t,2048,65535)?(i=2,s=224):gn(t,65536,1114111)&&(i=3,s=240);for(var n=[(t>>6*i)+s];i>0;){var o=t>>6*(i-1);n.push(128|o&63),i-=1}return n}}const Lm={delimiter:Ot.comma,filename:"export",format:ve.csv,useUtf8WithBom:!0};class Nm{constructor(){this._delimiter=",",this._exportQuoteWrapper="",this._fileFormat=ve.csv,this._lineCarriageReturn=`
29
29
  `,this._columnHeaders=[],this._hasGroupedItems=!1,this.className="TextExportService"}get _datasetIdPropName(){return this._gridOptions&&this._gridOptions.datasetIdPropertyName||"id"}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}dispose(){var e;(e=this._pubSubService)==null||e.unsubscribeAll()}init(e,t){var i;if(this._grid=e,this._pubSubService=t.get("PubSubService"),this._locales=this._gridOptions&&this._gridOptions.locales||R.locales,this._translaterService=(i=this._gridOptions)==null?void 0:i.translater,this._gridOptions.enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be passed in the "translater" Grid Options when "enableTranslate" is enabled. (example: this.gridOptions = { enableTranslate: true, translater: this.translaterService })')}exportToFile(e){if(!this._grid||!this._dataView||!this._pubSubService)throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableTextExport"?');return new Promise(t=>{var s;(s=this._pubSubService)==null||s.publish("onBeforeExportToTextFile",!0),this._exportOptions=de(!0,{},{...Lm,...this._gridOptions.textExportOptions,...e}),this._delimiter=this._exportOptions.delimiterOverride||this._exportOptions.delimiter||"",this._fileFormat=this._exportOptions.format||ve.csv;const i=this.getDataOutput();window.setTimeout(()=>{var o;const n={filename:`${this._exportOptions.filename}.${this._fileFormat}`,format:this._fileFormat||ve.csv,mimeType:this._exportOptions.mimeType||"text/plain",useUtf8WithBom:this._exportOptions&&this._exportOptions.hasOwnProperty("useUtf8WithBom")?this._exportOptions.useUtf8WithBom:!0};this.startDownloadFile({...n,content:i}),(o=this._pubSubService)==null||o.publish("onAfterExportToTextFile",n),t(!0)},0)})}startDownloadFile(e){const t=mo(e.content);let i;e.format===ve.csv?i=new _n("utf-8").encode(t):i=t;const s=new Blob([e.useUtf8WithBom?"\uFEFF":"",i],{type:e.mimeType});if(typeof navigator.msSaveOrOpenBlob=="function")navigator.msSaveOrOpenBlob(s,e.filename);else{const n=document.createElement("a"),o=URL.createObjectURL(s);n.textContent="download",n.href=o,n.setAttribute("download",e.filename),n.style.visibility="hidden",document.body.appendChild(n),n.click(),document.body.removeChild(n)}}getDataOutput(){var n,o,l;const e=this._grid.getColumns()||[];let t=this._exportOptions.groupingColumnHeaderTitle;!t&&this._gridOptions.enableTranslate&&((n=this._translaterService)!=null&&n.translate)&&((l=(o=this._translaterService)==null?void 0:o.getCurrentLanguage)!=null&&l.call(o))?t=this._translaterService.translate(`${lt(this._gridOptions)}GROUP_BY`):t||(t=this._locales&&this._locales.TEXT_GROUP_BY),this._exportQuoteWrapper=this._fileFormat===ve.csv?'"':"";let i="";const s=this._dataView.getGrouping();if(s&&Array.isArray(s)&&s.length>0?(this._hasGroupedItems=!0,i+=this._fileFormat===ve.csv?`"${t}"${this._delimiter}`:`${t}${this._delimiter}`):this._hasGroupedItems=!1,this._gridOptions.createPreHeaderPanel&&this._gridOptions.showPreHeaderPanel&&!this._gridOptions.enableDraggableGrouping&&(this._groupedColumnHeaders=this.getColumnGroupedHeaderTitles(e)||[],this._groupedColumnHeaders&&Array.isArray(this._groupedColumnHeaders)&&this._groupedColumnHeaders.length>0)){const a=this._groupedColumnHeaders.map(h=>`${this._exportQuoteWrapper}${h.title}${this._exportQuoteWrapper}`);i+=a.join(this._delimiter)+this._lineCarriageReturn}if(this._columnHeaders=this.getColumnHeaders(e)||[],this._columnHeaders&&Array.isArray(this._columnHeaders)&&this._columnHeaders.length>0){const a=this._columnHeaders.map(h=>we(`${this._exportQuoteWrapper}${h.title}${this._exportQuoteWrapper}`));i+=a.join(this._delimiter)+this._lineCarriageReturn}return i+=this.getAllGridRowData(e,this._lineCarriageReturn),i}getAllGridRowData(e,t){const i=[],s=this._dataView.getLength();for(let n=0;n<s;n++){const o=this._dataView.getItem(n);o&&!o.hasOwnProperty("getItem")&&(o[this._datasetIdPropName]!==null&&o[this._datasetIdPropName]!==void 0?i.push(this.readRegularRowData(e,n,o)):this._hasGroupedItems&&o.__groupTotals===void 0?i.push(this.readGroupedTitleRow(o)):o.__groupTotals&&i.push(this.readGroupedTotalRow(e,o)))}return i.join(t)}getColumnGroupedHeaderTitles(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{var o,l,a;let s="";i.columnGroupKey&&this._gridOptions.enableTranslate&&((o=this._translaterService)!=null&&o.translate)&&((a=(l=this._translaterService)==null?void 0:l.getCurrentLanguage)!=null&&a.call(l))?s=this._translaterService.translate(i.columnGroupKey):s=i.columnGroup||"";const n=i.excludeFromExport||!1;(i.width===void 0||i.width>0)&&!n&&t.push({key:i.field||i.id,title:s||""})}),t}getColumnHeaders(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{var o,l,a;let s="";(i.nameKey||i.nameKey)&&this._gridOptions.enableTranslate&&((o=this._translaterService)!=null&&o.translate)&&((a=(l=this._translaterService)==null?void 0:l.getCurrentLanguage)!=null&&a.call(l))?s=this._translaterService.translate(i.nameKey||i.nameKey):s=_t(i.name||"","innerHTML")||ti(i.field);const n=i.excludeFromExport||!1;(i.width===void 0||i.width>0)&&!n&&t.push({key:i.field||i.id,title:s||""})}),t}readRegularRowData(e,t,i){let s=0;const n=[],o=this._exportQuoteWrapper;let l=1;const a=this._dataView.getItemMetadata(t);for(let h=0,d=e.length;h<d;h++){const c=e[h];if(c.excludeFromExport)continue;if(this._hasGroupedItems&&s===0){const p=this._fileFormat===ve.csv?'""':"";n.push(p)}if(this._gridOptions.enableCellRowSpan){const p=this._grid.getParentRowSpanByCell(t,h,!1);if(p&&p.start!==t){n.push("");continue}}let u;if(a!=null&&a.columns){const p=a==null?void 0:a.columns,m=p[c.id]||p[h];!isNaN(l)&&+l>1||l==="*"&&h>0||(l=(m==null?void 0:m.colspan)??1),l!=="*"&&(c.id in p||h in p)&&(u=c.id)}if(l==="*"&&h>0||!isNaN(l)&&+l>1&&c.id!==u)n.push(""),!isNaN(l)&&+l>1&&l--;else{let p=Cr(t,h,c,i,this._grid,this._exportOptions);(c.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(p=we(p)),this._fileFormat===ve.csv&&p&&(p=p.toString().replace(/"/gi,'""'));const m=c!=null&&c.exportCsvForceToKeepAsString?"=":"";n.push(m+o+p+o)}s++}return n.join(this._delimiter)}readGroupedTitleRow(e){let t=we(e.title);const i=this._exportQuoteWrapper;return t=zi(5*e.level)+t,this._fileFormat===ve.csv&&(t=t.toString().replace(/"/gi,'""')),i+t+i}readGroupedTotalRow(e,t){const i=this._exportOptions.delimiter,s=this._exportOptions.format,n=this._exportOptions.groupingAggregatorRowText||"",o=this._exportQuoteWrapper,l=[`${o}${n}${o}`];return e.forEach(a=>{let h="";const d=a.excludeFromExport||!1;if(a.groupTotalsFormatter){const c=a.groupTotalsFormatter(t,a,this._grid);h=c instanceof HTMLElement?c.textContent||"":c}(a.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(h=we(h)),s===ve.csv&&(h=h.toString().replace(/"/gi,'""')),(a.width===void 0||a.width>0)&&!d&&l.push(o+h+o)}),l.join(i)}}class Hm{get eventHandler(){return this._eventHandler}get gridUid(){var e;return((e=this.grid)==null?void 0:e.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get locales(){var e;return((e=this.gridOptions)==null?void 0:e.locales)??R.locales}set metrics(e){this.renderMetrics(e)}get leftFooterText(){var e;return((e=document.querySelector(`.slick-custom-footer${this.gridUidSelector} .left-footer`))==null?void 0:e.textContent)??""}set leftFooterText(e){this.renderLeftFooterText(e)}get rightFooterText(){var e;return((e=document.querySelector(`.slick-custom-footer${this.gridUidSelector} .right-footer`))==null?void 0:e.textContent)??""}set rightFooterText(e){this.renderRightFooterText(e)}constructor(e,t,i,s){var n,o,l,a,h;if(this.grid=e,this.customFooterOptions=t,this.pubSubService=i,this.translaterService=s,this._enableTranslate=!1,this._isLeftFooterOriginallyEmpty=!0,this._isLeftFooterDisplayingSelectionRowCount=!1,this._isRightFooterOriginallyEmpty=!0,this._selectedRowCount=0,this._subscriptions=[],this._bindingHelper=new Go,this._bindingHelper.querySelectorPrefix=`.${this.gridUid} `,this._eventHandler=new pe,this._enableTranslate=((n=this.gridOptions)==null?void 0:n.enableTranslate)??!1,this._isLeftFooterOriginallyEmpty=!((o=this.gridOptions.customFooterOptions)!=null&&o.leftFooterText),this._isRightFooterOriginallyEmpty=!((l=this.gridOptions.customFooterOptions)!=null&&l.rightFooterText),this.registerOnSelectedRowsChangedWhenEnabled(t),this._enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(this.translateCustomFooterTexts(),this._enableTranslate&&((a=this.pubSubService)!=null&&a.subscribe)){const d=((h=this.translaterService)==null?void 0:h.eventName)??"onLanguageChange";this._subscriptions.push(this.pubSubService.subscribe(d,()=>this.translateCustomFooterTexts()))}}dispose(){var e;this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingHelper.dispose(),(e=this._footerElement)==null||e.remove()}renderFooter(e){this.translateCustomFooterTexts(),this.createFooterContainer(e)}renderMetrics(e){var i;const t=e!=null&&e.endTime?et(e.endTime,this.customFooterOptions.dateFormat,"en-US"):"";this._bindingHelper.setElementAttributeValue("span.last-update-timestamp","textContent",t),this._bindingHelper.setElementAttributeValue("span.item-count","textContent",e.itemCount),this._bindingHelper.setElementAttributeValue("span.total-count","textContent",e.totalItemCount),(i=this.customFooterOptions.metricTexts)!=null&&i.lastUpdate&&this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"lastUpdate","span.text-last-update","textContent"),this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"items","span.text-items","textContent"),this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"of","span.text-of","textContent")}renderLeftFooterText(e){this._bindingHelper.setElementAttributeValue("div.left-footer","textContent",e)}renderRightFooterText(e){this._bindingHelper.setElementAttributeValue("div.right-footer","textContent",e)}translateCustomFooterTexts(){var e,t,i,s,n;if(this.gridOptions.enableTranslate&&((e=this.translaterService)!=null&&e.translate)){this.customFooterOptions.metricTexts=this.customFooterOptions.metricTexts||{};for(const o of Object.keys(this.customFooterOptions.metricTexts))if(o.lastIndexOf("Key")>0){const l=o.substring(0,o.lastIndexOf("Key"));this.customFooterOptions.metricTexts[l]=this.translaterService.translate(this.customFooterOptions.metricTexts[o]||" ")}this._isLeftFooterDisplayingSelectionRowCount&&(this.leftFooterText=`${this._selectedRowCount} ${this.customFooterOptions.metricTexts.itemsSelected}`)}else this.locales&&(this.customFooterOptions.metricTexts=this.customFooterOptions.metricTexts||{},this.customFooterOptions.metricTexts.lastUpdate=this.customFooterOptions.metricTexts.lastUpdate||((t=this.locales)==null?void 0:t.TEXT_LAST_UPDATE)||"TEXT_LAST_UPDATE",this.customFooterOptions.metricTexts.items=this.customFooterOptions.metricTexts.items||((i=this.locales)==null?void 0:i.TEXT_ITEMS)||"TEXT_ITEMS",this.customFooterOptions.metricTexts.itemsSelected=this.customFooterOptions.metricTexts.itemsSelected||((s=this.locales)==null?void 0:s.TEXT_ITEMS_SELECTED)||"TEXT_ITEMS_SELECTED",this.customFooterOptions.metricTexts.of=this.customFooterOptions.metricTexts.of||((n=this.locales)==null?void 0:n.TEXT_OF)||"TEXT_OF")}createFooterContainer(e){const t=v("div",{className:`slick-custom-footer ${this.gridUid}`,style:{width:"100%",height:`${this.customFooterOptions.footerHeight||20}px`}}),i=v("div",{className:`left-footer ${this.customFooterOptions.leftContainerClass}`});this.grid.applyHtmlCode(i,this.customFooterOptions.leftFooterText),t.appendChild(i),t.appendChild(this.createFooterRightContainer()),this._footerElement=t,e!=null&&e.appendChild&&this._footerElement&&e.appendChild(this._footerElement)}createFooterRightContainer(){var t,i,s,n;const e=v("div",{className:`right-footer ${this.customFooterOptions.rightContainerClass||""}`});if(!this._isRightFooterOriginallyEmpty)this.grid.applyHtmlCode(e,this.customFooterOptions.rightFooterText);else if(!this.customFooterOptions.hideMetrics){e.classList.add("metrics");const o=v("span",{className:"timestamp"},e);if(!this.customFooterOptions.hideLastUpdateTimestamp){const l=this.createFooterLastUpdate();l&&o.appendChild(l)}e.appendChild(v("span",{className:"item-count",textContent:`${((t=this.metrics)==null?void 0:t.itemCount)??"0"}`})),this.customFooterOptions.hideTotalItemCount||(e.appendChild(document.createTextNode(`\r
30
30
  `)),e.appendChild(v("span",{className:"text-of",textContent:` ${((i=this.customFooterOptions.metricTexts)==null?void 0:i.of)??"of"} `})),e.appendChild(document.createTextNode(`\r
31
31
  `)),e.appendChild(v("span",{className:"total-count",textContent:`${((s=this.metrics)==null?void 0:s.totalItemCount)??"0"}`}))),e.appendChild(document.createTextNode(`\r
32
32
  `)),e.appendChild(v("span",{className:"text-items",textContent:` ${((n=this.customFooterOptions.metricTexts)==null?void 0:n.items)??"items"} `}))}return e}createFooterLastUpdate(){var s,n,o,l;const e=((n=(s=this.customFooterOptions)==null?void 0:s.metricTexts)==null?void 0:n.lastUpdate)??"Last Update",t=(o=this.metrics)!=null&&o.endTime?et((l=this.metrics)==null?void 0:l.endTime,this.customFooterOptions.dateFormat,"en-US"):"",i=v("span");return i.appendChild(v("span",{className:"text-last-update",textContent:e})),i.appendChild(document.createTextNode(`\r
33
- `)),i.appendChild(v("span",{className:"last-update-timestamp",textContent:t})),i.appendChild(v("span",{className:"separator",textContent:` ${this.customFooterOptions.metricSeparator||""} `})),i}registerOnSelectedRowsChangedWhenEnabled(e){var i,s;if((this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowSelection)&&e&&!e.hideRowSelectionCount&&this._isLeftFooterOriginallyEmpty){this._isLeftFooterDisplayingSelectionRowCount=!0;const n=((i=e.metricTexts)==null?void 0:i.itemsSelected)??((s=this.locales)==null?void 0:s.TEXT_ITEMS_SELECTED)??"TEXT_ITEMS_SELECTED";e.leftFooterText=`0 ${n}`,this._eventHandler.subscribe(this.grid.onSelectedRowsChanged,(o,l)=>{var h,d;this._selectedRowCount=l.rows.length;const a=((h=e.metricTexts)==null?void 0:h.itemsSelected)??((d=this.locales)==null?void 0:d.TEXT_ITEMS_SELECTED)??"TEXT_ITEMS_SELECTED";this.leftFooterText=`${this._selectedRowCount} ${a}`})}}}class Vm{constructor(){this.dependencies=[]}get(e){const t=this.dependencies.find(i=>i.key===e);return t!=null&&t.instance?t.instance:null}dispose(){this.dependencies=[]}registerInstance(e,t){this.dependencies.some(s=>s.key===e)||this.dependencies.push({key:e,instance:t})}}const Bm=1e4;class hh{get backendService(){var e;return(e=this.gridOptions.backendServiceApi)==null?void 0:e.service}get eventHandler(){return this._eventHandler}get columnDefinitions(){return this._columnDefinitions||[]}set columnDefinitions(e){this.columnDefinitionsChanged(e)}get dataset(){var e;return((e=this.dataView)==null?void 0:e.getItems())||[]}set dataset(e){var o,l;const t=this._currentDatasetLength,i=pt(e,this.dataset||[]);let n=!!((o=this._gridOptions)!=null&&o.enableDeepCopyDatasetOnPageLoad)?de(!0,[],e):e;this.slickGrid&&((l=this.gridOptions)!=null&&l.enableTreeData)&&Array.isArray(e)&&(e.length>0||e.length!==t||!i)&&(this._isDatasetHierarchicalInitialized=!1,n=this.sortTreeDataset(e,!i)),this.refreshGridData(n||[]),this._currentDatasetLength=(e||[]).length,this.slickGrid&&this.gridOptions.autoFitColumnsOnFirstLoad&&t===0&&!this._isAutosizeColsCalled&&(this.slickGrid.autosizeColumns(),this._isAutosizeColsCalled=!0),this.suggestDateParsingWhenHelpful()}get datasetHierarchical(){return this.sharedService.hierarchicalDataset}set datasetHierarchical(e){var s,n;const t=pt(e,this.sharedService.hierarchicalDataset||[]),i=this._currentDatasetLength;this.sharedService.hierarchicalDataset=e,e&&this.columnDefinitions&&((s=this.filterService)!=null&&s.clearFilters)&&this.filterService.clearFilters(),this.dataView&&e&&this.slickGrid&&((n=this.sortService)!=null&&n.processTreeDataInitialSort)&&(this.sortService.processTreeDataInitialSort(),queueMicrotask(()=>{var l;const o=((l=this.dataView)==null?void 0:l.getItemCount())??0;o>0&&(o!==i||!t)&&this.filterService.refreshTreeDataFilters()})),this._isDatasetHierarchicalInitialized=!0}set eventPubSubService(e){this._eventPubSubService=e}set isDatasetHierarchicalInitialized(e){this._isDatasetHierarchicalInitialized=e}get gridOptions(){return this._gridOptions||{}}set gridOptions(e){var i,s,n;e??(e={});let t;(i=this.slickGrid)!=null&&i.getOptions?t=de(!0,{},this.slickGrid.getOptions(),e):t=this.mergeGridOptions(e),(s=this.sharedService)!=null&&s.gridOptions&&((n=this.slickGrid)!=null&&n.setOptions)&&(this.sharedService.gridOptions=t,this.slickGrid.setOptions(t,!1,!0),this.slickGrid.reRenderColumns(!0)),this.setDarkMode(e.darkMode),this._gridOptions=t}get paginationOptions(){return this._paginationOptions}set paginationOptions(e){e&&this._paginationOptions?this._paginationOptions={...this._paginationOptions,...e}:this._paginationOptions=e,this.gridOptions.pagination=this._paginationOptions,this.paginationService.updateTotalItems((e==null?void 0:e.totalItems)??0,!0)}get isDatasetInitialized(){return this._isDatasetInitialized}set isDatasetInitialized(e){this._isDatasetInitialized=e}get isGridInitialized(){return this._isGridInitialized}get instances(){return this._slickerGridInstances}get extensions(){return this._extensions}get registeredResources(){return this._registeredResources}constructor(e,t,i,s,n,o){var d,c,u;if(this._currentDatasetLength=0,this._darkMode=!1,this._collectionObservers=[],this._gridOptions={},this._hideHeaderRowAfterPageLoad=!1,this._isAutosizeColsCalled=!1,this._isDatasetInitialized=!1,this._isDatasetHierarchicalInitialized=!1,this._isGridInitialized=!1,this._isLocalGrid=!0,this._isPaginationInitialized=!1,this._registeredResources=[],this._scrollEndCalled=!1,this._slickgridInitialized=!1,this.customDataView=!1,this.totalItems=0,this.subscriptions=[],this.showPagination=!1,!e||e.querySelectorAll(".slickgrid-container").length!==0)return;e.classList.add("grid-pane"),this._gridParentContainerElm=e,this._gridContainerElm=document.createElement("div"),this._gridContainerElm.classList.add("slickgrid-container"),e.appendChild(this._gridContainerElm),this._hideHeaderRowAfterPageLoad=(i==null?void 0:i.showHeaderRow)===!1,this._columnDefinitions=t||[],this._columnDefinitions.length>0&&this.copyColumnWidthsReference(this._columnDefinitions),this._registeredResources=(i==null?void 0:i.externalResources)||[],this._gridOptions=this.mergeGridOptions(i||{});const l=!!((d=this._gridOptions)!=null&&d.enableDeepCopyDatasetOnPageLoad);this._gridOptions.darkMode&&this.setDarkMode(!0),this.universalContainerService=(o==null?void 0:o.universalContainerService)??new Vm,this.translaterService=(o==null?void 0:o.translaterService)??((c=this._gridOptions)==null?void 0:c.translater),this._eventPubSubService=(o==null?void 0:o.eventPubSubService)??new Wo(e),this._eventPubSubService.eventNamingStyle=((u=this._gridOptions)==null?void 0:u.eventNamingStyle)??at.camelCase;const a=new qp;this.backendUtilityService=(o==null?void 0:o.backendUtilityService)??new no,this.gridEventService=(o==null?void 0:o.gridEventService)??new pu,this.sharedService=(o==null?void 0:o.sharedService)??new wu,this.collectionService=(o==null?void 0:o.collectionService)??new Kl(this.translaterService),this.extensionUtility=(o==null?void 0:o.extensionUtility)??new Vc(this.sharedService,this.backendUtilityService,this.translaterService),this.filterFactory=new hu(a,this.translaterService,this.collectionService),this.filterService=(o==null?void 0:o.filterService)??new du(this.filterFactory,this._eventPubSubService,this.sharedService,this.backendUtilityService),this.resizerService=(o==null?void 0:o.resizerService)??new Eu(this._eventPubSubService),this.sortService=(o==null?void 0:o.sortService)??new Tu(this.collectionService,this.sharedService,this._eventPubSubService,this.backendUtilityService),this.treeDataService=(o==null?void 0:o.treeDataService)??new Ou(this._eventPubSubService,this.sharedService,this.sortService),this.paginationService=(o==null?void 0:o.paginationService)??new gu(this._eventPubSubService,this.sharedService,this.backendUtilityService),this.extensionService=(o==null?void 0:o.extensionService)??new Zc(this.extensionUtility,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService,this.translaterService,()=>this.gridService),this.gridStateService=(o==null?void 0:o.gridStateService)??new mu(this.extensionService,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService),this.gridService=(o==null?void 0:o.gridService)??new uu(this.gridStateService,this.filterService,this._eventPubSubService,this.paginationService,this.sharedService,this.sortService,this.treeDataService),this.headerGroupingService=(o==null?void 0:o.headerGroupingService)??new fu(this.extensionUtility),n&&(this.sharedService.hierarchicalDataset=(l?de(!0,[],n):n)||[]);const h=new pe;this.universalContainerService.registerInstance("PubSubService",this._eventPubSubService),this.universalContainerService.registerInstance("EventPubSubService",this._eventPubSubService),this.universalContainerService.registerInstance("ExtensionUtility",this.extensionUtility),this.universalContainerService.registerInstance("FilterService",this.filterService),this.universalContainerService.registerInstance("CollectionService",this.collectionService),this.universalContainerService.registerInstance("ExtensionService",this.extensionService),this.universalContainerService.registerInstance("GridEventService",this.gridEventService),this.universalContainerService.registerInstance("GridService",this.gridService),this.universalContainerService.registerInstance("GridStateService",this.gridStateService),this.universalContainerService.registerInstance("HeaderGroupingService",this.headerGroupingService),this.universalContainerService.registerInstance("PaginationService",this.paginationService),this.universalContainerService.registerInstance("ResizerService",this.resizerService),this.universalContainerService.registerInstance("SharedService",this.sharedService),this.universalContainerService.registerInstance("SortService",this.sortService),this.universalContainerService.registerInstance("TranslaterService",this.translaterService),this.universalContainerService.registerInstance("TreeDataService",this.treeDataService),this.initialization(this._gridContainerElm,h,s)}emptyGridContainerElm(){var i;const e=((i=this.gridOptions)==null?void 0:i.gridContainerId)??"grid1",t=document.querySelector(`#${e}`);ee(t)}dispose(e=!1){var t,i,s,n,o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I,A,D,M;if((t=this._eventPubSubService)==null||t.publish("onBeforeGridDestroy",this.slickGrid),(i=this._eventHandler)==null||i.unsubscribeAll(),(s=this._eventPubSubService)==null||s.publish("onAfterGridDestroyed",!0),(n=this.extensionService)==null||n.dispose(),(o=this.filterService)==null||o.dispose(),(l=this.gridEventService)==null||l.dispose(),(a=this.gridService)==null||a.dispose(),(h=this.gridStateService)==null||h.dispose(),(d=this.headerGroupingService)==null||d.dispose(),(c=this.paginationService)==null||c.dispose(),(u=this.resizerService)==null||u.dispose(),(p=this.sortService)==null||p.dispose(),(m=this.treeDataService)==null||m.dispose(),(f=this.universalContainerService)==null||f.dispose(),(_=(g=this.backendService)==null?void 0:g.dispose)==null||_.call(g),this.disposeExternalResources(),(C=this.slickFooter)==null||C.dispose(),(b=this.slickEmptyWarning)==null||b.dispose(),(S=this.paginationComponent)==null||S.dispose(),cs(this.subscriptions),(E=this._eventPubSubService)==null||E.unsubscribeAll(),(y=this.dataView)==null||y.setItems([]),typeof((x=this.dataView)==null?void 0:x.destroy)=="function"&&((O=this.dataView)==null||O.destroy()),(I=this.slickGrid)==null||I.destroy(!0),this.slickGrid=null,ee(this._gridContainerElm),ee(this._gridParentContainerElm),(A=this._gridContainerElm)==null||A.remove(),(D=this._gridParentContainerElm)==null||D.remove(),this.backendServiceApi){for(const L of Object.keys(this.backendServiceApi))this.backendServiceApi[L]=null;this.backendServiceApi=void 0}for(const L of Object.keys(this.columnDefinitions))this.columnDefinitions[L]=null;for(const L of Object.keys(this.sharedService))this.sharedService[L]=null;this.datasetHierarchical=void 0,this._columnDefinitions=[],e&&this.emptyGridContainerElm(),this._collectionObservers.forEach(L=>L==null?void 0:L.disconnect()),(M=this._eventPubSubService)==null||M.dispose(),this._slickerGridInstances=null}disposeExternalResources(){if(Array.isArray(this._registeredResources))for(;this._registeredResources.length>0;){const e=this._registeredResources.pop();e!=null&&e.dispose&&e.dispose()}this._registeredResources=[]}initialization(e,t,i){var o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I;if(this.gridOptions&&(this.gridOptions.frozenRow!==void 0&&this.gridOptions.frozenRow>=0||this.gridOptions.frozenColumn!==void 0&&this.gridOptions.frozenColumn>=0)&&this.gridOptions.enableMouseWheelScrollHandler===void 0&&(this.gridOptions.enableMouseWheelScrollHandler=!0),this._gridContainerElm=e,this._eventPubSubService.publish("onBeforeGridCreate",!0),this._isAutosizeColsCalled=!1,this._eventHandler=t,this._gridOptions=this.mergeGridOptions(this._gridOptions||{}),this.backendServiceApi=(o=this._gridOptions)==null?void 0:o.backendServiceApi,this._isLocalGrid=!this.backendServiceApi,this._eventPubSubService.eventNamingStyle=((l=this._gridOptions)==null?void 0:l.eventNamingStyle)??at.camelCase,this._paginationOptions=(a=this.gridOptions)==null?void 0:a.pagination,this._gridOptions.backendServiceApi&&!((h=this._gridOptions.backendServiceApi)!=null&&h.disableInternalPostProcess)&&this.createBackendApiInternalPostProcessCallback(this._gridOptions),!this.customDataView){const A=((c=(d=this._gridOptions)==null?void 0:d.dataView)==null?void 0:c.inlineFilters)??!1;let D={...this._gridOptions.dataView,inlineFilters:A};(this.gridOptions.draggableGrouping||this.gridOptions.enableGrouping)&&(this.groupItemMetadataProvider=new Ko,this.sharedService.groupItemMetadataProvider=this.groupItemMetadataProvider,D={...D,groupItemMetadataProvider:this.groupItemMetadataProvider}),this.dataView=new td(D,this._eventPubSubService),this._eventPubSubService.publish("onDataviewCreated",this.dataView)}this.preRegisterResources(),this._columnDefinitions=this.loadSlickGridEditors(this._columnDefinitions||[]),(u=this._gridOptions)!=null&&u.autoAddCustomEditorFormatter&&da(this._columnDefinitions,this._gridOptions.autoAddCustomEditorFormatter),this.sharedService.allColumns=this._columnDefinitions,this.sharedService.visibleColumns=this._columnDefinitions,this.extensionService.createExtensionsBeforeGridCreation(this._columnDefinitions,this._gridOptions),(p=this.gridOptions.presets)!=null&&p.pinning&&(this.gridOptions={...this.gridOptions,...this.gridOptions.presets.pinning}),this.slickGrid=new Id(e,this.dataView,this._columnDefinitions,this._gridOptions,this._eventPubSubService),this.sharedService.dataView=this.dataView,this.sharedService.slickGrid=this.slickGrid,this.sharedService.gridContainerElement=this._gridContainerElm,this.groupItemMetadataProvider&&this.slickGrid.registerPlugin(this.groupItemMetadataProvider),this.extensionService.bindDifferentExtensions(),this.bindDifferentHooks(this.slickGrid,this._gridOptions,this.dataView),this._slickgridInitialized=!0;const s=((m=this._gridOptions)==null?void 0:m.frozenColumn)??-1;s>=0&&s<=this._columnDefinitions.length&&this._columnDefinitions.length>0&&(this.sharedService.frozenVisibleColumnId=((f=this._columnDefinitions[s])==null?void 0:f.id)??""),this.registerResources(),this.slickGrid.init(),this.resizerService.init(this.slickGrid,this._gridParentContainerElm),!this.gridOptions.enablePagination&&this.gridOptions.showCustomFooter&&this.gridOptions.customFooterOptions&&(this.slickFooter=new Hm(this.slickGrid,this.gridOptions.customFooterOptions,this._eventPubSubService,this.translaterService),this.slickFooter.renderFooter(this._gridParentContainerElm)),i=i||[];const n=(g=this.gridOptions)!=null&&g.enableTreeData?this.sortTreeDataset(i):i;if(this.dataView&&(this.dataView.beginUpdate(),this.dataView.setItems(n,this._gridOptions.datasetIdPropertyName),this._currentDatasetLength=i.length,this.dataView.endUpdate()),(_=this.slickGrid)!=null&&_.getSelectionModel()&&((b=(C=this._gridOptions)==null?void 0:C.dataView)!=null&&b.hasOwnProperty("syncGridSelection"))){let A=!1;this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(A=this._gridOptions.dataView.syncGridSelectionWithBackendService);const D=this._gridOptions.dataView.syncGridSelection;if(typeof D=="boolean"){let M=D;this._isLocalGrid||(M=D&&A),(S=this.dataView)==null||S.syncGridSelection(this.slickGrid,M)}else typeof D=="object"&&((E=this.dataView)==null||E.syncGridSelection(this.slickGrid,D.preserveHidden,D.preserveHiddenOnSelectionChange))}(((y=this.dataView)==null?void 0:y.getLength())??0)>0?(!this._isDatasetInitialized&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.loadRowSelectionPresetWhenExists(),this.loadFilterPresetsWhenDatasetInitialized(),this._isDatasetInitialized=!0):this.displayEmptyDataWarning(!0),this._hideHeaderRowAfterPageLoad&&(this.showHeaderRow(!1),this.sharedService.hideHeaderRowAfterPageLoad=this._hideHeaderRowAfterPageLoad),this.gridEventService.bindOnBeforeEditCell(this.slickGrid),this.gridEventService.bindOnCellChange(this.slickGrid),this.gridEventService.bindOnClick(this.slickGrid),(x=this.gridOptions)!=null&&x.backendServiceApi&&this.bindBackendCallbackFunctions(this.gridOptions),this._eventPubSubService.publish("onGridCreated",this.slickGrid),this.customDataView||this.executeAfterDataviewCreated(this.gridOptions),this.bindResizeHook(this.slickGrid,this.gridOptions),(O=this.gridOptions)!=null&&O.enablePagination&&this._isLocalGrid&&(this.showPagination=!0,this.loadLocalGridPagination(this.dataset)),this._slickerGridInstances={dataView:this.dataView,slickGrid:this.slickGrid,dispose:this.dispose.bind(this),backendService:this.backendService,eventPubSubService:this._eventPubSubService,filterService:this.filterService,gridEventService:this.gridEventService,gridStateService:this.gridStateService,gridService:this.gridService,groupingService:this.headerGroupingService,headerGroupingService:this.headerGroupingService,extensionService:this.extensionService,extensionUtility:this.extensionUtility,paginationService:this.paginationService,resizerService:this.resizerService,sortService:this.sortService,treeDataService:this.treeDataService},this._extensions=(I=this.extensionService)==null?void 0:I.extensionList,this._eventPubSubService.publish("onSlickerGridCreated",this.instances),this._isGridInitialized=!0,this.suggestDateParsingWhenHelpful(),this.observeColumnDefinitions()}hasBackendInfiniteScroll(){var e,t;return!!((t=(e=this.backendService)==null?void 0:e.options)!=null&&t.infiniteScroll)}mergeGridOptions(e){const t=de(!0,{},Mr,e);return t.enableFiltering&&!t.showHeaderRow&&(t.showHeaderRow=t.enableFiltering),t!=null&&t.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(t.pagination.pageSizes=e.pagination.pageSizes),this.sharedService&&!t.enableFiltering&&t.enablePagination&&this._isLocalGrid&&(t.enableFiltering=!0,t.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService.hideHeaderRowAfterPageLoad=!0),t}createBackendApiInternalPostProcessCallback(e){const t=e==null?void 0:e.backendServiceApi;if(t!=null&&t.service){const i=t.service;typeof i.getDatasetName=="function"&&(t.internalPostProcess=s=>{const n=t&&i&&typeof i.getDatasetName=="function"?i.getDatasetName():"";if(s&&s.data&&s.data[n]){const o=s.data[n].hasOwnProperty("nodes")?s.data[n].nodes:s.data[n],l=s.data[n].hasOwnProperty("totalCount")?s.data[n].totalCount:s.data[n].length;this.refreshGridData(o,l||0)}})}}bindDifferentHooks(e,t,i){var s,n,o;if(t.enableTranslate&&((s=this.translaterService)!=null&&s.addPubSubMessaging)&&this.translaterService.addPubSubMessaging(this._eventPubSubService),t.enableTranslate&&this.extensionService.translateAllExtensions(),this.subscriptions.push(this._eventPubSubService.subscribe("onLanguageChange",l=>{t.enableTranslate&&(this.extensionService.translateAllExtensions(l.language),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&this.headerGroupingService.translateHeaderGrouping())})),t.backendServiceApi){const l=t.backendServiceApi;(n=l==null?void 0:l.service)!=null&&n.init&&l.service.init(l.options,t.pagination,this.slickGrid,this.sharedService)}i&&e&&(t.enableFiltering&&(this.filterService.init(e),t.backendServiceApi&&!t.backendServiceApi.useLocalFiltering?this.filterService.bindBackendOnFilter(e):this.filterService.bindLocalOnFilter(e)),t.enableSorting&&(t.backendServiceApi&&!t.backendServiceApi.useLocalSorting?this.sortService.bindBackendOnSort(e):this.sortService.bindLocalOnSort(e)),this._eventHandler.subscribe(i.onRowCountChanged,()=>{var l,a;e.invalidate(),this.handleOnItemCountChanged(((l=this.dataView)==null?void 0:l.getFilteredItemCount())||0,((a=this.dataView)==null?void 0:a.getItemCount())??0)}),this._eventHandler.subscribe(i.onSetItemsCalled,(l,a)=>{var h,d;this.sharedService.isItemsDateParsed=!1,this.handleOnItemCountChanged(((h=this.dataView)==null?void 0:h.getFilteredItemCount())||0,a.itemCount),a.itemCount>0&&(this.gridOptions.autosizeColumnsByCellContentOnFirstLoad||this.gridOptions.enableAutoResizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent(!((d=this.gridOptions)!=null&&d.resizeByContentOnlyOnFirstLoad))}),(t!=null&&t.enableFiltering||(o=t==null?void 0:t.dataView)!=null&&o.globalItemMetadataProvider)&&!t.enableRowDetailView&&this._eventHandler.subscribe(i.onRowsChanged,(l,{calledOnRowCountChanged:a,rows:h})=>{if(!a&&Array.isArray(h)){const d=e.getRenderedRange();h.filter(c=>c>=d.top&&c<=d.bottom).forEach(c=>e.updateRow(c)),e.render()}}),this._eventHandler.subscribe(e.onColumnsReordered,(l,a)=>{this.sharedService.hasColumnsReordered=!0,this.sharedService.visibleColumns=a.impactedColumns}),this._eventHandler.subscribe(e.onSetOptions,(l,a)=>{a.optionsBefore.darkMode!==a.optionsAfter.darkMode&&this.setDarkMode(a.optionsAfter.darkMode)}),this.loadColumnPresetsWhenDatasetInitialized(),this.loadFilterPresetsWhenDatasetInitialized()),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=l=>{let a=null;return t.colspanCallback&&(a=t.colspanCallback(i.getItem(l))),a})}bindBackendCallbackFunctions(e){var o,l,a,h;const t=e.backendServiceApi,i=t==null?void 0:t.service,s=(i==null?void 0:i.options)??{},n=s?s!=null&&s.hasOwnProperty("executeProcessCommandOnInit")?s.executeProcessCommandOnInit:!0:!1;if(i){if(e!=null&&e.presets){if(i.updateFilters&&Array.isArray(e.presets.filters)&&e.presets.filters.length>0&&i.updateFilters(e.presets.filters,!0),i.updateSorters&&Array.isArray(e.presets.sorters)&&e.presets.sorters.length>0){const d=(o=this._gridOptions)!=null&&o.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);i.updateSorters(void 0,d)}if(i.updatePagination&&e.presets.pagination&&!this.hasBackendInfiniteScroll()){const{pageNumber:d,pageSize:c}=e.presets.pagination;i.updatePagination(d,c)}}else{const d=this.filterService.getColumnFilters();d&&i.updateFilters&&i.updateFilters(d,!1)}if(t&&i&&(t.onInit||n)){const d=typeof i.buildQuery=="function"?i.buildQuery():"",c=n?((l=t.process)==null?void 0:l.call(t,d))??null:((a=t.onInit)==null?void 0:a.call(t,d))??null;queueMicrotask(()=>{var f,g,_;const u=this.backendUtilityService,p=new Date;t.preProcess&&t.preProcess();const m=((g=(f=this.gridOptions)==null?void 0:f.pagination)==null?void 0:g.totalItems)??0;c instanceof Promise?c.then(C=>u.executeBackendProcessesCallback(p,C,t,m)).catch(C=>u.onBackendError(C,t)):c&&((_=this.rxjs)!=null&&_.isObservable(c))&&this.subscriptions.push(c.subscribe(C=>u.executeBackendProcessesCallback(p,C,t,m),C=>u.onBackendError(C,t)))})}(h=t.service.options)!=null&&h.infiniteScroll&&this.addBackendInfiniteScrollCallback()}}addBackendInfiniteScrollCallback(){var e;if(this.slickGrid&&this.gridOptions.backendServiceApi&&this.hasBackendInfiniteScroll()&&!((e=this.gridOptions.backendServiceApi)!=null&&e.onScrollEnd)){const t=()=>{this.backendUtilityService.setInfiniteScrollBottomHit(!0),this.paginationService.goToNextPage().then(s=>{s||this.backendUtilityService.setInfiniteScrollBottomHit(!1)})};this.gridOptions.backendServiceApi.onScrollEnd=t,this._eventHandler.subscribe(this.slickGrid.onScroll,(s,n)=>{var l;const o=n.grid.getViewportNode();["mousewheel","scroll"].includes(n.triggeredBy||"")&&((l=this.paginationService)!=null&&l.totalItems)&&n.scrollTop>0&&Math.ceil(o.offsetHeight+n.scrollTop)>=n.scrollHeight&&(this._scrollEndCalled||(t(),this._scrollEndCalled=!0))});const i=this.gridOptions.backendServiceApi.postProcess;this.gridOptions.backendServiceApi.postProcess=s=>{this._scrollEndCalled=!1,i&&i(s)}}}bindResizeHook(e,t){if(t.autoFitColumnsOnFirstLoad&&t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoSizeColumns&&t.enableAutoResizeColumnsByCellContent)throw new Error('[Slickgrid-Universal] You cannot enable both autosize/fit viewport & resize by content, you must choose which resize technique to use. You can enable these 2 options ("autoFitColumnsOnFirstLoad" and "enableAutoSizeColumns") OR these other 2 options ("autosizeColumnsByCellContentOnFirstLoad" and "enableAutoResizeColumnsByCellContent").');t.gridHeight||t.gridWidth?this.resizerService.resizeGrid(0,{height:t.gridHeight,width:t.gridWidth}):this.resizerService.resizeGrid(),e&&(t!=null&&t.enableAutoResize)&&t.autoFitColumnsOnFirstLoad&&t.enableAutoSizeColumns&&!this._isAutosizeColsCalled&&(e.autosizeColumns(),this._isAutosizeColsCalled=!0)}executeAfterDataviewCreated(e){var t;if(e.enableSorting&&e.presets&&Array.isArray(e.presets.sorters)){const i=(t=this._gridOptions)!=null&&t.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);this.sortService.loadGridSorters(i)}}paginationChanged(e){var n,o;const t=((n=this.gridStateService)==null?void 0:n.needToPreserveRowSelection())??!1;this.slickGrid&&!t&&((o=this._gridOptions)!=null&&o.backendServiceApi)&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&this.slickGrid.setSelectedRows([]);const{pageNumber:i,pageSize:s}=e;this.sharedService&&s!==void 0&&i!==void 0&&(this.sharedService.currentPagination={pageNumber:i,pageSize:s}),this._eventPubSubService.publish("onGridStateChanged",{change:{newValues:{pageNumber:i,pageSize:s},type:$e.pagination},gridState:this.gridStateService.getCurrentGridState()})}refreshGridData(e,t){var i,s,n,o,l;if(this.slickGrid&&this._gridOptions){if(this._gridOptions.enableEmptyDataWarningMessage&&Array.isArray(e)){const a=t||e.length;this.displayEmptyDataWarning(a<1)}if(Array.isArray(e)&&this.slickGrid&&((i=this.dataView)!=null&&i.setItems)){if(this.dataView.setItems(e,this._gridOptions.datasetIdPropertyName),!this._gridOptions.backendServiceApi&&!this._gridOptions.enableTreeData&&this.dataView.reSort(),e.length>0&&(this._isDatasetInitialized||(this.loadFilterPresetsWhenDatasetInitialized(),this._gridOptions.enableCheckboxSelector&&this.loadRowSelectionPresetWhenExists()),this._isDatasetInitialized=!0),e&&this.slickGrid.invalidate(),this.showPagination=!!(this._gridOptions&&(this._gridOptions.enablePagination||this._gridOptions.backendServiceApi&&this._gridOptions.enablePagination===void 0)),this._paginationOptions&&((s=this._gridOptions)!=null&&s.pagination)&&((n=this._gridOptions)!=null&&n.backendServiceApi)){const a=this.setPaginationOptionsWhenPresetDefined(this._gridOptions,this._paginationOptions),h=t!==void 0?t:(l=(o=this._gridOptions)==null?void 0:o.pagination)==null?void 0:l.totalItems;h!==void 0&&h!==this.totalItems&&(this.totalItems=+h),this._isPaginationInitialized?this.paginationService.updateTotalItems(this.totalItems):this.initializePaginationService(a)}if(this.slickGrid&&this._gridOptions.enableAutoResize){const a=this._gridOptions.autoResize&&this._gridOptions.autoResize.delay;this.resizerService.resizeGrid(a||10)}}}}updateColumnDefinitionsList(e){var t,i,s;this.slickGrid&&this._gridOptions&&Array.isArray(e)&&(e=this.loadSlickGridEditors(e),this._gridOptions.autoAddCustomEditorFormatter&&da(e,this._gridOptions.autoAddCustomEditorFormatter),this._gridOptions.enableTranslate?this.extensionService.translateColumnHeaders(void 0,e):this.extensionService.renderColumnHeaders(e,!0),this.slickGrid&&((t=this._gridOptions)!=null&&t.enableAutoSizeColumns)?this.slickGrid.autosizeColumns():(i=this._gridOptions)!=null&&i.enableAutoResizeColumnsByCellContent&&((s=this.resizerService)!=null&&s.resizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent())}showHeaderRow(e=!0){var t;return(t=this.slickGrid)==null||t.setHeaderRowVisibility(e),this.slickGrid&&e===!0&&this._isGridInitialized&&this.slickGrid.setColumns(this.columnDefinitions),e}setData(e,t=!1){t&&(this._isAutosizeColsCalled=!1,this._currentDatasetLength=0),this.dataset=e||[]}setPaginationOptionsWhenPresetDefined(e,t){var i;return(i=e.presets)!=null&&i.pagination&&t&&!this._isPaginationInitialized&&(this.hasBackendInfiniteScroll()?console.warn("[Slickgrid-Universal] `presets.pagination` is not supported with Infinite Scroll, reverting to first page."):(t.pageSize=e.presets.pagination.pageSize,t.pageNumber=e.presets.pagination.pageNumber)),t}setDarkMode(e=!1){e?this._gridParentContainerElm.classList.add("slick-dark-mode"):this._gridParentContainerElm.classList.remove("slick-dark-mode")}copyColumnWidthsReference(e){e.forEach(t=>t.originalWidth=t.width)}displayEmptyDataWarning(e=!0){var t;this.gridOptions.enableEmptyDataWarningMessage&&((t=this.slickEmptyWarning)==null||t.showEmptyDataMessage(e))}handleOnItemCountChanged(e,t){var i;this._currentDatasetLength=t,this.metrics={startTime:new Date,endTime:new Date,itemCount:e,totalItemCount:t},this.slickFooter&&(this.slickFooter.metrics=this.metrics),this._isLocalGrid&&((i=this._gridOptions)!=null&&i.enableEmptyDataWarningMessage)&&this.displayEmptyDataWarning(e===0),this._gridOptions.enableAutoResize&&this.resizerService.isAutoHeightEnabled&&e>0&&this.resizerService.resizeGrid()}initializePaginationService(e){this.slickGrid&&this.gridOptions&&(this.paginationData={gridOptions:this.gridOptions,paginationService:this.paginationService},this.paginationService.totalItems=this.totalItems,this.paginationService.init(this.slickGrid,e,this.backendServiceApi),this.subscriptions.push(this._eventPubSubService.subscribe("onPaginationChanged",t=>this.paginationChanged(t)),this._eventPubSubService.subscribe("onPaginationVisibilityChanged",t=>{var i,s;this.showPagination=(t==null?void 0:t.visible)??!1,(i=this.gridOptions)!=null&&i.backendServiceApi&&((s=this.backendUtilityService)==null||s.refreshBackendDataset(this.gridOptions)),this.renderPagination(this.showPagination)})),this.renderPagination(),this._isPaginationInitialized=!0)}columnDefinitionsChanged(e){e&&(this._columnDefinitions=e),this._isGridInitialized&&this.updateColumnDefinitionsList(this.columnDefinitions),this.columnDefinitions.length>0&&this.copyColumnWidthsReference(this.columnDefinitions)}observeColumnDefinitions(){this._collectionObservers.push(ci(this.columnDefinitions,this.columnDefinitionsChanged.bind(this)))}renderPagination(e=!0){var t,i;if(this.slickGrid&&((t=this._gridOptions)!=null&&t.enablePagination)&&!this._isPaginationInitialized&&e){const s=this.gridOptions.customPaginationComponent??La;this.paginationComponent=new s,this.paginationComponent.init(this.slickGrid,this.paginationService,this._eventPubSubService,this.translaterService),this.paginationComponent.renderPagination(this._gridParentContainerElm),this._isPaginationInitialized=!0}else e||((i=this.paginationComponent)==null||i.dispose(),this._isPaginationInitialized=!1)}loadEditorCollectionAsync(e){var t;if(e!=null&&e.editor){const i=e.editor.collectionAsync;e.editor.disabled=!0,i instanceof Promise?i.then(s=>{Array.isArray(s)?this.updateEditorCollection(e,s):(s==null?void 0:s.status)>=200&&s.status<300&&typeof s.json=="function"?s.bodyUsed?console.warn("[SlickGrid-Universal] The response body passed to collectionAsync was already read.Either pass the dataset from the Response or clone the response first using response.clone()"):s.json().then(n=>this.updateEditorCollection(e,n)):s!=null&&s.content&&this.updateEditorCollection(e,s.content)}):(t=this.rxjs)!=null&&t.isObservable(i)&&queueMicrotask(()=>{this.subscriptions.push(i.subscribe(s=>this.updateEditorCollection(e,s)))})}}insertDynamicPresetColumns(e,t){if(this._columnDefinitions){const i=this._columnDefinitions.findIndex(s=>s.id===e);if(i>=0){const s=this._columnDefinitions[i];(s==null?void 0:s.id)===e&&!t.some(n=>n.id===e)&&(i>0?t.splice(i,0,s):t.unshift(s))}}}loadColumnPresetsWhenDatasetInitialized(){var e,t,i,s,n,o;if(this.slickGrid&&this.gridOptions.presets&&Array.isArray(this.gridOptions.presets.columns)&&this.gridOptions.presets.columns.length>0){const l=this.gridStateService.getAssociatedGridColumns(this.slickGrid,this.gridOptions.presets.columns);if(l&&Array.isArray(l)&&l.length>0&&Array.isArray(this._columnDefinitions)){if(this.gridOptions.enableRowMoveManager){const a=((t=(e=this.gridOptions)==null?void 0:e.rowMoveManager)==null?void 0:t.columnId)??"_move";this.insertDynamicPresetColumns(a,l)}if(this.gridOptions.enableCheckboxSelector){const a=((s=(i=this.gridOptions)==null?void 0:i.checkboxSelector)==null?void 0:s.columnId)??"_checkbox_selector";this.insertDynamicPresetColumns(a,l)}if(this.gridOptions.enableRowDetailView){const a=((o=(n=this.gridOptions)==null?void 0:n.rowDetailView)==null?void 0:o.columnId)??"_detail_selector";this.insertDynamicPresetColumns(a,l)}l.forEach(a=>a.originalWidth=a.width),this.slickGrid.setColumns(l),this.sharedService.visibleColumns=l}}}loadFilterPresetsWhenDatasetInitialized(){var e,t,i;this.gridOptions&&!this.customDataView&&this.gridOptions.presets&&(Array.isArray(this.gridOptions.presets.filters)||Array.isArray((t=(e=this.gridOptions.presets)==null?void 0:e.treeData)==null?void 0:t.toggledItems))&&this.filterService.populateColumnFilterSearchTermPresets(((i=this.gridOptions.presets)==null?void 0:i.filters)||[])}loadLocalGridPagination(e){var t;if(this.gridOptions&&this._paginationOptions){if(this.totalItems=Array.isArray(e)?e.length:0,this._paginationOptions&&((t=this.dataView)!=null&&t.getPagingInfo)){const s=this.dataView.getPagingInfo();s!=null&&s.hasOwnProperty("totalRows")&&this._paginationOptions.totalItems!==s.totalRows&&(this.totalItems=(s==null?void 0:s.totalRows)||0)}this._paginationOptions.totalItems=this.totalItems;const i=this.setPaginationOptionsWhenPresetDefined(this.gridOptions,this._paginationOptions);this.initializePaginationService(i)}}loadRowSelectionPresetWhenExists(){var s,n;const e=(s=this.gridOptions)==null?void 0:s.presets,t=(n=this.slickGrid)==null?void 0:n.getSelectionModel(),i=this.gridOptions&&(this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowSelection);if(this.slickGrid&&this.dataView&&i&&t&&(e!=null&&e.rowSelection)&&(Array.isArray(e.rowSelection.gridRowIndexes)||Array.isArray(e.rowSelection.dataContextIds))){let o=e.rowSelection.dataContextIds,l=e.rowSelection.gridRowIndexes;Array.isArray(o)&&o.length>0?l=this.dataView.mapIdsToRows(o)||[]:Array.isArray(l)&&l.length>0&&(o=this.dataView.mapRowsToIds(l)||[]),this.slickGrid&&Array.isArray(l)&&(this.slickGrid.setSelectedRows(l),this.dataView.setSelectedIds(o||[],{isRowBeingAdded:!0,shouldTriggerEvent:!1,applyRowSelectionToGrid:!0}))}}registerExternalResources(e,t=!1){t&&this.disposeExternalResources(),e.forEach(i=>this._registeredResources.push(i)),this.initializeExternalResources(e)}resetExternalResources(){this._registeredResources=[]}preRegisterResources(){if(Array.isArray(this._registeredResources))for(const e of this._registeredResources)(e==null?void 0:e.className)==="RxJsResource"&&this.registerRxJsResource(e)}initializeExternalResources(e){if(Array.isArray(e))for(const t of e)this.slickGrid&&typeof t.init=="function"&&t.init(this.slickGrid,this.universalContainerService)}registerResources(){Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.headerGroupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new Br,this._registeredResources.push(this.slickEmptyWarning),this.initializeExternalResources(this._registeredResources)}registerRxJsResource(e){this.rxjs=e,this.backendUtilityService.addRxJsResource(this.rxjs),this.filterFactory.addRxJsResource(this.rxjs),this.filterService.addRxJsResource(this.rxjs),this.sortService.addRxJsResource(this.rxjs),this.paginationService.addRxJsResource(this.rxjs),this.universalContainerService.registerInstance("RxJsFacade",this.rxjs),this.universalContainerService.registerInstance("RxJsResource",this.rxjs)}sortTreeDataset(e,t=!1){const i=this._currentDatasetLength;let s,n=[];return this._isDatasetHierarchicalInitialized&&this.datasetHierarchical?(s=this.treeDataService.sortHierarchicalDataset(this.datasetHierarchical),n=s.flat):Array.isArray(e)&&e.length>0&&(s=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(e,this._columnDefinitions||[],this.gridOptions),this.sharedService.hierarchicalDataset=s.hierarchical,n=s.flat),e.length>0&&(t||e.length!==i)&&this.filterService.refreshTreeDataFilters(n),n}loadSlickGridEditors(e){const t=Array.isArray(e)?e:[];return t.some(i=>`${i.id}`.includes("."))&&console.error('[Slickgrid-Universal] Make sure that none of your Column Definition "id" property includes a dot in its name because that will cause some problems with the Editors. For example if your column definition "field" property is "user.firstName" then use "firstName" as the column "id".'),t.map(i=>{var s,n;return(s=i.editor)!=null&&s.collectionAsync&&this.loadEditorCollectionAsync(i),{...i,editorClass:(n=i.editor)==null?void 0:n.model}})}suggestDateParsingWhenHelpful(){var e;!this.gridOptions.silenceWarnings&&this.dataView&&this.dataView.getItemCount()>Bm&&!this.gridOptions.preParseDateColumns&&((e=this.slickGrid)!=null&&e.getColumns().some(t=>It(t.type)))&&console.warn("[Slickgrid-Universal] For getting better perf, we suggest you enable the `preParseDateColumns` grid option, for more info visit => https://ghiscoding.gitbook.io/slickgrid-universal/column-functionalities/sorting#pre-parse-date-columns-for-better-perf")}updateEditorCollection(e,t){if(this.slickGrid&&e.editor){e.editor.collection=t,e.editor.disabled=!1;const i=this.slickGrid.getCellEditor();i!=null&&i.disable&&i.renderDomElement&&(typeof i.destroy=="function"&&i.destroy(),i.disable(!1),i.renderDomElement(t))}}}const zm={GridBundle:hh,Aggregators:Lr,BindingService:Cs,Editors:Nr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:re,SortComparers:ii,Utilities:Hr};typeof window<"u"&&(window.Slicker=zm);const so=document.createElement("div");so.appendChild(v("span",{className:"mdi mdi-alert text-color-warning"})),so.appendChild(v("span",{textContent:"No data to display."}));const $m={autoEdit:!0,autoCommitEdit:!0,autoFixResizeTimeout:5*60*60,autoFixResizeRequiredGoodCount:5*60*60,autoFixResizeWhenBrokenStyleDetected:!0,cellValueCouldBeUndefined:!0,contextMenu:{hideCloseButton:!1},eventNamingStyle:at.lowerCaseWithoutOnPrefix,compositeEditorOptions:{resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h",shouldPreviewMassChangeDataset:!0},datasetIdPropertyName:"Id",emptyDataWarning:{message:so},enableDeepCopyDatasetOnPageLoad:!0,enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableCellNavigation:!0,customTooltip:{tooltipTextMaxLength:650},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,mimeType:"",sanitizeDataExport:!0},filterTypingDebounce:250,formatterOptions:{thousandSeparator:","},frozenHeaderWidthCalcDifferential:2,columnPicker:{hideForceFitButton:!0},gridMenu:{commandLabels:{clearFrozenColumnsCommandKey:"UNFREEZE_COLUMNS"},hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!0,hideRefreshDatasetCommand:!0,hideClearFrozenColumnsCommand:!1,hideForceFitButton:!0},headerMenu:{hideFreezeColumnsCommand:!1,iconSortAscCommand:"mdi mdi-arrow-up",iconSortDescCommand:"mdi mdi-arrow-down"},preventDocumentFragmentUsage:!0,sanitizer:r=>typeof r=="string"?r.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;)(\/*)(script|script defer)(.*)(&gt;|&gt;">)/gi,""):r,showCustomFooter:!0,customFooterOptions:{hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,metricTexts:{itemsSelectedKey:"RECORDS_SELECTED"}},headerRowHeight:35,rowHeight:33,resizeByContentOnlyOnFirstLoad:!1,resizeByContentOptions:{formatterPaddingWidthInPx:8,maxItemToInspectCellContentWidth:500},rowMoveManager:{hideRowMoveShadow:!1},useSalesforceDefaultGridOptions:!0};class dh extends hh{constructor(e,t,i,s,n,o){super(e,t,i,s,n,o)}mergeGridOptions(e){var s;const t=e.useSalesforceDefaultGridOptions||(s=this._gridOptions)!=null&&s.useSalesforceDefaultGridOptions?$m:{},i=de(!0,{},Mr,t,e);return i.enableFiltering&&!i.showHeaderRow&&(i.showHeaderRow=i.enableFiltering),i!=null&&i.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(i.pagination.pageSizes=e.pagination.pageSizes),!i.enableFiltering&&i.enablePagination&&this._isLocalGrid&&(i.enableFiltering=!0,i.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService&&(this.sharedService.hideHeaderRowAfterPageLoad=!0)),i}registerResources(){if(this.gridOptions.enableTextExport&&this._registeredResources.push(new Nm),this.gridOptions.enableTextExport&&this._registeredResources.push(new Pm),this._registeredResources.push(new Fm),Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.headerGroupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new Br,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(e=>e instanceof Vr)||(this.slickCompositeEditor=new Vr,this._registeredResources.push(this.slickCompositeEditor))),Array.isArray(this._registeredResources))for(const e of this._registeredResources)this.slickGrid&&typeof e.init=="function"&&e.init(this.slickGrid,this.universalContainerService)}}const ch={GridBundle:dh,Aggregators:Lr,BindingService:Cs,Editors:Nr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:re,SlickGlobalEditorLock:Ui,SortComparers:ii,Utilities:Hr};typeof window<"u"&&(window.Slicker=ch),Fe.Aggregators=Lr,Fe.BindingService=Cs,Fe.Editors=Nr,Fe.Enums=vn,Fe.EventPubSubService=Wo,Fe.Filters=Zs,Fe.Formatters=_e,Fe.GroupTotalFormatters=re,Fe.SlickCompositeEditorComponent=Vr,Fe.SlickEmptyWarningComponent=Br,Fe.SlickPaginationComponent=La,Fe.Slicker=ch,Fe.SortComparers=ii,Fe.Utilities=Hr,Fe.VanillaForceGridBundle=dh,Object.defineProperty(Fe,Symbol.toStringTag,{value:"Module"})});
33
+ `)),i.appendChild(v("span",{className:"last-update-timestamp",textContent:t})),i.appendChild(v("span",{className:"separator",textContent:` ${this.customFooterOptions.metricSeparator||""} `})),i}registerOnSelectedRowsChangedWhenEnabled(e){var i,s;if((this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowSelection)&&e&&!e.hideRowSelectionCount&&this._isLeftFooterOriginallyEmpty){this._isLeftFooterDisplayingSelectionRowCount=!0;const n=((i=e.metricTexts)==null?void 0:i.itemsSelected)??((s=this.locales)==null?void 0:s.TEXT_ITEMS_SELECTED)??"TEXT_ITEMS_SELECTED";e.leftFooterText=`0 ${n}`,this._eventHandler.subscribe(this.grid.onSelectedRowsChanged,(o,l)=>{var h,d;this._selectedRowCount=l.rows.length;const a=((h=e.metricTexts)==null?void 0:h.itemsSelected)??((d=this.locales)==null?void 0:d.TEXT_ITEMS_SELECTED)??"TEXT_ITEMS_SELECTED";this.leftFooterText=`${this._selectedRowCount} ${a}`})}}}class Vm{constructor(){this.dependencies=[]}get(e){const t=this.dependencies.find(i=>i.key===e);return t!=null&&t.instance?t.instance:null}dispose(){this.dependencies=[]}registerInstance(e,t){this.dependencies.some(s=>s.key===e)||this.dependencies.push({key:e,instance:t})}}const Bm=1e4;class hh{get backendService(){var e;return(e=this.gridOptions.backendServiceApi)==null?void 0:e.service}get eventHandler(){return this._eventHandler}get columnDefinitions(){return this._columnDefinitions||[]}set columnDefinitions(e){this.columnDefinitionsChanged(e)}get dataset(){var e;return((e=this.dataView)==null?void 0:e.getItems())||[]}set dataset(e){var o,l;const t=this._currentDatasetLength,i=pt(e,this.dataset||[]);let n=!!((o=this._gridOptions)!=null&&o.enableDeepCopyDatasetOnPageLoad)?de(!0,[],e):e;this.slickGrid&&((l=this.gridOptions)!=null&&l.enableTreeData)&&Array.isArray(e)&&(e.length>0||e.length!==t||!i)&&(this._isDatasetHierarchicalInitialized=!1,n=this.sortTreeDataset(e,!i)),this.refreshGridData(n||[]),this._currentDatasetLength=(e||[]).length,this.slickGrid&&this.gridOptions.autoFitColumnsOnFirstLoad&&t===0&&!this._isAutosizeColsCalled&&(this.slickGrid.autosizeColumns(),this._isAutosizeColsCalled=!0),this.suggestDateParsingWhenHelpful()}get datasetHierarchical(){return this.sharedService.hierarchicalDataset}set datasetHierarchical(e){var s,n;const t=pt(e,this.sharedService.hierarchicalDataset||[]),i=this._currentDatasetLength;this.sharedService.hierarchicalDataset=e,e&&this.columnDefinitions&&((s=this.filterService)!=null&&s.clearFilters)&&this.filterService.clearFilters(),this.dataView&&e&&this.slickGrid&&((n=this.sortService)!=null&&n.processTreeDataInitialSort)&&(this.sortService.processTreeDataInitialSort(),queueMicrotask(()=>{var l;const o=((l=this.dataView)==null?void 0:l.getItemCount())??0;o>0&&(o!==i||!t)&&this.filterService.refreshTreeDataFilters()})),this._isDatasetHierarchicalInitialized=!0}set eventPubSubService(e){this._eventPubSubService=e}set isDatasetHierarchicalInitialized(e){this._isDatasetHierarchicalInitialized=e}get gridOptions(){return this._gridOptions||{}}set gridOptions(e){var i,s,n;e??(e={});let t;(i=this.slickGrid)!=null&&i.getOptions?t=de(!0,{},this.slickGrid.getOptions(),e):t=this.mergeGridOptions(e),(s=this.sharedService)!=null&&s.gridOptions&&((n=this.slickGrid)!=null&&n.setOptions)&&(this.sharedService.gridOptions=t,this.slickGrid.setOptions(t,!1,!0),this.slickGrid.reRenderColumns(!0)),this.setDarkMode(e.darkMode),this._gridOptions=t}get paginationOptions(){return this._paginationOptions}set paginationOptions(e){e&&this._paginationOptions?this._paginationOptions={...this._paginationOptions,...e}:this._paginationOptions=e,this.gridOptions.pagination=this._paginationOptions,this.paginationService.updateTotalItems((e==null?void 0:e.totalItems)??0,!0)}get isDatasetInitialized(){return this._isDatasetInitialized}set isDatasetInitialized(e){this._isDatasetInitialized=e}get isGridInitialized(){return this._isGridInitialized}get instances(){return this._slickerGridInstances}get extensions(){return this._extensions}get registeredResources(){return this._registeredResources}constructor(e,t,i,s,n,o){var d,c,u;if(this._currentDatasetLength=0,this._darkMode=!1,this._collectionObservers=[],this._gridOptions={},this._hideHeaderRowAfterPageLoad=!1,this._isAutosizeColsCalled=!1,this._isDatasetInitialized=!1,this._isDatasetHierarchicalInitialized=!1,this._isGridInitialized=!1,this._isLocalGrid=!0,this._isPaginationInitialized=!1,this._registeredResources=[],this._scrollEndCalled=!1,this._slickgridInitialized=!1,this.customDataView=!1,this.totalItems=0,this.subscriptions=[],this.showPagination=!1,!e||e.querySelectorAll(".slickgrid-container").length!==0)return;e.classList.add("grid-pane"),this._gridParentContainerElm=e,this._gridContainerElm=document.createElement("div"),this._gridContainerElm.classList.add("slickgrid-container"),e.appendChild(this._gridContainerElm),this._hideHeaderRowAfterPageLoad=(i==null?void 0:i.showHeaderRow)===!1,this._columnDefinitions=t||[],this._columnDefinitions.length>0&&this.copyColumnWidthsReference(this._columnDefinitions),this._registeredResources=(i==null?void 0:i.externalResources)||[],this._gridOptions=this.mergeGridOptions(i||{});const l=!!((d=this._gridOptions)!=null&&d.enableDeepCopyDatasetOnPageLoad);this._gridOptions.darkMode&&this.setDarkMode(!0),this.universalContainerService=(o==null?void 0:o.universalContainerService)??new Vm,this.translaterService=(o==null?void 0:o.translaterService)??((c=this._gridOptions)==null?void 0:c.translater),this._eventPubSubService=(o==null?void 0:o.eventPubSubService)??new Wo(e),this._eventPubSubService.eventNamingStyle=((u=this._gridOptions)==null?void 0:u.eventNamingStyle)??at.camelCase;const a=new qp;this.backendUtilityService=(o==null?void 0:o.backendUtilityService)??new no,this.gridEventService=(o==null?void 0:o.gridEventService)??new pu,this.sharedService=(o==null?void 0:o.sharedService)??new wu,this.collectionService=(o==null?void 0:o.collectionService)??new Kl(this.translaterService),this.extensionUtility=(o==null?void 0:o.extensionUtility)??new Vc(this.sharedService,this.backendUtilityService,this.translaterService),this.filterFactory=new hu(a,this.translaterService,this.collectionService),this.filterService=(o==null?void 0:o.filterService)??new du(this.filterFactory,this._eventPubSubService,this.sharedService,this.backendUtilityService),this.resizerService=(o==null?void 0:o.resizerService)??new Eu(this._eventPubSubService),this.sortService=(o==null?void 0:o.sortService)??new Tu(this.collectionService,this.sharedService,this._eventPubSubService,this.backendUtilityService),this.treeDataService=(o==null?void 0:o.treeDataService)??new Ou(this._eventPubSubService,this.sharedService,this.sortService),this.paginationService=(o==null?void 0:o.paginationService)??new gu(this._eventPubSubService,this.sharedService,this.backendUtilityService),this.extensionService=(o==null?void 0:o.extensionService)??new Zc(this.extensionUtility,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService,this.translaterService,()=>this.gridService),this.gridStateService=(o==null?void 0:o.gridStateService)??new mu(this.extensionService,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService),this.gridService=(o==null?void 0:o.gridService)??new uu(this.gridStateService,this.filterService,this._eventPubSubService,this.paginationService,this.sharedService,this.sortService,this.treeDataService),this.headerGroupingService=(o==null?void 0:o.headerGroupingService)??new fu(this.extensionUtility),n&&(this.sharedService.hierarchicalDataset=(l?de(!0,[],n):n)||[]);const h=new pe;this.universalContainerService.registerInstance("PubSubService",this._eventPubSubService),this.universalContainerService.registerInstance("EventPubSubService",this._eventPubSubService),this.universalContainerService.registerInstance("ExtensionUtility",this.extensionUtility),this.universalContainerService.registerInstance("FilterService",this.filterService),this.universalContainerService.registerInstance("CollectionService",this.collectionService),this.universalContainerService.registerInstance("ExtensionService",this.extensionService),this.universalContainerService.registerInstance("GridEventService",this.gridEventService),this.universalContainerService.registerInstance("GridService",this.gridService),this.universalContainerService.registerInstance("GridStateService",this.gridStateService),this.universalContainerService.registerInstance("HeaderGroupingService",this.headerGroupingService),this.universalContainerService.registerInstance("PaginationService",this.paginationService),this.universalContainerService.registerInstance("ResizerService",this.resizerService),this.universalContainerService.registerInstance("SharedService",this.sharedService),this.universalContainerService.registerInstance("SortService",this.sortService),this.universalContainerService.registerInstance("TranslaterService",this.translaterService),this.universalContainerService.registerInstance("TreeDataService",this.treeDataService),this.initialization(this._gridContainerElm,h,s)}emptyGridContainerElm(){var i;const e=((i=this.gridOptions)==null?void 0:i.gridContainerId)??"grid1",t=document.querySelector(`#${e}`);ee(t)}dispose(e=!1){var t,i,s,n,o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I,A,D,L;if((t=this._eventPubSubService)==null||t.publish("onBeforeGridDestroy",this.slickGrid),(i=this._eventHandler)==null||i.unsubscribeAll(),(s=this._eventPubSubService)==null||s.publish("onAfterGridDestroyed",!0),(n=this.extensionService)==null||n.dispose(),(o=this.filterService)==null||o.dispose(),(l=this.gridEventService)==null||l.dispose(),(a=this.gridService)==null||a.dispose(),(h=this.gridStateService)==null||h.dispose(),(d=this.headerGroupingService)==null||d.dispose(),(c=this.paginationService)==null||c.dispose(),(u=this.resizerService)==null||u.dispose(),(p=this.sortService)==null||p.dispose(),(m=this.treeDataService)==null||m.dispose(),(f=this.universalContainerService)==null||f.dispose(),(_=(g=this.backendService)==null?void 0:g.dispose)==null||_.call(g),this.disposeExternalResources(),(C=this.slickFooter)==null||C.dispose(),(b=this.slickEmptyWarning)==null||b.dispose(),(S=this.paginationComponent)==null||S.dispose(),cs(this.subscriptions),(E=this._eventPubSubService)==null||E.unsubscribeAll(),(y=this.dataView)==null||y.setItems([]),typeof((x=this.dataView)==null?void 0:x.destroy)=="function"&&((O=this.dataView)==null||O.destroy()),(I=this.slickGrid)==null||I.destroy(!0),this.slickGrid=null,ee(this._gridContainerElm),ee(this._gridParentContainerElm),(A=this._gridContainerElm)==null||A.remove(),(D=this._gridParentContainerElm)==null||D.remove(),this.backendServiceApi){for(const M of Object.keys(this.backendServiceApi))this.backendServiceApi[M]=null;this.backendServiceApi=void 0}for(const M of Object.keys(this.columnDefinitions))this.columnDefinitions[M]=null;for(const M of Object.keys(this.sharedService))this.sharedService[M]=null;this.datasetHierarchical=void 0,this._columnDefinitions=[],e&&this.emptyGridContainerElm(),this._collectionObservers.forEach(M=>M==null?void 0:M.disconnect()),(L=this._eventPubSubService)==null||L.dispose(),this._slickerGridInstances=null}disposeExternalResources(){if(Array.isArray(this._registeredResources))for(;this._registeredResources.length>0;){const e=this._registeredResources.pop();e!=null&&e.dispose&&e.dispose()}this._registeredResources=[]}initialization(e,t,i){var o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I;if(this.gridOptions&&(this.gridOptions.frozenRow!==void 0&&this.gridOptions.frozenRow>=0||this.gridOptions.frozenColumn!==void 0&&this.gridOptions.frozenColumn>=0)&&this.gridOptions.enableMouseWheelScrollHandler===void 0&&(this.gridOptions.enableMouseWheelScrollHandler=!0),this._gridContainerElm=e,this._eventPubSubService.publish("onBeforeGridCreate",!0),this._isAutosizeColsCalled=!1,this._eventHandler=t,this._gridOptions=this.mergeGridOptions(this._gridOptions||{}),this.backendServiceApi=(o=this._gridOptions)==null?void 0:o.backendServiceApi,this._isLocalGrid=!this.backendServiceApi,this._eventPubSubService.eventNamingStyle=((l=this._gridOptions)==null?void 0:l.eventNamingStyle)??at.camelCase,this._paginationOptions=(a=this.gridOptions)==null?void 0:a.pagination,this._gridOptions.backendServiceApi&&!((h=this._gridOptions.backendServiceApi)!=null&&h.disableInternalPostProcess)&&this.createBackendApiInternalPostProcessCallback(this._gridOptions),!this.customDataView){const A=((c=(d=this._gridOptions)==null?void 0:d.dataView)==null?void 0:c.inlineFilters)??!1;let D={...this._gridOptions.dataView,inlineFilters:A};(this.gridOptions.draggableGrouping||this.gridOptions.enableGrouping)&&(this.groupItemMetadataProvider=new Ko,this.sharedService.groupItemMetadataProvider=this.groupItemMetadataProvider,D={...D,groupItemMetadataProvider:this.groupItemMetadataProvider}),this.dataView=new td(D,this._eventPubSubService),this._eventPubSubService.publish("onDataviewCreated",this.dataView)}this.preRegisterResources(),this._columnDefinitions=this.loadSlickGridEditors(this._columnDefinitions||[]),(u=this._gridOptions)!=null&&u.autoAddCustomEditorFormatter&&da(this._columnDefinitions,this._gridOptions.autoAddCustomEditorFormatter),this.sharedService.allColumns=this._columnDefinitions,this.sharedService.visibleColumns=this._columnDefinitions,this.extensionService.createExtensionsBeforeGridCreation(this._columnDefinitions,this._gridOptions),(p=this.gridOptions.presets)!=null&&p.pinning&&(this.gridOptions={...this.gridOptions,...this.gridOptions.presets.pinning}),this.slickGrid=new Id(e,this.dataView,this._columnDefinitions,this._gridOptions,this._eventPubSubService),this.sharedService.dataView=this.dataView,this.sharedService.slickGrid=this.slickGrid,this.sharedService.gridContainerElement=this._gridContainerElm,this.groupItemMetadataProvider&&this.slickGrid.registerPlugin(this.groupItemMetadataProvider),this.extensionService.bindDifferentExtensions(),this.bindDifferentHooks(this.slickGrid,this._gridOptions,this.dataView),this._slickgridInitialized=!0;const s=((m=this._gridOptions)==null?void 0:m.frozenColumn)??-1;s>=0&&s<=this._columnDefinitions.length&&this._columnDefinitions.length>0&&(this.sharedService.frozenVisibleColumnId=((f=this._columnDefinitions[s])==null?void 0:f.id)??""),this.registerResources(),this.slickGrid.init(),this.resizerService.init(this.slickGrid,this._gridParentContainerElm),!this.gridOptions.enablePagination&&this.gridOptions.showCustomFooter&&this.gridOptions.customFooterOptions&&(this.slickFooter=new Hm(this.slickGrid,this.gridOptions.customFooterOptions,this._eventPubSubService,this.translaterService),this.slickFooter.renderFooter(this._gridParentContainerElm)),i=i||[];const n=(g=this.gridOptions)!=null&&g.enableTreeData?this.sortTreeDataset(i):i;if(this.dataView&&(this.dataView.beginUpdate(),this.dataView.setItems(n,this._gridOptions.datasetIdPropertyName),this._currentDatasetLength=i.length,this.dataView.endUpdate()),(_=this.slickGrid)!=null&&_.getSelectionModel()&&((b=(C=this._gridOptions)==null?void 0:C.dataView)!=null&&b.hasOwnProperty("syncGridSelection"))){let A=!1;this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(A=this._gridOptions.dataView.syncGridSelectionWithBackendService);const D=this._gridOptions.dataView.syncGridSelection;if(typeof D=="boolean"){let L=D;this._isLocalGrid||(L=D&&A),(S=this.dataView)==null||S.syncGridSelection(this.slickGrid,L)}else typeof D=="object"&&((E=this.dataView)==null||E.syncGridSelection(this.slickGrid,D.preserveHidden,D.preserveHiddenOnSelectionChange))}(((y=this.dataView)==null?void 0:y.getLength())??0)>0?(!this._isDatasetInitialized&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.loadRowSelectionPresetWhenExists(),this.loadFilterPresetsWhenDatasetInitialized(),this._isDatasetInitialized=!0):this.displayEmptyDataWarning(!0),this._hideHeaderRowAfterPageLoad&&(this.showHeaderRow(!1),this.sharedService.hideHeaderRowAfterPageLoad=this._hideHeaderRowAfterPageLoad),this.gridEventService.bindOnBeforeEditCell(this.slickGrid),this.gridEventService.bindOnCellChange(this.slickGrid),this.gridEventService.bindOnClick(this.slickGrid),(x=this.gridOptions)!=null&&x.backendServiceApi&&this.bindBackendCallbackFunctions(this.gridOptions),this._eventPubSubService.publish("onGridCreated",this.slickGrid),this.customDataView||this.executeAfterDataviewCreated(this.gridOptions),this.bindResizeHook(this.slickGrid,this.gridOptions),(O=this.gridOptions)!=null&&O.enablePagination&&this._isLocalGrid&&(this.showPagination=!0,this.loadLocalGridPagination(this.dataset)),this._slickerGridInstances={dataView:this.dataView,slickGrid:this.slickGrid,dispose:this.dispose.bind(this),backendService:this.backendService,eventPubSubService:this._eventPubSubService,filterService:this.filterService,gridEventService:this.gridEventService,gridStateService:this.gridStateService,gridService:this.gridService,groupingService:this.headerGroupingService,headerGroupingService:this.headerGroupingService,extensionService:this.extensionService,extensionUtility:this.extensionUtility,paginationService:this.paginationService,resizerService:this.resizerService,sortService:this.sortService,treeDataService:this.treeDataService},this._extensions=(I=this.extensionService)==null?void 0:I.extensionList,this._eventPubSubService.publish("onSlickerGridCreated",this.instances),this._isGridInitialized=!0,this.suggestDateParsingWhenHelpful(),this.observeColumnDefinitions()}hasBackendInfiniteScroll(){var e,t;return!!((t=(e=this.backendService)==null?void 0:e.options)!=null&&t.infiniteScroll)}mergeGridOptions(e){const t=de(!0,{},Mr,e);return t.enableFiltering&&!t.showHeaderRow&&(t.showHeaderRow=t.enableFiltering),t!=null&&t.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(t.pagination.pageSizes=e.pagination.pageSizes),this.sharedService&&!t.enableFiltering&&t.enablePagination&&this._isLocalGrid&&(t.enableFiltering=!0,t.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService.hideHeaderRowAfterPageLoad=!0),t}createBackendApiInternalPostProcessCallback(e){const t=e==null?void 0:e.backendServiceApi;if(t!=null&&t.service){const i=t.service;typeof i.getDatasetName=="function"&&(t.internalPostProcess=s=>{const n=t&&i&&typeof i.getDatasetName=="function"?i.getDatasetName():"";if(s&&s.data&&s.data[n]){const o=s.data[n].hasOwnProperty("nodes")?s.data[n].nodes:s.data[n],l=s.data[n].hasOwnProperty("totalCount")?s.data[n].totalCount:s.data[n].length;this.refreshGridData(o,l||0)}})}}bindDifferentHooks(e,t,i){var s,n,o;if(t.enableTranslate&&((s=this.translaterService)!=null&&s.addPubSubMessaging)&&this.translaterService.addPubSubMessaging(this._eventPubSubService),t.enableTranslate&&this.extensionService.translateAllExtensions(),this.subscriptions.push(this._eventPubSubService.subscribe("onLanguageChange",l=>{t.enableTranslate&&(this.extensionService.translateAllExtensions(l.language),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&this.headerGroupingService.translateHeaderGrouping())})),t.backendServiceApi){const l=t.backendServiceApi;(n=l==null?void 0:l.service)!=null&&n.init&&l.service.init(l.options,t.pagination,this.slickGrid,this.sharedService)}i&&e&&(t.enableFiltering&&(this.filterService.init(e),t.backendServiceApi&&!t.backendServiceApi.useLocalFiltering?this.filterService.bindBackendOnFilter(e):this.filterService.bindLocalOnFilter(e)),t.enableSorting&&(t.backendServiceApi&&!t.backendServiceApi.useLocalSorting?this.sortService.bindBackendOnSort(e):this.sortService.bindLocalOnSort(e)),this._eventHandler.subscribe(i.onRowCountChanged,(l,a)=>{var h,d;!t.enableRowDetailView||!Array.isArray(a.changedRows)||a.changedRows.length===a.itemCount?e.invalidate():(e.invalidateRows(a.changedRows),e.render()),this.handleOnItemCountChanged(((h=this.dataView)==null?void 0:h.getFilteredItemCount())||0,((d=this.dataView)==null?void 0:d.getItemCount())??0)}),this._eventHandler.subscribe(i.onSetItemsCalled,(l,a)=>{var h;this.sharedService.isItemsDateParsed=!1,this.handleOnItemCountChanged(((h=this.dataView)==null?void 0:h.getFilteredItemCount())||0,a.itemCount),a.itemCount>0&&(t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoResizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent(!(t!=null&&t.resizeByContentOnlyOnFirstLoad))}),(t!=null&&t.enableFiltering||(o=t==null?void 0:t.dataView)!=null&&o.globalItemMetadataProvider)&&!t.enableRowDetailView&&this._eventHandler.subscribe(i.onRowsChanged,(l,{calledOnRowCountChanged:a,rows:h})=>{if(!a&&Array.isArray(h)){const d=e.getRenderedRange();h.filter(c=>c>=d.top&&c<=d.bottom).forEach(c=>e.updateRow(c)),e.render()}}),this._eventHandler.subscribe(e.onColumnsReordered,(l,a)=>{this.sharedService.hasColumnsReordered=!0,this.sharedService.visibleColumns=a.impactedColumns}),this._eventHandler.subscribe(e.onSetOptions,(l,a)=>{a.optionsBefore.darkMode!==a.optionsAfter.darkMode&&this.setDarkMode(a.optionsAfter.darkMode)}),this.loadColumnPresetsWhenDatasetInitialized(),this.loadFilterPresetsWhenDatasetInitialized()),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=l=>{let a=null;return t.colspanCallback&&(a=t.colspanCallback(i.getItem(l))),a})}bindBackendCallbackFunctions(e){var o,l,a,h;const t=e.backendServiceApi,i=t==null?void 0:t.service,s=(i==null?void 0:i.options)??{},n=s?s!=null&&s.hasOwnProperty("executeProcessCommandOnInit")?s.executeProcessCommandOnInit:!0:!1;if(i){if(e!=null&&e.presets){if(i.updateFilters&&Array.isArray(e.presets.filters)&&e.presets.filters.length>0&&i.updateFilters(e.presets.filters,!0),i.updateSorters&&Array.isArray(e.presets.sorters)&&e.presets.sorters.length>0){const d=(o=this._gridOptions)!=null&&o.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);i.updateSorters(void 0,d)}if(i.updatePagination&&e.presets.pagination&&!this.hasBackendInfiniteScroll()){const{pageNumber:d,pageSize:c}=e.presets.pagination;i.updatePagination(d,c)}}else{const d=this.filterService.getColumnFilters();d&&i.updateFilters&&i.updateFilters(d,!1)}if(t&&i&&(t.onInit||n)){const d=typeof i.buildQuery=="function"?i.buildQuery():"",c=n?((l=t.process)==null?void 0:l.call(t,d))??null:((a=t.onInit)==null?void 0:a.call(t,d))??null;queueMicrotask(()=>{var f,g,_;const u=this.backendUtilityService,p=new Date;t.preProcess&&t.preProcess();const m=((g=(f=this.gridOptions)==null?void 0:f.pagination)==null?void 0:g.totalItems)??0;c instanceof Promise?c.then(C=>u.executeBackendProcessesCallback(p,C,t,m)).catch(C=>u.onBackendError(C,t)):c&&((_=this.rxjs)!=null&&_.isObservable(c))&&this.subscriptions.push(c.subscribe(C=>u.executeBackendProcessesCallback(p,C,t,m),C=>u.onBackendError(C,t)))})}(h=t.service.options)!=null&&h.infiniteScroll&&this.addBackendInfiniteScrollCallback()}}addBackendInfiniteScrollCallback(){var e;if(this.slickGrid&&this.gridOptions.backendServiceApi&&this.hasBackendInfiniteScroll()&&!((e=this.gridOptions.backendServiceApi)!=null&&e.onScrollEnd)){const t=()=>{this.backendUtilityService.setInfiniteScrollBottomHit(!0),this.paginationService.goToNextPage().then(s=>{s||this.backendUtilityService.setInfiniteScrollBottomHit(!1)})};this.gridOptions.backendServiceApi.onScrollEnd=t,this._eventHandler.subscribe(this.slickGrid.onScroll,(s,n)=>{var l;const o=n.grid.getViewportNode();["mousewheel","scroll"].includes(n.triggeredBy||"")&&((l=this.paginationService)!=null&&l.totalItems)&&n.scrollTop>0&&Math.ceil(o.offsetHeight+n.scrollTop)>=n.scrollHeight&&(this._scrollEndCalled||(t(),this._scrollEndCalled=!0))});const i=this.gridOptions.backendServiceApi.postProcess;this.gridOptions.backendServiceApi.postProcess=s=>{this._scrollEndCalled=!1,i&&i(s)}}}bindResizeHook(e,t){if(t.autoFitColumnsOnFirstLoad&&t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoSizeColumns&&t.enableAutoResizeColumnsByCellContent)throw new Error('[Slickgrid-Universal] You cannot enable both autosize/fit viewport & resize by content, you must choose which resize technique to use. You can enable these 2 options ("autoFitColumnsOnFirstLoad" and "enableAutoSizeColumns") OR these other 2 options ("autosizeColumnsByCellContentOnFirstLoad" and "enableAutoResizeColumnsByCellContent").');t.gridHeight||t.gridWidth?this.resizerService.resizeGrid(0,{height:t.gridHeight,width:t.gridWidth}):this.resizerService.resizeGrid(),e&&(t!=null&&t.enableAutoResize)&&t.autoFitColumnsOnFirstLoad&&t.enableAutoSizeColumns&&!this._isAutosizeColsCalled&&(e.autosizeColumns(),this._isAutosizeColsCalled=!0)}executeAfterDataviewCreated(e){var t;if(e.enableSorting&&e.presets&&Array.isArray(e.presets.sorters)){const i=(t=this._gridOptions)!=null&&t.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);this.sortService.loadGridSorters(i)}}paginationChanged(e){var n,o;const t=((n=this.gridStateService)==null?void 0:n.needToPreserveRowSelection())??!1;this.slickGrid&&!t&&((o=this._gridOptions)!=null&&o.backendServiceApi)&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&this.slickGrid.setSelectedRows([]);const{pageNumber:i,pageSize:s}=e;this.sharedService&&s!==void 0&&i!==void 0&&(this.sharedService.currentPagination={pageNumber:i,pageSize:s}),this._eventPubSubService.publish("onGridStateChanged",{change:{newValues:{pageNumber:i,pageSize:s},type:$e.pagination},gridState:this.gridStateService.getCurrentGridState()})}refreshGridData(e,t){var i,s,n,o,l;if(this.slickGrid&&this._gridOptions){if(this._gridOptions.enableEmptyDataWarningMessage&&Array.isArray(e)){const a=t||e.length;this.displayEmptyDataWarning(a<1)}if(Array.isArray(e)&&this.slickGrid&&((i=this.dataView)!=null&&i.setItems)){if(this.dataView.setItems(e,this._gridOptions.datasetIdPropertyName),!this._gridOptions.backendServiceApi&&!this._gridOptions.enableTreeData&&this.dataView.reSort(),e.length>0&&(this._isDatasetInitialized||(this.loadFilterPresetsWhenDatasetInitialized(),this._gridOptions.enableCheckboxSelector&&this.loadRowSelectionPresetWhenExists()),this._isDatasetInitialized=!0),e&&this.slickGrid.invalidate(),this.showPagination=!!(this._gridOptions&&(this._gridOptions.enablePagination||this._gridOptions.backendServiceApi&&this._gridOptions.enablePagination===void 0)),this._paginationOptions&&((s=this._gridOptions)!=null&&s.pagination)&&((n=this._gridOptions)!=null&&n.backendServiceApi)){const a=this.setPaginationOptionsWhenPresetDefined(this._gridOptions,this._paginationOptions),h=t!==void 0?t:(l=(o=this._gridOptions)==null?void 0:o.pagination)==null?void 0:l.totalItems;h!==void 0&&h!==this.totalItems&&(this.totalItems=+h),this._isPaginationInitialized?this.paginationService.updateTotalItems(this.totalItems):this.initializePaginationService(a)}if(this.slickGrid&&this._gridOptions.enableAutoResize){const a=this._gridOptions.autoResize&&this._gridOptions.autoResize.delay;this.resizerService.resizeGrid(a||10)}}}}updateColumnDefinitionsList(e){var t,i,s;this.slickGrid&&this._gridOptions&&Array.isArray(e)&&(e=this.loadSlickGridEditors(e),this._gridOptions.autoAddCustomEditorFormatter&&da(e,this._gridOptions.autoAddCustomEditorFormatter),this._gridOptions.enableTranslate?this.extensionService.translateColumnHeaders(void 0,e):this.extensionService.renderColumnHeaders(e,!0),this.slickGrid&&((t=this._gridOptions)!=null&&t.enableAutoSizeColumns)?this.slickGrid.autosizeColumns():(i=this._gridOptions)!=null&&i.enableAutoResizeColumnsByCellContent&&((s=this.resizerService)!=null&&s.resizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent())}showHeaderRow(e=!0){var t;return(t=this.slickGrid)==null||t.setHeaderRowVisibility(e),this.slickGrid&&e===!0&&this._isGridInitialized&&this.slickGrid.setColumns(this.columnDefinitions),e}setData(e,t=!1){t&&(this._isAutosizeColsCalled=!1,this._currentDatasetLength=0),this.dataset=e||[]}setPaginationOptionsWhenPresetDefined(e,t){var i;return(i=e.presets)!=null&&i.pagination&&t&&!this._isPaginationInitialized&&(this.hasBackendInfiniteScroll()?console.warn("[Slickgrid-Universal] `presets.pagination` is not supported with Infinite Scroll, reverting to first page."):(t.pageSize=e.presets.pagination.pageSize,t.pageNumber=e.presets.pagination.pageNumber)),t}setDarkMode(e=!1){e?this._gridParentContainerElm.classList.add("slick-dark-mode"):this._gridParentContainerElm.classList.remove("slick-dark-mode")}copyColumnWidthsReference(e){e.forEach(t=>t.originalWidth=t.width)}displayEmptyDataWarning(e=!0){var t;this.gridOptions.enableEmptyDataWarningMessage&&((t=this.slickEmptyWarning)==null||t.showEmptyDataMessage(e))}handleOnItemCountChanged(e,t){var i;this._currentDatasetLength=t,this.metrics={startTime:new Date,endTime:new Date,itemCount:e,totalItemCount:t},this.slickFooter&&(this.slickFooter.metrics=this.metrics),this._isLocalGrid&&((i=this._gridOptions)!=null&&i.enableEmptyDataWarningMessage)&&this.displayEmptyDataWarning(e===0),this._gridOptions.enableAutoResize&&this.resizerService.isAutoHeightEnabled&&e>0&&this.resizerService.resizeGrid()}initializePaginationService(e){this.slickGrid&&this.gridOptions&&(this.paginationData={gridOptions:this.gridOptions,paginationService:this.paginationService},this.paginationService.totalItems=this.totalItems,this.paginationService.init(this.slickGrid,e,this.backendServiceApi),this.subscriptions.push(this._eventPubSubService.subscribe("onPaginationChanged",t=>this.paginationChanged(t)),this._eventPubSubService.subscribe("onPaginationVisibilityChanged",t=>{var i,s;this.showPagination=(t==null?void 0:t.visible)??!1,(i=this.gridOptions)!=null&&i.backendServiceApi&&((s=this.backendUtilityService)==null||s.refreshBackendDataset(this.gridOptions)),this.renderPagination(this.showPagination)})),this.renderPagination(),this._isPaginationInitialized=!0)}columnDefinitionsChanged(e){e&&(this._columnDefinitions=e),this._isGridInitialized&&this.updateColumnDefinitionsList(this.columnDefinitions),this.columnDefinitions.length>0&&this.copyColumnWidthsReference(this.columnDefinitions)}observeColumnDefinitions(){this._collectionObservers.push(ci(this.columnDefinitions,this.columnDefinitionsChanged.bind(this)))}renderPagination(e=!0){var t,i;if(this.slickGrid&&((t=this._gridOptions)!=null&&t.enablePagination)&&!this._isPaginationInitialized&&e){const s=this.gridOptions.customPaginationComponent??La;this.paginationComponent=new s,this.paginationComponent.init(this.slickGrid,this.paginationService,this._eventPubSubService,this.translaterService),this.paginationComponent.renderPagination(this._gridParentContainerElm),this._isPaginationInitialized=!0}else e||((i=this.paginationComponent)==null||i.dispose(),this._isPaginationInitialized=!1)}loadEditorCollectionAsync(e){var t;if(e!=null&&e.editor){const i=e.editor.collectionAsync;e.editor.disabled=!0,i instanceof Promise?i.then(s=>{Array.isArray(s)?this.updateEditorCollection(e,s):(s==null?void 0:s.status)>=200&&s.status<300&&typeof s.json=="function"?s.bodyUsed?console.warn("[SlickGrid-Universal] The response body passed to collectionAsync was already read.Either pass the dataset from the Response or clone the response first using response.clone()"):s.json().then(n=>this.updateEditorCollection(e,n)):s!=null&&s.content&&this.updateEditorCollection(e,s.content)}):(t=this.rxjs)!=null&&t.isObservable(i)&&queueMicrotask(()=>{this.subscriptions.push(i.subscribe(s=>this.updateEditorCollection(e,s)))})}}insertDynamicPresetColumns(e,t){if(this._columnDefinitions){const i=this._columnDefinitions.findIndex(s=>s.id===e);if(i>=0){const s=this._columnDefinitions[i];(s==null?void 0:s.id)===e&&!t.some(n=>n.id===e)&&(i>0?t.splice(i,0,s):t.unshift(s))}}}loadColumnPresetsWhenDatasetInitialized(){var e,t,i,s,n,o;if(this.slickGrid&&this.gridOptions.presets&&Array.isArray(this.gridOptions.presets.columns)&&this.gridOptions.presets.columns.length>0){const l=this.gridStateService.getAssociatedGridColumns(this.slickGrid,this.gridOptions.presets.columns);if(l&&Array.isArray(l)&&l.length>0&&Array.isArray(this._columnDefinitions)){if(this.gridOptions.enableRowMoveManager){const a=((t=(e=this.gridOptions)==null?void 0:e.rowMoveManager)==null?void 0:t.columnId)??"_move";this.insertDynamicPresetColumns(a,l)}if(this.gridOptions.enableCheckboxSelector){const a=((s=(i=this.gridOptions)==null?void 0:i.checkboxSelector)==null?void 0:s.columnId)??"_checkbox_selector";this.insertDynamicPresetColumns(a,l)}if(this.gridOptions.enableRowDetailView){const a=((o=(n=this.gridOptions)==null?void 0:n.rowDetailView)==null?void 0:o.columnId)??"_detail_selector";this.insertDynamicPresetColumns(a,l)}l.forEach(a=>a.originalWidth=a.width),this.slickGrid.setColumns(l),this.sharedService.visibleColumns=l}}}loadFilterPresetsWhenDatasetInitialized(){var e,t,i;this.gridOptions&&!this.customDataView&&this.gridOptions.presets&&(Array.isArray(this.gridOptions.presets.filters)||Array.isArray((t=(e=this.gridOptions.presets)==null?void 0:e.treeData)==null?void 0:t.toggledItems))&&this.filterService.populateColumnFilterSearchTermPresets(((i=this.gridOptions.presets)==null?void 0:i.filters)||[])}loadLocalGridPagination(e){var t;if(this.gridOptions&&this._paginationOptions){if(this.totalItems=Array.isArray(e)?e.length:0,this._paginationOptions&&((t=this.dataView)!=null&&t.getPagingInfo)){const s=this.dataView.getPagingInfo();s!=null&&s.hasOwnProperty("totalRows")&&this._paginationOptions.totalItems!==s.totalRows&&(this.totalItems=(s==null?void 0:s.totalRows)||0)}this._paginationOptions.totalItems=this.totalItems;const i=this.setPaginationOptionsWhenPresetDefined(this.gridOptions,this._paginationOptions);this.initializePaginationService(i)}}loadRowSelectionPresetWhenExists(){var s,n;const e=(s=this.gridOptions)==null?void 0:s.presets,t=(n=this.slickGrid)==null?void 0:n.getSelectionModel(),i=this.gridOptions&&(this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowSelection);if(this.slickGrid&&this.dataView&&i&&t&&(e!=null&&e.rowSelection)&&(Array.isArray(e.rowSelection.gridRowIndexes)||Array.isArray(e.rowSelection.dataContextIds))){let o=e.rowSelection.dataContextIds,l=e.rowSelection.gridRowIndexes;Array.isArray(o)&&o.length>0?l=this.dataView.mapIdsToRows(o)||[]:Array.isArray(l)&&l.length>0&&(o=this.dataView.mapRowsToIds(l)||[]),this.slickGrid&&Array.isArray(l)&&(this.slickGrid.setSelectedRows(l),this.dataView.setSelectedIds(o||[],{isRowBeingAdded:!0,shouldTriggerEvent:!1,applyRowSelectionToGrid:!0}))}}registerExternalResources(e,t=!1){t&&this.disposeExternalResources(),e.forEach(i=>this._registeredResources.push(i)),this.initializeExternalResources(e)}resetExternalResources(){this._registeredResources=[]}preRegisterResources(){if(Array.isArray(this._registeredResources))for(const e of this._registeredResources)(e==null?void 0:e.className)==="RxJsResource"&&this.registerRxJsResource(e)}initializeExternalResources(e){if(Array.isArray(e))for(const t of e)this.slickGrid&&typeof t.init=="function"&&t.init(this.slickGrid,this.universalContainerService)}registerResources(){Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.headerGroupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new Br,this._registeredResources.push(this.slickEmptyWarning),this.initializeExternalResources(this._registeredResources)}registerRxJsResource(e){this.rxjs=e,this.backendUtilityService.addRxJsResource(this.rxjs),this.filterFactory.addRxJsResource(this.rxjs),this.filterService.addRxJsResource(this.rxjs),this.sortService.addRxJsResource(this.rxjs),this.paginationService.addRxJsResource(this.rxjs),this.universalContainerService.registerInstance("RxJsFacade",this.rxjs),this.universalContainerService.registerInstance("RxJsResource",this.rxjs)}sortTreeDataset(e,t=!1){const i=this._currentDatasetLength;let s,n=[];return this._isDatasetHierarchicalInitialized&&this.datasetHierarchical?(s=this.treeDataService.sortHierarchicalDataset(this.datasetHierarchical),n=s.flat):Array.isArray(e)&&e.length>0&&(s=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(e,this._columnDefinitions||[],this.gridOptions),this.sharedService.hierarchicalDataset=s.hierarchical,n=s.flat),e.length>0&&(t||e.length!==i)&&this.filterService.refreshTreeDataFilters(n),n}loadSlickGridEditors(e){const t=Array.isArray(e)?e:[];return t.some(i=>`${i.id}`.includes("."))&&console.error('[Slickgrid-Universal] Make sure that none of your Column Definition "id" property includes a dot in its name because that will cause some problems with the Editors. For example if your column definition "field" property is "user.firstName" then use "firstName" as the column "id".'),t.map(i=>{var s,n;return(s=i.editor)!=null&&s.collectionAsync&&this.loadEditorCollectionAsync(i),{...i,editorClass:(n=i.editor)==null?void 0:n.model}})}suggestDateParsingWhenHelpful(){var e;!this.gridOptions.silenceWarnings&&this.dataView&&this.dataView.getItemCount()>Bm&&!this.gridOptions.preParseDateColumns&&((e=this.slickGrid)!=null&&e.getColumns().some(t=>It(t.type)))&&console.warn("[Slickgrid-Universal] For getting better perf, we suggest you enable the `preParseDateColumns` grid option, for more info visit => https://ghiscoding.gitbook.io/slickgrid-universal/column-functionalities/sorting#pre-parse-date-columns-for-better-perf")}updateEditorCollection(e,t){if(this.slickGrid&&e.editor){e.editor.collection=t,e.editor.disabled=!1;const i=this.slickGrid.getCellEditor();i!=null&&i.disable&&i.renderDomElement&&(typeof i.destroy=="function"&&i.destroy(),i.disable(!1),i.renderDomElement(t))}}}const zm={GridBundle:hh,Aggregators:Lr,BindingService:Cs,Editors:Nr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:re,SortComparers:ii,Utilities:Hr};typeof window<"u"&&(window.Slicker=zm);const so=document.createElement("div");so.appendChild(v("span",{className:"mdi mdi-alert text-color-warning"})),so.appendChild(v("span",{textContent:"No data to display."}));const $m={autoEdit:!0,autoCommitEdit:!0,autoFixResizeTimeout:5*60*60,autoFixResizeRequiredGoodCount:5*60*60,autoFixResizeWhenBrokenStyleDetected:!0,cellValueCouldBeUndefined:!0,contextMenu:{hideCloseButton:!1},eventNamingStyle:at.lowerCaseWithoutOnPrefix,compositeEditorOptions:{resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h",shouldPreviewMassChangeDataset:!0},datasetIdPropertyName:"Id",emptyDataWarning:{message:so},enableDeepCopyDatasetOnPageLoad:!0,enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableCellNavigation:!0,customTooltip:{tooltipTextMaxLength:650},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,mimeType:"",sanitizeDataExport:!0},filterTypingDebounce:250,formatterOptions:{thousandSeparator:","},frozenHeaderWidthCalcDifferential:2,columnPicker:{hideForceFitButton:!0},gridMenu:{commandLabels:{clearFrozenColumnsCommandKey:"UNFREEZE_COLUMNS"},hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!0,hideRefreshDatasetCommand:!0,hideClearFrozenColumnsCommand:!1,hideForceFitButton:!0},headerMenu:{hideFreezeColumnsCommand:!1,iconSortAscCommand:"mdi mdi-arrow-up",iconSortDescCommand:"mdi mdi-arrow-down"},preventDocumentFragmentUsage:!0,sanitizer:r=>typeof r=="string"?r.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;)(\/*)(script|script defer)(.*)(&gt;|&gt;">)/gi,""):r,showCustomFooter:!0,customFooterOptions:{hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,metricTexts:{itemsSelectedKey:"RECORDS_SELECTED"}},headerRowHeight:35,rowHeight:33,resizeByContentOnlyOnFirstLoad:!1,resizeByContentOptions:{formatterPaddingWidthInPx:8,maxItemToInspectCellContentWidth:500},rowMoveManager:{hideRowMoveShadow:!1},useSalesforceDefaultGridOptions:!0};class dh extends hh{constructor(e,t,i,s,n,o){super(e,t,i,s,n,o)}mergeGridOptions(e){var s;const t=e.useSalesforceDefaultGridOptions||(s=this._gridOptions)!=null&&s.useSalesforceDefaultGridOptions?$m:{},i=de(!0,{},Mr,t,e);return i.enableFiltering&&!i.showHeaderRow&&(i.showHeaderRow=i.enableFiltering),i!=null&&i.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(i.pagination.pageSizes=e.pagination.pageSizes),!i.enableFiltering&&i.enablePagination&&this._isLocalGrid&&(i.enableFiltering=!0,i.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService&&(this.sharedService.hideHeaderRowAfterPageLoad=!0)),i}registerResources(){if(this.gridOptions.enableTextExport&&this._registeredResources.push(new Nm),this.gridOptions.enableTextExport&&this._registeredResources.push(new Pm),this._registeredResources.push(new Fm),Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.headerGroupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new Br,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(e=>e instanceof Vr)||(this.slickCompositeEditor=new Vr,this._registeredResources.push(this.slickCompositeEditor))),Array.isArray(this._registeredResources))for(const e of this._registeredResources)this.slickGrid&&typeof e.init=="function"&&e.init(this.slickGrid,this.universalContainerService)}}const ch={GridBundle:dh,Aggregators:Lr,BindingService:Cs,Editors:Nr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:re,SlickGlobalEditorLock:Ui,SortComparers:ii,Utilities:Hr};typeof window<"u"&&(window.Slicker=ch),Fe.Aggregators=Lr,Fe.BindingService=Cs,Fe.Editors=Nr,Fe.Enums=vn,Fe.EventPubSubService=Wo,Fe.Filters=Zs,Fe.Formatters=_e,Fe.GroupTotalFormatters=re,Fe.SlickCompositeEditorComponent=Vr,Fe.SlickEmptyWarningComponent=Br,Fe.SlickPaginationComponent=La,Fe.Slicker=ch,Fe.SortComparers=ii,Fe.Utilities=Hr,Fe.VanillaForceGridBundle=dh,Object.defineProperty(Fe,Symbol.toStringTag,{value:"Module"})});