@slickgrid-universal/vanilla-force-bundle 5.10.1 → 5.10.2

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,10 +1,10 @@
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 so{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 ph=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:so},Symbol.toStringTag,{value:"Module"}));function Fi(r,e){["pop","push","reverse","shift","unshift","splice","sort"].forEach(i=>{r[i]=(...s)=>{const n=Array.prototype[i].apply(r,s);return e.apply(r,[r,s]),n}})}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 mh=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:Fi,propertyObserver:hs},Symbol.toStringTag,{value:"Module"})),fh=r=>r;function gh(r,e,t=fh,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 E={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 ci;(function(r){r.merge="merge",r.chain="chain"})(ci||(ci={}));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 ct;(function(r){r.asc="asc",r.ASC="ASC",r.desc="desc",r.DESC="DESC"})(ct||(ct={}));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:E,get FileType(){return ve},get FilterMultiplePassType(){return ci},get GridStateType(){return $e},get OperatorType(){return H},get SortDirection(){return ct},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 no(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 ro(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 oo(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})),gh(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...ao(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 lo(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('findRecursive requires parameter "childrenPropertyName"');const i=r.find(e),s=r.filter(n=>(n==null?void 0:n.hasOwnProperty(t))&&n[t]);if(i)return i;if(s.length){const n=[];return s.forEach(o=>{o!=null&&o.hasOwnProperty(t)&&n.push(...o[t])}),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||E.string}function It(r){switch(r){case E.date:case E.dateTime:case E.dateIso:case E.dateTimeIso:case E.dateTimeShortIso:case E.dateTimeIsoAmPm:case E.dateTimeIsoAM_PM:case E.dateEuro:case E.dateEuroShort:case E.dateTimeEuro:case E.dateTimeShortEuro:case E.dateTimeEuroAmPm:case E.dateTimeEuroAM_PM:case E.dateTimeEuroShort:case E.dateTimeEuroShortAmPm:case E.dateTimeEuroShortAM_PM:case E.dateUs:case E.dateUsShort:case E.dateTimeUs:case E.dateTimeShortUs:case E.dateTimeUsAmPm:case E.dateTimeUsAM_PM:case E.dateTimeUsShort:case E.dateTimeUsShortAmPm:case E.dateTimeUsShortAM_PM:case E.dateUtc:return!0;default:return!1}}function _h(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 ui(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 E.unknown:case E.string:case E.text:case E.password:case E.readonly:e=H.contains;break;case E.float:case E.number:default:e=H.equal;break}return e}function ao(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 Ch=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:Di,addTreeLevelAndAggregatorsByMutation:Mi,addTreeLevelByMutation:ds,cancellablePromise:no,castObservableToPromise:ro,decimalFormatted:Vt,findItemInTreeStructure:Li,findOrDefault:At,flattenToParentChildArray:oo,formatNumber:Ie,getCellValueFromQueryFieldGetter:Ni,getColumnFieldType:Hi,getDescendantProperty:Ee,getTranslationPrefix:lt,getTreeDataOptionPropName:Ae,isColumnDateType:It,mapOperatorByFieldType:bn,mapOperatorToShorthandDesignation:ui,mapOperatorType:_h,objectWithoutKey:ao,thousandSeparatorFormatted:Rt,unflattenParentChildArrayToTree:lo,unsubscribeAll:cs},Symbol.toStringTag,{value:"Module"})),vh=(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},bh=(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 J(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 ho(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(co(r,`padding-${n}`)||"")||0;t-=o}}return t}function co(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 uo(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function po(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function mo(r,e){const t=r.length;let i=uo(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function fo(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,go=Object.prototype.toString,_o=Object.defineProperty,Co=Object.getOwnPropertyDescriptor,vo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):go.call(e)==="[object Array]"},bo=function(e){if(!e||go.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)},So=function(e,t){_o&&t.name==="__proto__"?_o(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},yo=function(e,t){if(t==="__proto__")if(ps.call(e,t)){if(Co)return Co(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=yo(l,t),s=yo(e,t),l!==s&&(d&&s&&(bo(s)||(n=vo(s)))?(n?(n=!1,o=i&&vo(i)?i:[]):o=i&&bo(i)?i:{},So(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&So(l,{name:t,newValue:s}));return l}function Sh(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 yh(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 Eo(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*=[^,)]*))/mg,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 ie(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 wo(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function ms(r){return/(true|1)/i.test(r+"")}function pi(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]=ie(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 mi(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 Eh(r){return typeof r=="string"?On(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function To(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function wh(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"),Oo=Symbol("html"),xo=Symbol("comment"),Th=/<(\w*)>/g,Oh=/<\/?([^\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=Oo,p+=b;break;default:g+=b;break}else if(u===Oo)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=xo),p+=b;break;case" ":case`
2
- `:if(p==="<"){u=Wi,g+="< ",p="";break}p+=b;break;default:p+=b;break}else if(u===xo)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=Th.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Oh.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const xh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:Sh,addWhiteSpaces:zi,arrayRemoveItemByIndex:En,calculateAvailableSpace:Vi,classNameToList:he,createDomElement:v,deepCopy:yh,deepMerge:Zt,destroyAllElementProps:Sn,emptyElement:J,emptyObject:Eo,extend:de,findFirstAttribute:Bi,findWidthOrDefault:Pt,getFunctionDetails:wn,getHtmlStringOutput:_t,getInnerSize:us,getOffset:ge,getOffsetRelativeToParent:ho,getStyleProp:co,htmlEncode:uo,htmlEncodeWithPadding:mo,htmlEntityDecode:po,insertAfterElement:fo,isDefined:ie,isDefinedNumber:Jt,isEmptyObject:Tn,isNumber:U,isObject:Bt,isObjectEmpty:wo,isPrimitiveOrHTML:ei,isPrimitiveValue:$i,parseBoolean:ms,removeAccentFromText:pi,setDeepValue:We,stripTags:we,titleCase:ti,toCamelCase:On,toKebabCase:mi,toSentenceCase:Ct,toSnakeCase:Eh,uniqueArray:To,uniqueObjectArray:wh,windowScrollPosition:yn},Symbol.toStringTag,{value:"Module"})),Ih=(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=pi(r,!1),e=pi(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Io=(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 Ro=/^([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 Rh(r){const e=r.match(Ro);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 Ah(r){const e=r.match(Ro);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(),Rh(r))return new Date(Ah(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ph(r){const e=zt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function kh(r){return Ph(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 Ao(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var Fh=["MMMM","MMM","dddd","ddd"],Te=new Map([...Rn,...An,...Pn].map(r=>[r[0],r])),Po=new Map,ko=["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 Dh(r,e,t,i=!1,s=null){const n=Mh(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=fi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Fo(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function Mh(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&&Fh.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 Fo(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 Lh(r,e){Do(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 Do(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 Nh(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 Hh(r){return["numeric","2-digit"].includes(r.partValue)}function Vh(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)&&!(Hh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Bh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function fi(r,e){const t=Po.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 Po.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function zh(r,e="+00:00"){const t=zt(r),i=(()=>{switch(Ao(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Lh(e,i);return new Date(t.getTime()+s*1e3*60)}function Mo(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Lo(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=Mo())!=null?s:"utc":t;const n=zt(r),o=Lo(n,e),l=Lo(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Fo(a,i)}function No(r){const e=zt(r);return e.setHours(0,0,0),e}function Dn(r,e){if(ko.includes(r)||typeof r=="object")return $h(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 $h(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=Wh(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 Wh(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=Ho(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=Ho(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 Ho(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 Vo(r,e="+00:00"){const t=e.slice(0,1)==="+";return zh(r,e.replace(t?"+":"-",t?"-":"+"))}function Gh(){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,Bh(e))),n??(n=Mo()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Vo(r,Fn(r,n,"utc"))),(!t||t==="device")&&(t=Gh()),Dh(r,Dn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function Uh(r,e="en",t=!1,i=()=>!0){return Dn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Nh(n.token):n.token,"").normalize("NFKC")}function jh(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 Bo(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 Bo("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[fi("am",e).toLowerCase(),fi("pm",e).toLowerCase()];if(r==="A")return[fi("am",e).toUpperCase(),fi("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 (${Uh(e,t)})`)};if(e==="ISO8601")return zt(s);const l=ko.includes(e)||typeof e=="object",a=Vh(Dn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=Yh(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 x=Number(O.value);if(c.has(O.token))c.set(O.token,x);else if(O.token==="YY")c.set("YYYY",jh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",x);else if(A==="H"||A.startsWith("h"))c.set("HH",x);else if(A==="M")c.set("MM",x);else if(A==="a"||A==="A")u=O.value.toLowerCase()===fi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Do(O.value,A);else{const M=Bo(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 y=kh(new Date(`${kn(f)}-${$t(g+1)}-10`));if(y<_&&n==="throw")throw new Error(`Invalid date ${kn(f)}-${$t(g+1)}-${$t(_)}`);_=n==="backward"?Math.min(_,y):_;const T=`${kn(f)}-${$t(g+1)}-${$t(_)}T${$t(C)}:${$t(b)}:${$t(S)}${p}`,I=new Date(T);return isFinite(+I)?I:o()}function Yh(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=Ao(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 Xe(r,e){let t;const i=(e==null?void 0:e.withZeroPadding)??!1;switch(r){case E.dateTime:case E.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case E.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case E.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case E.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case E.dateEuro:t="DD/MM/YYYY";break;case E.dateEuroShort:t=i?"DD/MM/YY":"D/M/YY";break;case E.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case E.dateTimeShortEuro:t=i?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case E.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case E.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case E.dateTimeEuroShort:t=i?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case E.dateTimeEuroShortAmPm:t=i?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case E.dateTimeEuroShortAM_PM:t=i?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case E.dateUs:t="MM/DD/YYYY";break;case E.dateUsShort:t=i?"MM/DD/YY":"M/D/YY";break;case E.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case E.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case E.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case E.dateTimeUsShort:t=i?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case E.dateTimeUsShortAmPm:t=i?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case E.dateTimeUsShortAM_PM:t=i?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case E.dateTimeShortUs:t=i?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case E.dateUtc:t="ISO8601";break;case E.date:case E.dateIso:default:t=e!=null&&e.withDefaultIso8601?"ISO8601":"YYYY-MM-DD";break}return t}function vt(r,e,t){const i=e?Xe(e):void 0,s=Xe(t),n=r instanceof Date?r:bt(r,i);return n&&r!==void 0?t===E.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 qh(r){return Vo(r,Fn(r,"utc"))}function zo(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===E.date?void 0:Xe(r);return(t,i,s)=>e===void 0?zo(t,i,s,e,!1):zo(t,i,s,e,!0)}const ii={boolean:vh,date:ue(E.date),dateIso:ue(E.dateIso),dateUtc:ue(E.dateUtc),dateTime:ue(E.dateTime),dateTimeIso:ue(E.dateTimeIso),dateTimeIsoAmPm:ue(E.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(E.dateTimeIsoAM_PM),dateTimeShortIso:ue(E.dateTimeShortIso),dateEuro:ue(E.dateEuro),dateEuroShort:ue(E.dateEuroShort),dateTimeShortEuro:ue(E.dateTimeShortEuro),dateTimeEuro:ue(E.dateTimeEuro),dateTimeEuroAmPm:ue(E.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(E.dateTimeEuroAM_PM),dateTimeEuroShort:ue(E.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(E.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(E.dateTimeEuroShortAM_PM),dateUs:ue(E.dateUs),dateUsShort:ue(E.dateUsShort),dateTimeShortUs:ue(E.dateTimeShortUs),dateTimeUs:ue(E.dateTimeUs),dateTimeUsAmPm:ue(E.dateTimeUsAmPm),dateTimeUsAM_PM:ue(E.dateTimeUsAM_PM),dateTimeUsShort:ue(E.dateTimeUsShort),dateTimeUsShortAmPm:ue(E.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(E.dateTimeUsShortAM_PM),numeric:Io,objectString:bh,string:Ih};function gi(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 E.boolean:o=ii.boolean(e,t,i,s,n);break;case E.float:case E.integer:case E.number:o=ii.numeric(e,t,i,s,n);break;case E.object:o=ii.objectString(e,t,i,s,n);break;case E.string:case E.text:case E.password:case E.readonly:default:o=ii.string(e,t,i,s,n);break}return o}const Xh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:gi},Symbol.toStringTag,{value:"Module"}));var ut;(function(r){r.camelCase="camelCase",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(ut||(ut={}));class $o{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=ut.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){case ut.camelCase:i=t!==""?`${t}${ti(e)}`:e;break;case ut.kebabCase:i=t!==""?`${t}-${mi(e)}`:mi(e);break;case ut.lowerCase:i=`${t}${e}`.toLowerCase();break;case ut.lowerCaseWithoutOnPrefix:i=`${t}${e.replace(/^on/,"")}`.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 y(){t.parentNode||(l||e.body).appendChild(t)}function T(){return!!t.parentNode}function I(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),b()}function O(){if(!T())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var N=0,te;function Ne(){var je=e.documentElement,rt=je.clientTop||e.body.clientTop||0,ot=je.clientLeft||e.body.clientLeft||0,ki=window.pageYOffset||je.scrollTop,Ht=window.pageXOffset||je.scrollLeft;te=_.getBoundingClientRect();var Je=te.top+_.offsetHeight+ki-rt,as=te.left+Ht-ot;s.top=Je+"px",s.left=as+"px",N=window.innerHeight-(te.top+_.offsetHeight),N<0&&(N=0),s.top=Je+"px",s.bottom="",s.left=as+"px",s.maxHeight=N+"px"}Ne(),Ne(),r.customize&&te&&r.customize(_,te,t,N)}function x(){t.textContent="",_.setAttribute("aria-activedescendant","");var N=function(ot,ki,Ht){var Je=e.createElement("div");return Je.textContent=ot.label||"",Je};r.render&&(N=r.render);var te=function(ot,ki){var Ht=e.createElement("div");return Ht.textContent=ot,Ht};r.renderGroup&&(te=r.renderGroup);var Ne=e.createDocumentFragment(),je=C();if(a.forEach(function(ot,ki){if(ot.group&&ot.group!==je){je=ot.group;var Ht=te(ot.group,h);Ht&&(Ht.className+=" group",Ne.appendChild(Ht))}var Je=N(ot,h,ki);Je&&(Je.id=t.id+"_"+ki,Je.setAttribute("role","option"),Je.addEventListener("click",function(as){g=!0;try{r.onSelect(ot,_)}finally{g=!1}I(),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{I();return}y(),O(),W()}function A(){T()&&x()}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 te=N[0],Ne=te.previousElementSibling;if(Ne&&Ne.className.indexOf("group")!==-1&&!Ne.previousElementSibling&&(te=Ne),te.offsetTop<t.scrollTop)t.scrollTop=te.offsetTop;else{var je=te.offsetTop+te.offsetHeight,rt=t.scrollTop+t.offsetHeight;je>rt&&(t.scrollTop+=je-rt)}}}function q(){var N=a.indexOf(u);u=N===-1?void 0:a[(N+a.length-1)%a.length],X(N)}function Z(){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),ee(a.indexOf(u)),W())}function ee(N){var te=e.getElementById(t.id+"_"+N);te&&(te.classList.add("selected"),te.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",te.id))}function ze(N){var te=e.getElementById(t.id+"_"+N);te&&(te.classList.remove("selected"),te.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function nt(N,te){var Ne=T();if(te==="Escape")I();else{if(!Ne||a.length<1)return;te==="ArrowUp"?q():Z()}N.preventDefault(),Ne&&N.stopPropagation()}function fe(N){if(u){i===2&&N.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}I()}i===1&&N.preventDefault()}function xe(N){var te=N.key;switch(te){case"ArrowUp":case"ArrowDown":case"Escape":nt(N,te);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)):I()}function ke(N,te,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],x())},te,Ne)}}function K(N){if(r.keyup){r.keyup({event:N,fetch:function(){return Le(0)}});return}!T()&&N.key==="ArrowDown"&&Le(0)}function ce(N){r.click&&r.click({event:N,fetch:function(){return Le(2)}})}function dt(){setTimeout(function(){e.activeElement!==_&&I()},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",K),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",L),_.removeEventListener("blur",dt),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(),I(),f=!0}return _.addEventListener("keyup",K),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",L),_.addEventListener("blur",dt),_.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 Wo{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 Go=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(Go.call(r,t)&&++i&&!Go.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 Uo(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||E.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Xe(E.dateIso),g=c?Xe(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,`${mo(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 jo(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 ro(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&&Qh(e,t,i,s)}return l}function Qh(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 at(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 Zh(r,e){return[{operator:"",desc:at("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:at("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:at("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:at("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:at("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:at("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Nn(r,e){return[{operator:"",desc:""},{operator:"=",desc:at("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:at("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:at("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:at("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:at("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:at("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 Jh{constructor(e,t,i){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._clearFilterTriggered=!1,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===E.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=jo(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(),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&&(Fi(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])}),hs(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&Fi(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)??"";J(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 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-${mi(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?(Uo(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 ed=Object.defineProperty,Yo=Object.getOwnPropertySymbols,td=Object.prototype.hasOwnProperty,id=Object.prototype.propertyIsEnumerable,Vn=(r,e,t)=>e in r?ed(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qo=(r,e)=>{for(var t in e||(e={}))td.call(e,t)&&Vn(r,t,e[t]);if(Yo)for(var t of Yo(e))id.call(e,t)&&Vn(r,t,e[t]);return r},Y=(r,e,t)=>(Vn(r,typeof e!="symbol"?e+"":e,t),t);const sd={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"},nd=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 />`,rd=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,od=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 ld{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",qo({},sd)),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:nd(this.CSSClasses),month:rd(this.CSSClasses),year:od(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 St=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,me=r=>new Date(`${r}T00:00:00`),_i=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(St(a));return i});return e},[]),vs=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},Ui=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):"",Ci={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."},ad=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(_i(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},hd=r=>{var e,t,i;r.date.min==="today"&&(r.date.min=vs()),r.date.max==="today"&&(r.date.max=vs()),r.settings.range.min==="today"&&(r.settings.range.min=vs()),r.settings.range.max==="today"&&(r.settings.range.max=vs()),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?St(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?St(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?_i(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?_i(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])},dd=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?_i(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?_i(r.settings.selected.holidays):[]},cd=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)},ud=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=Ui(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(Ci.incorrectTime)},pd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},Xo=r=>{r.currentType=r.type,ad(r),hd(r),dd(r),cd(r),ud(r),pd(r)},Ko=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},Bn=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(St(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();Ko({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{Ko({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]()},Qo=(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 zn(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 md(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function $n(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function fd(r){const{top:e,left:t}=md(),{top:i,left:s}=zn(r),{vh:n,vw:o}=$n(),l=i-e,a=s-t;return{top:l,bottom:n-(l+r.clientHeight),left:a,right:o-(a+r.clientWidth)}}function Zo(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}=fd(r),{top:l,left:a}=zn(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=$n(),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 gd(r,e){const t="left";if(!e||!r)return t;const{canShow:i,parentPositions:s}=Zo(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 Wn=(r,e,t,i)=>{if(r){const s=t==="auto"?gd(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}=zn(r),d=a+n[o];let c=h+n[l];const{vw:u}=$n();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`})}},_d=(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}=Zo(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`})}})}},Cd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>_d(r,i,s,e)))},vd=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Qo(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)},bd=(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++)vd(r,a,d===0?6:7*d,l,o)},Sd=(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)))},yd=(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&&St(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))}},Gn=(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=Qo(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),Sd(r,n,s),yd(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Ed=(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();Gn(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},wd=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=St(o),a=o.getDay();Gn(r,i,e,n,a,l,!1,null)}},Td=(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();Gn(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},bs=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="",Ed(r,s,a,l,c),wd(r,s,d,a,l),Td(r,s,d,a,l,c),bd(r,c,d,t[n],s),Cd(r,s)})},Od=(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]},xd=(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)},Ss=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)=>Od(r,o,l,n)),s==null||s.forEach((o,l)=>xd(r,o,l,n))},Un=(r,e)=>{const t=me(St(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()],Ss(r),Bn(r),bs(r)},Id=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,Rd=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,Ad=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,Pd=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,kd=r=>`<div class="${r.CSSClasses.week}"></div>`,Fd=r=>`<div class="${r.CSSClasses.days}"></div>`,Dd=r=>`<div class="${r.CSSClasses.months}"></div>`,Md=r=>`<div class="${r.CSSClasses.years}"></div>`,Ld=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",Nd=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",Hd=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:Rd,ArrowPrev:Id,ControlTime:Nd,Days:Fd,Month:Ad,Months:Dd,Week:kd,WeekNumbers:Ld,Year:Pd,Years:Md},Symbol.toStringTag,{value:"Module"})),ji=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=(n=i.replace(/[/\s\n\t]/g,""),Hd[n]);var n;const o=s?s(r):"";return r.sanitizer(o)}).replace(/[\n\t]/g,""),Vd=(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,""),jn=(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=ji(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=ji(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Vd(r,ji(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=ji(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=ji(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},Bd=(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},Yn=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",jn(r,e),Ss(r),Bn(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=Bd(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},zd=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?Un(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],Yn(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},$d=(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)},Jo=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),Wd=(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(Jo(t))},Gd=(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(Jo(t))},Ud=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(Ci.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)Wd(r,e);for(let e=0;e<12;e++)Gd(r,e)}},el=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},jd=(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},tl=(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",jn(r,e),Ss(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()+el(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+el(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=jd(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},qn=(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]:"",ys=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),il=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},si=(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)},sl=(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 si(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,si(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=Ui(l.value),si(r,o,Ui(l.value),s))})},nl=(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=qn(h,r.selectedKeeping),si(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=Ui(l.value),e.value=h,si(r,o,Ui(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,si(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Yd=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=qn(r.selectedHours,r.selectedKeeping),si(r,i,r.selectedHours,"hours")})},qd=(r,e,t)=>{const i=t===24?23:t||12,s=ys(e,r.CSSClasses.timeRange,"hours"),n=ys(e,r.CSSClasses.timeRange,"minutes"),o=ys(e,r.CSSClasses.timeHours,"hours"),l=ys(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);il(s,o,r.CSSClasses.isFocus),il(n,l,r.CSSClasses.isFocus),sl(r,s,o,a,"hours",i),sl(r,n,l,a,"minutes",0),nl(r,s,o,a,"hours",i),nl(r,n,l,a,"minutes",59),a&&Yd(r,a,s)},rl=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,ol=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Xd=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}">${rl("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${rl("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}">${ol("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?qn(r.selectedHours,r.selectedKeeping):r.selectedHours)}${ol("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),qd(r,e,t)},Kd=(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)}},ll=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>Kd(r,t,e)))},al=["light","dark","system"],Es={value:!1,set:()=>{Es.value=!0},check:()=>Es.value},hl=(r,e)=>al.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),ni=(r,e)=>{r.dataset.calendarTheme=e},dl=(r,e)=>{var t;if(t=e,ni(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||Es.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>ni(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),Es.set()},Qd=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=hl(e,t);n&&ni(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Zd=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void dl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=hl(t,i);s?(ni(r.HTMLElement,s),Qd(r,t,i)):dl(r,e)},Jd=r=>{if(!al.includes(r.settings.visibility.theme))throw new Error(Ci.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void ni(r.HTMLElement,"light");({light:()=>ni(r.HTMLElement,"light"),dark:()=>ni(r.HTMLElement,"dark"),system:()=>Zd(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},Yi=r=>{const e={default:()=>{ll(r),bs(r)},multiple:()=>{ll(r),bs(r)},month:()=>tl(r),year:()=>Yn(r)};Jd(r),Ud(r),jn(r),Ss(r),Bn(r),Xd(r),e[r.currentType]()},Q={self:null,rangeMin:void 0,rangeMax:void 0},cl=()=>{var r;if(!((r=Q.self)!=null&&r.HTMLElement))return;const{CSSClasses:e}=Q.self;Q.self.HTMLElement.querySelectorAll(`.${Q.self.CSSClasses.dayBtnHover}`).forEach(t=>{var i;t.classList.remove(Q.self.CSSClasses.dayBtnHover),(i=t.parentElement)==null||i.classList.remove(e.dayHoverIntermediate,e.dayHoverFirst,e.dayHoverLast)})},ec=(r,e,t)=>{var i,s,n;if(!((i=Q.self)!=null&&i.selectedDates))return;const o=St(r),{CSSClasses:l}=Q.self;if((s=Q.self.rangeDisabled)!=null&&s.includes(o))return;const a=(n=Q.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)})},Xn=r=>{var e;if(!r.target||!((e=Q.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Q.self.CSSClasses.days}`))return void cl();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=me(Q.self.selectedDates[0]),n=me(i),o=Q.self.HTMLElement.querySelectorAll(`[data-calendar-day="${Q.self.selectedDates[0]}"]`),l=Q.self.HTMLElement.querySelectorAll(`[data-calendar-day="${i}"]`),[a,h]=s<n?[o,l]:[l,o],[d,c]=s<n?[s,n]:[n,s];cl();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))ec(u,a,h)},Kn=r=>{Q.self&&r.key==="Escape"&&(Q.self.selectedDates=[],Q.self.HTMLElement.removeEventListener("mousemove",Xn),document.removeEventListener("keydown",Kn),Yi(Q.self))},tc=()=>{var r,e,t;if(!((e=(r=Q.self)==null?void 0:r.selectedDates)!=null&&e[0])||!((t=Q.self.rangeDisabled)!=null&&t[0]))return;const i=me(Q.self.selectedDates[0]),[s,n]=Q.self.rangeDisabled.map(o=>me(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Q.self.rangeMin=St(new Date(s.setDate(s.getDate()+1)))),n&&(Q.self.rangeMax=St(new Date(n.setDate(n.getDate()-1))))},ul=(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&&(Q.rangeMin=Q.rangeMin?Q.rangeMin:r.rangeMin,Q.rangeMax=Q.rangeMax?Q.rangeMax:r.rangeMax),Q.self=r,{set:()=>{r.HTMLElement.addEventListener("mousemove",Xn),document.addEventListener("keydown",Kn),r.settings.range.disableGaps&&tc()},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]:_i([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",Xn),document.removeEventListener("keydown",Kn),r.settings.range.disableGaps&&Q.self&&(Q.self.rangeMin=Q.rangeMin,Q.self.rangeMax=Q.rangeMax)}}[r.selectedDates.length===1?"set":"reset"]()},pl=(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])},ic=(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:()=>pl(r,n,!1),multiple:()=>pl(r,n,!0),"multiple-ranged":()=>ul(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:()=>Un(r,"prev"),next:()=>Un(r,"next"),default:()=>bs(r)})[o?"prev":l?"next":"default"]()},ml=(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},sc=(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=ml(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=ml(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,Yi(r)},fl=(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:()=>Yn(r,s),month:()=>tl(r,s)}[t]():l?sc(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,Yi(r))},gl=r=>{const e=t=>{zd(r,t),$d(r,t),ic(r,t),fl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),fl(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)},_l=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=qo({},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,Xo(r),Yi(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&ul(r)},Cl=(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(()=>{Wn(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),_l(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),gl(r)},nc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>Wn(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?(Wn(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(Cl(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())}},rc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(Ci.notInit);r.input&&!r.isInputInit&&Cl(r,!1),_l(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},oc=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(Ci.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 vl extends ld{constructor(e,t){if(super(),Y(this,"init",()=>{return(s=this).HTMLOriginalElement=s.HTMLElement.cloneNode(!0),s.isInit=!0,s.input?nc(s):(Xo(s),Yi(s),s.actions.initCalendar&&s.actions.initCalendar(s),gl(s));var s}),Y(this,"update",s=>rc(this,s)),Y(this,"destroy",()=>oc(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(Ci.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 bl{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(),J(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=ui(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,y,T;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||E.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||E.dateUtc,n=Xe(s),o=this.columnFilter.type||this.columnDef.type||E.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Xe(this.hasTimePicker?E.dateTimeIsoAM_PM:E.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(I=>vt(I,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:I=>this.grid.sanitizeHtmlString(I),toggleSelected:!1,actions:{clickDay:I=>{this._lastClickIsDate=!0},changeToInput:(I,O)=>{if(O.HTMLInputElement){let x=[],A="",D="";if(O.selectedDates[1]){O.selectedDates.sort((W,q)=>+new Date(W)-+new Date(q)),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}`,x=[A,D]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=vt(A,E.dateIso,s),x=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),x=[M]}if(this.inputFilterType==="compound"?this._currentValue=vt(x[0],void 0,i):Array.isArray(x)&&(this._currentDateStrings=x.map(M=>vt(M,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=x.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 vl(this._dateInputElm,this._pickerOptions),this.calendarInstance.init(),(T=(y=this._pickerOptions.settings)==null?void 0:y.selected)!=null&&T.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(J(this.filterContainerElm),this.buildDatePickerInput(e),this.inputFilterType==="range"){const s=v("div",{className:`date-picker form-group search-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 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=ui(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&&ie(this._currentDateOrDates)||this._currentDateOrDates===""&&ie(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 lc extends bl{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Sl{constructor(e){this.translaterService=e}filterCollection(e,t,i=ci.chain){let s=[];return Array.isArray(t)?(s=i===ci.merge?[]:[...e],t.forEach(n=>{if(i===ci.merge){const o=this.singleFilterCollection(e,n);s=To([...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)??E.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=gi(_,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)??E.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=gi(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)??E.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=gi(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}getParseDateInfo(e,t){const i=e.type||E.string,s=Xe(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 ac{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 yl(r,e,t,i,s=!1,n,o){var O,x,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=((x=h==null?void 0:h.customStructure)==null?void 0:x.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"}),y=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];S.classList.add(...y),S.multiple=s;const T=[];let I=!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(q=>q===L)>=0),T.push(W),(W.selected&&s||W.selected&&!s&&L!=="")&&(I=!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],q=(L.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let Z=L[g]||"",X=L[_]||"",ee=L.hasOwnProperty(C)?L[C]:"";ee!=null&&ee.toString&&(ee=ee.toString().replace(/"/g,"'")),Z=u&&n&&Z&&typeof Z=="string"?n.translate(Z||" "):Z,X=u&&n&&X&&typeof X=="string"?n.translate(X||" "):X,ee=u&&n&&ee&&typeof ee=="string"?n.translate(ee||" "):ee;let nt=[Z,typeof q=="string"||typeof q=="number"?q.toString():q,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??""}`,T.push(fe),(fe.selected&&s||fe.selected&&!s&&L[b]!=="")&&(I=!0)})),{selectElement:S,dataCollection:T,hasFoundSearchTerm:I}}class hc{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,y,T,I,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&&((y=this.translaterService)==null?void 0:y.getCurrentLanguage)&&((T=this.translaterService)==null?void 0:T.translate(`${d}FORCE_FIT_COLUMNS`))||(o==null?void 0:o.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=l||n&&((I=this.translaterService)==null?void 0:I.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 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 El{constructor(){this.__nonDataRow=!0}}class ws extends El{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 dc extends El{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class cc{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 w{static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;w.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;w.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?w.isHidden(e)&&i.push(e):s?w.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)}}w.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 qi=new cc,uc="slick-edit-preclick";class wl{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){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){var t;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((t=e==null?void 0:e.group)==null?void 0:t.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 ws&&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 ws&&(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 pc{constructor(e,t){this.externalPubSub=t,this.defaults={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&&(ie(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),ie(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 wl),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]];ie(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]];ie(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(!ie(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){const t=this.rows[e];return t===void 0?null:t.__group?this._options.groupItemMetadataProvider.getGroupRowMetadata(t):t.__groupTotals?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t):null}expandCollapseAllGroups(e,t){if(ie(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 ws,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 ws,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 dc;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];ie(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))}}/**!
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 so{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 ph=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:so},Symbol.toStringTag,{value:"Module"}));function Fi(r,e){["pop","push","reverse","shift","unshift","splice","sort"].forEach(i=>{r[i]=(...s)=>{const n=Array.prototype[i].apply(r,s);return e.apply(r,[r,s]),n}})}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 mh=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:Fi,propertyObserver:hs},Symbol.toStringTag,{value:"Module"})),fh=r=>r;function gh(r,e,t=fh,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 E={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 ci;(function(r){r.merge="merge",r.chain="chain"})(ci||(ci={}));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:E,get FileType(){return ve},get FilterMultiplePassType(){return ci},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 no(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 ro(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 oo(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})),gh(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...ao(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 lo(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||E.string}function It(r){switch(r){case E.date:case E.dateTime:case E.dateIso:case E.dateTimeIso:case E.dateTimeShortIso:case E.dateTimeIsoAmPm:case E.dateTimeIsoAM_PM:case E.dateEuro:case E.dateEuroShort:case E.dateTimeEuro:case E.dateTimeShortEuro:case E.dateTimeEuroAmPm:case E.dateTimeEuroAM_PM:case E.dateTimeEuroShort:case E.dateTimeEuroShortAmPm:case E.dateTimeEuroShortAM_PM:case E.dateUs:case E.dateUsShort:case E.dateTimeUs:case E.dateTimeShortUs:case E.dateTimeUsAmPm:case E.dateTimeUsAM_PM:case E.dateTimeUsShort:case E.dateTimeUsShortAmPm:case E.dateTimeUsShortAM_PM:case E.dateUtc:return!0;default:return!1}}function _h(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 ui(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 E.unknown:case E.string:case E.text:case E.password:case E.readonly:e=H.contains;break;case E.float:case E.number:default:e=H.equal;break}return e}function ao(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 Ch=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:Di,addTreeLevelAndAggregatorsByMutation:Mi,addTreeLevelByMutation:ds,cancellablePromise:no,castObservableToPromise:ro,decimalFormatted:Vt,findItemInTreeStructure:Li,findOrDefault:At,flattenToParentChildArray:oo,formatNumber:Ie,getCellValueFromQueryFieldGetter:Ni,getColumnFieldType:Hi,getDescendantProperty:Ee,getTranslationPrefix:lt,getTreeDataOptionPropName:Ae,isColumnDateType:It,mapOperatorByFieldType:bn,mapOperatorToShorthandDesignation:ui,mapOperatorType:_h,objectWithoutKey:ao,thousandSeparatorFormatted:Rt,unflattenParentChildArrayToTree:lo,unsubscribeAll:cs},Symbol.toStringTag,{value:"Module"})),vh=(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},bh=(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 J(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 ho(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(co(r,`padding-${n}`)||"")||0;t-=o}}return t}function co(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 uo(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function po(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function mo(r,e){const t=r.length;let i=uo(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function fo(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,go=Object.prototype.toString,_o=Object.defineProperty,Co=Object.getOwnPropertyDescriptor,vo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):go.call(e)==="[object Array]"},bo=function(e){if(!e||go.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)},So=function(e,t){_o&&t.name==="__proto__"?_o(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},yo=function(e,t){if(t==="__proto__")if(ps.call(e,t)){if(Co)return Co(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=yo(l,t),s=yo(e,t),l!==s&&(d&&s&&(bo(s)||(n=vo(s)))?(n?(n=!1,o=i&&vo(i)?i:[]):o=i&&bo(i)?i:{},So(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&So(l,{name:t,newValue:s}));return l}function Sh(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 yh(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 Eo(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*=[^,)]*))/mg,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 ie(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 wo(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function ms(r){return/(true|1)/i.test(r+"")}function pi(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]=ie(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 mi(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 Eh(r){return typeof r=="string"?On(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function To(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function wh(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"),Oo=Symbol("html"),xo=Symbol("comment"),Th=/<(\w*)>/g,Oh=/<\/?([^\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=Oo,p+=b;break;default:g+=b;break}else if(u===Oo)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=xo),p+=b;break;case" ":case`
2
+ `:if(p==="<"){u=Wi,g+="< ",p="";break}p+=b;break;default:p+=b;break}else if(u===xo)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=Th.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Oh.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const xh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:Sh,addWhiteSpaces:zi,arrayRemoveItemByIndex:En,calculateAvailableSpace:Vi,classNameToList:he,createDomElement:v,deepCopy:yh,deepMerge:Zt,destroyAllElementProps:Sn,emptyElement:J,emptyObject:Eo,extend:de,findFirstAttribute:Bi,findWidthOrDefault:Pt,getFunctionDetails:wn,getHtmlStringOutput:_t,getInnerSize:us,getOffset:ge,getOffsetRelativeToParent:ho,getStyleProp:co,htmlEncode:uo,htmlEncodeWithPadding:mo,htmlEntityDecode:po,insertAfterElement:fo,isDefined:ie,isDefinedNumber:Jt,isEmptyObject:Tn,isNumber:U,isObject:Bt,isObjectEmpty:wo,isPrimitiveOrHTML:ei,isPrimitiveValue:$i,parseBoolean:ms,removeAccentFromText:pi,setDeepValue:We,stripTags:we,titleCase:ti,toCamelCase:On,toKebabCase:mi,toSentenceCase:Ct,toSnakeCase:Eh,uniqueArray:To,uniqueObjectArray:wh,windowScrollPosition:yn},Symbol.toStringTag,{value:"Module"})),Ih=(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=pi(r,!1),e=pi(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Io=(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 Ro=/^([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 Rh(r){const e=r.match(Ro);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 Ah(r){const e=r.match(Ro);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(),Rh(r))return new Date(Ah(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ph(r){const e=zt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function kh(r){return Ph(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 Ao(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var Fh=["MMMM","MMM","dddd","ddd"],Te=new Map([...Rn,...An,...Pn].map(r=>[r[0],r])),Po=new Map,ko=["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 Dh(r,e,t,i=!1,s=null){const n=Mh(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=fi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Fo(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function Mh(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&&Fh.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 Fo(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 Lh(r,e){Do(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 Do(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 Nh(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 Hh(r){return["numeric","2-digit"].includes(r.partValue)}function Vh(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)&&!(Hh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Bh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function fi(r,e){const t=Po.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 Po.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function zh(r,e="+00:00"){const t=zt(r),i=(()=>{switch(Ao(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Lh(e,i);return new Date(t.getTime()+s*1e3*60)}function Mo(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Lo(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=Mo())!=null?s:"utc":t;const n=zt(r),o=Lo(n,e),l=Lo(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Fo(a,i)}function No(r){const e=zt(r);return e.setHours(0,0,0),e}function Dn(r,e){if(ko.includes(r)||typeof r=="object")return $h(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 $h(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=Wh(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 Wh(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=Ho(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=Ho(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 Ho(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 Vo(r,e="+00:00"){const t=e.slice(0,1)==="+";return zh(r,e.replace(t?"+":"-",t?"-":"+"))}function Gh(){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,Bh(e))),n??(n=Mo()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Vo(r,Fn(r,n,"utc"))),(!t||t==="device")&&(t=Gh()),Dh(r,Dn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function Uh(r,e="en",t=!1,i=()=>!0){return Dn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Nh(n.token):n.token,"").normalize("NFKC")}function jh(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 Bo(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 Bo("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[fi("am",e).toLowerCase(),fi("pm",e).toLowerCase()];if(r==="A")return[fi("am",e).toUpperCase(),fi("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 (${Uh(e,t)})`)};if(e==="ISO8601")return zt(s);const l=ko.includes(e)||typeof e=="object",a=Vh(Dn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=Yh(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 x=Number(O.value);if(c.has(O.token))c.set(O.token,x);else if(O.token==="YY")c.set("YYYY",jh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",x);else if(A==="H"||A.startsWith("h"))c.set("HH",x);else if(A==="M")c.set("MM",x);else if(A==="a"||A==="A")u=O.value.toLowerCase()===fi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Do(O.value,A);else{const M=Bo(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 y=kh(new Date(`${kn(f)}-${$t(g+1)}-10`));if(y<_&&n==="throw")throw new Error(`Invalid date ${kn(f)}-${$t(g+1)}-${$t(_)}`);_=n==="backward"?Math.min(_,y):_;const T=`${kn(f)}-${$t(g+1)}-${$t(_)}T${$t(C)}:${$t(b)}:${$t(S)}${p}`,I=new Date(T);return isFinite(+I)?I:o()}function Yh(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=Ao(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 Xe(r,e){let t;const i=(e==null?void 0:e.withZeroPadding)??!1;switch(r){case E.dateTime:case E.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case E.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case E.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case E.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case E.dateEuro:t="DD/MM/YYYY";break;case E.dateEuroShort:t=i?"DD/MM/YY":"D/M/YY";break;case E.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case E.dateTimeShortEuro:t=i?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case E.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case E.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case E.dateTimeEuroShort:t=i?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case E.dateTimeEuroShortAmPm:t=i?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case E.dateTimeEuroShortAM_PM:t=i?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case E.dateUs:t="MM/DD/YYYY";break;case E.dateUsShort:t=i?"MM/DD/YY":"M/D/YY";break;case E.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case E.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case E.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case E.dateTimeUsShort:t=i?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case E.dateTimeUsShortAmPm:t=i?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case E.dateTimeUsShortAM_PM:t=i?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case E.dateTimeShortUs:t=i?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case E.dateUtc:t="ISO8601";break;case E.date:case E.dateIso:default:t=e!=null&&e.withDefaultIso8601?"ISO8601":"YYYY-MM-DD";break}return t}function vt(r,e,t){const i=e?Xe(e):void 0,s=Xe(t),n=r instanceof Date?r:bt(r,i);return n&&r!==void 0?t===E.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 qh(r){return Vo(r,Fn(r,"utc"))}function zo(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===E.date?void 0:Xe(r);return(t,i,s)=>e===void 0?zo(t,i,s,e,!1):zo(t,i,s,e,!0)}const ii={boolean:vh,date:ue(E.date),dateIso:ue(E.dateIso),dateUtc:ue(E.dateUtc),dateTime:ue(E.dateTime),dateTimeIso:ue(E.dateTimeIso),dateTimeIsoAmPm:ue(E.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(E.dateTimeIsoAM_PM),dateTimeShortIso:ue(E.dateTimeShortIso),dateEuro:ue(E.dateEuro),dateEuroShort:ue(E.dateEuroShort),dateTimeShortEuro:ue(E.dateTimeShortEuro),dateTimeEuro:ue(E.dateTimeEuro),dateTimeEuroAmPm:ue(E.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(E.dateTimeEuroAM_PM),dateTimeEuroShort:ue(E.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(E.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(E.dateTimeEuroShortAM_PM),dateUs:ue(E.dateUs),dateUsShort:ue(E.dateUsShort),dateTimeShortUs:ue(E.dateTimeShortUs),dateTimeUs:ue(E.dateTimeUs),dateTimeUsAmPm:ue(E.dateTimeUsAmPm),dateTimeUsAM_PM:ue(E.dateTimeUsAM_PM),dateTimeUsShort:ue(E.dateTimeUsShort),dateTimeUsShortAmPm:ue(E.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(E.dateTimeUsShortAM_PM),numeric:Io,objectString:bh,string:Ih};function gi(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 E.boolean:o=ii.boolean(e,t,i,s,n);break;case E.float:case E.integer:case E.number:o=ii.numeric(e,t,i,s,n);break;case E.object:o=ii.objectString(e,t,i,s,n);break;case E.string:case E.text:case E.password:case E.readonly:default:o=ii.string(e,t,i,s,n);break}return o}const Xh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:gi},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 $o{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}-${mi(e)}`:mi(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 y(){t.parentNode||(l||e.body).appendChild(t)}function T(){return!!t.parentNode}function I(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),b()}function O(){if(!T())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var N=0,te;function Ne(){var je=e.documentElement,rt=je.clientTop||e.body.clientTop||0,ot=je.clientLeft||e.body.clientLeft||0,ki=window.pageYOffset||je.scrollTop,Ht=window.pageXOffset||je.scrollLeft;te=_.getBoundingClientRect();var Je=te.top+_.offsetHeight+ki-rt,as=te.left+Ht-ot;s.top=Je+"px",s.left=as+"px",N=window.innerHeight-(te.top+_.offsetHeight),N<0&&(N=0),s.top=Je+"px",s.bottom="",s.left=as+"px",s.maxHeight=N+"px"}Ne(),Ne(),r.customize&&te&&r.customize(_,te,t,N)}function x(){t.textContent="",_.setAttribute("aria-activedescendant","");var N=function(ot,ki,Ht){var Je=e.createElement("div");return Je.textContent=ot.label||"",Je};r.render&&(N=r.render);var te=function(ot,ki){var Ht=e.createElement("div");return Ht.textContent=ot,Ht};r.renderGroup&&(te=r.renderGroup);var Ne=e.createDocumentFragment(),je=C();if(a.forEach(function(ot,ki){if(ot.group&&ot.group!==je){je=ot.group;var Ht=te(ot.group,h);Ht&&(Ht.className+=" group",Ne.appendChild(Ht))}var Je=N(ot,h,ki);Je&&(Je.id=t.id+"_"+ki,Je.setAttribute("role","option"),Je.addEventListener("click",function(as){g=!0;try{r.onSelect(ot,_)}finally{g=!1}I(),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{I();return}y(),O(),W()}function A(){T()&&x()}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 te=N[0],Ne=te.previousElementSibling;if(Ne&&Ne.className.indexOf("group")!==-1&&!Ne.previousElementSibling&&(te=Ne),te.offsetTop<t.scrollTop)t.scrollTop=te.offsetTop;else{var je=te.offsetTop+te.offsetHeight,rt=t.scrollTop+t.offsetHeight;je>rt&&(t.scrollTop+=je-rt)}}}function q(){var N=a.indexOf(u);u=N===-1?void 0:a[(N+a.length-1)%a.length],X(N)}function Z(){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),ee(a.indexOf(u)),W())}function ee(N){var te=e.getElementById(t.id+"_"+N);te&&(te.classList.add("selected"),te.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",te.id))}function ze(N){var te=e.getElementById(t.id+"_"+N);te&&(te.classList.remove("selected"),te.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function nt(N,te){var Ne=T();if(te==="Escape")I();else{if(!Ne||a.length<1)return;te==="ArrowUp"?q():Z()}N.preventDefault(),Ne&&N.stopPropagation()}function fe(N){if(u){i===2&&N.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}I()}i===1&&N.preventDefault()}function xe(N){var te=N.key;switch(te){case"ArrowUp":case"ArrowDown":case"Escape":nt(N,te);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)):I()}function ke(N,te,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],x())},te,Ne)}}function K(N){if(r.keyup){r.keyup({event:N,fetch:function(){return Le(0)}});return}!T()&&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!==_&&I()},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",K),_.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(),I(),f=!0}return _.addEventListener("keyup",K),_.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 Wo{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 Go=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(Go.call(r,t)&&++i&&!Go.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 Uo(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||E.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Xe(E.dateIso),g=c?Xe(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,`${mo(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 jo(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 ro(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&&Qh(e,t,i,s)}return l}function Qh(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 Zh(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 Jh{constructor(e,t,i){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._clearFilterTriggered=!1,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===E.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=jo(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(),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&&(Fi(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])}),hs(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&Fi(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)??"";J(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-${mi(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?(Uo(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 ed=Object.defineProperty,Yo=Object.getOwnPropertySymbols,td=Object.prototype.hasOwnProperty,id=Object.prototype.propertyIsEnumerable,Vn=(r,e,t)=>e in r?ed(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qo=(r,e)=>{for(var t in e||(e={}))td.call(e,t)&&Vn(r,t,e[t]);if(Yo)for(var t of Yo(e))id.call(e,t)&&Vn(r,t,e[t]);return r},Y=(r,e,t)=>(Vn(r,typeof e!="symbol"?e+"":e,t),t);const sd={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"},nd=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 />`,rd=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,od=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 ld{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",qo({},sd)),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:nd(this.CSSClasses),month:rd(this.CSSClasses),year:od(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 St=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,me=r=>new Date(`${r}T00:00:00`),_i=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(St(a));return i});return e},[]),vs=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},Ui=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):"",Ci={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."},ad=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(_i(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},hd=r=>{var e,t,i;r.date.min==="today"&&(r.date.min=vs()),r.date.max==="today"&&(r.date.max=vs()),r.settings.range.min==="today"&&(r.settings.range.min=vs()),r.settings.range.max==="today"&&(r.settings.range.max=vs()),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?St(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?St(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?_i(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?_i(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])},dd=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?_i(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?_i(r.settings.selected.holidays):[]},cd=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)},ud=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=Ui(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(Ci.incorrectTime)},pd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},Xo=r=>{r.currentType=r.type,ad(r),hd(r),dd(r),cd(r),ud(r),pd(r)},Ko=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},Bn=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(St(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();Ko({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{Ko({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]()},Qo=(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 zn(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 md(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function $n(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function fd(r){const{top:e,left:t}=md(),{top:i,left:s}=zn(r),{vh:n,vw:o}=$n(),l=i-e,a=s-t;return{top:l,bottom:n-(l+r.clientHeight),left:a,right:o-(a+r.clientWidth)}}function Zo(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}=fd(r),{top:l,left:a}=zn(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=$n(),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 gd(r,e){const t="left";if(!e||!r)return t;const{canShow:i,parentPositions:s}=Zo(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 Wn=(r,e,t,i)=>{if(r){const s=t==="auto"?gd(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}=zn(r),d=a+n[o];let c=h+n[l];const{vw:u}=$n();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`})}},_d=(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}=Zo(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`})}})}},Cd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>_d(r,i,s,e)))},vd=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Qo(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)},bd=(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++)vd(r,a,d===0?6:7*d,l,o)},Sd=(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)))},yd=(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&&St(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))}},Gn=(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=Qo(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),Sd(r,n,s),yd(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Ed=(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();Gn(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},wd=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=St(o),a=o.getDay();Gn(r,i,e,n,a,l,!1,null)}},Td=(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();Gn(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},bs=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="",Ed(r,s,a,l,c),wd(r,s,d,a,l),Td(r,s,d,a,l,c),bd(r,c,d,t[n],s),Cd(r,s)})},Od=(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]},xd=(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)},Ss=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)=>Od(r,o,l,n)),s==null||s.forEach((o,l)=>xd(r,o,l,n))},Un=(r,e)=>{const t=me(St(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()],Ss(r),Bn(r),bs(r)},Id=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,Rd=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,Ad=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,Pd=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,kd=r=>`<div class="${r.CSSClasses.week}"></div>`,Fd=r=>`<div class="${r.CSSClasses.days}"></div>`,Dd=r=>`<div class="${r.CSSClasses.months}"></div>`,Md=r=>`<div class="${r.CSSClasses.years}"></div>`,Ld=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",Nd=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",Hd=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:Rd,ArrowPrev:Id,ControlTime:Nd,Days:Fd,Month:Ad,Months:Dd,Week:kd,WeekNumbers:Ld,Year:Pd,Years:Md},Symbol.toStringTag,{value:"Module"})),ji=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=(n=i.replace(/[/\s\n\t]/g,""),Hd[n]);var n;const o=s?s(r):"";return r.sanitizer(o)}).replace(/[\n\t]/g,""),Vd=(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,""),jn=(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=ji(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=ji(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Vd(r,ji(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=ji(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=ji(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},Bd=(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},Yn=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",jn(r,e),Ss(r),Bn(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=Bd(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},zd=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?Un(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],Yn(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},$d=(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)},Jo=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),Wd=(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(Jo(t))},Gd=(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(Jo(t))},Ud=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(Ci.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)Wd(r,e);for(let e=0;e<12;e++)Gd(r,e)}},el=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},jd=(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},tl=(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",jn(r,e),Ss(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()+el(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+el(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=jd(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},qn=(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]:"",ys=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),il=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},si=(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)},sl=(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 si(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,si(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=Ui(l.value),si(r,o,Ui(l.value),s))})},nl=(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=qn(h,r.selectedKeeping),si(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=Ui(l.value),e.value=h,si(r,o,Ui(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,si(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Yd=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=qn(r.selectedHours,r.selectedKeeping),si(r,i,r.selectedHours,"hours")})},qd=(r,e,t)=>{const i=t===24?23:t||12,s=ys(e,r.CSSClasses.timeRange,"hours"),n=ys(e,r.CSSClasses.timeRange,"minutes"),o=ys(e,r.CSSClasses.timeHours,"hours"),l=ys(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);il(s,o,r.CSSClasses.isFocus),il(n,l,r.CSSClasses.isFocus),sl(r,s,o,a,"hours",i),sl(r,n,l,a,"minutes",0),nl(r,s,o,a,"hours",i),nl(r,n,l,a,"minutes",59),a&&Yd(r,a,s)},rl=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,ol=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Xd=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}">${rl("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${rl("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}">${ol("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?qn(r.selectedHours,r.selectedKeeping):r.selectedHours)}${ol("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),qd(r,e,t)},Kd=(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)}},ll=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>Kd(r,t,e)))},al=["light","dark","system"],Es={value:!1,set:()=>{Es.value=!0},check:()=>Es.value},hl=(r,e)=>al.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),ni=(r,e)=>{r.dataset.calendarTheme=e},dl=(r,e)=>{var t;if(t=e,ni(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||Es.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>ni(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),Es.set()},Qd=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=hl(e,t);n&&ni(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Zd=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void dl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=hl(t,i);s?(ni(r.HTMLElement,s),Qd(r,t,i)):dl(r,e)},Jd=r=>{if(!al.includes(r.settings.visibility.theme))throw new Error(Ci.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void ni(r.HTMLElement,"light");({light:()=>ni(r.HTMLElement,"light"),dark:()=>ni(r.HTMLElement,"dark"),system:()=>Zd(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},Yi=r=>{const e={default:()=>{ll(r),bs(r)},multiple:()=>{ll(r),bs(r)},month:()=>tl(r),year:()=>Yn(r)};Jd(r),Ud(r),jn(r),Ss(r),Bn(r),Xd(r),e[r.currentType]()},Q={self:null,rangeMin:void 0,rangeMax:void 0},cl=()=>{var r;if(!((r=Q.self)!=null&&r.HTMLElement))return;const{CSSClasses:e}=Q.self;Q.self.HTMLElement.querySelectorAll(`.${Q.self.CSSClasses.dayBtnHover}`).forEach(t=>{var i;t.classList.remove(Q.self.CSSClasses.dayBtnHover),(i=t.parentElement)==null||i.classList.remove(e.dayHoverIntermediate,e.dayHoverFirst,e.dayHoverLast)})},ec=(r,e,t)=>{var i,s,n;if(!((i=Q.self)!=null&&i.selectedDates))return;const o=St(r),{CSSClasses:l}=Q.self;if((s=Q.self.rangeDisabled)!=null&&s.includes(o))return;const a=(n=Q.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)})},Xn=r=>{var e;if(!r.target||!((e=Q.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Q.self.CSSClasses.days}`))return void cl();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=me(Q.self.selectedDates[0]),n=me(i),o=Q.self.HTMLElement.querySelectorAll(`[data-calendar-day="${Q.self.selectedDates[0]}"]`),l=Q.self.HTMLElement.querySelectorAll(`[data-calendar-day="${i}"]`),[a,h]=s<n?[o,l]:[l,o],[d,c]=s<n?[s,n]:[n,s];cl();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))ec(u,a,h)},Kn=r=>{Q.self&&r.key==="Escape"&&(Q.self.selectedDates=[],Q.self.HTMLElement.removeEventListener("mousemove",Xn),document.removeEventListener("keydown",Kn),Yi(Q.self))},tc=()=>{var r,e,t;if(!((e=(r=Q.self)==null?void 0:r.selectedDates)!=null&&e[0])||!((t=Q.self.rangeDisabled)!=null&&t[0]))return;const i=me(Q.self.selectedDates[0]),[s,n]=Q.self.rangeDisabled.map(o=>me(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Q.self.rangeMin=St(new Date(s.setDate(s.getDate()+1)))),n&&(Q.self.rangeMax=St(new Date(n.setDate(n.getDate()-1))))},ul=(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&&(Q.rangeMin=Q.rangeMin?Q.rangeMin:r.rangeMin,Q.rangeMax=Q.rangeMax?Q.rangeMax:r.rangeMax),Q.self=r,{set:()=>{r.HTMLElement.addEventListener("mousemove",Xn),document.addEventListener("keydown",Kn),r.settings.range.disableGaps&&tc()},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]:_i([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",Xn),document.removeEventListener("keydown",Kn),r.settings.range.disableGaps&&Q.self&&(Q.self.rangeMin=Q.rangeMin,Q.self.rangeMax=Q.rangeMax)}}[r.selectedDates.length===1?"set":"reset"]()},pl=(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])},ic=(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:()=>pl(r,n,!1),multiple:()=>pl(r,n,!0),"multiple-ranged":()=>ul(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:()=>Un(r,"prev"),next:()=>Un(r,"next"),default:()=>bs(r)})[o?"prev":l?"next":"default"]()},ml=(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},sc=(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=ml(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=ml(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,Yi(r)},fl=(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:()=>Yn(r,s),month:()=>tl(r,s)}[t]():l?sc(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,Yi(r))},gl=r=>{const e=t=>{zd(r,t),$d(r,t),ic(r,t),fl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),fl(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)},_l=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=qo({},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,Xo(r),Yi(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&ul(r)},Cl=(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(()=>{Wn(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),_l(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),gl(r)},nc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>Wn(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?(Wn(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(Cl(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())}},rc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(Ci.notInit);r.input&&!r.isInputInit&&Cl(r,!1),_l(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},oc=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(Ci.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 vl extends ld{constructor(e,t){if(super(),Y(this,"init",()=>{return(s=this).HTMLOriginalElement=s.HTMLElement.cloneNode(!0),s.isInit=!0,s.input?nc(s):(Xo(s),Yi(s),s.actions.initCalendar&&s.actions.initCalendar(s),gl(s));var s}),Y(this,"update",s=>rc(this,s)),Y(this,"destroy",()=>oc(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(Ci.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 bl{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(),J(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=ui(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,y,T;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||E.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||E.dateUtc,n=Xe(s),o=this.columnFilter.type||this.columnDef.type||E.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Xe(this.hasTimePicker?E.dateTimeIsoAM_PM:E.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(I=>vt(I,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:I=>this.grid.sanitizeHtmlString(I),toggleSelected:!1,actions:{clickDay:I=>{this._lastClickIsDate=!0},changeToInput:(I,O)=>{if(O.HTMLInputElement){let x=[],A="",D="";if(O.selectedDates[1]){O.selectedDates.sort((W,q)=>+new Date(W)-+new Date(q)),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}`,x=[A,D]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=vt(A,E.dateIso,s),x=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),x=[M]}if(this.inputFilterType==="compound"?this._currentValue=vt(x[0],void 0,i):Array.isArray(x)&&(this._currentDateStrings=x.map(M=>vt(M,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=x.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 vl(this._dateInputElm,this._pickerOptions),this.calendarInstance.init(),(T=(y=this._pickerOptions.settings)==null?void 0:y.selected)!=null&&T.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(J(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 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=ui(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&&ie(this._currentDateOrDates)||this._currentDateOrDates===""&&ie(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 lc extends bl{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Sl{constructor(e){this.translaterService=e}filterCollection(e,t,i=ci.chain){let s=[];return Array.isArray(t)?(s=i===ci.merge?[]:[...e],t.forEach(n=>{if(i===ci.merge){const o=this.singleFilterCollection(e,n);s=To([...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)??E.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=gi(_,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)??E.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=gi(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)??E.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=gi(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}getParseDateInfo(e,t){const i=e.type||E.string,s=Xe(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 ac{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 yl(r,e,t,i,s=!1,n,o){var O,x,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=((x=h==null?void 0:h.customStructure)==null?void 0:x.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"}),y=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];S.classList.add(...y),S.multiple=s;const T=[];let I=!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(q=>q===L)>=0),T.push(W),(W.selected&&s||W.selected&&!s&&L!=="")&&(I=!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],q=(L.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let Z=L[g]||"",X=L[_]||"",ee=L.hasOwnProperty(C)?L[C]:"";ee!=null&&ee.toString&&(ee=ee.toString().replace(/"/g,"'")),Z=u&&n&&Z&&typeof Z=="string"?n.translate(Z||" "):Z,X=u&&n&&X&&typeof X=="string"?n.translate(X||" "):X,ee=u&&n&&ee&&typeof ee=="string"?n.translate(ee||" "):ee;let nt=[Z,typeof q=="string"||typeof q=="number"?q.toString():q,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??""}`,T.push(fe),(fe.selected&&s||fe.selected&&!s&&L[b]!=="")&&(I=!0)})),{selectElement:S,dataCollection:T,hasFoundSearchTerm:I}}class hc{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,y,T,I,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&&((y=this.translaterService)==null?void 0:y.getCurrentLanguage)&&((T=this.translaterService)==null?void 0:T.translate(`${d}FORCE_FIT_COLUMNS`))||(o==null?void 0:o.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=l||n&&((I=this.translaterService)==null?void 0:I.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 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 El{constructor(){this.__nonDataRow=!0}}class ws extends El{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 dc extends El{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class cc{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 w{static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;w.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;w.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?w.isHidden(e)&&i.push(e):s?w.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)}}w.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 qi=new cc,uc="slick-edit-preclick";class wl{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){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){var t;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((t=e==null?void 0:e.group)==null?void 0:t.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 ws&&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 ws&&(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 pc{constructor(e,t){this.externalPubSub=t,this.defaults={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&&(ie(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),ie(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 wl),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]];ie(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]];ie(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(!ie(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){const t=this.rows[e];return t===void 0?null:t.__group?this._options.groupItemMetadataProvider.getGroupRowMetadata(t):t.__groupTotals?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t):null}expandCollapseAllGroups(e,t){if(ie(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 ws,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 ws,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 dc;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];ie(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.3
4
4
  * @author RubaXa <trash@rubaxa.org>
5
5
  * @author owenm <owen23355@gmail.com>
6
6
  * @license MIT
7
- */function Tl(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 yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tl(Object(t),!0).forEach(function(i){mc(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Tl(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function Ts(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ts=function(e){return typeof e}:Ts=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(r)}function mc(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 fc(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 gc(r,e){if(r==null)return{};var t=fc(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 _c="1.15.3";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),Xi=Dt(/Edge/i),Ol=Dt(/firefox/i),Ki=Dt(/safari/i)&&!Dt(/chrome/i)&&!Dt(/android/i),xl=Dt(/iP(ad|od|hone)/i),Il=Dt(/chrome/i)&&Dt(/android/i),Rl={capture:!1,passive:!1};function re(r,e,t){r.addEventListener(e,t,!Mt&&Rl)}function se(r,e,t){r.removeEventListener(e,t,!Mt&&Rl)}function Os(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 Al(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&&Os(r,e):Os(r,e))||i&&r===t)return r;if(r===t)break}while(r=Al(r))}return null}var Pl=/\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(Pl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(Pl," ")}}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 vi(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 kl(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 Et(){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!==Et()?(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=vi(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 Fl(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===Et())break;i=Wt(i,!1)}return!1}function bi(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 Qn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Os(t,e));)t=t.previousElementSibling;return t||null}function ht(r,e){var t=0;if(!r||!r.parentNode)return-1;for(;r=r.previousElementSibling;)r.nodeName.toUpperCase()!=="TEMPLATE"&&r!==B.clone&&(!e||Os(r,e))&&t++;return t}function Dl(r){var e=0,t=0,i=Et();if(r)do{var s=vi(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 Cc(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 Et();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 Et();if(i||e)return t;i=!0}}while(t=t.parentNode);return Et()}function vc(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 Ml(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 bc(){clearTimeout(Qi),Qi=void 0}function Ll(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function Nl(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 Hl(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 Ke="Sortable"+new Date().getTime();function Sc(){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=yt({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=vi(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(Cc(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=vi(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=Ec(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=vi(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=yc(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 yc(r){return r.offsetWidth}function Ec(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 Si=[],Jn={initializeByDefault:!0},Zi={mount:function(e){for(var t in Jn)Jn.hasOwnProperty(t)&&!(t in e)&&(e[t]=Jn[t]);Si.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),Si.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";Si.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](yt({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](yt({sortable:t},i)))})},initializePlugins:function(e,t,i,s){Si.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 Si.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 Si.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function wc(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[Ke],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Mt&&!Xi?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=yt(yt({},m),Zi.getEventProperties(i,e));for(var b in C)f[b]=C[b];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var Tc=["evt"],Qe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=gc(i,Tc);Zi.pluginEvent.bind(B)(e,t,yt({dragEl:k,parentEl:Re,ghostEl:j,rootEl:be,nextEl:ri,lastDownEl:xs,cloneEl:Oe,cloneHidden:Gt,dragStarted:es,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:yi,oldDraggableIndex:Ji,newIndex:st,newDraggableIndex:Ut,hideGhostForTarget:Ul,unhideGhostForTarget:jl,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(l){Ye({sortable:t,name:l,originalEvent:s})}},n))};function Ye(r){wc(yt({putSortable:He,cloneEl:Oe,targetEl:k,rootEl:be,oldIndex:yi,oldDraggableIndex:Ji,newIndex:st,newDraggableIndex:Ut},r))}var k,Re,j,be,ri,xs,Oe,Gt,yi,st,Ji,Ut,Is,He,Ei=!1,Rs=!1,As=[],oi,ft,er,tr,Vl,Bl,es,wi,ts,is=!1,Ps=!1,ks,Ge,ir=[],sr=!1,Fs=[],Ds=typeof document<"u",Ms=xl,zl=Xi||Mt?"cssFloat":"float",Oc=Ds&&!Il&&!xl&&"draggable"in document.createElement("div"),$l=function(){if(Ds){if(Mt)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),Wl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=bi(e,0,t),o=bi(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[zl]==="none"||o&&i[zl]==="none"&&h+d>s)?"vertical":"horizontal"},xc=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},Ic=function(e,t){var i;return As.some(function(s){var n=s[Ke].options.emptyInsertThreshold;if(!(!n||Qn(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},Gl=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||Ts(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},Ul=function(){!$l&&j&&$(j,"display","none")},jl=function(){!$l&&j&&$(j,"display","")};Ds&&!Il&&document.addEventListener("click",function(r){if(Rs)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),Rs=!1,!1},!0);var li=function(e){if(k){e=e.touches?e.touches[0]:e;var t=Ic(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[Ke]._onDragOver(i)}}},Rc=function(e){k&&k.parentNode[Ke]._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[Ke]=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 Wl(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&&!Ki,emptyInsertThreshold:5};Zi.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Gl(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:Oc,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?re(r,"pointerdown",this._onTapStart):(re(r,"mousedown",this._onTapStart),re(r,"touchstart",this._onTapStart)),this.nativeDraggable&&(re(r,"dragover",this),re(r,"dragenter",this)),As.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Ft(this,Sc())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(wi=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(Nc(i),!k&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Ki&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=mt(a,s.draggable,i,!1),!(a&&a.animated)&&xs!==a)){if(yi=ht(a),Ji=ht(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.cancelable&&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.cancelable&&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,ri=k.nextSibling,xs=i,Is=o.group,B.dragged=k,oi={target:k,clientX:(t||e).clientX,clientY:(t||e).clientY},Vl=oi.clientX-h.left,Bl=oi.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(),!Ol&&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){kl(k,d.trim(),nr)}),re(l,"dragover",li),re(l,"mousemove",li),re(l,"touchmove",li),re(l,"mouseup",s._onDrop),re(l,"touchend",s._onDrop),re(l,"touchcancel",s._onDrop),Ol&&this.nativeDraggable&&(this.options.touchStartThreshold=4,k.draggable=!0),Qe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Xi||Mt))){if(B.eventCanceled){this._onDrop();return}re(l,"mouseup",s._disableDelayedDrag),re(l,"touchend",s._disableDelayedDrag),re(l,"touchcancel",s._disableDelayedDrag),re(l,"mousemove",s._delayedDragTouchMoveHandler),re(l,"touchmove",s._delayedDragTouchMoveHandler),o.supportPointer&&re(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&&nr(k),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;se(e,"mouseup",this._disableDelayedDrag),se(e,"touchend",this._disableDelayedDrag),se(e,"touchcancel",this._disableDelayedDrag),se(e,"mousemove",this._delayedDragTouchMoveHandler),se(e,"touchmove",this._delayedDragTouchMoveHandler),se(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?re(document,"pointermove",this._onTouchMove):t?re(document,"touchmove",this._onTouchMove):re(document,"mousemove",this._onTouchMove):(re(k,"dragend",this),re(be,"dragstart",this._onDragStart));try{document.selection?Ns(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Ei=!1,be&&k){Qe("dragStarted",this,{evt:t}),this.nativeDraggable&&re(document,"dragover",Rc);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,Ul();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[Ke]._isOutsideThisEl(e),t)do{if(t[Ke]){var i=void 0;if(i=t[Ke]._onDragOver({clientX:ft.clientX,clientY:ft.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=Al(t));jl()}},_onTouchMove:function(e){if(oi){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&vi(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=Ms&&Ge&&Dl(Ge),d=(n.clientX-oi.clientX+s.x)/(l||1)+(h?h[0]-ir[0]:0)/(l||1),c=(n.clientY-oi.clientY+s.y)/(a||1)+(h?h[1]-ir[1]:0)/(a||1);if(!B.active&&!Ei){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-(er||0),o.f+=c-(tr||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),er=d,tr=c,ft=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=De(k,!0,Ms,!0,e),i=this.options;if(Ms){for(Ge=e;$(Ge,"position")==="static"&&$(Ge,"transform")==="none"&&Ge!==document;)Ge=Ge.parentNode;Ge!==document.body&&Ge!==document.documentElement?(Ge===document&&(Ge=Et()),t.top+=Ge.scrollTop,t.left+=Ge.scrollLeft):Ge=Et(),ir=Dl(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",Ms?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",Vl/parseInt(j.style.width)*100+"% "+Bl/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=Nl(k),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),it(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=Ns(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?(Rs=!0,i._loopId=setInterval(i._emulateDragOver,50)):(se(document,"mouseup",i._onDrop),se(document,"touchend",i._onDrop),se(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,k)),re(document,"drop",i),$(k,"transform","translateZ(0)")),Ei=!0,i._dragStartId=Ns(i._dragStarted.bind(i,t,e)),re(document,"selectstart",i),es=!0,Ki&&$(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=Is===a,c=l.sort,u=He||h,p,m=this,f=!1;if(sr)return;function g(ee,ze){Qe(ee,m,yt({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 Ls(be,t,k,s,fe,De(fe),e,xe)},changed:b},ze))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function C(ee){return g("dragOverCompleted",{insertion:ee}),ee&&(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)&&(wi=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(k.parentNode[Ke]._isOutsideThisEl(e.target),!ee&&li(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function b(){st=ht(k),Ut=ht(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(Rs=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Is.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||(ri?be.insertBefore(k,ri):be.appendChild(k)),C(!0);var S=Qn(t,l.draggable);if(!S||Fc(e,p,this)&&!S.animated){if(S===k)return C(!1);if(S&&t===e.target&&(i=S),i&&(n=De(i)),Ls(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&&kc(e,p,this)){var y=bi(t,0,l,!0);if(y===k)return C(!1);if(i=y,n=De(i),Ls(be,t,k,s,i,n,e,!1)!==!1)return _(),t.insertBefore(k,y),Re=t,b(),C(!0)}else if(i.parentNode===t){n=De(i);var T=0,I,O=k.parentNode!==t,x=!xc(k.animated&&k.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",D=Fl(i,"top","top")||Fl(k,"top","top"),M=D?D.scrollTop:void 0;wi!==i&&(I=n[A],is=!1,Ps=!x&&l.invertSwap||O),T=Dc(e,i,n,p,x?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Ps,wi===i);var L;if(T!==0){var W=ht(k);do W-=T,L=Re.children[W];while(L&&($(L,"display")==="none"||L===j))}if(T===0||L===i)return C(!1);wi=i,ts=T;var q=i.nextElementSibling,Z=!1;Z=T===1;var X=Ls(be,t,k,s,i,n,e,Z);if(X!==!1)return(X===1||X===-1)&&(Z=X===1),sr=!0,setTimeout(Pc,30),_(),Z&&!q?t.appendChild(k):i.parentNode.insertBefore(k,Z?q:i),D&&Ll(D,0,M-D.scrollTop),Re=k.parentNode,I!==void 0&&!Ps&&(ks=Math.abs(I-De(i)[A])),b(),C(!0)}if(t.contains(k))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){se(document,"mousemove",this._onTouchMove),se(document,"touchmove",this._onTouchMove),se(document,"pointermove",this._onTouchMove),se(document,"dragover",li),se(document,"mousemove",li),se(document,"touchmove",li)},_offUpEvents:function(){var e=this.el.ownerDocument;se(e,"mouseup",this._onDrop),se(e,"touchend",this._onDrop),se(e,"pointerup",this._onDrop),se(e,"touchcancel",this._onDrop),se(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;if(st=ht(k),Ut=ht(k,i.draggable),Qe("drop",this,{evt:e}),Re=k&&k.parentNode,st=ht(k),Ut=ht(k,i.draggable),B.eventCanceled){this._nulling();return}Ei=!1,Ps=!1,is=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),rr(this.cloneId),rr(this._dragStartId),this.nativeDraggable&&(se(document,"drop",this),se(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ki&&$(document.body,"user-select",""),$(k,"transform",""),e&&(es&&(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&&se(k,"dragend",this),nr(k),k.style["will-change"]="",es&&!Ei&&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!==yi&&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=yi,Ut=Ji),Ye({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Qe("nulling",this),be=k=Re=j=ri=Oe=xs=Gt=oi=ft=es=st=Ut=yi=Ji=wi=ts=He=Is=B.dragged=B.ghost=B.clone=B.active=null,Fs.forEach(function(e){e.checked=!0}),Fs.length=er=tr=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":k&&(this._onDragOver(e),Ac(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)||Lc(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=Zi.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Gl(i)},destroy:function(){Qe("destroy",this);var e=this.el;e[Ke]=null,se(e,"mousedown",this._onTapStart),se(e,"touchstart",this._onTapStart),se(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(se(e,"dragover",this),se(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),As.splice(As.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):ri?be.insertBefore(Oe,ri):be.appendChild(Oe),this.options.group.revertClone&&this.animate(k,Oe),$(Oe,"display",""),Gt=!1}}};function Ac(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Ls(r,e,t,i,s,n,o,l){var a,h=r[Ke],d=h.options.onMove,c;return window.CustomEvent&&!Mt&&!Xi?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 nr(r){r.draggable=!1}function Pc(){sr=!1}function kc(r,e,t){var i=De(bi(t.el,0,t.options,!0)),s=Hl(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 Fc(r,e,t){var i=De(Qn(t.el,t.options.draggable)),s=Hl(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 Dc(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&&ks<h*s){if(!is&&(ts===1?a>d+h*n/2:a<c-h*n/2)&&(is=!0),is)u=!0;else if(ts===1?a<d+ks:a>c-ks)return-ts}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Mc(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Mc(r){return ht(k)<ht(r)?1:-1}function Lc(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 Nc(r){Fs.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&Fs.push(i)}}function Ns(r){return setTimeout(r,0)}function rr(r){return clearTimeout(r)}Ds&&re(document,"touchmove",function(r){(B.active||Ei)&&r.cancelable&&r.preventDefault()}),B.utils={on:re,off:se,css:$,find:kl,is:function(e,t){return!!mt(e,t,e,!1)},extend:vc,throttle:Ml,closest:mt,toggleClass:it,clone:Nl,index:ht,nextTick:Ns,cancelNextTick:rr,detectDirection:Wl,getChild:bi,expando:Ke},B.get=function(r){return r[Ke]},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=yt(yt({},B.utils),i.utils)),Zi.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=_c;var Me=[],ss,or,lr=!1,ar,hr,Hs,ns;function Hc(){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?re(document,"dragover",this._handleAutoScroll):this.options.supportPointer?re(document,"pointermove",this._handleFallbackAutoScroll):i.touches?re(document,"touchmove",this._handleFallbackAutoScroll):re(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?se(document,"dragover",this._handleAutoScroll):(se(document,"pointermove",this._handleFallbackAutoScroll),se(document,"touchmove",this._handleFallbackAutoScroll),se(document,"mousemove",this._handleFallbackAutoScroll)),Yl(),Vs(),bc()},nulling:function(){Hs=or=ss=lr=ns=ar=hr=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(Hs=t,i||this.options.forceAutoScrollFallback||Xi||Mt||Ki){dr(t,this.options,l,i);var a=Wt(l,!0);lr&&(!ns||n!==ar||o!==hr)&&(ns&&Yl(),ns=setInterval(function(){var h=Wt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Vs()),dr(t,s.options,h,i)},10),ar=n,hr=o)}else{if(!this.options.bubbleScroll||Wt(l,!0)===Et()){Vs();return}dr(t,this.options,Wt(l,!1),!1)}}},Ft(r,{pluginName:"scroll",initializeByDefault:!0})}function Vs(){Me.forEach(function(r){clearInterval(r.pid)}),Me=[]}function Yl(){clearInterval(ns)}var dr=Ml(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=Et(),h=!1,d;or!==t&&(or=t,Vs(),ss=e.scroll,d=e.scrollFn,ss===!0&&(ss=Wt(t,!0)));var c=0,u=ss;do{var p=u,m=De(p),f=m.top,g=m.bottom,_=m.left,C=m.right,b=m.width,S=m.height,y=void 0,T=void 0,I=p.scrollWidth,O=p.scrollHeight,x=$(p),A=p.scrollLeft,D=p.scrollTop;p===a?(y=b<I&&(x.overflowX==="auto"||x.overflowX==="scroll"||x.overflowX==="visible"),T=S<O&&(x.overflowY==="auto"||x.overflowY==="scroll"||x.overflowY==="visible")):(y=b<I&&(x.overflowX==="auto"||x.overflowX==="scroll"),T=S<O&&(x.overflowY==="auto"||x.overflowY==="scroll"));var M=y&&(Math.abs(C-s)<=o&&A+b<I)-(Math.abs(_-s)<=o&&!!A),L=T&&(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(Hs);var q=Me[this.layer].vy?Me[this.layer].vy*l:0,Z=Me[this.layer].vx?Me[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[Ke],Z,q,r,Hs,Me[this.layer].el)!=="continue"||Ll(Me[this.layer].el,Z,q)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=Wt(u,!1)));lr=h}},30),ql=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 cr(){}cr.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=bi(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:ql},Ft(cr,{pluginName:"revertOnSpill"});function ur(){}ur.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:ql},Ft(ur,{pluginName:"removeOnSpill"}),B.mount(new Hc),B.mount(ur,cr);function Xl(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(y,T,I){if(typeof y=="function")return y(T,I)}function g(){e&&(e.removeEventListener("mousedown",C),e.removeEventListener("touchstart",C))}function _(y){let T=!1;return o&&o.forEach(I=>{y[I]&&(T=!0)}),T}function C(y){var T;if(l=y.target,!_(y)){const I=((T=y==null?void 0:y.touches)==null?void 0:T[0])??y,{target:O}=I;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const x=yn();a=x.left+I.clientX,h=x.top+I.clientY,d=I.clientX-I.clientX,c=I.clientY-I.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,y,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(y){var I;const T=((I=y==null?void 0:y.touches)==null?void 0:I[0])??y;if(!_(y)){d=T.clientX-a,c=T.clientY-h;const{target:O}=T;u||(p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(i,y,p),u=!0),p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(s,y,p)}}function S(y){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:T}=y;p=Object.assign(p,{target:T}),f(n,y,p),u=!1}}return m(),{destroy:g}}function Kl(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 Ql(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 Vc{constructor(e,t,i,s,n){if(this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.cid="",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:qi,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,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,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.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.h_render=null,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.logMessageMaxCount=30,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-Universal] 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&&J(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!ie(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){if(e!=null&&e.mixinDefaults?(this._options||(this._options=e),w.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._options.enableColumnReorder&&(!B||!B.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},J(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||w.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||(w.hide(this._preHeaderPanelScroller),w.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=>{w.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{w.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{w.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&&w.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&w.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{w.width(i,this.getHeadersWidth())}),w.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),w.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),w.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),w.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=>{w.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.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(Kl({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))}),Xl&&(this.slickDraggableInstance=Xl({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=w.parents(this._container,":hidden"),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])})})}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&&w.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(w.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),w.width(this._headerL,this.headersWidthL),w.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const c=w.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");w.width(this._canvasTopR,this.canvasWidthR),w.width(this._paneHeaderL,this.canvasWidthL),w.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),w.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),w.width(this._paneTopL,this.canvasWidthL),w.setStyleSize(this._paneTopR,"left",this.canvasWidthL),w.width(this._paneTopR,this.viewportW-this.canvasWidthL),w.width(this._headerRowScrollerL,this.canvasWidthL),w.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),w.width(this._headerRowL,this.canvasWidthL),w.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(w.width(this._footerRowScrollerL,this.canvasWidthL),w.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),w.width(this._footerRowL,this.canvasWidthL),w.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&w.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),w.width(this._viewportTopL,this.canvasWidthL),w.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(w.width(this._paneBottomL,this.canvasWidthL),w.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),w.width(this._viewportBottomL,this.canvasWidthL),w.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),w.width(this._canvasBottomL,this.canvasWidthL),w.width(this._canvasBottomR,this.canvasWidthR))}else w.width(this._paneHeaderL,"100%"),w.width(this._paneTopL,"100%"),w.width(this._headerRowScrollerL,"100%"),w.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(w.width(this._footerRowScrollerL,"100%"),w.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&w.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),w.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(w.width(this._viewportBottomL,"100%"),w.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((o=this.scrollbarDimensions)==null?void 0:o.width)||0),w.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),w.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((a=this.scrollbarDimensions)==null?void 0:a.width)||0)),this._options.createFooterRow&&(w.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((h=this.scrollbarDimensions)==null?void 0:h.width)||0)),w.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;w.height(i,n);const o=w.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?void 0:e.width)||0,height:this.viewportHasHScroll&&((t=this.scrollbarDimensions)==null?void 0:t.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(!ie(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=w.storage.get(i,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),J(this._footerRowL),J(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),w.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=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),J(this._headerL),J(this._headerR),this.getHeadersWidth(),w.width(this._headerL,this.headersWidthL),w.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),J(this._headerRowL),J(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=w.storage.get(t,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),J(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),J(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),w.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)),w.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)),w.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);w.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=w.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?null:{columnId:u.id,sortCol:u,sortAsc:c.sortAsc}}).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",chosenClass:"slick-header-column-active",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=>{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(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;if(typeof Ql>"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');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(Ql({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var I;const C=g.touches?g.changedTouches[0]:g;if(!((I=this.getEditorLock())!=null&&I.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 y=0,T=0;for(e=0;e<=p;e++)i=c[e],i!=null&&i.resizable&&(T!==null&&(i.maxWidth?T+=i.maxWidth-(i.previousWidth||0):T=null),y+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));b===null&&(b=1e5),y===null&&(y=1e5),S===null&&(S=1e5),T===null&&(T=1e5),o=s+Math.min(b,T),n=s-Math.min(y,S)},onResize:(g,_)=>{var x;const C=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let b;const S=Math.min(o,Math.max(n,C.pageX))-s;let y,T=0,I=0;const O=this.viewportHasVScroll?this.viewportW-(((x=this.scrollbarDimensions)==null?void 0:x.width)||0):this.viewportW;if(S<0){for(y=S,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?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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?I+=i.width||0:T+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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=S,T=0,I=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<O-this._options.frozenRightViewportMinWidth&&(h=A),i.width=D+this._options.frozenRightViewportMinWidth>O?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?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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?I+=i.width||0:T+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?I+=i.width||0:T+=i.width||0)}this.hasFrozenColumns()&&T!==this.canvasWidthL&&(w.width(this._headerL,T+1e3),w.setStyleSize(this._paneHeaderR,"left",T)),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+=w.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}setPaneVisibility(){this.hasFrozenColumns()?(w.show(this._paneHeaderR),w.show(this._paneTopR),this.hasFrozenRows?(w.show(this._paneBottomL),w.show(this._paneBottomR)):(w.hide(this._paneBottomR),w.hide(this._paneBottomL))):(w.hide(this._paneHeaderR),w.hide(this._paneTopR),w.hide(this._paneBottomR),this.hasFrozenRows?w.show(this._paneBottomL):(w.hide(this._paneBottomR),w.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+=w.toFloat(n[l])),t.forEach(l=>this.headerColumnHeightDiff+=w.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+=w.toFloat(n[l])),t.forEach(l=>this.cellHeightDiff+=w.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")}),J(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(;ie(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)continue;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)continue;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;w.width(n)!==l&&w.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=>{ie(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(ie(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?w.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.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(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(Kl({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]}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?w.show(t):w.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}getRowTop(e){return Math.round(this._options.rowHeight*e-this.offset)}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)-w.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 ie(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,d,c;const i=this.columns[t],s=(l=(o=this.data)==null?void 0:o.getItemMetadata)==null?void 0:l.call(o,e),n=s==null?void 0:s.columns;return((a=n==null?void 0:n[i.id])==null?void 0:a.editorClass)!==void 0?n[i.id].editorClass:((h=n==null?void 0:n[t])==null?void 0:h.editorClass)!==void 0?n[t].editorClass:i.editorClass||((c=(d=this._options)==null?void 0:d.editorFactory)==null?void 0:c.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){var g,_;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=(_=(g=this.data)==null?void 0:g.getItemMetadata)==null?void 0:_.call(g,i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=v("div",{className:`slick-widget-content ${a}`,role:"row"}),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));let m,f;for(let C=0,b=this.columns.length;C<b;C++)if(f=this.columns[C],!(!f||f.hidden)){if(m=1,h!=null&&h.columns){const S=h.columns[f.id]||h.columns[C];m=(S==null?void 0:S.colspan)||1,m==="*"&&(m=b-C)}if(this.columnPosRight[Math.min(b-1,C+m-1)]>s.leftPx){if(!f.alwaysRenderColumn&&this.columnPosLeft[C]>s.rightPx)break;this.hasFrozenColumns()&&C>this._options.frozenColumn?this.appendCellHtml(p,i,C,m,o):this.appendCellHtml(d,i,C,m,o)}else(f.alwaysRenderColumn||this.hasFrozenColumns()&&C<=this._options.frozenColumn)&&this.appendCellHtml(d,i,C,m,o);m>1&&(C+=m-1)}}appendCellHtml(e,t,i,s,n){const o=this.columns[i];let l="slick-cell l"+i+" r"+Math.min(this.columns.length-1,i+s-1)+(o.cssClass?" "+o.cssClass:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(l+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(l+=" active"),Object.keys(this.cellCssClasses).forEach(f=>{var g;(g=this.cellCssClasses[f][t])!=null&&g[o.id]&&(l+=` ${this.cellCssClasses[f][t][o.id]}`)});let a=null,h="";n&&(a=this.getDataItemValueForColumn(n,o),h=this.getFormatter(t,o)(t,i,a,o,n,this),h==null&&(h=""));const c=this.triggerEvent(this.onBeforeAppendCell,{row:t,cell:i,value:a,dataContext:n}).getReturnValue();let u=typeof c=="string"?c:"";h!=null&&h.addClasses&&(u+=he((u?" ":"")+h.addClasses).join(" "));const p=h!=null&&h.toolTip?`${h.toolTip}`:"",m=v("div",{className:he(`${l} ${u||""}`).join(" "),role:"gridcell",tabIndex:-1});if(m.setAttribute("aria-describedby",this.uid+o.id),p&&m.setAttribute("title",p),o.hasOwnProperty("cellAttrs")&&o.cellAttrs instanceof Object&&Object.keys(o.cellAttrs).forEach(f=>{o.cellAttrs.hasOwnProperty(f)&&m.setAttribute(f,o.cellAttrs[f])}),n){const f=ei(h)?h:h.html||h.text;this.applyHtmlCode(m,f)}e.appendChild(m),h.insertElementAfterTarget&&fo(m,h.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){Object.keys(this.rowsCache).forEach(t=>{if(this.rowsCache){let i=+t,s=!0;this.hasFrozenRows&&(this._options.frozenBottom&&i>=this.actualFrozenRow||!this._options.frozenBottom&&i<=this.actualFrozenRow)&&(s=!1),(i=parseInt(t,10))!==this.activeRow&&(i<e.top||i>e.bottom)&&s&&this.removeRowFromCache(i)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}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!=null&&e.length){this.vScrollDir=0;const t=e.length;for(let i=0;i<t;i++)this.currentEditor&&this.activeRow===e[i]&&this.makeActiveCellNormal(),this.rowsCache[e[i]]&&this.removeRowFromCache(e[i]);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}}invalidateRow(e){e>=0&&this.invalidateRows([e])}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))return;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)):J(a)}),this.invalidatePostProcessingResults(e)}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?w.toFloat(w.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=w.toFloat(n.height)-w.toFloat(n.paddingTop)-w.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);w.height(this._container,this.paneTopH+w.toFloat(o.height))}this._paneTopL.style.position="relative"}let s=w.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),w.setStyleSize(this._paneTopL,"top",s||s),w.height(this._paneTopL,this.paneTopH);const n=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||w.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let o=w.height(this._paneHeaderL);o&&(o+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),w.setStyleSize(this._paneTopR,"top",o),w.height(this._paneTopR,this.paneTopH),w.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(w.setStyleSize(this._paneBottomL,"top",n),w.height(this._paneBottomL,this.paneBottomH),w.setStyleSize(this._paneBottomR,"top",n),w.height(this._paneBottomR,this.paneBottomH),w.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(w.width(this._paneBottomL,"100%"),w.height(this._paneBottomL,this.paneBottomH),w.setStyleSize(this._paneBottomL,"top",n));this.hasFrozenRows?(w.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(w.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&w.height(this._canvasBottomR,this.frozenRowsHeight)):(w.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&w.height(this._canvasTopR,this.frozenRowsHeight))):w.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(),s=this.getDataLengthIncludingAddNew();let n=0,o=this.hasFrozenRows&&!this._options.frozenBottom?w.height(this._canvasBottomL):w.height(this._canvasTopL);this.hasFrozenRows?n=this.getDataLength()-this._options.frozenRow:n=s+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const l=w.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?(w.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&w.height(this._canvasBottomR,this.h)):(w.height(this._canvasTopL,this.h),w.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(;ie(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){var h,d;let t;const i=document.createElement("div"),s=[];let n,o;for(let c=e.top,u=e.bottom;c<=u;c++){if(t=this.rowsCache[c],!t)continue;this.ensureCellNodesInRowsCache(c),this.cleanUpCells(e,c),n=0;let p=((d=(h=this.data)==null?void 0:h.getItemMetadata)==null?void 0:d.call(h,c))??{};p=p==null?void 0:p.columns;const m=this.getDataItem(c);for(let f=0,g=this.columns.length;f<g;f++){if(!this.columns[f]||this.columns[f].hidden)continue;if(this.columnPosLeft[f]>e.rightPx)break;if(ie(o=t.cellColSpans[f])){f+=o>1?o-1:0;continue}if(o=1,p){const C=p[this.columns[f].id]||p[f];o=(C==null?void 0:C.colspan)??1,o==="*"&&(o=g-f)}const _=o;this.columnPosRight[Math.min(g-1,f+_-1)]>e.leftPx&&(this.appendCellHtml(i,c,f,_,m),n++),f+=_>1?_-1:0}n&&s.push(c)}if(!i.children.length)return;let l,a;for(;ie(l=s.pop());){t=this.rowsCache[l];let c;for(;ie(c=t.cellRenderQueue.pop());)a=i.lastChild,a&&(this.hasFrozenColumns()&&c>this._options.frozenColumn?t.rowNode[1].appendChild(a):t.rowNode[0].appendChild(a),t.cellNodesByColumnIdx[c]=a)}}renderRows(e){var h,d,c,u;const t=[],i=[],s=[];let n=!1;const o=this.getDataLength();for(let p=e.top,m=e.bottom;p<=m;p++)this.rowsCache[p]||this.hasFrozenRows&&this._options.frozenBottom&&p===this.getDataLength()||(this.renderedRows++,s.push(p),this.rowsCache[p]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(t,i,p,e,o),this.activeCellNode&&this.activeRow===p&&(n=!0),this.counter_rows_rendered++);if(!s.length)return;const l=document.createElement("div"),a=document.createElement("div");t.forEach(p=>l.appendChild(p)),i.forEach(p=>a.appendChild(p));for(let p=0,m=s.length;p<m;p++)this.hasFrozenRows&&s[p]>=this.actualFrozenRow?this.hasFrozenColumns()?(h=this.rowsCache)!=null&&h.hasOwnProperty(s[p])&&l.firstChild&&a.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild,a.firstChild],this._canvasBottomL.appendChild(l.firstChild),this._canvasBottomR.appendChild(a.firstChild)):(d=this.rowsCache)!=null&&d.hasOwnProperty(s[p])&&l.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild],this._canvasBottomL.appendChild(l.firstChild)):this.hasFrozenColumns()?(c=this.rowsCache)!=null&&c.hasOwnProperty(s[p])&&l.firstChild&&a.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild,a.firstChild],this._canvasTopL.appendChild(l.firstChild),this._canvasTopR.appendChild(a.firstChild)):(u=this.rowsCache)!=null&&u.hasOwnProperty(s[p])&&l.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild],this._canvasTopL.appendChild(l.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}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.h_render=null,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<1||(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,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.key==="Home"?i=e.ctrlKey?this.navigateTop():this.navigateRowStart():e.key==="End"&&(i=e.ctrlKey?this.navigateBottom():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)===uc,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=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseOver(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOver,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderMouseOut(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOut,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseOver(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOver,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseOut(e){const t=w.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&&w.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&&w.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&&w.storage.get(t,"column");this.triggerEvent(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&w.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(w.parents(s,".grid-canvas")[0]);w.parents(s,".grid-canvas-bottom").length&&(l=this._options.frozenBottom?w.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)}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)return;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+w.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,a,h;if(ie(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(l=(o=this.rowsCache[this.activeRow])==null?void 0:o.rowNode)==null||l.forEach(d=>d.classList.remove("active"))),this.activeCellNode=e,ie(this.activeCellNode)){const d=ge(this.activeCellNode);let c=Math.floor(ge(w.parents(this.activeCellNode,".grid-canvas")[0]).top);const u=w.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&u&&(c-=this._options.frozenBottom?w.height(this._canvasTopL):this.frozenRowsHeight);const p=this.getCellFromPoint(d.left,Math.ceil(d.top)-c);this.activeRow=p.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!ie(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(h=(a=this.rowsCache[this.activeRow])==null?void 0:a.rowNode)==null||h.forEach(m=>m.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,c,u;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&&J(this.activeCellNode);let p=(h=(a=this.data)==null?void 0:a.getItemMetadata)==null?void 0:h.call(a,this.activeRow);p=p==null?void 0:p.columns;const m=p&&(p[s.id]||p[this.activeCell]),f={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:m,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new o(f),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&typeof((d=this.currentEditor)==null?void 0:d.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(c=this.currentEditor)==null?void 0:c.serializeValue(),(u=this.currentEditor)!=null&&u.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=w.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&&ie(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);let o=0,l=null;const a=this.activePosX;for(;o<=this.activePosX;)this.canCellBeActive(s,o)&&(l=o),o+=this.getColspan(s,o);l!==null?(this.setActiveCellInternal(this.getCellNode(s,l)),this.activePosX=a):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){return this.navigateToRow(this.getDataLength()-1)}navigateToRow(e){const t=this.getDataLength();if(!t)return!0;if(e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0),this._options.enableCellNavigation&&ie(this.activeRow)){let i=0,s=null;const n=this.activePosX;for(;i<=this.activePosX;)this.canCellBeActive(e,i)&&(s=i),i+=this.getColspan(e,i);s!==null?(this.setActiveCellInternal(this.getCellNode(e,s)),this.activePosX=n):this.resetActiveCell()}return!0}getColspan(e,t){var o,l;const i=(l=(o=this.data)==null?void 0:o.getItemMetadata)==null?void 0:l.call(o,e);if(!i||!i.columns)return 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}findFirstFocusableCell(e){let t=0;for(;t<this.columns.length;){if(this.canCellBeActive(e,t))return t;t+=this.getColspan(e,t)}return null}findLastFocusableCell(e){let t=0,i=null;for(;t<this.columns.length;)this.canCellBeActive(e,t)&&(i=t),t+=this.getColspan(e,t);return i}gotoRight(e,t,i){if(t>=this.columns.length)return null;do t+=this.getColspan(e,t);while(t<this.columns.length&&!this.canCellBeActive(e,t));return t<this.columns.length?{row:e,cell:t,posX:t}:null}gotoLeft(e,t,i){if(t<=0)return null;const s=this.findFirstFocusableCell(e);if(s===null||s>=t)return null;let n={row:e,cell:s,posX:s},o,l=!0;for(;l;){if(o=this.gotoRight(n.row,n.cell,n.posX),!o)return l=!1,null;if(o.cell>=t)return l=!1,n;n=o}}gotoDown(e,t,i){let s;const n=this.getDataLengthIncludingAddNew();let o=!0;for(;o;){if(++e>=n)return o=!1,null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return o=!1,{row:e,cell:s,posX:i}}}gotoUp(e,t,i){let s,n=!0;for(;n;){if(--e<0)return n=!1,null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return n=!1,{row:e,cell:s,posX:i}}}gotoNext(e,t,i){if(!Jt(e)&&!Jt(t)&&(e=t=i=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};const s=this.gotoRight(e,t,i);if(s)return s;let n=null;const o=this.getDataLengthIncludingAddNew();for(e===o-1&&e--;++e<o;)if(n=this.findFirstFocusableCell(e),n!==null)return{row:e,cell:n,posX:n};return null}gotoPrev(e,t,i){if(!Jt(e)&&!Jt(t)&&(e=this.getDataLengthIncludingAddNew()-1,t=i=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};let s,n;for(;!s&&(s=this.gotoLeft(e,t,i),!s);){if(--e<0)return null;t=0,n=this.findLastFocusableCell(e),n!==null&&(s={row:e,cell:n,posX:n})}return s}gotoRowStart(e,t,i){const s=this.findFirstFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}gotoRowEnd(e,t,i){const s=this.findLastFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}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")}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();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.activePosX);if(n){const l=this.getDataLength();if(this.hasFrozenRows&&this._options.frozenBottom&&n.row===l)return;const a=n.row===l;return(!this._options.frozenBottom&&n.row>=this.actualFrozenRow||this._options.frozenBottom&&n.row<this.actualFrozenRow)&&this.scrollCellIntoView(n.row,n.cell,!a&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(n.row,n.cell)),this.activePosX=n.posX,!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 n,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)return!1;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,e);if((i==null?void 0:i.focusable)!==void 0)return!!i.focusable;const s=i==null?void 0:i.columns;return((l=s==null?void 0:s[this.columns[t].id])==null?void 0:l.focusable)!==void 0?!!s[this.columns[t].id].focusable:((a=s==null?void 0:s[t])==null?void 0:a.focusable)!==void 0?!!s[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){var n,o;if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,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 a;if(!this.initialized||!this.canCellBeActive(e,t)||!((a=this.getEditorLock())!=null&&a.commitCurrentEdit()))return;this.scrollCellIntoView(e,t,!1);const n=this.getCellNode(e,t),o=this.columns[t],l=!!(this._options.editable&&(o!=null&&o.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(n,i||e===this.getDataLength()||this._options.autoEdit,null,l,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"),w.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 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&&qi.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&qi.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,Zl=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 ac,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&&w.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,()=>{this._grid.getEditorLock().isActive()||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=v("textarea",{value:e,style:{position:"absolute",left:"-1000px",top:`${document.body.scrollTop}px`}},this._bodyElement);return t.select(),t}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 Tl(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 yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tl(Object(t),!0).forEach(function(i){mc(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Tl(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function Ts(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ts=function(e){return typeof e}:Ts=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(r)}function mc(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 fc(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 gc(r,e){if(r==null)return{};var t=fc(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 _c="1.15.3";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),Xi=Dt(/Edge/i),Ol=Dt(/firefox/i),Ki=Dt(/safari/i)&&!Dt(/chrome/i)&&!Dt(/android/i),xl=Dt(/iP(ad|od|hone)/i),Il=Dt(/chrome/i)&&Dt(/android/i),Rl={capture:!1,passive:!1};function re(r,e,t){r.addEventListener(e,t,!Mt&&Rl)}function se(r,e,t){r.removeEventListener(e,t,!Mt&&Rl)}function Os(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 Al(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&&Os(r,e):Os(r,e))||i&&r===t)return r;if(r===t)break}while(r=Al(r))}return null}var Pl=/\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(Pl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(Pl," ")}}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 vi(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 kl(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 Et(){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!==Et()?(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=vi(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 Fl(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===Et())break;i=Wt(i,!1)}return!1}function bi(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 Qn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Os(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||Os(r,e))&&t++;return t}function Dl(r){var e=0,t=0,i=Et();if(r)do{var s=vi(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 Cc(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 Et();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 Et();if(i||e)return t;i=!0}}while(t=t.parentNode);return Et()}function vc(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 Ml(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 bc(){clearTimeout(Qi),Qi=void 0}function Ll(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function Nl(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 Hl(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 Ke="Sortable"+new Date().getTime();function Sc(){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=yt({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=vi(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(Cc(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=vi(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=Ec(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=vi(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=yc(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 yc(r){return r.offsetWidth}function Ec(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 Si=[],Jn={initializeByDefault:!0},Zi={mount:function(e){for(var t in Jn)Jn.hasOwnProperty(t)&&!(t in e)&&(e[t]=Jn[t]);Si.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),Si.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";Si.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](yt({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](yt({sortable:t},i)))})},initializePlugins:function(e,t,i,s){Si.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 Si.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 Si.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function wc(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[Ke],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Mt&&!Xi?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=yt(yt({},m),Zi.getEventProperties(i,e));for(var b in C)f[b]=C[b];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var Tc=["evt"],Qe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=gc(i,Tc);Zi.pluginEvent.bind(B)(e,t,yt({dragEl:k,parentEl:Re,ghostEl:j,rootEl:be,nextEl:ri,lastDownEl:xs,cloneEl:Oe,cloneHidden:Gt,dragStarted:es,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:yi,oldDraggableIndex:Ji,newIndex:st,newDraggableIndex:Ut,hideGhostForTarget:Ul,unhideGhostForTarget:jl,cloneNowHidden:function(){Gt=!0},cloneNowShown:function(){Gt=!1},dispatchSortableEvent:function(l){Ye({sortable:t,name:l,originalEvent:s})}},n))};function Ye(r){wc(yt({putSortable:He,cloneEl:Oe,targetEl:k,rootEl:be,oldIndex:yi,oldDraggableIndex:Ji,newIndex:st,newDraggableIndex:Ut},r))}var k,Re,j,be,ri,xs,Oe,Gt,yi,st,Ji,Ut,Is,He,Ei=!1,Rs=!1,As=[],oi,ft,er,tr,Vl,Bl,es,wi,ts,is=!1,Ps=!1,ks,Ge,ir=[],sr=!1,Fs=[],Ds=typeof document<"u",Ms=xl,zl=Xi||Mt?"cssFloat":"float",Oc=Ds&&!Il&&!xl&&"draggable"in document.createElement("div"),$l=function(){if(Ds){if(Mt)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),Wl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=bi(e,0,t),o=bi(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[zl]==="none"||o&&i[zl]==="none"&&h+d>s)?"vertical":"horizontal"},xc=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},Ic=function(e,t){var i;return As.some(function(s){var n=s[Ke].options.emptyInsertThreshold;if(!(!n||Qn(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},Gl=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||Ts(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},Ul=function(){!$l&&j&&$(j,"display","none")},jl=function(){!$l&&j&&$(j,"display","")};Ds&&!Il&&document.addEventListener("click",function(r){if(Rs)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),Rs=!1,!1},!0);var li=function(e){if(k){e=e.touches?e.touches[0]:e;var t=Ic(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[Ke]._onDragOver(i)}}},Rc=function(e){k&&k.parentNode[Ke]._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[Ke]=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 Wl(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&&!Ki,emptyInsertThreshold:5};Zi.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Gl(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:Oc,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?re(r,"pointerdown",this._onTapStart):(re(r,"mousedown",this._onTapStart),re(r,"touchstart",this._onTapStart)),this.nativeDraggable&&(re(r,"dragover",this),re(r,"dragenter",this)),As.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Ft(this,Sc())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(wi=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(Nc(i),!k&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Ki&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=mt(a,s.draggable,i,!1),!(a&&a.animated)&&xs!==a)){if(yi=dt(a),Ji=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.cancelable&&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.cancelable&&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,ri=k.nextSibling,xs=i,Is=o.group,B.dragged=k,oi={target:k,clientX:(t||e).clientX,clientY:(t||e).clientY},Vl=oi.clientX-h.left,Bl=oi.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(),!Ol&&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){kl(k,d.trim(),nr)}),re(l,"dragover",li),re(l,"mousemove",li),re(l,"touchmove",li),re(l,"mouseup",s._onDrop),re(l,"touchend",s._onDrop),re(l,"touchcancel",s._onDrop),Ol&&this.nativeDraggable&&(this.options.touchStartThreshold=4,k.draggable=!0),Qe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Xi||Mt))){if(B.eventCanceled){this._onDrop();return}re(l,"mouseup",s._disableDelayedDrag),re(l,"touchend",s._disableDelayedDrag),re(l,"touchcancel",s._disableDelayedDrag),re(l,"mousemove",s._delayedDragTouchMoveHandler),re(l,"touchmove",s._delayedDragTouchMoveHandler),o.supportPointer&&re(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&&nr(k),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;se(e,"mouseup",this._disableDelayedDrag),se(e,"touchend",this._disableDelayedDrag),se(e,"touchcancel",this._disableDelayedDrag),se(e,"mousemove",this._delayedDragTouchMoveHandler),se(e,"touchmove",this._delayedDragTouchMoveHandler),se(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?re(document,"pointermove",this._onTouchMove):t?re(document,"touchmove",this._onTouchMove):re(document,"mousemove",this._onTouchMove):(re(k,"dragend",this),re(be,"dragstart",this._onDragStart));try{document.selection?Ns(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Ei=!1,be&&k){Qe("dragStarted",this,{evt:t}),this.nativeDraggable&&re(document,"dragover",Rc);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,Ul();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[Ke]._isOutsideThisEl(e),t)do{if(t[Ke]){var i=void 0;if(i=t[Ke]._onDragOver({clientX:ft.clientX,clientY:ft.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=Al(t));jl()}},_onTouchMove:function(e){if(oi){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&vi(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=Ms&&Ge&&Dl(Ge),d=(n.clientX-oi.clientX+s.x)/(l||1)+(h?h[0]-ir[0]:0)/(l||1),c=(n.clientY-oi.clientY+s.y)/(a||1)+(h?h[1]-ir[1]:0)/(a||1);if(!B.active&&!Ei){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-(er||0),o.f+=c-(tr||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),er=d,tr=c,ft=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=De(k,!0,Ms,!0,e),i=this.options;if(Ms){for(Ge=e;$(Ge,"position")==="static"&&$(Ge,"transform")==="none"&&Ge!==document;)Ge=Ge.parentNode;Ge!==document.body&&Ge!==document.documentElement?(Ge===document&&(Ge=Et()),t.top+=Ge.scrollTop,t.left+=Ge.scrollLeft):Ge=Et(),ir=Dl(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",Ms?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",Vl/parseInt(j.style.width)*100+"% "+Bl/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=Nl(k),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),it(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=Ns(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?(Rs=!0,i._loopId=setInterval(i._emulateDragOver,50)):(se(document,"mouseup",i._onDrop),se(document,"touchend",i._onDrop),se(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,k)),re(document,"drop",i),$(k,"transform","translateZ(0)")),Ei=!0,i._dragStartId=Ns(i._dragStarted.bind(i,t,e)),re(document,"selectstart",i),es=!0,Ki&&$(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=Is===a,c=l.sort,u=He||h,p,m=this,f=!1;if(sr)return;function g(ee,ze){Qe(ee,m,yt({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 Ls(be,t,k,s,fe,De(fe),e,xe)},changed:b},ze))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function C(ee){return g("dragOverCompleted",{insertion:ee}),ee&&(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)&&(wi=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(k.parentNode[Ke]._isOutsideThisEl(e.target),!ee&&li(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(Rs=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Is.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||(ri?be.insertBefore(k,ri):be.appendChild(k)),C(!0);var S=Qn(t,l.draggable);if(!S||Fc(e,p,this)&&!S.animated){if(S===k)return C(!1);if(S&&t===e.target&&(i=S),i&&(n=De(i)),Ls(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&&kc(e,p,this)){var y=bi(t,0,l,!0);if(y===k)return C(!1);if(i=y,n=De(i),Ls(be,t,k,s,i,n,e,!1)!==!1)return _(),t.insertBefore(k,y),Re=t,b(),C(!0)}else if(i.parentNode===t){n=De(i);var T=0,I,O=k.parentNode!==t,x=!xc(k.animated&&k.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",D=Fl(i,"top","top")||Fl(k,"top","top"),M=D?D.scrollTop:void 0;wi!==i&&(I=n[A],is=!1,Ps=!x&&l.invertSwap||O),T=Dc(e,i,n,p,x?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Ps,wi===i);var L;if(T!==0){var W=dt(k);do W-=T,L=Re.children[W];while(L&&($(L,"display")==="none"||L===j))}if(T===0||L===i)return C(!1);wi=i,ts=T;var q=i.nextElementSibling,Z=!1;Z=T===1;var X=Ls(be,t,k,s,i,n,e,Z);if(X!==!1)return(X===1||X===-1)&&(Z=X===1),sr=!0,setTimeout(Pc,30),_(),Z&&!q?t.appendChild(k):i.parentNode.insertBefore(k,Z?q:i),D&&Ll(D,0,M-D.scrollTop),Re=k.parentNode,I!==void 0&&!Ps&&(ks=Math.abs(I-De(i)[A])),b(),C(!0)}if(t.contains(k))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){se(document,"mousemove",this._onTouchMove),se(document,"touchmove",this._onTouchMove),se(document,"pointermove",this._onTouchMove),se(document,"dragover",li),se(document,"mousemove",li),se(document,"touchmove",li)},_offUpEvents:function(){var e=this.el.ownerDocument;se(e,"mouseup",this._onDrop),se(e,"touchend",this._onDrop),se(e,"pointerup",this._onDrop),se(e,"touchcancel",this._onDrop),se(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}Ei=!1,Ps=!1,is=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),rr(this.cloneId),rr(this._dragStartId),this.nativeDraggable&&(se(document,"drop",this),se(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ki&&$(document.body,"user-select",""),$(k,"transform",""),e&&(es&&(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&&se(k,"dragend",this),nr(k),k.style["will-change"]="",es&&!Ei&&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!==yi&&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=yi,Ut=Ji),Ye({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Qe("nulling",this),be=k=Re=j=ri=Oe=xs=Gt=oi=ft=es=st=Ut=yi=Ji=wi=ts=He=Is=B.dragged=B.ghost=B.clone=B.active=null,Fs.forEach(function(e){e.checked=!0}),Fs.length=er=tr=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":k&&(this._onDragOver(e),Ac(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)||Lc(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=Zi.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Gl(i)},destroy:function(){Qe("destroy",this);var e=this.el;e[Ke]=null,se(e,"mousedown",this._onTapStart),se(e,"touchstart",this._onTapStart),se(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(se(e,"dragover",this),se(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),As.splice(As.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):ri?be.insertBefore(Oe,ri):be.appendChild(Oe),this.options.group.revertClone&&this.animate(k,Oe),$(Oe,"display",""),Gt=!1}}};function Ac(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Ls(r,e,t,i,s,n,o,l){var a,h=r[Ke],d=h.options.onMove,c;return window.CustomEvent&&!Mt&&!Xi?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 nr(r){r.draggable=!1}function Pc(){sr=!1}function kc(r,e,t){var i=De(bi(t.el,0,t.options,!0)),s=Hl(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 Fc(r,e,t){var i=De(Qn(t.el,t.options.draggable)),s=Hl(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 Dc(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&&ks<h*s){if(!is&&(ts===1?a>d+h*n/2:a<c-h*n/2)&&(is=!0),is)u=!0;else if(ts===1?a<d+ks:a>c-ks)return-ts}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Mc(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Mc(r){return dt(k)<dt(r)?1:-1}function Lc(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 Nc(r){Fs.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&Fs.push(i)}}function Ns(r){return setTimeout(r,0)}function rr(r){return clearTimeout(r)}Ds&&re(document,"touchmove",function(r){(B.active||Ei)&&r.cancelable&&r.preventDefault()}),B.utils={on:re,off:se,css:$,find:kl,is:function(e,t){return!!mt(e,t,e,!1)},extend:vc,throttle:Ml,closest:mt,toggleClass:it,clone:Nl,index:dt,nextTick:Ns,cancelNextTick:rr,detectDirection:Wl,getChild:bi,expando:Ke},B.get=function(r){return r[Ke]},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=yt(yt({},B.utils),i.utils)),Zi.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=_c;var Me=[],ss,or,lr=!1,ar,hr,Hs,ns;function Hc(){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?re(document,"dragover",this._handleAutoScroll):this.options.supportPointer?re(document,"pointermove",this._handleFallbackAutoScroll):i.touches?re(document,"touchmove",this._handleFallbackAutoScroll):re(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?se(document,"dragover",this._handleAutoScroll):(se(document,"pointermove",this._handleFallbackAutoScroll),se(document,"touchmove",this._handleFallbackAutoScroll),se(document,"mousemove",this._handleFallbackAutoScroll)),Yl(),Vs(),bc()},nulling:function(){Hs=or=ss=lr=ns=ar=hr=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(Hs=t,i||this.options.forceAutoScrollFallback||Xi||Mt||Ki){dr(t,this.options,l,i);var a=Wt(l,!0);lr&&(!ns||n!==ar||o!==hr)&&(ns&&Yl(),ns=setInterval(function(){var h=Wt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Vs()),dr(t,s.options,h,i)},10),ar=n,hr=o)}else{if(!this.options.bubbleScroll||Wt(l,!0)===Et()){Vs();return}dr(t,this.options,Wt(l,!1),!1)}}},Ft(r,{pluginName:"scroll",initializeByDefault:!0})}function Vs(){Me.forEach(function(r){clearInterval(r.pid)}),Me=[]}function Yl(){clearInterval(ns)}var dr=Ml(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=Et(),h=!1,d;or!==t&&(or=t,Vs(),ss=e.scroll,d=e.scrollFn,ss===!0&&(ss=Wt(t,!0)));var c=0,u=ss;do{var p=u,m=De(p),f=m.top,g=m.bottom,_=m.left,C=m.right,b=m.width,S=m.height,y=void 0,T=void 0,I=p.scrollWidth,O=p.scrollHeight,x=$(p),A=p.scrollLeft,D=p.scrollTop;p===a?(y=b<I&&(x.overflowX==="auto"||x.overflowX==="scroll"||x.overflowX==="visible"),T=S<O&&(x.overflowY==="auto"||x.overflowY==="scroll"||x.overflowY==="visible")):(y=b<I&&(x.overflowX==="auto"||x.overflowX==="scroll"),T=S<O&&(x.overflowY==="auto"||x.overflowY==="scroll"));var M=y&&(Math.abs(C-s)<=o&&A+b<I)-(Math.abs(_-s)<=o&&!!A),L=T&&(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(Hs);var q=Me[this.layer].vy?Me[this.layer].vy*l:0,Z=Me[this.layer].vx?Me[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[Ke],Z,q,r,Hs,Me[this.layer].el)!=="continue"||Ll(Me[this.layer].el,Z,q)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=Wt(u,!1)));lr=h}},30),ql=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 cr(){}cr.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=bi(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:ql},Ft(cr,{pluginName:"revertOnSpill"});function ur(){}ur.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:ql},Ft(ur,{pluginName:"removeOnSpill"}),B.mount(new Hc),B.mount(ur,cr);function Xl(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(y,T,I){if(typeof y=="function")return y(T,I)}function g(){e&&(e.removeEventListener("mousedown",C),e.removeEventListener("touchstart",C))}function _(y){let T=!1;return o&&o.forEach(I=>{y[I]&&(T=!0)}),T}function C(y){var T;if(l=y.target,!_(y)){const I=((T=y==null?void 0:y.touches)==null?void 0:T[0])??y,{target:O}=I;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const x=yn();a=x.left+I.clientX,h=x.top+I.clientY,d=I.clientX-I.clientX,c=I.clientY-I.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,y,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(y){var I;const T=((I=y==null?void 0:y.touches)==null?void 0:I[0])??y;if(!_(y)){d=T.clientX-a,c=T.clientY-h;const{target:O}=T;u||(p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(i,y,p),u=!0),p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(s,y,p)}}function S(y){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:T}=y;p=Object.assign(p,{target:T}),f(n,y,p),u=!1}}return m(),{destroy:g}}function Kl(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 Ql(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 Vc{constructor(e,t,i,s,n){if(this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.cid="",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:qi,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,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,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.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.h_render=null,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.logMessageMaxCount=30,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-Universal] 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&&J(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!ie(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){if(e!=null&&e.mixinDefaults?(this._options||(this._options=e),w.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._options.enableColumnReorder&&(!B||!B.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},J(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||w.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||(w.hide(this._preHeaderPanelScroller),w.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=>{w.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{w.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{w.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&&w.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&w.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{w.width(i,this.getHeadersWidth())}),w.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),w.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),w.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),w.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=>{w.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(Kl({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))}),Xl&&(this.slickDraggableInstance=Xl({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=w.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&&w.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(w.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),w.width(this._headerL,this.headersWidthL),w.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const c=w.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");w.width(this._canvasTopR,this.canvasWidthR),w.width(this._paneHeaderL,this.canvasWidthL),w.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),w.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),w.width(this._paneTopL,this.canvasWidthL),w.setStyleSize(this._paneTopR,"left",this.canvasWidthL),w.width(this._paneTopR,this.viewportW-this.canvasWidthL),w.width(this._headerRowScrollerL,this.canvasWidthL),w.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),w.width(this._headerRowL,this.canvasWidthL),w.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(w.width(this._footerRowScrollerL,this.canvasWidthL),w.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),w.width(this._footerRowL,this.canvasWidthL),w.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&w.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),w.width(this._viewportTopL,this.canvasWidthL),w.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(w.width(this._paneBottomL,this.canvasWidthL),w.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),w.width(this._viewportBottomL,this.canvasWidthL),w.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),w.width(this._canvasBottomL,this.canvasWidthL),w.width(this._canvasBottomR,this.canvasWidthR))}else w.width(this._paneHeaderL,"100%"),w.width(this._paneTopL,"100%"),w.width(this._headerRowScrollerL,"100%"),w.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(w.width(this._footerRowScrollerL,"100%"),w.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&w.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),w.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(w.width(this._viewportBottomL,"100%"),w.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((o=this.scrollbarDimensions)==null?void 0:o.width)||0),w.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),w.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((a=this.scrollbarDimensions)==null?void 0:a.width)||0)),this._options.createFooterRow&&(w.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((h=this.scrollbarDimensions)==null?void 0:h.width)||0)),w.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;w.height(i,n);const o=w.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?void 0:e.width)||0,height:this.viewportHasHScroll&&((t=this.scrollbarDimensions)==null?void 0:t.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(!ie(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=w.storage.get(i,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),J(this._footerRowL),J(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),w.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=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),J(this._headerL),J(this._headerR),this.getHeadersWidth(),w.width(this._headerL,this.headersWidthL),w.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),J(this._headerRowL),J(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=w.storage.get(t,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),J(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=w.storage.get(i,"column");s&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),J(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),w.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)),w.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)),w.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);w.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=w.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?null:{columnId:u.id,sortCol:u,sortAsc:c.sortAsc}}).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",chosenClass:"slick-header-column-active",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=>{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(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;if(typeof Ql>"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');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(Ql({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var I;const C=g.touches?g.changedTouches[0]:g;if(!((I=this.getEditorLock())!=null&&I.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 y=0,T=0;for(e=0;e<=p;e++)i=c[e],i!=null&&i.resizable&&(T!==null&&(i.maxWidth?T+=i.maxWidth-(i.previousWidth||0):T=null),y+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));b===null&&(b=1e5),y===null&&(y=1e5),S===null&&(S=1e5),T===null&&(T=1e5),o=s+Math.min(b,T),n=s-Math.min(y,S)},onResize:(g,_)=>{var x;const C=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let b;const S=Math.min(o,Math.max(n,C.pageX))-s;let y,T=0,I=0;const O=this.viewportHasVScroll?this.viewportW-(((x=this.scrollbarDimensions)==null?void 0:x.width)||0):this.viewportW;if(S<0){for(y=S,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?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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?I+=i.width||0:T+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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=S,T=0,I=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<O-this._options.frozenRightViewportMinWidth&&(h=A),i.width=D+this._options.frozenRightViewportMinWidth>O?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?I+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-S,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?I+=i.width||0:T+=i.width||0);else for(e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?I+=i.width||0:T+=i.width||0)}this.hasFrozenColumns()&&T!==this.canvasWidthL&&(w.width(this._headerL,T+1e3),w.setStyleSize(this._paneHeaderR,"left",T)),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+=w.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()?(w.show(this._paneHeaderR),w.show(this._paneTopR),this.hasFrozenRows?(w.show(this._paneBottomL),w.show(this._paneBottomR)):(w.hide(this._paneBottomR),w.hide(this._paneBottomL))):(w.hide(this._paneHeaderR),w.hide(this._paneTopR),w.hide(this._paneBottomR),this.hasFrozenRows?w.show(this._paneBottomL):(w.hide(this._paneBottomR),w.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+=w.toFloat(n[l])),t.forEach(l=>this.headerColumnHeightDiff+=w.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+=w.toFloat(n[l])),t.forEach(l=>this.cellHeightDiff+=w.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")}),J(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(;ie(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)continue;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)continue;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;w.width(n)!==l&&w.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=>{ie(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(ie(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?w.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(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(Kl({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]}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?w.show(t):w.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}getRowTop(e){return Math.round(this._options.rowHeight*e-this.offset)}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)-w.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 ie(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,d,c;const i=this.columns[t],s=(l=(o=this.data)==null?void 0:o.getItemMetadata)==null?void 0:l.call(o,e),n=s==null?void 0:s.columns;return((a=n==null?void 0:n[i.id])==null?void 0:a.editorClass)!==void 0?n[i.id].editorClass:((h=n==null?void 0:n[t])==null?void 0:h.editorClass)!==void 0?n[t].editorClass:i.editorClass||((c=(d=this._options)==null?void 0:d.editorFactory)==null?void 0:c.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){var g,_;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=(_=(g=this.data)==null?void 0:g.getItemMetadata)==null?void 0:_.call(g,i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=v("div",{className:`slick-widget-content ${a}`,role:"row"}),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));let m,f;for(let C=0,b=this.columns.length;C<b;C++)if(f=this.columns[C],!(!f||f.hidden)){if(m=1,h!=null&&h.columns){const S=h.columns[f.id]||h.columns[C];m=(S==null?void 0:S.colspan)||1,m==="*"&&(m=b-C)}if(this.columnPosRight[Math.min(b-1,C+m-1)]>s.leftPx){if(!f.alwaysRenderColumn&&this.columnPosLeft[C]>s.rightPx)break;this.hasFrozenColumns()&&C>this._options.frozenColumn?this.appendCellHtml(p,i,C,m,o):this.appendCellHtml(d,i,C,m,o)}else(f.alwaysRenderColumn||this.hasFrozenColumns()&&C<=this._options.frozenColumn)&&this.appendCellHtml(d,i,C,m,o);m>1&&(C+=m-1)}}appendCellHtml(e,t,i,s,n){const o=this.columns[i];let l="slick-cell l"+i+" r"+Math.min(this.columns.length-1,i+s-1)+(o.cssClass?" "+o.cssClass:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(l+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(l+=" active"),Object.keys(this.cellCssClasses).forEach(f=>{var g;(g=this.cellCssClasses[f][t])!=null&&g[o.id]&&(l+=` ${this.cellCssClasses[f][t][o.id]}`)});let a=null,h="";n&&(a=this.getDataItemValueForColumn(n,o),h=this.getFormatter(t,o)(t,i,a,o,n,this),h==null&&(h=""));const c=this.triggerEvent(this.onBeforeAppendCell,{row:t,cell:i,value:a,dataContext:n}).getReturnValue();let u=typeof c=="string"?c:"";h!=null&&h.addClasses&&(u+=he((u?" ":"")+h.addClasses).join(" "));const p=h!=null&&h.toolTip?`${h.toolTip}`:"",m=v("div",{className:he(`${l} ${u||""}`).join(" "),role:"gridcell",tabIndex:-1});if(m.setAttribute("aria-describedby",this.uid+o.id),p&&m.setAttribute("title",p),o.hasOwnProperty("cellAttrs")&&o.cellAttrs instanceof Object&&Object.keys(o.cellAttrs).forEach(f=>{o.cellAttrs.hasOwnProperty(f)&&m.setAttribute(f,o.cellAttrs[f])}),n){const f=ei(h)?h:h.html||h.text;this.applyHtmlCode(m,f)}e.appendChild(m),h.insertElementAfterTarget&&fo(m,h.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){Object.keys(this.rowsCache).forEach(t=>{if(this.rowsCache){let i=+t,s=!0;this.hasFrozenRows&&(this._options.frozenBottom&&i>=this.actualFrozenRow||!this._options.frozenBottom&&i<=this.actualFrozenRow)&&(s=!1),(i=parseInt(t,10))!==this.activeRow&&(i<e.top||i>e.bottom)&&s&&this.removeRowFromCache(i)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}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!=null&&e.length){this.vScrollDir=0;const t=e.length;for(let i=0;i<t;i++)this.currentEditor&&this.activeRow===e[i]&&this.makeActiveCellNormal(),this.rowsCache[e[i]]&&this.removeRowFromCache(e[i]);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}}invalidateRow(e){e>=0&&this.invalidateRows([e])}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))return;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)):J(a)}),this.invalidatePostProcessingResults(e)}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?w.toFloat(w.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=w.toFloat(n.height)-w.toFloat(n.paddingTop)-w.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);w.height(this._container,this.paneTopH+w.toFloat(o.height))}this._paneTopL.style.position="relative"}let s=w.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),w.setStyleSize(this._paneTopL,"top",s||s),w.height(this._paneTopL,this.paneTopH);const n=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||w.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let o=w.height(this._paneHeaderL);o&&(o+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),w.setStyleSize(this._paneTopR,"top",o),w.height(this._paneTopR,this.paneTopH),w.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(w.setStyleSize(this._paneBottomL,"top",n),w.height(this._paneBottomL,this.paneBottomH),w.setStyleSize(this._paneBottomR,"top",n),w.height(this._paneBottomR,this.paneBottomH),w.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(w.width(this._paneBottomL,"100%"),w.height(this._paneBottomL,this.paneBottomH),w.setStyleSize(this._paneBottomL,"top",n));this.hasFrozenRows?(w.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(w.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&w.height(this._canvasBottomR,this.frozenRowsHeight)):(w.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&w.height(this._canvasTopR,this.frozenRowsHeight))):w.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(),s=this.getDataLengthIncludingAddNew();let n=0,o=this.hasFrozenRows&&!this._options.frozenBottom?w.height(this._canvasBottomL):w.height(this._canvasTopL);this.hasFrozenRows?n=this.getDataLength()-this._options.frozenRow:n=s+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const l=w.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?(w.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&w.height(this._canvasBottomR,this.h)):(w.height(this._canvasTopL,this.h),w.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(;ie(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){var h,d;let t;const i=document.createElement("div"),s=[];let n,o;for(let c=e.top,u=e.bottom;c<=u;c++){if(t=this.rowsCache[c],!t)continue;this.ensureCellNodesInRowsCache(c),this.cleanUpCells(e,c),n=0;let p=((d=(h=this.data)==null?void 0:h.getItemMetadata)==null?void 0:d.call(h,c))??{};p=p==null?void 0:p.columns;const m=this.getDataItem(c);for(let f=0,g=this.columns.length;f<g;f++){if(!this.columns[f]||this.columns[f].hidden)continue;if(this.columnPosLeft[f]>e.rightPx)break;if(ie(o=t.cellColSpans[f])){f+=o>1?o-1:0;continue}if(o=1,p){const C=p[this.columns[f].id]||p[f];o=(C==null?void 0:C.colspan)??1,o==="*"&&(o=g-f)}const _=o;this.columnPosRight[Math.min(g-1,f+_-1)]>e.leftPx&&(this.appendCellHtml(i,c,f,_,m),n++),f+=_>1?_-1:0}n&&s.push(c)}if(!i.children.length)return;let l,a;for(;ie(l=s.pop());){t=this.rowsCache[l];let c;for(;ie(c=t.cellRenderQueue.pop());)a=i.lastChild,a&&(this.hasFrozenColumns()&&c>this._options.frozenColumn?t.rowNode[1].appendChild(a):t.rowNode[0].appendChild(a),t.cellNodesByColumnIdx[c]=a)}}renderRows(e){var h,d,c,u;const t=[],i=[],s=[];let n=!1;const o=this.getDataLength();for(let p=e.top,m=e.bottom;p<=m;p++)this.rowsCache[p]||this.hasFrozenRows&&this._options.frozenBottom&&p===this.getDataLength()||(this.renderedRows++,s.push(p),this.rowsCache[p]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(t,i,p,e,o),this.activeCellNode&&this.activeRow===p&&(n=!0),this.counter_rows_rendered++);if(!s.length)return;const l=document.createElement("div"),a=document.createElement("div");t.forEach(p=>l.appendChild(p)),i.forEach(p=>a.appendChild(p));for(let p=0,m=s.length;p<m;p++)this.hasFrozenRows&&s[p]>=this.actualFrozenRow?this.hasFrozenColumns()?(h=this.rowsCache)!=null&&h.hasOwnProperty(s[p])&&l.firstChild&&a.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild,a.firstChild],this._canvasBottomL.appendChild(l.firstChild),this._canvasBottomR.appendChild(a.firstChild)):(d=this.rowsCache)!=null&&d.hasOwnProperty(s[p])&&l.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild],this._canvasBottomL.appendChild(l.firstChild)):this.hasFrozenColumns()?(c=this.rowsCache)!=null&&c.hasOwnProperty(s[p])&&l.firstChild&&a.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild,a.firstChild],this._canvasTopL.appendChild(l.firstChild),this._canvasTopR.appendChild(a.firstChild)):(u=this.rowsCache)!=null&&u.hasOwnProperty(s[p])&&l.firstChild&&(this.rowsCache[s[p]].rowNode=[l.firstChild],this._canvasTopL.appendChild(l.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}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.h_render=null,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<1||(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,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.key==="Home"?i=e.ctrlKey?this.navigateTop():this.navigateRowStart():e.key==="End"&&(i=e.ctrlKey?this.navigateBottom():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)===uc,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=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseOver(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOver,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderMouseOut(e){const t=w.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.triggerEvent(this.onHeaderMouseOut,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseOver(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseOver,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=w.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseOut(e){const t=w.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&&w.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&&w.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&&w.storage.get(t,"column");this.triggerEvent(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&w.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(w.parents(s,".grid-canvas")[0]);w.parents(s,".grid-canvas-bottom").length&&(l=this._options.frozenBottom?w.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)}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)return;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+w.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,a,h;if(ie(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(l=(o=this.rowsCache[this.activeRow])==null?void 0:o.rowNode)==null||l.forEach(d=>d.classList.remove("active"))),this.activeCellNode=e,ie(this.activeCellNode)){const d=ge(this.activeCellNode);let c=Math.floor(ge(w.parents(this.activeCellNode,".grid-canvas")[0]).top);const u=w.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&u&&(c-=this._options.frozenBottom?w.height(this._canvasTopL):this.frozenRowsHeight);const p=this.getCellFromPoint(d.left,Math.ceil(d.top)-c);this.activeRow=p.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!ie(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(h=(a=this.rowsCache[this.activeRow])==null?void 0:a.rowNode)==null||h.forEach(m=>m.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,c,u;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&&J(this.activeCellNode);let p=(h=(a=this.data)==null?void 0:a.getItemMetadata)==null?void 0:h.call(a,this.activeRow);p=p==null?void 0:p.columns;const m=p&&(p[s.id]||p[this.activeCell]),f={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:m,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new o(f),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&typeof((d=this.currentEditor)==null?void 0:d.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(c=this.currentEditor)==null?void 0:c.serializeValue(),(u=this.currentEditor)!=null&&u.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=w.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&&ie(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);let o=0,l=null;const a=this.activePosX;for(;o<=this.activePosX;)this.canCellBeActive(s,o)&&(l=o),o+=this.getColspan(s,o);l!==null?(this.setActiveCellInternal(this.getCellNode(s,l)),this.activePosX=a):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){return this.navigateToRow(this.getDataLength()-1)}navigateToRow(e){const t=this.getDataLength();if(!t)return!0;if(e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0),this._options.enableCellNavigation&&ie(this.activeRow)){let i=0,s=null;const n=this.activePosX;for(;i<=this.activePosX;)this.canCellBeActive(e,i)&&(s=i),i+=this.getColspan(e,i);s!==null?(this.setActiveCellInternal(this.getCellNode(e,s)),this.activePosX=n):this.resetActiveCell()}return!0}getColspan(e,t){var o,l;const i=(l=(o=this.data)==null?void 0:o.getItemMetadata)==null?void 0:l.call(o,e);if(!i||!i.columns)return 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}findFirstFocusableCell(e){let t=0;for(;t<this.columns.length;){if(this.canCellBeActive(e,t))return t;t+=this.getColspan(e,t)}return null}findLastFocusableCell(e){let t=0,i=null;for(;t<this.columns.length;)this.canCellBeActive(e,t)&&(i=t),t+=this.getColspan(e,t);return i}gotoRight(e,t,i){if(t>=this.columns.length)return null;do t+=this.getColspan(e,t);while(t<this.columns.length&&!this.canCellBeActive(e,t));return t<this.columns.length?{row:e,cell:t,posX:t}:null}gotoLeft(e,t,i){if(t<=0)return null;const s=this.findFirstFocusableCell(e);if(s===null||s>=t)return null;let n={row:e,cell:s,posX:s},o,l=!0;for(;l;){if(o=this.gotoRight(n.row,n.cell,n.posX),!o)return l=!1,null;if(o.cell>=t)return l=!1,n;n=o}}gotoDown(e,t,i){let s;const n=this.getDataLengthIncludingAddNew();let o=!0;for(;o;){if(++e>=n)return o=!1,null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return o=!1,{row:e,cell:s,posX:i}}}gotoUp(e,t,i){let s,n=!0;for(;n;){if(--e<0)return n=!1,null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return n=!1,{row:e,cell:s,posX:i}}}gotoNext(e,t,i){if(!Jt(e)&&!Jt(t)&&(e=t=i=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};const s=this.gotoRight(e,t,i);if(s)return s;let n=null;const o=this.getDataLengthIncludingAddNew();for(e===o-1&&e--;++e<o;)if(n=this.findFirstFocusableCell(e),n!==null)return{row:e,cell:n,posX:n};return null}gotoPrev(e,t,i){if(!Jt(e)&&!Jt(t)&&(e=this.getDataLengthIncludingAddNew()-1,t=i=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};let s,n;for(;!s&&(s=this.gotoLeft(e,t,i),!s);){if(--e<0)return null;t=0,n=this.findLastFocusableCell(e),n!==null&&(s={row:e,cell:n,posX:n})}return s}gotoRowStart(e,t,i){const s=this.findFirstFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}gotoRowEnd(e,t,i){const s=this.findLastFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}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")}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();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.activePosX);if(n){const l=this.getDataLength();if(this.hasFrozenRows&&this._options.frozenBottom&&n.row===l)return;const a=n.row===l;return(!this._options.frozenBottom&&n.row>=this.actualFrozenRow||this._options.frozenBottom&&n.row<this.actualFrozenRow)&&this.scrollCellIntoView(n.row,n.cell,!a&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(n.row,n.cell)),this.activePosX=n.posX,!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 n,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)return!1;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,e);if((i==null?void 0:i.focusable)!==void 0)return!!i.focusable;const s=i==null?void 0:i.columns;return((l=s==null?void 0:s[this.columns[t].id])==null?void 0:l.focusable)!==void 0?!!s[this.columns[t].id].focusable:((a=s==null?void 0:s[t])==null?void 0:a.focusable)!==void 0?!!s[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){var n,o;if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(o=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:o.call(n,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 a;if(!this.initialized||!this.canCellBeActive(e,t)||!((a=this.getEditorLock())!=null&&a.commitCurrentEdit()))return;this.scrollCellIntoView(e,t,!1);const n=this.getCellNode(e,t),o=this.columns[t],l=!!(this._options.editable&&(o!=null&&o.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(n,i||e===this.getDataLength()||this._options.autoEdit,null,l,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"),w.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 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&&qi.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&qi.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,Zl=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 ac,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&&w.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
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,y=this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S);const T=this._dataWrapper.getDataLength();T!==y+S&&console.warn(`[Slickgrid-Universal] The "newRowCreator" did not add the correct amount of rows, it should add "${S}" rows but it added "${T-y}" 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 y;C.h=0;for(let T=0;T<C.destH;T++){C.oldValues[T]=[],C.w=0,C.h++;let I=0;for(let O=0;O<C.destW;O++){const x=c+T,A=u+O,D=i[A];if(D.hidden){C.destW++,I++;continue}if(C.w++,x<C.maxDestY&&A<C.maxDestX){const M=this._dataWrapper.getDataItem(x);if(this._grid.triggerEvent(this.onBeforePasteCell,{row:x,cell:A,dt:M,column:D,target:"grid"}).getReturnValue()===!1)continue;C.oldValues[T][O-I]=M[D.field],p?this.setDataItemValueForColumn(M,D,l[0][0]):this.setDataItemValueForColumn(M,D,l[T]?l[T][O-I]:""),this._grid.updateCell(x,A),this._grid.onCellChange.notify({row:x,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]),(y=this._grid.getSelectionModel())==null||y.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]})},undo:()=>{var y;for(let T=0;T<C.destH;T++)for(let I=0;I<C.destW;I++){const O=c+T,x=u+I;if(O<C.maxDestY&&x<C.maxDestX){const A=this._dataWrapper.getDataItem(O);p?this.setDataItemValueForColumn(A,i[x],C.oldValues[0][0]):this.setDataItemValueForColumn(A,i[x],C.oldValues[T][I]),this._grid.updateCell(O,x),this._grid.onCellChange.notify({row:O,cell:x,item:A,grid:this._grid,column:{}})}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(y=this._grid.getSelectionModel())==null||y.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
@@ -13,8 +13,8 @@
13
13
  [Slickgrid-Universal] Resizer Service requires a valid Grid object and DOM Element Container to be provided.
14
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.bindAutoResizeDataGrid(),this.gridOptions.autoResize&&this._subscriptions.push(this.pubSubService.subscribe("onFullResizeByContentRequested",()=>this.resizeColumnsByCellContent(!0))),this.gridOptions.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",h=>{this.handleSingleColumnResizeByContent(h.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(h,d)=>{this.handleSingleColumnResizeByContent(d.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()}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:gu;if(s&&e.enablePagination&&(s+=Cu),s&&e.showCustomFooter){const _=((g=(f=this.gridOptions)==null?void 0:f.customFooterOptions)==null?void 0:g.footerHeight)??_u;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)??vu,c=t==null?void 0:t.maxWidth,u=(t==null?void 0:t.minWidth)??bu;let p=l,m=t!=null&&t.rightPadding?a-t.rightPadding:a;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)??E.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,y;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=((y=this._grid.getRenderedRange())==null?void 0:y.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 Eu{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 wu{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?ct.ASC:ct.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()===ct.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=ct.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||ct.ASC).toUpperCase(),o={columnId:l,sortCol:a,sortAsc:n===ct.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?ct.ASC:ct.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=oo(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||E.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=gi(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 Tu{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 lo(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=ui(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:E.string;let t,i="text";if((s=this.columnFilter)!=null&&s.compoundOperatorList)t=this.columnFilter.compoundOperatorList;else switch(e){case E.string:case E.text:case E.readonly:case E.password:i="text",t=Zh(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)??"";J(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"),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 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=ui(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&&ie(this._currentValue)||this._currentValue===""&&ie(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 Ea extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="text",this.inputFilterType="compound"}}class Ou extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number",this.inputFilterType="compound"}}class xu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password",this.inputFilterType="compound"}}const wr="#86bff8",qs=0,Iu=20;class Tr{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._sliderTrackFilledColor=wr,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")||wr,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)):(ie(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=ui(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);J(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 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&&ie(this._currentValue)||!ie(this._currentValue)&&ie(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-Iu?(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||wr).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 Ru extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="compound"}}class Au extends bl{constructor(e){super(e),this.translaterService=e,this.inputFilterType="range"}}class Pu 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 ku extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number"}}class Fu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password"}}var Du=Object.defineProperty,Mu=(r,e,t)=>e in r?Du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,V=(r,e,t)=>Mu(r,typeof e!="symbol"?e+"":e,t),Lu=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)}}},wa=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},Nu={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(r,e){return`${r} of ${e} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};wa.locales["en-US"]=Nu;var Ta=wa.locales,Hu=50,Vu=4,Oa={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},Bu=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(Oa,Ta["en-US"]);var zu={BLOCK_ROWS:Hu,CLUSTER_BLOCKS:Vu,DEFAULTS:Oa,METHODS:Bu},gt=zu;function $u(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 Or(r){let e=()=>{let s={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=Or(r[n]));return s},t=()=>r.map(s=>Or(s)),i=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return i==="object"?e():i==="array"?t():r}function xr(r){return r!=null&&r!==""}function Wu(r,e){return typeof r=="object"?Object.fromEntries(e?Object.entries(r).filter(([t,i])=>!xr(i)&&!e.includes(t)||xr(i)):Object.entries(r).filter(([t,i])=>xr(i))):r}function Gu(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 Xs(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 Uu(r){return r.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;|&#60;)(\/*)(script|script defer)(.*)(&#62;|&gt;|&gt;">)/gi,"")}function Ir(r){return Object.keys(r).forEach(e=>r[e]===void 0?delete r[e]:""),r}function Ti(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 Rr(r){let e=0,t=0,i=0,s=0,n=window.innerHeight??0,o=window.innerWidth??0,l=qu(),a=l.top,h=l.left,d=kr(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 Ar(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 xa(r,e,t){var n;let i=(n=r.props)!=null&&n.innerHTML?Yu(r.props,"innerHTML"):r.props,s=Ue(r.tagName,Wu(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)xa(o,s);return e==null||e.appendChild(s),s}function Pr(r){return r.hasOwnProperty("tagName")?xa(r):document.createElement("li")}function Ks(r){for(;r!=null&&r.firstChild;)r.lastChild&&r.removeChild(r.lastChild);return r}function kr(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 Ia(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 ju(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function Yu(r,e){let{[e]:t,...i}=r;return i}function Ra(r,e){r!=null&&r.style&&(r.style.display=r.style.display==="none"&&e!==!1||e===!0?"block":"none")}function qu(){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),Ks(this.contentEl)}}reset(e){this.lastCluster=0,this.cache={},Ks(this.contentEl),this.initDOM(e)}initDOM(e){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let o=Pr(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);Ks(this.contentEl),i&&s?(t.topOffset&&this.contentEl.appendChild(this.getExtra("top",t.topOffset)),t.rows.forEach(o=>this.contentEl.appendChild(Pr(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]",Ku=".ms-select-all.highlighted, ul li[data-key].highlighted",Qu=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 Lu({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:Ar(`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`),ju(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||Ia(this.getEventTarget(s),".ms-choice")===this.choiceElm||(this.getEventTarget(s)===this.dropElm||Ia(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=Gu(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&&(Ks(this.ulElm),e.forEach(i=>this.ulElm.appendChild(Pr(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:Ar(`group${this.options.single||r.disabled?" disabled":""} ${l}`).join(" "),role:"option",ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:Ar(`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=Xs(this.data,"_key",h.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(Ir({label:c.label,selected:c.selected,data:c._data,children:c.children.map(u=>{if(u)return Ir({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=Xs(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(Ir({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=kr(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}=Rr(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(Ku))||[]).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?Uu(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,Ra(this.selectAllElm.closest("li"),!e)}Ra(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?Or(e):this.options}refreshOptions(r){$u(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=Xs(this.data,"value",r);e&&this._check(e,!0)}uncheck(r){let e=Xs(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:Ti(o.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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:Ti(l.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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:Ti(o.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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}=Rr(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}=Rr(this.dropElm),{top:s,left:n}=kr(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()}},Oi=(r,e)=>typeof r=="string"?Fr(document.querySelectorAll(r),e):r instanceof Node?Fr([r],e):Fr(r,e);function Fr(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 Qu(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}Oi.defaults=gt.DEFAULTS,Oi.locales={...Ta},Oi.methods=gt.METHODS,typeof window<"u"&&(window.multipleSelect=Oi);class Aa{constructor(e,t,i,s=!0){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._isMultipleSelect=!0,this._collectionLength=0,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?(_=jo(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&&(Fi(this.columnFilter.collection,this.watchCallback.bind(this)),hs(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(e){this.renderDomElement(e||[]),this.columnFilter.collection&&Fi(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=yl("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,J(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=Oi(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 Zu extends Aa{constructor(e,t,i){super(e,t,i,!0),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class Ju extends Aa{constructor(e,t,i){super(e,t,i,!1),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class ep extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="single"}}class tp extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="double"}}const Zs={autocompleter:Jh,compoundDate:lc,compoundInput:Ea,compoundInputNumber:Ou,compoundInputPassword:xu,compoundInputText:Ea,compoundSlider:Ru,dateRange:Au,input:Yt,inputMask:Pu,inputNumber:ku,inputPassword:Fu,inputText:Yt,multipleSelect:Zu,singleSelect:Ju,slider:ep,sliderRange:tp};class ip{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}}const Dr={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Pa},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:ut.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:Pa},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 Pa(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 Mr={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===E.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)!==E.object&&((i=this.columnEditor)==null?void 0:i.type)!==E.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((s=this.columnDef)==null?void 0:s.type)===E.object||((n=this.columnEditor)==null?void 0:n.type)===E.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:y}=this.args.compositeEditorOptions;b.compositeEditorOptions={formValues:S,modalType:y}}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,y)=>{y.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-${mi(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?(Uo(this._inputElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(b,S)=>{o&&S(o.filter(y=>((typeof y=="string"?y:y==null?void 0:y.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||E.dateUtc,p=Xe(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=Xe(this.hasTimePicker?E.dateTimeIsoAM_PM:E.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 y="";if(S.selectedDates[0]?(y=S.selectedDates[0],S.HTMLInputElement.value=vt(S.selectedDates[0],void 0,u)):S.HTMLInputElement.value="",y&&this.hasTimePicker){const T=gs(y,f);T.setHours(+(S.selectedHours||0)),T.setMinutes(+(S.selectedMinutes||0)),S.HTMLInputElement.value=vt(T,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 vl(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(),J(this._editorInputGroupElm),J(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||E.dateUtc,l=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||E.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)||E.dateIso,a=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||E.dateIso;this._originalDate=vt(o,l,a),this._inputElm.value=this._originalDate}}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 ka(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 Fa(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 ka(s,{...o,decimal:this.getDecimalPlaces(e),minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"integer":return Fa(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 ka(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 Fa(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,y,T,I,O;let e="",t="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const x=lt(this.gridOptions),A=((d=this.editorOptions.buttonTexts)==null?void 0:d.cancelKey)??`${x}CANCEL`,D=((c=this.editorOptions.buttonTexts)==null?void 0:c.saveKey)??`${x}SAVE`;e=this._translater.translate(`${x}${A}`),t=this._translater.translate(`${x}${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:((y=this.editorOptions)==null?void 0:y.cols)??40,rows:i&&o>3?3:o,placeholder:((T=this.columnEditor)==null?void 0:T.placeholder)??"",title:((I=this.columnEditor)==null?void 0:I.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 x=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(x,"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 Da{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()}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:gu;if(s&&e.enablePagination&&(s+=Cu),s&&e.showCustomFooter){const _=((g=(f=this.gridOptions)==null?void 0:f.customFooterOptions)==null?void 0:g.footerHeight)??_u;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)??vu,c=t==null?void 0:t.maxWidth,u=(t==null?void 0:t.minWidth)??bu;let p=l,m=t!=null&&t.rightPadding?a-t.rightPadding:a;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)??E.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,y;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=((y=this._grid.getRenderedRange())==null?void 0:y.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 Eu{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 wu{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=oo(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||E.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=gi(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 Tu{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 lo(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=ui(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:E.string;let t,i="text";if((s=this.columnFilter)!=null&&s.compoundOperatorList)t=this.columnFilter.compoundOperatorList;else switch(e){case E.string:case E.text:case E.readonly:case E.password:i="text",t=Zh(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)??"";J(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 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=ui(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&&ie(this._currentValue)||this._currentValue===""&&ie(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 Ea extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="text",this.inputFilterType="compound"}}class Ou extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number",this.inputFilterType="compound"}}class xu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password",this.inputFilterType="compound"}}const wr="#86bff8",qs=0,Iu=20;class Tr{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._sliderTrackFilledColor=wr,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")||wr,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)):(ie(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=ui(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);J(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&&ie(this._currentValue)||!ie(this._currentValue)&&ie(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-Iu?(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||wr).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 Ru extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="compound"}}class Au extends bl{constructor(e){super(e),this.translaterService=e,this.inputFilterType="range"}}class Pu 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 ku extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="number"}}class Fu extends Yt{constructor(e){super(e),this.translaterService=e,this.inputType="password"}}var Du=Object.defineProperty,Mu=(r,e,t)=>e in r?Du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,V=(r,e,t)=>Mu(r,typeof e!="symbol"?e+"":e,t),Lu=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)}}},wa=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},Nu={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(r,e){return`${r} of ${e} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};wa.locales["en-US"]=Nu;var Ta=wa.locales,Hu=50,Vu=4,Oa={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},Bu=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(Oa,Ta["en-US"]);var zu={BLOCK_ROWS:Hu,CLUSTER_BLOCKS:Vu,DEFAULTS:Oa,METHODS:Bu},gt=zu;function $u(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 Or(r){let e=()=>{let s={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=Or(r[n]));return s},t=()=>r.map(s=>Or(s)),i=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return i==="object"?e():i==="array"?t():r}function xr(r){return r!=null&&r!==""}function Wu(r,e){return typeof r=="object"?Object.fromEntries(e?Object.entries(r).filter(([t,i])=>!xr(i)&&!e.includes(t)||xr(i)):Object.entries(r).filter(([t,i])=>xr(i))):r}function Gu(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 Xs(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 Uu(r){return r.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(&lt;|&#60;)(\/*)(script|script defer)(.*)(&#62;|&gt;|&gt;">)/gi,"")}function Ir(r){return Object.keys(r).forEach(e=>r[e]===void 0?delete r[e]:""),r}function Ti(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 Rr(r){let e=0,t=0,i=0,s=0,n=window.innerHeight??0,o=window.innerWidth??0,l=qu(),a=l.top,h=l.left,d=kr(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 Ar(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 xa(r,e,t){var n;let i=(n=r.props)!=null&&n.innerHTML?Yu(r.props,"innerHTML"):r.props,s=Ue(r.tagName,Wu(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)xa(o,s);return e==null||e.appendChild(s),s}function Pr(r){return r.hasOwnProperty("tagName")?xa(r):document.createElement("li")}function Ks(r){for(;r!=null&&r.firstChild;)r.lastChild&&r.removeChild(r.lastChild);return r}function kr(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 Ia(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 ju(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function Yu(r,e){let{[e]:t,...i}=r;return i}function Ra(r,e){r!=null&&r.style&&(r.style.display=r.style.display==="none"&&e!==!1||e===!0?"block":"none")}function qu(){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),Ks(this.contentEl)}}reset(e){this.lastCluster=0,this.cache={},Ks(this.contentEl),this.initDOM(e)}initDOM(e){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let o=Pr(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);Ks(this.contentEl),i&&s?(t.topOffset&&this.contentEl.appendChild(this.getExtra("top",t.topOffset)),t.rows.forEach(o=>this.contentEl.appendChild(Pr(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]",Ku=".ms-select-all.highlighted, ul li[data-key].highlighted",Qu=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 Lu({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:Ar(`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`),ju(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||Ia(this.getEventTarget(s),".ms-choice")===this.choiceElm||(this.getEventTarget(s)===this.dropElm||Ia(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=Gu(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&&(Ks(this.ulElm),e.forEach(i=>this.ulElm.appendChild(Pr(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:Ar(`group${this.options.single||r.disabled?" disabled":""} ${l}`).join(" "),role:"option",ariaSelected:String(n),dataset:{key:r._key}},children:[{tagName:"label",props:{className:Ar(`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=Xs(this.data,"_key",h.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(Ir({label:c.label,selected:c.selected,data:c._data,children:c.children.map(u=>{if(u)return Ir({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=Xs(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(Ir({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=kr(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}=Rr(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(Ku))||[]).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?Uu(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,Ra(this.selectAllElm.closest("li"),!e)}Ra(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?Or(e):this.options}refreshOptions(r){$u(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=Xs(this.data,"value",r);e&&this._check(e,!0)}uncheck(r){let e=Xs(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:Ti(o.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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:Ti(l.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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:Ti(o.toString().toLowerCase(),this.options.diacriticParser),search:Ti(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}=Rr(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}=Rr(this.dropElm),{top:s,left:n}=kr(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()}},Oi=(r,e)=>typeof r=="string"?Fr(document.querySelectorAll(r),e):r instanceof Node?Fr([r],e):Fr(r,e);function Fr(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 Qu(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}Oi.defaults=gt.DEFAULTS,Oi.locales={...Ta},Oi.methods=gt.METHODS,typeof window<"u"&&(window.multipleSelect=Oi);class Aa{constructor(e,t,i,s=!0){this.translaterService=e,this.collectionService=t,this.rxjs=i,this._isMultipleSelect=!0,this._collectionLength=0,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?(_=jo(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&&(Fi(this.columnFilter.collection,this.watchCallback.bind(this)),hs(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(e){this.renderDomElement(e||[]),this.columnFilter.collection&&Fi(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=yl("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,J(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=Oi(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 Zu extends Aa{constructor(e,t,i){super(e,t,i,!0),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class Ju extends Aa{constructor(e,t,i){super(e,t,i,!1),this.translaterService=e,this.collectionService=t,this.rxjs=i}}class ep extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="single"}}class tp extends Tr{constructor(e){super(e),this.translaterService=e,this.sliderType="double"}}const Zs={autocompleter:Jh,compoundDate:lc,compoundInput:Ea,compoundInputNumber:Ou,compoundInputPassword:xu,compoundInputText:Ea,compoundSlider:Ru,dateRange:Au,input:Yt,inputMask:Pu,inputNumber:ku,inputPassword:Fu,inputText:Yt,multipleSelect:Zu,singleSelect:Ju,slider:ep,sliderRange:tp};class ip{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}}const Dr={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Pa},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:Pa},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 Pa(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 Mr={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===E.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)!==E.object&&((i=this.columnEditor)==null?void 0:i.type)!==E.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((s=this.columnDef)==null?void 0:s.type)===E.object||((n=this.columnEditor)==null?void 0:n.type)===E.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:y}=this.args.compositeEditorOptions;b.compositeEditorOptions={formValues:S,modalType:y}}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,y)=>{y.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-${mi(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?(Uo(this._inputElm,this._autocompleterOptions),this._instance=_s(this._autocompleterOptions)):this._instance=_s({...this._autocompleterOptions,fetch:(b,S)=>{o&&S(o.filter(y=>((typeof y=="string"?y:y==null?void 0:y.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||E.dateUtc,p=Xe(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=Xe(this.hasTimePicker?E.dateTimeIsoAM_PM:E.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 y="";if(S.selectedDates[0]?(y=S.selectedDates[0],S.HTMLInputElement.value=vt(S.selectedDates[0],void 0,u)):S.HTMLInputElement.value="",y&&this.hasTimePicker){const T=gs(y,f);T.setHours(+(S.selectedHours||0)),T.setMinutes(+(S.selectedMinutes||0)),S.HTMLInputElement.value=vt(T,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 vl(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(),J(this._editorInputGroupElm),J(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||E.dateUtc,l=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||E.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)||E.dateIso,a=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||E.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 ka(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 Fa(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 ka(s,{...o,decimal:this.getDecimalPlaces(e),minValue:i.minValue,maxValue:i.maxValue,operatorConditionalType:i.operatorConditionalType});case"integer":return Fa(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 ka(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 Fa(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,y,T,I,O;let e="",t="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const x=lt(this.gridOptions),A=((d=this.editorOptions.buttonTexts)==null?void 0:d.cancelKey)??`${x}CANCEL`,D=((c=this.editorOptions.buttonTexts)==null?void 0:c.saveKey)??`${x}SAVE`;e=this._translater.translate(`${x}${A}`),t=this._translater.translate(`${x}${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:((y=this.editorOptions)==null?void 0:y.cols)??40,rows:i&&o>3?3:o,placeholder:((T=this.columnEditor)==null?void 0:T.placeholder)??"",title:((I=this.columnEditor)==null?void 0:I.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 x=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(x,"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 Da{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 Sl(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===E.number||s===E.integer||s===E.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=yl("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"&&(J(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=Oi(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 Da{constructor(e,t=0){super(e,!0,t),this.args=e,this.delayOpening=t}}class yp extends Da{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 Lr={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 I,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=((I=o==null?void 0:o.excelExportOptions)==null?void 0:I.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:Ma,complexObject:Ma,collection:xp,collectionEditor:Op,currency:kp,dateIso:ye(E.dateIso,"-"),dateTimeIso:ye(E.dateTimeIso,"-"),dateTimeShortIso:ye(E.dateTimeShortIso,"-"),dateTimeIsoAmPm:ye(E.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:ye(E.dateTimeIsoAM_PM,"-"),dateEuro:ye(E.dateEuro,"/"),dateEuroShort:ye(E.dateEuroShort,"/"),dateTimeEuro:ye(E.dateTimeEuro,"/"),dateTimeEuroShort:ye(E.dateTimeEuroShort,"/"),dateTimeShortEuro:ye(E.dateTimeShortEuro,"/"),dateTimeEuroAmPm:ye(E.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:ye(E.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:ye(E.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:ye(E.dateTimeEuroShortAM_PM,"/"),dateUs:ye(E.dateUs,"/"),dateTimeUs:ye(E.dateTimeUs,"/"),dateTimeShortUs:ye(E.dateTimeShortUs,"/"),dateTimeUsAmPm:ye(E.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:ye(E.dateTimeUsAM_PM,"/"),dateTimeUsShort:ye(E.dateTimeUsShort,"/"),dateTimeUsShortAmPm:ye(E.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:ye(E.dateTimeUsShortAM_PM,"/"),dateUsShort:ye(E.dateUsShort,"/"),dateUtc:ye(E.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},ne={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=Dr}}const Nr={...ph,...mh,...Ch,...Xh,...xh,deepAssign:Zt};function Xp(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;)J(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}`),y=C==null?void 0:C.querySelector(`[data-editorid='${_.id}']`);const T=(t==null?void 0:t.validationMsgPrefix)??"";(!u||y!=null&&y.contains(u))&&(p=d[f].validate(),p.valid?b&&(b.textContent="",y==null||y.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=`${T}${p.msg}`,S==null||S.classList.add("invalid"),y==null||y.classList.add("invalid")))),b=null,S=null,y=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 La=r=>console.log(r.message);class Hr{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??La,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",y=S?{}:this.grid.getDataItem(g);this._originalDataContext=de(!0,{},y),this._columnDefinitions=this.grid.getColumns();const T=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],I=((n=this.dataView)==null?void 0:n.getItemCount())??0;this._lastActiveRowNumber=g;const O=this.dataView.getAllSelectedIds(),x=b==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,y,f,x,S))return null;if(b==="edit"&&!y)return t({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(b==="mass-selection"&&T.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(K=>{var ce;return K.editorClass&&((ce=K.editor)==null?void 0:ce.massUpdate)===!0}):D=this._columnDefinitions.filter(K=>K.editorClass),D.some(K=>{var ce;return((ce=K.editor)==null?void 0:ce.compositeEditorFormOrder)!==void 0})&&D.sort((K,ce)=>{var Nt,N;const dt=((Nt=K==null?void 0:K.editor)==null?void 0:Nt.compositeEditorFormOrder)??1/0,hi=((N=ce==null?void 0:ce.editor)==null?void 0:N.compositeEditorFormOrder)??1/0;return Io(dt,hi,ae.asc)});const M=C.replace(/\{\{(.*?)\}\}/g,(K,ce)=>Ee(y,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 K=L===2?"split-view":"triple-split-view";W.classList.add(K)}const q=v("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(q,M);const Z=v("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((l=q==null?void 0:q.classList)==null||l.add("outside"),(a=Z==null?void 0:Z.classList)==null||a.add("outside"));const X=v("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});X.appendChild(q),X.appendChild(Z);const ee=v("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=v("div",{className:"validation-summary",style:{display:"none"}},ee);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 K=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");fe=this.parseText(K,{x:I}),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:I}),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(ee),W.appendChild(ze),this._modalElm.appendChild(W);for(const K of D)if(K.editorClass){const ce=v("div",{className:`item-details-container editor-${K.id}`});L===1?ce.classList.add("slick-col-medium-12"):ce.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/L}`);const dt=v("div",{className:`item-details-label editor-${K.id}`});this.grid.applyHtmlCode(dt,this.getColumnLabel(K)||"n/a");const hi=v("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${K.id}`}}),Nt=v("div",{className:`item-details-validation editor-${K.id}`});if((h=this._options)!=null&&h.showResetButtonOnEachEditor){const N=this.createEditorResetButtonElement(`${K.id}`);this._bindEventService.bind(N,"click",this.handleResetInputValue.bind(this)),dt.appendChild(N)}ce.appendChild(dt),ce.appendChild(hi),ce.appendChild(Nt),ee.appendChild(ce)}if((d=this._options)!=null&&d.showFormResetButton){const K=this.createFormResetButtonElement();this._bindEventService.bind(K,"click",this.handleResetFormClicked.bind(this)),ee.appendChild(K)}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(K=>ee.querySelector(`[data-editorid='${K.id}']`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:b,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const ke=new Xp(D,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(ke),this._bindEventService.bind(Z,"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,(K,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)??La)(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=Eo(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 Vr{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 y=document.querySelector(`.${i} .slick-pane.slick-pane-top.slick-pane-left`);if(y&&y.style&&l&&l.style){const T=parseInt(y.style.height,10)||0,I=((C=this.gridOptions)==null?void 0:C.rowHeight)??0,O=this.gridOptions.enableFiltering?((b=this.gridOptions)==null?void 0:b.headerRowHeight)??0:0,x=this.gridOptions.createPreHeaderPanel?((S=this.gridOptions)==null?void 0:S.preHeaderPanelHeight)??0:0;if(e){let A=T!==null&&T<100?T:100;A+=O+x,y.style.minHeight=`${A}px`,l.style.minHeight=`${I}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 y=e?"flex":"none";p&&e&&(y=n.hideFrozenLeftWarning?"none":"flex"),this._warningLeftElement.style.display=y;const T=typeof c=="string"?c:`${c}px`;this._warningLeftElement.style.marginLeft=p?T:m}if(this._warningRightElement){let y=e?"flex":"none";p&&e&&(y=n.hideFrozenRightWarning?"none":"flex"),this._warningRightElement.style.display=y;const T=typeof u=="string"?u:`${u}px`;this._warningRightElement.style.marginLeft=p?T:f}return e}}class Na{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 Wo,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 Ha={},Kp=function(r,e,t,i,s){var n=new Worker(Ha[e]||(Ha[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]),Br=new Ve([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Va=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}},Ba=Va(nn,2),Qp=Ba.b,on=Ba.r;Qp[28]=258,on[258]=28;for(var Zp=Va(rn,0),zr=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 xi=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},Xt=new Ve(288),Ce=0;Ce<144;++Ce)Xt[Ce]=8;for(var Ce=144;Ce<256;++Ce)Xt[Ce]=9;for(var Ce=256;Ce<280;++Ce)Xt[Ce]=7;for(var Ce=280;Ce<288;++Ce)Xt[Ce]=8;for(var ls=new Ve(32),Ce=0;Ce<32;++Ce)ls[Ce]=5;var za=xi(Xt,9,0),$a=xi(ls,5,0),$r=function(r){return(r+7)/8|0},Wr=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"],Ii=function(r,e,t){var i=new Error(e||Jp[r]);if(i.code=r,Error.captureStackTrace&&Error.captureStackTrace(i,Ii),!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},Ri=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:Yr,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(y,T){return y.f-T.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(T,I){return p[I.s]-p[T.s]||T.f-I.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},Gr=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}},Ai=function(r,e){for(var t=0,i=0;i<e.length;++i)t+=r[i]*e[i];return t},Ur=function(r,e,t){var i=t.length,s=$r(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},jr=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,_=Gr(u),C=_.c,b=_.n,S=Gr(f),y=S.c,T=S.n,I=new Ze(19),O=0;O<C.length;++O)++I[C[O]&31];for(var O=0;O<y.length;++O)++I[y[O]&31];for(var x=an(I,7),A=x.t,D=x.l,M=19;M>4&&!A[Br[M-1]];--M);var L=h+5<<3,W=Ai(s,Xt)+Ai(n,ls)+o,q=Ai(s,u)+Ai(n,f)+o+14+3*M+Ai(I,A)+2*I[16]+3*I[17]+7*I[18];if(a>=0&&L<=W&&L<=q)return Ur(e,d,r.subarray(a,a+h));var Z,X,ee,ze;if(Tt(e,d,1+(q<W)),d+=2,q<W){Z=xi(u,p,0),X=u,ee=xi(f,g,0),ze=f;var nt=xi(A,D,0);Tt(e,d,b-257),Tt(e,d+5,T-1),Tt(e,d+10,M-4),d+=14;for(var O=0;O<M;++O)Tt(e,d+3*O,A[Br[O]]);d+=3*M;for(var fe=[C,y],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 Z=za,X=Xt,ee=$a,ze=ls;for(var O=0;O<l;++O){var ke=i[O];if(ke>255){var Le=ke>>18&31;Ri(e,d,Z[Le+257]),d+=X[Le+257],Le>7&&(Tt(e,d,ke>>23&31),d+=nn[Le]);var K=ke&31;Ri(e,d,ee[K]),d+=ze[K],K>3&&(Ri(e,d,ke>>5&8191),d+=rn[K])}else Ri(e,d,Z[ke]),d+=X[ke]}return Ri(e,d,Z[256]),d+X[256]},Wa=new sn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Yr=new Ve(0),Ga=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=Wa[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),y=new Ze(288),T=new Ze(32),I=0,O=0,x=n.i||0,A=0,D=n.w||0,M=0;x+2<o;++x){var L=b(x),W=x&32767,q=g[L];if(f[W]=q,g[L]=W,D<=x){var Z=o-x;if((I>7e3||A>24576)&&(Z>423||!h)){d=jr(r,a,0,S,y,T,O,A,M,x-M,d),A=I=O=0,M=x;for(var X=0;X<286;++X)y[X]=0;for(var X=0;X<30;++X)T[X]=0}var ee=2,ze=0,nt=p,fe=W-q&32767;if(Z>2&&L==b(x-fe))for(var xe=Math.min(u,Z)-1,qe=Math.min(32767,x),Le=Math.min(258,Z);fe<=qe&&--nt&&W!=q;){if(r[x+ee]==r[x+ee-fe]){for(var ke=0;ke<Le&&r[x+ke]==r[x+ke-fe];++ke);if(ke>ee){if(ee=ke,ze=fe,ke>xe)break;for(var K=Math.min(fe,ke-2),ce=0,X=0;X<K;++X){var dt=x-fe+X&32767,hi=f[dt],Nt=dt-hi&32767;Nt>ce&&(ce=Nt,q=dt)}}}W=q,q=f[W],fe+=W-q&32767}if(ze){S[A++]=268435456|on[ee]<<18|zr[ze];var N=on[ee]&31,te=zr[ze]&31;O+=nn[N]+rn[te],++y[257+N],++T[te],D=x+ee,++I}else S[A++]=r[x],++y[r[x]]}}for(x=Math.max(x,D);x<o;++x)S[A++]=r[x],++y[r[x]];d=jr(r,a,h,S,y,T,O,A,M,x-M,d),h||(n.r=d&7|a[d/8|0]<<3,d-=7,n.h=g,n.p=f,n.i=x,n.w=D)}else{for(var x=n.w||0;x<o+h;x+=65535){var Ne=x+65535;Ne>=o&&(a[d/8|0]=h,Ne=o),d=Ur(a,d+1,r.subarray(x,Ne))}n.i=o}return Wr(l,0,i+$r(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}}},Ua=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 Ga(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)},qr=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},ja=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=ja(r[l],s,n);dn[t]={c:ja(r[o],s,n),e:n}}var a=qr({},dn[t].e);return Kp(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,Br,on,zr,za,Xt,$a,ls,ln,Wa,Yr,xi,Tt,Ri,an,hn,Gr,Ai,Ur,jr,$r,Wr,Ga,Ua,Xr,Ya]},Ya=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"&&Ii(7),rm(r,e,[nm],function(i){return Ya(Xr(i.data[0],i.data[1]))},0,t)}function Xr(r,e){return Ua(r,e||{},0,0)}var qa=function(r,e,t,i){for(var s in r){var n=r[s],o=e+s,l=i;Array.isArray(n)&&(l=qr(i,n[1]),n=n[0]),n instanceof Ve?t[o]=[n,l]:(t[o+="/"]=[new Ve(0),l],qa(n,o,t,i))}},Xa=typeof TextEncoder<"u"&&new TextEncoder,lm=typeof TextDecoder<"u"&&new TextDecoder,am=0;try{lm.decode(Yr,{stream:!0}),am=1}catch{}function Kr(r,e){var t;if(Xa)return Xa.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 Wr(s,0,n)}var Qr=function(r){var e=0;if(r)for(var t in r){var i=r[t].length;i>65535&&Ii(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=Qr(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)&&Ii(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"&&Ii(7);var i={};qa(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,_){Qa(function(){t(g,_)})};Qa(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 y=S.c.length;Ka(g,l,S,S.f,S.u,y);var T=30+S.f.length+Qr(S.extra),I=l+T;g.set(S.c,I),Ka(g,o,S,S.f,S.u,y,l,S.m),o+=16+T+(S.m?S.m.length:0),l=I+y}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],y=tm(),T=b.length;y.p(b);var I=Kr(_),O=I.length,x=S.comment,A=x&&Kr(x),D=A&&A.length,M=Qr(S.extra),L=S.level==0?0:8,W=function(q,Z){if(q)c(),u(q,null);else{var X=Z.length;h[g]=qr(S,{size:T,crc:y.d(),c:Z,f:I,m:A,u:O!=_.length||A&&x.length!=D,compression:L}),o+=30+O+M+X,l+=76+2*(O+M)+(D||0)+X,--n||p()}};if(O>65535&&W(Ii(11,0,1),null),!L)W(null,b);else if(T<16e4)try{W(null,Xr(b,S))}catch(q){W(q,null)}else d.push(om(b,S,W))},f=0;f<a;++f)m(f);return c}var Qa=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 Pi(r){return r!=null&&typeof r.valueOf()=="string"}const mm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Za=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 Ja(e)}toString(){return this.documentElement.toString()}}F(cn,"Node",{Create:r=>{switch(r.type){case"XML":return new un(r);case"TEXT":return new Ja(r.nodeValue);default:return null}}});class Ja{constructor(e){F(this,"nodeValue"),this.nodeValue=e}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return Za(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}="${Za(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 Zr={};function Kt(r="$lodash$"){Zr[r]||(Zr[r]=0);const e=++Zr[r];return r==="$lodash$"?`${e}`:`${r}${e}`}const Qt={};class Jr{constructor(){F(this,"relations",{}),F(this,"lastId",1),Kt("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:Kt("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 eh{constructor(){F(this,"strings",{}),F(this,"stringArray",[]),F(this,"id",Kt("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 th{constructor(){F(this,"id",Kt("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&&Pi(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&&Pi(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 Pi(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");Pi(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 Pi(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",Kt("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=Kt("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,e.columns&&this.setColumns(e.columns),this.relations=new Jr}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(Pi(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 y;typeof((e=this.sharedStrings)==null?void 0:e.strings[C])<"u"?y=this.sharedStrings.strings[C]:y=(t=this.sharedStrings)==null?void 0:t.addString(C),b=p.string.cloneNode(!0),b.firstChild.firstChild.nodeValue=y;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",Kt("Workbook")),F(this,"styleSheet",new th),F(this,"sharedStrings",new eh),F(this,"relations",new Jr),F(this,"worksheets",[]),F(this,"tables",[]),F(this,"drawings",[]),F(this,"media",{}),F(this,"printTitles"),this.initialize()}initialize(){this.id=Kt("Workbook"),this.styleSheet=new th,this.sharedStrings=new eh,this.relations=new Jr,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:Ma,complexObject:Ma,collection:xp,collectionEditor:Op,currency:kp,dateIso:ye(E.dateIso,"-"),dateTimeIso:ye(E.dateTimeIso,"-"),dateTimeShortIso:ye(E.dateTimeShortIso,"-"),dateTimeIsoAmPm:ye(E.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:ye(E.dateTimeIsoAM_PM,"-"),dateEuro:ye(E.dateEuro,"/"),dateEuroShort:ye(E.dateEuroShort,"/"),dateTimeEuro:ye(E.dateTimeEuro,"/"),dateTimeEuroShort:ye(E.dateTimeEuroShort,"/"),dateTimeShortEuro:ye(E.dateTimeShortEuro,"/"),dateTimeEuroAmPm:ye(E.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:ye(E.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:ye(E.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:ye(E.dateTimeEuroShortAM_PM,"/"),dateUs:ye(E.dateUs,"/"),dateTimeUs:ye(E.dateTimeUs,"/"),dateTimeShortUs:ye(E.dateTimeShortUs,"/"),dateTimeUsAmPm:ye(E.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:ye(E.dateTimeUsAM_PM,"/"),dateTimeUsShort:ye(E.dateTimeUsShort,"/"),dateTimeUsShortAmPm:ye(E.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:ye(E.dateTimeUsShortAM_PM,"/"),dateUsShort:ye(E.dateUsShort,"/"),dateUtc:ye(E.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},ne={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=Dr}}const Nr={...ph,...mh,...Ch,...Xh,...xh,deepAssign:Zt};function Xp(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;)J(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}`),y=C==null?void 0:C.querySelector(`[data-editorid='${_.id}']`);const T=(t==null?void 0:t.validationMsgPrefix)??"";(!u||y!=null&&y.contains(u))&&(p=d[f].validate(),p.valid?b&&(b.textContent="",y==null||y.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=`${T}${p.msg}`,S==null||S.classList.add("invalid"),y==null||y.classList.add("invalid")))),b=null,S=null,y=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 La=r=>console.log(r.message);class Hr{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??La,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",y=S?{}:this.grid.getDataItem(g);this._originalDataContext=de(!0,{},y),this._columnDefinitions=this.grid.getColumns();const T=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],I=((n=this.dataView)==null?void 0:n.getItemCount())??0;this._lastActiveRowNumber=g;const O=this.dataView.getAllSelectedIds(),x=b==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,y,f,x,S))return null;if(b==="edit"&&!y)return t({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(b==="mass-selection"&&T.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(K=>{var ce;return K.editorClass&&((ce=K.editor)==null?void 0:ce.massUpdate)===!0}):D=this._columnDefinitions.filter(K=>K.editorClass),D.some(K=>{var ce;return((ce=K.editor)==null?void 0:ce.compositeEditorFormOrder)!==void 0})&&D.sort((K,ce)=>{var Nt,N;const ct=((Nt=K==null?void 0:K.editor)==null?void 0:Nt.compositeEditorFormOrder)??1/0,hi=((N=ce==null?void 0:ce.editor)==null?void 0:N.compositeEditorFormOrder)??1/0;return Io(ct,hi,ae.asc)});const M=C.replace(/\{\{(.*?)\}\}/g,(K,ce)=>Ee(y,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 K=L===2?"split-view":"triple-split-view";W.classList.add(K)}const q=v("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(q,M);const Z=v("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((l=q==null?void 0:q.classList)==null||l.add("outside"),(a=Z==null?void 0:Z.classList)==null||a.add("outside"));const X=v("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});X.appendChild(q),X.appendChild(Z);const ee=v("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=v("div",{className:"validation-summary",style:{display:"none"}},ee);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 K=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");fe=this.parseText(K,{x:I}),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:I}),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(ee),W.appendChild(ze),this._modalElm.appendChild(W);for(const K of D)if(K.editorClass){const ce=v("div",{className:`item-details-container editor-${K.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-${K.id}`});this.grid.applyHtmlCode(ct,this.getColumnLabel(K)||"n/a");const hi=v("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${K.id}`}}),Nt=v("div",{className:`item-details-validation editor-${K.id}`});if((h=this._options)!=null&&h.showResetButtonOnEachEditor){const N=this.createEditorResetButtonElement(`${K.id}`);this._bindEventService.bind(N,"click",this.handleResetInputValue.bind(this)),ct.appendChild(N)}ce.appendChild(ct),ce.appendChild(hi),ce.appendChild(Nt),ee.appendChild(ce)}if((d=this._options)!=null&&d.showFormResetButton){const K=this.createFormResetButtonElement();this._bindEventService.bind(K,"click",this.handleResetFormClicked.bind(this)),ee.appendChild(K)}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(K=>ee.querySelector(`[data-editorid='${K.id}']`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:b,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const ke=new Xp(D,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(ke),this._bindEventService.bind(Z,"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,(K,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)??La)(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=Eo(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 Vr{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 y=document.querySelector(`.${i} .slick-pane.slick-pane-top.slick-pane-left`);if(y&&y.style&&l&&l.style){const T=parseInt(y.style.height,10)||0,I=((C=this.gridOptions)==null?void 0:C.rowHeight)??0,O=this.gridOptions.enableFiltering?((b=this.gridOptions)==null?void 0:b.headerRowHeight)??0:0,x=this.gridOptions.createPreHeaderPanel?((S=this.gridOptions)==null?void 0:S.preHeaderPanelHeight)??0:0;if(e){let A=T!==null&&T<100?T:100;A+=O+x,y.style.minHeight=`${A}px`,l.style.minHeight=`${I}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 y=e?"flex":"none";p&&e&&(y=n.hideFrozenLeftWarning?"none":"flex"),this._warningLeftElement.style.display=y;const T=typeof c=="string"?c:`${c}px`;this._warningLeftElement.style.marginLeft=p?T:m}if(this._warningRightElement){let y=e?"flex":"none";p&&e&&(y=n.hideFrozenRightWarning?"none":"flex"),this._warningRightElement.style.display=y;const T=typeof u=="string"?u:`${u}px`;this._warningRightElement.style.marginLeft=p?T:f}return e}}class Na{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 Wo,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 Ha={},Kp=function(r,e,t,i,s){var n=new Worker(Ha[e]||(Ha[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]),Br=new Ve([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Va=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}},Ba=Va(nn,2),Qp=Ba.b,on=Ba.r;Qp[28]=258,on[258]=28;for(var Zp=Va(rn,0),zr=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 xi=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},Xt=new Ve(288),Ce=0;Ce<144;++Ce)Xt[Ce]=8;for(var Ce=144;Ce<256;++Ce)Xt[Ce]=9;for(var Ce=256;Ce<280;++Ce)Xt[Ce]=7;for(var Ce=280;Ce<288;++Ce)Xt[Ce]=8;for(var ls=new Ve(32),Ce=0;Ce<32;++Ce)ls[Ce]=5;var za=xi(Xt,9,0),$a=xi(ls,5,0),$r=function(r){return(r+7)/8|0},Wr=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"],Ii=function(r,e,t){var i=new Error(e||Jp[r]);if(i.code=r,Error.captureStackTrace&&Error.captureStackTrace(i,Ii),!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},Ri=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:Yr,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(y,T){return y.f-T.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(T,I){return p[I.s]-p[T.s]||T.f-I.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},Gr=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}},Ai=function(r,e){for(var t=0,i=0;i<e.length;++i)t+=r[i]*e[i];return t},Ur=function(r,e,t){var i=t.length,s=$r(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},jr=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,_=Gr(u),C=_.c,b=_.n,S=Gr(f),y=S.c,T=S.n,I=new Ze(19),O=0;O<C.length;++O)++I[C[O]&31];for(var O=0;O<y.length;++O)++I[y[O]&31];for(var x=an(I,7),A=x.t,D=x.l,M=19;M>4&&!A[Br[M-1]];--M);var L=h+5<<3,W=Ai(s,Xt)+Ai(n,ls)+o,q=Ai(s,u)+Ai(n,f)+o+14+3*M+Ai(I,A)+2*I[16]+3*I[17]+7*I[18];if(a>=0&&L<=W&&L<=q)return Ur(e,d,r.subarray(a,a+h));var Z,X,ee,ze;if(Tt(e,d,1+(q<W)),d+=2,q<W){Z=xi(u,p,0),X=u,ee=xi(f,g,0),ze=f;var nt=xi(A,D,0);Tt(e,d,b-257),Tt(e,d+5,T-1),Tt(e,d+10,M-4),d+=14;for(var O=0;O<M;++O)Tt(e,d+3*O,A[Br[O]]);d+=3*M;for(var fe=[C,y],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 Z=za,X=Xt,ee=$a,ze=ls;for(var O=0;O<l;++O){var ke=i[O];if(ke>255){var Le=ke>>18&31;Ri(e,d,Z[Le+257]),d+=X[Le+257],Le>7&&(Tt(e,d,ke>>23&31),d+=nn[Le]);var K=ke&31;Ri(e,d,ee[K]),d+=ze[K],K>3&&(Ri(e,d,ke>>5&8191),d+=rn[K])}else Ri(e,d,Z[ke]),d+=X[ke]}return Ri(e,d,Z[256]),d+X[256]},Wa=new sn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Yr=new Ve(0),Ga=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=Wa[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),y=new Ze(288),T=new Ze(32),I=0,O=0,x=n.i||0,A=0,D=n.w||0,M=0;x+2<o;++x){var L=b(x),W=x&32767,q=g[L];if(f[W]=q,g[L]=W,D<=x){var Z=o-x;if((I>7e3||A>24576)&&(Z>423||!h)){d=jr(r,a,0,S,y,T,O,A,M,x-M,d),A=I=O=0,M=x;for(var X=0;X<286;++X)y[X]=0;for(var X=0;X<30;++X)T[X]=0}var ee=2,ze=0,nt=p,fe=W-q&32767;if(Z>2&&L==b(x-fe))for(var xe=Math.min(u,Z)-1,qe=Math.min(32767,x),Le=Math.min(258,Z);fe<=qe&&--nt&&W!=q;){if(r[x+ee]==r[x+ee-fe]){for(var ke=0;ke<Le&&r[x+ke]==r[x+ke-fe];++ke);if(ke>ee){if(ee=ke,ze=fe,ke>xe)break;for(var K=Math.min(fe,ke-2),ce=0,X=0;X<K;++X){var ct=x-fe+X&32767,hi=f[ct],Nt=ct-hi&32767;Nt>ce&&(ce=Nt,q=ct)}}}W=q,q=f[W],fe+=W-q&32767}if(ze){S[A++]=268435456|on[ee]<<18|zr[ze];var N=on[ee]&31,te=zr[ze]&31;O+=nn[N]+rn[te],++y[257+N],++T[te],D=x+ee,++I}else S[A++]=r[x],++y[r[x]]}}for(x=Math.max(x,D);x<o;++x)S[A++]=r[x],++y[r[x]];d=jr(r,a,h,S,y,T,O,A,M,x-M,d),h||(n.r=d&7|a[d/8|0]<<3,d-=7,n.h=g,n.p=f,n.i=x,n.w=D)}else{for(var x=n.w||0;x<o+h;x+=65535){var Ne=x+65535;Ne>=o&&(a[d/8|0]=h,Ne=o),d=Ur(a,d+1,r.subarray(x,Ne))}n.i=o}return Wr(l,0,i+$r(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}}},Ua=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 Ga(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)},qr=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},ja=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=ja(r[l],s,n);dn[t]={c:ja(r[o],s,n),e:n}}var a=qr({},dn[t].e);return Kp(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,Br,on,zr,za,Xt,$a,ls,ln,Wa,Yr,xi,Tt,Ri,an,hn,Gr,Ai,Ur,jr,$r,Wr,Ga,Ua,Xr,Ya]},Ya=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"&&Ii(7),rm(r,e,[nm],function(i){return Ya(Xr(i.data[0],i.data[1]))},0,t)}function Xr(r,e){return Ua(r,e||{},0,0)}var qa=function(r,e,t,i){for(var s in r){var n=r[s],o=e+s,l=i;Array.isArray(n)&&(l=qr(i,n[1]),n=n[0]),n instanceof Ve?t[o]=[n,l]:(t[o+="/"]=[new Ve(0),l],qa(n,o,t,i))}},Xa=typeof TextEncoder<"u"&&new TextEncoder,lm=typeof TextDecoder<"u"&&new TextDecoder,am=0;try{lm.decode(Yr,{stream:!0}),am=1}catch{}function Kr(r,e){var t;if(Xa)return Xa.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 Wr(s,0,n)}var Qr=function(r){var e=0;if(r)for(var t in r){var i=r[t].length;i>65535&&Ii(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=Qr(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)&&Ii(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"&&Ii(7);var i={};qa(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,_){Qa(function(){t(g,_)})};Qa(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 y=S.c.length;Ka(g,l,S,S.f,S.u,y);var T=30+S.f.length+Qr(S.extra),I=l+T;g.set(S.c,I),Ka(g,o,S,S.f,S.u,y,l,S.m),o+=16+T+(S.m?S.m.length:0),l=I+y}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],y=tm(),T=b.length;y.p(b);var I=Kr(_),O=I.length,x=S.comment,A=x&&Kr(x),D=A&&A.length,M=Qr(S.extra),L=S.level==0?0:8,W=function(q,Z){if(q)c(),u(q,null);else{var X=Z.length;h[g]=qr(S,{size:T,crc:y.d(),c:Z,f:I,m:A,u:O!=_.length||A&&x.length!=D,compression:L}),o+=30+O+M+X,l+=76+2*(O+M)+(D||0)+X,--n||p()}};if(O>65535&&W(Ii(11,0,1),null),!L)W(null,b);else if(T<16e4)try{W(null,Xr(b,S))}catch(q){W(q,null)}else d.push(om(b,S,W))},f=0;f<a;++f)m(f);return c}var Qa=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 Pi(r){return r!=null&&typeof r.valueOf()=="string"}const mm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Za=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 Ja(e)}toString(){return this.documentElement.toString()}}F(cn,"Node",{Create:r=>{switch(r.type){case"XML":return new un(r);case"TEXT":return new Ja(r.nodeValue);default:return null}}});class Ja{constructor(e){F(this,"nodeValue"),this.nodeValue=e}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return Za(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}="${Za(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 Zr={};function Kt(r="$lodash$"){Zr[r]||(Zr[r]=0);const e=++Zr[r];return r==="$lodash$"?`${e}`:`${r}${e}`}const Qt={};class Jr{constructor(){F(this,"relations",{}),F(this,"lastId",1),Kt("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:Kt("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 eh{constructor(){F(this,"strings",{}),F(this,"stringArray",[]),F(this,"id",Kt("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 th{constructor(){F(this,"id",Kt("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&&Pi(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&&Pi(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 Pi(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");Pi(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 Pi(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",Kt("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=Kt("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,e.columns&&this.setColumns(e.columns),this.relations=new Jr}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(Pi(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 y;typeof((e=this.sharedStrings)==null?void 0:e.strings[C])<"u"?y=this.sharedStrings.strings[C]:y=(t=this.sharedStrings)==null?void 0:t.addString(C),b=p.string.cloneNode(!0),b.firstChild.firstChild.nodeValue=y;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",Kt("Workbook")),F(this,"styleSheet",new th),F(this,"sharedStrings",new eh),F(this,"relations",new Jr),F(this,"worksheets",[]),F(this,"tables",[]),F(this,"drawings",[]),F(this,"media",{}),F(this,"printTitles"),this.initialize()}initialize(){this.id=Kt("Workbook"),this.styleSheet=new th,this.sharedStrings=new eh,this.relations=new Jr,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)]=Kr(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===E.number&&s&&(o=eo(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 ne.avgTotalsCurrency:case ne.avgTotalsDollar:case ne.sumTotalsCurrency:case ne.sumTotalsCurrencyColored:case ne.sumTotalsDollar:case ne.sumTotalsDollarBold:case ne.sumTotalsDollarColored:case ne.sumTotalsDollarColoredBold:i="currency";break;case ne.avgTotalsPercentage:i="percent";break;case ne.avgTotals:case ne.minTotals:case ne.maxTotals:case ne.sumTotals:case ne.sumTotalsColored:case ne.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=ih(n),i!=="decimal")break}else i=ih(r.formatter);return Se(r,e,i,t)}function ih(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 eo(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 ne.avgTotals:case ne.avgTotalsCurrency:case ne.avgTotalsDollar:case ne.avgTotalsPercentage:o="avg";break;case ne.minTotals:o="min";break;case ne.maxTotals:o="max";break;case ne.sumTotals:case ne.sumTotalsBold:case ne.sumTotalsColored:case ne.sumTotalsCurrency:case ne.sumTotalsCurrencyColored:case ne.sumTotalsDollar:case ne.sumTotalsDollarColoredBold:case ne.sumTotalsDollarColored:case ne.sumTotalsDollarBold:o="sum";break;default:l=e.numberFormat;break}else switch(a){case E.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}=eo(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=nh(t,i,"cell");break;default:l=e.numberFormat;break}break}return!l&&(t.formatter||t.groupTotalsFormatter)&&(n=nh(t,i,s,o),e.hasOwnProperty(n)||(e[n]=r.createFormat({format:n})),l=e[n]),{excelFormat:l,groupType:o}}function sh(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 nh(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=sh(n)+";"+sh(o)),s}function mn(r){return r&&`"${r}"`}function Rm(r,e){return rh("1",r)+rh("2",e-r)}function rh(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,C;if(d!=null&&d.columns){const b=d.columns,S=b[g.id]||b[f];!isNaN(a)&&+a>1||a==="*"&&f>0||(a=(S==null?void 0:S.colspan)??1),a==="*"?_=e.length-f:(_=a,g.id in b&&(C=g.id,h=f))}if(a==="*"&&f>0||!isNaN(a)&&+a>1&&g.id!==C){const b=t+(this._hasColumnTitlePreHeader?3:2);if(typeof a=="number"&&_-1===1){const S=this.getExcelColumnNameByIndex(h+1),y=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`${S}${b}`,`${y}${b}`),o.push("")}else if(a==="*"&&_===1){const S=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`A${b}`,`${S}${b}`)}else o.push("");typeof a=="number"&&!isNaN(a)&&+a>1&&(_=a--)}else{let b="";const S=Hi(g),y={...this._excelExportOptions};if(g.exportWithFormatter!==!1&&It(S)&&(y.exportWithFormatter=!0),b=_r(t,f,g,i,this._grid,y),!this._regularCellExcelFormats.hasOwnProperty(g.id)){const O=((c=g.excelExportOptions)==null?void 0:c.autoDetectCellFormat)??((u=this._excelExportOptions)==null?void 0:u.autoDetectCellFormat),x=Om(this._stylesheet,this._stylesheetFormats,g,this._grid,O);(p=g.excelExportOptions)!=null&&p.style&&(x.excelFormatId=this._stylesheet.createFormat(g.excelExportOptions.style).id),(m=g.excelExportOptions)!=null&&m.valueParserCallback&&(x.getDataValueParser=g.excelExportOptions.valueParserCallback),this._regularCellExcelFormats[g.id]=x}typeof b=="string"&&(g.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(b=we(b));const{excelFormatId:T,getDataValueParser:I}=this._regularCellExcelFormats[g.id];b=I(b,{columnDef:g,excelFormatId:T,stylesheet:this._stylesheet,gridOptions:this._gridOptions,dataRowIdx:s,dataContext:i}),o.push(b),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===E.number&&d!==!1){let C=this._groupTotalExcelFormats[o.id];C!=null&&C.groupType||(C=eo(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=no(_),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 y=ge(this._mouseTarget);S.includes("left")||S==="top-center"?C=y.left-(((h=this._addonOptions)==null?void 0:h.offsetArrow)??3):S.includes("right")&&(C=y.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 oh(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 lh=-1;function ah(r){this.tokens=[].slice.call(r)}ah.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():lh},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 to=-1,hh="utf-8";function _n(r,e){if(!(this instanceof _n))return new _n(r,e);if(r=r!==void 0?String(r).toLowerCase():hh,r!==hh)throw new Error("Encoding not supported. Only utf-8 is supported");e=oh(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=oh(t),this._streaming||(this._encoder=new Mm(this._options)),this._streaming=!!t.stream;for(var i=[],s=new ah(Dm(e)),n;!s.endOfStream()&&(n=this._encoder.handler(s,s.read()),n!==to);)Array.isArray(n)?i.push.apply(i,n):i.push(n);if(!this._streaming){for(;n=this._encoder.handler(s,s.read()),n!==to;)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===lh)return to;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=po(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)}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&&(u=c.id)}if(l==="*"&&h>0||!isNaN(l)&&+l>1&&c.id!==u)n.push(""),!isNaN(l)&&+l>1&&l--;else{let p=_r(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 Wo,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 dh{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._columnDefinitions=e,this._slickgridInitialized&&this.updateColumnDefinitionsList(this._columnDefinitions),e.length>0&&this.copyColumnWidthsReference(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;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._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 $o(e),this._eventPubSubService.eventNamingStyle=((u=this._gridOptions)==null?void 0:u.eventNamingStyle)??ut.camelCase;const a=new qp;this.backendUtilityService=(o==null?void 0:o.backendUtilityService)??new so,this.gridEventService=(o==null?void 0:o.gridEventService)??new uu,this.sharedService=(o==null?void 0:o.sharedService)??new Eu,this.collectionService=(o==null?void 0:o.collectionService)??new Sl(this.translaterService),this.extensionUtility=(o==null?void 0:o.extensionUtility)??new hc(this.sharedService,this.backendUtilityService,this.translaterService),this.filterFactory=new ip(a,this.translaterService,this.collectionService),this.filterService=(o==null?void 0:o.filterService)??new hu(this.filterFactory,this._eventPubSubService,this.sharedService,this.backendUtilityService),this.resizerService=(o==null?void 0:o.resizerService)??new yu(this._eventPubSubService),this.sortService=(o==null?void 0:o.sortService)??new wu(this.collectionService,this.sharedService,this._eventPubSubService,this.backendUtilityService),this.treeDataService=(o==null?void 0:o.treeDataService)??new Tu(this._eventPubSubService,this.sharedService,this.sortService),this.paginationService=(o==null?void 0:o.paginationService)??new fu(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 pu(this.extensionService,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService),this.gridService=(o==null?void 0:o.gridService)??new cu(this.gridStateService,this.filterService,this._eventPubSubService,this.paginationService,this.sharedService,this.sortService,this.treeDataService),this.headerGroupingService=(o==null?void 0:o.headerGroupingService)??new mu(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}`);J(t)}dispose(e=!1){var t,i,s,n,o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,y,T,I,O,x,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),(y=this._eventPubSubService)==null||y.unsubscribeAll(),(T=this.dataView)==null||T.setItems([]),typeof((I=this.dataView)==null?void 0:I.destroy)=="function"&&((O=this.dataView)==null||O.destroy()),(x=this.slickGrid)==null||x.destroy(!0),this.slickGrid=null,J(this._gridContainerElm),J(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(),(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,y,T,I,O,x;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)??ut.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 wl,this.sharedService.groupItemMetadataProvider=this.groupItemMetadataProvider,D={...D,groupItemMetadataProvider:this.groupItemMetadataProvider}),this.dataView=new pc(D,this._eventPubSubService),this._eventPubSubService.publish("onDataviewCreated",this.dataView)}this.preRegisterResources(),this._columnDefinitions=this.loadSlickGridEditors(this._columnDefinitions||[]),(u=this._gridOptions)!=null&&u.autoAddCustomEditorFormatter&&ca(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 Vc(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"&&((y=this.dataView)==null||y.syncGridSelection(this.slickGrid,D.preserveHidden,D.preserveHiddenOnSelectionChange))}(((T=this.dataView)==null?void 0:T.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),(I=this.gridOptions)!=null&&I.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=(x=this.extensionService)==null?void 0:x.extensionList,this._eventPubSubService.publish("onSlickerGridCreated",this.instances),this._isGridInitialized=!0,this.suggestDateParsingWhenHelpful()}hasBackendInfiniteScroll(){var e,t;return!!((t=(e=this.backendService)==null?void 0:e.options)!=null&&t.infiniteScroll)}mergeGridOptions(e){const t=de(!0,{},Dr,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;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",o=>{t.enableTranslate&&(this.extensionService.translateAllExtensions(o.language),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&this.headerGroupingService.translateHeaderGrouping())})),t.backendServiceApi){const o=t.backendServiceApi;(n=o==null?void 0:o.service)!=null&&n.init&&o.service.init(o.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 o,l;e.invalidate(),this.handleOnItemCountChanged(((o=this.dataView)==null?void 0:o.getFilteredItemCount())||0,((l=this.dataView)==null?void 0:l.getItemCount())??0)}),this._eventHandler.subscribe(i.onSetItemsCalled,(o,l)=>{var a,h;this.sharedService.isItemsDateParsed=!1,this.handleOnItemCountChanged(((a=this.dataView)==null?void 0:a.getFilteredItemCount())||0,l.itemCount),l.itemCount>0&&(this.gridOptions.autosizeColumnsByCellContentOnFirstLoad||this.gridOptions.enableAutoResizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent(!((h=this.gridOptions)!=null&&h.resizeByContentOnlyOnFirstLoad))}),t!=null&&t.enableFiltering&&!t.enableRowDetailView&&this._eventHandler.subscribe(i.onRowsChanged,(o,{calledOnRowCountChanged:l,rows:a})=>{if(!l&&Array.isArray(a)){const h=e.getRenderedRange();a.filter(d=>d>=h.top&&d<=h.bottom).forEach(d=>e.updateRow(d)),e.render()}}),this._eventHandler.subscribe(e.onColumnsReordered,(o,l)=>{this.sharedService.hasColumnsReordered=!0,this.sharedService.visibleColumns=l.impactedColumns}),this._eventHandler.subscribe(e.onSetOptions,(o,l)=>{l.optionsBefore.darkMode!==l.optionsAfter.darkMode&&this.setDarkMode(l.optionsAfter.darkMode)}),this.loadColumnPresetsWhenDatasetInitialized(),this.loadFilterPresetsWhenDatasetInitialized()),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=o=>{let l=null;return t.colspanCallback&&(l=t.colspanCallback(i.getItem(o))),l})}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&&ca(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)}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)}renderPagination(e=!0){var t,i;if(this.slickGrid&&((t=this._gridOptions)!=null&&t.enablePagination)&&!this._isPaginationInitialized&&e){const s=this.gridOptions.customPaginationComponent??Na;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 Vr,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!=null&&i.renderDomElement)&&(typeof i.destroy=="function"&&i.destroy(),i.disable(!1),i.renderDomElement(t))}}}const zm={GridBundle:dh,Aggregators:Mr,BindingService:Cs,Editors:Lr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:ne,SortComparers:ii,Utilities:Nr};typeof window<"u"&&(window.Slicker=zm);const io=document.createElement("div");io.appendChild(v("span",{className:"mdi mdi-alert text-color-warning"})),io.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:ut.lowerCaseWithoutOnPrefix,compositeEditorOptions:{resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h",shouldPreviewMassChangeDataset:!0},datasetIdPropertyName:"Id",emptyDataWarning:{message:io},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:!1,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 ch extends dh{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,{},Dr,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 Vr,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(e=>e instanceof Hr)||(this.slickCompositeEditor=new Hr,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 uh={GridBundle:ch,Aggregators:Mr,BindingService:Cs,Editors:Lr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:ne,SlickGlobalEditorLock:qi,SortComparers:ii,Utilities:Nr};typeof window<"u"&&(window.Slicker=uh),Fe.Aggregators=Mr,Fe.BindingService=Cs,Fe.Editors=Lr,Fe.Enums=vn,Fe.EventPubSubService=$o,Fe.Filters=Zs,Fe.Formatters=_e,Fe.GroupTotalFormatters=ne,Fe.SlickCompositeEditorComponent=Hr,Fe.SlickEmptyWarningComponent=Vr,Fe.SlickPaginationComponent=Na,Fe.Slicker=uh,Fe.SortComparers=ii,Fe.Utilities=Nr,Fe.VanillaForceGridBundle=ch,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 dh{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._columnDefinitions=e,this._slickgridInitialized&&this.updateColumnDefinitionsList(this._columnDefinitions),e.length>0&&this.copyColumnWidthsReference(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;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._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 $o(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 so,this.gridEventService=(o==null?void 0:o.gridEventService)??new uu,this.sharedService=(o==null?void 0:o.sharedService)??new Eu,this.collectionService=(o==null?void 0:o.collectionService)??new Sl(this.translaterService),this.extensionUtility=(o==null?void 0:o.extensionUtility)??new hc(this.sharedService,this.backendUtilityService,this.translaterService),this.filterFactory=new ip(a,this.translaterService,this.collectionService),this.filterService=(o==null?void 0:o.filterService)??new hu(this.filterFactory,this._eventPubSubService,this.sharedService,this.backendUtilityService),this.resizerService=(o==null?void 0:o.resizerService)??new yu(this._eventPubSubService),this.sortService=(o==null?void 0:o.sortService)??new wu(this.collectionService,this.sharedService,this._eventPubSubService,this.backendUtilityService),this.treeDataService=(o==null?void 0:o.treeDataService)??new Tu(this._eventPubSubService,this.sharedService,this.sortService),this.paginationService=(o==null?void 0:o.paginationService)??new fu(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 pu(this.extensionService,this.filterService,this._eventPubSubService,this.sharedService,this.sortService,this.treeDataService),this.gridService=(o==null?void 0:o.gridService)??new cu(this.gridStateService,this.filterService,this._eventPubSubService,this.paginationService,this.sharedService,this.sortService,this.treeDataService),this.headerGroupingService=(o==null?void 0:o.headerGroupingService)??new mu(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}`);J(t)}dispose(e=!1){var t,i,s,n,o,l,a,h,d,c,u,p,m,f,g,_,C,b,S,y,T,I,O,x,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),(y=this._eventPubSubService)==null||y.unsubscribeAll(),(T=this.dataView)==null||T.setItems([]),typeof((I=this.dataView)==null?void 0:I.destroy)=="function"&&((O=this.dataView)==null||O.destroy()),(x=this.slickGrid)==null||x.destroy(!0),this.slickGrid=null,J(this._gridContainerElm),J(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(),(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,y,T,I,O,x;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 wl,this.sharedService.groupItemMetadataProvider=this.groupItemMetadataProvider,D={...D,groupItemMetadataProvider:this.groupItemMetadataProvider}),this.dataView=new pc(D,this._eventPubSubService),this._eventPubSubService.publish("onDataviewCreated",this.dataView)}this.preRegisterResources(),this._columnDefinitions=this.loadSlickGridEditors(this._columnDefinitions||[]),(u=this._gridOptions)!=null&&u.autoAddCustomEditorFormatter&&ca(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 Vc(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"&&((y=this.dataView)==null||y.syncGridSelection(this.slickGrid,D.preserveHidden,D.preserveHiddenOnSelectionChange))}(((T=this.dataView)==null?void 0:T.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),(I=this.gridOptions)!=null&&I.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=(x=this.extensionService)==null?void 0:x.extensionList,this._eventPubSubService.publish("onSlickerGridCreated",this.instances),this._isGridInitialized=!0,this.suggestDateParsingWhenHelpful()}hasBackendInfiniteScroll(){var e,t;return!!((t=(e=this.backendService)==null?void 0:e.options)!=null&&t.infiniteScroll)}mergeGridOptions(e){const t=de(!0,{},Dr,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;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",o=>{t.enableTranslate&&(this.extensionService.translateAllExtensions(o.language),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&this.headerGroupingService.translateHeaderGrouping())})),t.backendServiceApi){const o=t.backendServiceApi;(n=o==null?void 0:o.service)!=null&&n.init&&o.service.init(o.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 o,l;e.invalidate(),this.handleOnItemCountChanged(((o=this.dataView)==null?void 0:o.getFilteredItemCount())||0,((l=this.dataView)==null?void 0:l.getItemCount())??0)}),this._eventHandler.subscribe(i.onSetItemsCalled,(o,l)=>{var a,h;this.sharedService.isItemsDateParsed=!1,this.handleOnItemCountChanged(((a=this.dataView)==null?void 0:a.getFilteredItemCount())||0,l.itemCount),l.itemCount>0&&(this.gridOptions.autosizeColumnsByCellContentOnFirstLoad||this.gridOptions.enableAutoResizeColumnsByCellContent)&&this.resizerService.resizeColumnsByCellContent(!((h=this.gridOptions)!=null&&h.resizeByContentOnlyOnFirstLoad))}),t!=null&&t.enableFiltering&&!t.enableRowDetailView&&this._eventHandler.subscribe(i.onRowsChanged,(o,{calledOnRowCountChanged:l,rows:a})=>{if(!l&&Array.isArray(a)){const h=e.getRenderedRange();a.filter(d=>d>=h.top&&d<=h.bottom).forEach(d=>e.updateRow(d)),e.render()}}),this._eventHandler.subscribe(e.onColumnsReordered,(o,l)=>{this.sharedService.hasColumnsReordered=!0,this.sharedService.visibleColumns=l.impactedColumns}),this._eventHandler.subscribe(e.onSetOptions,(o,l)=>{l.optionsBefore.darkMode!==l.optionsAfter.darkMode&&this.setDarkMode(l.optionsAfter.darkMode)}),this.loadColumnPresetsWhenDatasetInitialized(),this.loadFilterPresetsWhenDatasetInitialized()),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=o=>{let l=null;return t.colspanCallback&&(l=t.colspanCallback(i.getItem(o))),l})}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&&ca(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)}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)}renderPagination(e=!0){var t,i;if(this.slickGrid&&((t=this._gridOptions)!=null&&t.enablePagination)&&!this._isPaginationInitialized&&e){const s=this.gridOptions.customPaginationComponent??Na;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 Vr,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!=null&&i.renderDomElement)&&(typeof i.destroy=="function"&&i.destroy(),i.disable(!1),i.renderDomElement(t))}}}const zm={GridBundle:dh,Aggregators:Mr,BindingService:Cs,Editors:Lr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:ne,SortComparers:ii,Utilities:Nr};typeof window<"u"&&(window.Slicker=zm);const io=document.createElement("div");io.appendChild(v("span",{className:"mdi mdi-alert text-color-warning"})),io.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:io},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:!1,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 ch extends dh{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,{},Dr,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 Vr,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(e=>e instanceof Hr)||(this.slickCompositeEditor=new Hr,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 uh={GridBundle:ch,Aggregators:Mr,BindingService:Cs,Editors:Lr,Enums:vn,Filters:Zs,Formatters:_e,GroupTotalFormatters:ne,SlickGlobalEditorLock:qi,SortComparers:ii,Utilities:Nr};typeof window<"u"&&(window.Slicker=uh),Fe.Aggregators=Mr,Fe.BindingService=Cs,Fe.Editors=Lr,Fe.Enums=vn,Fe.EventPubSubService=$o,Fe.Filters=Zs,Fe.Formatters=_e,Fe.GroupTotalFormatters=ne,Fe.SlickCompositeEditorComponent=Hr,Fe.SlickEmptyWarningComponent=Vr,Fe.SlickPaginationComponent=Na,Fe.Slicker=uh,Fe.SortComparers=ii,Fe.Utilities=Nr,Fe.VanillaForceGridBundle=ch,Object.defineProperty(Fe,Symbol.toStringTag,{value:"Module"})});