@slickgrid-universal/vanilla-force-bundle 5.3.3 → 5.3.4

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
1
  (function(ke,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(ke=typeof globalThis<"u"?globalThis:ke||self,oe(ke.Slicker={}))})(this,function(ke){"use strict";var oe;(function(r){r.local="local",r.remote="remote"})(oe||(oe={}));class Zr{constructor(e){this.rxjs=e}addRxJsResource(e){this.rxjs=e}executeBackendProcessesCallback(e,t,i,s){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}),i.postProcess(t))}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)}}}const dh=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:Zr},Symbol.toStringTag,{value:"Module"}));function Pi(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 ls(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 ch=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:Pi,propertyObserver:ls},Symbol.toStringTag,{value:"Module"})),uh=r=>r;function ph(r,e,t=uh,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 fn;(function(r){r[r.camelCase=0]="camelCase",r[r.pascalCase=1]="pascalCase",r[r.snakeCase=2]="snakeCase",r[r.kebabCase=3]="kebabCase"})(fn||(fn={}));var wt;(function(r){r.colon=":",r.comma=",",r.equalSign="=",r.pipe="|",r.semicolon=";",r.space=" ",r.tab=" ",r.doubleColon="::",r.doublePipe="||",r.doubleSemicolon=";;"})(wt||(wt={}));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 S={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 hi;(function(r){r.merge="merge",r.chain="chain"})(hi||(hi={}));var ze;(function(r){r.columns="columns",r.filter="filter",r.pagination="pagination",r.pinning="pinning",r.rowSelection="rowSelection",r.sorter="sorter",r.treeData="treeData"})(ze||(ze={}));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 dt;(function(r){r.asc="asc",r.ASC="ASC",r.desc="desc",r.DESC="DESC"})(dt||(dt={}));var ae;(function(r){r[r.asc=1]="asc",r[r.desc=-1]="desc",r[r.neutral=0]="neutral"})(ae||(ae={}));var Tt;(function(r){r.toggleCollapse="toggle-collapse",r.fullExpand="full-expand",r.fullCollapse="full-collapse",r.toggleExpand="toggle-expand"})(Tt||(Tt={}));const gn=Object.freeze(Object.defineProperty({__proto__:null,get CaseType(){return fn},get DelimiterType(){return wt},get EmitterType(){return oe},get ExtensionName(){return G},FieldType:S,get FileType(){return ve},get FilterMultiplePassType(){return hi},get GridStateType(){return ze},get OperatorType(){return H},get SortDirection(){return dt},get SortDirectionNumber(){return ae},get ToggleStateChangeType(){return Tt}},Symbol.toStringTag,{value:"Module"}));class ki extends Error{constructor(e){super(e),Object.setPrototypeOf(this,ki.prototype)}}function Jr(r){let e=!1;return r instanceof Promise?{promise:r.then(t=>{if(e)throw new ki("Cancelled Promise");return t}),cancel:()=>e=!0}:r}function eo(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 as(r,e,t=0){const i=(e==null?void 0:e.childrenPropName)??R.treeDataProperties.CHILDREN_PROP;Array.isArray(r)&&r.forEach(s=>{s&&(Array.isArray(s[i])&&s[i].length>0&&(t++,as(s[i],e,t),t--),s[e.levelPropName]=t)})}function Fi(r,e,t=0,i=null){const s=(e==null?void 0:e.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,{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++,Fi(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 to(r,e){const t=(e==null?void 0:e.identifierPropName)??"id",i=(e==null?void 0:e.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,s=(e==null?void 0:e.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,n=(e==null?void 0:e.parentPropName)??R.treeDataProperties.PARENT_PROP,o=(e==null?void 0:e.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;return e!=null&&e.shouldAddTreeLevelNumber&&(e!=null&&e.aggregators?e.aggregators.forEach(a=>{Fi(r,{childrenPropName:i,levelPropName:o,aggregator:a})}):as(r,{childrenPropName:i,levelPropName:o})),ph(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...so(a,i)}))}function io(r,e){const t=(e==null?void 0:e.identifierPropName)??"id",i=(e==null?void 0:e.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,s=(e==null?void 0:e.parentPropName)??R.treeDataProperties.PARENT_PROP,n=(e==null?void 0:e.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP,o=(e==null?void 0:e.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,l=r||[],a=[],h={};return l.forEach(d=>h[d[t]]=d),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)}}),e!=null&&e.aggregators?e.aggregators.forEach(d=>{Fi(a,{childrenPropName:i,levelPropName:n,aggregator:d},0)}):as(a,{childrenPropName:i,levelPropName:n},0),a}function Di(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])}),Di(n,e,t)}}function Lt(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?Ot(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}${Lt(h,e,t,o,l)}${n})`;const d=Ot(`${h}`,l);return`(${s}${d}${n})`}else{if(!isNaN(e)||!isNaN(t))return`-${s}${Lt(h,e,t,o,l)}${n}`;const d=Ot(`${h}`,l);return`-${s}${d}${n}`}}else{if(!isNaN(e)||!isNaN(t))return`${s}${Lt(r,e,t,o,l)}${n}`;const h=Ot(`${r}`,l);return`${s}${h}${n}`}}function Mi(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 ot(r){return r&&r.translationNamespace?r.translationNamespace+(r.translationNamespaceSeparator||""):""}function Ni(r){return r.outputType||r.type||S.string}function _n(r){switch(r){case S.date:case S.dateTime:case S.dateIso:case S.dateTimeIso:case S.dateTimeShortIso:case S.dateTimeIsoAmPm:case S.dateTimeIsoAM_PM:case S.dateEuro:case S.dateEuroShort:case S.dateTimeEuro:case S.dateTimeShortEuro:case S.dateTimeEuroAmPm:case S.dateTimeEuroAM_PM:case S.dateTimeEuroShort:case S.dateTimeEuroShortAmPm:case S.dateTimeEuroShortAM_PM:case S.dateUs:case S.dateUsShort:case S.dateTimeUs:case S.dateTimeShortUs:case S.dateTimeUsAmPm:case S.dateTimeUsAM_PM:case S.dateTimeUsShort:case S.dateTimeUsShortAmPm:case S.dateTimeUsShortAM_PM:case S.dateUtc:return!0;default:return!1}}function mh(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 di(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 Cn(r){let e;if(_n(r))e=H.equal;else switch(r){case S.unknown:case S.string:case S.text:case S.password:case S.readonly:e=H.contains;break;case S.float:case S.number:default:e=H.equal;break}return e}function so(r,e){return Object.keys(r).reduce((t,i)=>(i!==e&&(t[i]=r[i]),t),{})}function Ot(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 xt(r,e,t={}){return Array.isArray(r)?r.find(e)||t:r}function hs(r){if(Array.isArray(r))for(;r.length>0;){const e=r.pop();e!=null&&e.unsubscribe&&e.unsubscribe()}return r}const fh=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:ki,addTreeLevelAndAggregatorsByMutation:Fi,addTreeLevelByMutation:as,cancellablePromise:Jr,castObservableToPromise:eo,decimalFormatted:Lt,findItemInTreeStructure:Di,findOrDefault:xt,flattenToParentChildArray:to,formatNumber:Ie,getCellValueFromQueryFieldGetter:Mi,getColumnFieldType:Ni,getDescendantProperty:Ee,getTranslationPrefix:ot,isColumnDateType:_n,mapOperatorByFieldType:Cn,mapOperatorToShorthandDesignation:di,mapOperatorType:mh,objectWithoutKey:so,thousandSeparatorFormatted:Ot,unflattenParentChildArrayToTree:io,unsubscribeAll:hs},Symbol.toStringTag,{value:"Module"})),gh=(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},_h=(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 Li(r){let e=0,t=0,i=0,s=0;const n=window.innerHeight??0,o=window.innerWidth??0,l=bn(),a=l.top,h=l.left,d=me(r);if(d){const c=d.top??0,u=d.left??0;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 vn(r){typeof r=="object"&&Object.keys(r).forEach(e=>{Array.isArray(r[e])&&vn(r[e]),r[e]instanceof HTMLElement&&(r[e]=null)})}function J(r){for(;r!=null&&r.firstChild;)r.removeChild(r.firstChild);return r}function gt(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 no(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 me(r){if(!r||!r.getBoundingClientRect)return;const e=r.getBoundingClientRect(),t=document.documentElement;let i=0,s=0,n=0,o=0;return(e==null?void 0:e.top)!==void 0&&e.left!==void 0&&(i=e.top+window.pageYOffset-t.clientTop,s=e.left+window.pageXOffset-t.clientLeft,o=e.right,n=e.bottom),{top:i,left:s,bottom:n,right:o}}function ds(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(ro(r,`padding-${n}`)||"")||0;t-=o}}return t}function ro(r,e){return r?window.getComputedStyle(r).getPropertyValue(e):null}function Hi(r,e){if(r)for(const t of e){const i=r.getAttribute(t);if(i)return i}return null}function It(r,e="auto"){return(/^[0-9]+$/i.test(`${r}`)?`${+r}px`:r)||e}function oo(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function lo(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function ao(r,e){const t=r.length;let i=oo(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function ho(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function bn(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}const cs=Object.prototype.hasOwnProperty,co=Object.prototype.toString,uo=Object.defineProperty,po=Object.getOwnPropertyDescriptor,mo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):co.call(e)==="[object Array]"},fo=function(e){if(!e||co.call(e)!=="[object Object]")return!1;const t=cs.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&cs.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;let s;for(s in e);return typeof s>"u"||cs.call(e,s)},go=function(e,t){uo&&t.name==="__proto__"?uo(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},_o=function(e,t){if(t==="__proto__")if(cs.call(e,t)){if(po)return po(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=_o(l,t),s=_o(e,t),l!==s&&(d&&s&&(fo(s)||(n=mo(s)))?(n?(n=!1,o=i&&mo(i)?i:[]):o=i&&fo(i)?i:{},go(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&go(l,{name:t,newValue:s}));return l}function Ch(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 Vi(r,e=" "){let t="";for(let i=0;i<r;i++)t+=e;return t}function Sn(r,e){return r.filter((t,i)=>e!==i)}function vh(r){if(!Array.isArray(r)&&!Ht(r))return r;const e=Array.isArray(r)?[]:{};return de(!0,e,r)}function Kt(r,...e){if(!e.length)return r;const t=e.shift();return r=!Ht(r)&&Ht(t)?{}:r,Ht(r)&&Ht(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]=Kt(r[i],t[i]):r[i]=t[i])}),Kt(r,...e)}function Co(r){return Ht(r)&&Object.keys(r).forEach(e=>{r.hasOwnProperty(e)&&delete r[e]}),r=null,r={},r}function yn(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 En(r){return r==null?!0:Object.entries(r).length===0}function ie(r){return r!=null&&r!==""}function Qt(r){return r!==null&&!isNaN(r)&&r!==""}function Ht(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)}function Bi(r){return typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r===null||r===void 0}function Zt(r){return r instanceof HTMLElement||r instanceof DocumentFragment||Bi(r)}function U(r,e=!1){return e?r==null||typeof r=="string"?!1:!isNaN(r):r==null||r===""?!1:!isNaN(+r)}function vo(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function us(r){return/(true|1)/i.test(r+"")}function ci(r,e=!1){const t=typeof r.normalize=="function"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):r;return e?t.toLowerCase():t}function $e(r,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length>1){const i=e.shift();r&&i!==void 0&&$e(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 Jt(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 wn(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 ui(r){return typeof r=="string"?wn(r).replace(/([A-Z])|([-_])/g,"-$1").toLowerCase():r}function _t(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 bh(r){return typeof r=="string"?wn(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function bo(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function Sh(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 zi=Symbol("plaintext"),So=Symbol("html"),yo=Symbol("comment"),yh=/<(\w*)>/g,Eh=/<\/?([^\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:zi,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,b=a.length;_<b;_++){const C=a[_];if(u===zi)switch(C){case"<":u=So,p+=C;break;default:g+=C;break}else if(u===So)switch(C){case"<":if(f)break;m++;break;case">":if(f)break;if(m){m--;break}f="",u=zi,p+=">",d.has(l(p))?g+=p:g+=c,p="";break;case'"':case"'":C===f?f="":f=f||C,p+=C;break;case"-":p==="<!-"&&(u=yo),p+=C;break;case" ":case`
2
- `:if(p==="<"){u=zi,g+="< ",p="";break}p+=C;break;default:p+=C;break}else if(u===yo)switch(C){case">":p.slice(-2)==="--"&&(u=zi),p="";break;default:p+=C;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=yh.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Eh.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const wh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:Ch,addWhiteSpaces:Vi,arrayRemoveItemByIndex:Sn,calculateAvailableSpace:Li,classNameToList:he,createDomElement:v,deepCopy:vh,deepMerge:Kt,destroyAllElementProps:vn,emptyElement:J,emptyObject:Co,extend:de,findFirstAttribute:Hi,findWidthOrDefault:It,getFunctionDetails:yn,getHtmlStringOutput:gt,getInnerSize:ds,getOffset:me,getOffsetRelativeToParent:no,getStyleProp:ro,htmlEncode:oo,htmlEncodeWithPadding:ao,htmlEntityDecode:lo,insertAfterElement:ho,isDefined:ie,isDefinedNumber:Qt,isEmptyObject:En,isNumber:U,isObject:Ht,isObjectEmpty:vo,isPrimitiveOrHTML:Zt,isPrimitiveValue:Bi,parseBoolean:us,removeAccentFromText:ci,setDeepValue:$e,stripTags:we,titleCase:Jt,toCamelCase:wn,toKebabCase:ui,toSentenceCase:_t,toSnakeCase:bh,uniqueArray:bo,uniqueObjectArray:Sh,windowScrollPosition:bn},Symbol.toStringTag,{value:"Module"})),Th=(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=ci(r,!1),e=ci(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Eo=(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 wo=/^([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 Oh(r){const e=r.match(wo);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 xh(r){const e=r.match(wo);return e&&typeof e[4]>"u"?r+="T00:00:00":r}function Vt(r){if(r||(r=new Date),r instanceof Date){const e=new Date(r);return e.setMilliseconds(0),e}if(r=r.trim(),Oh(r))return new Date(xh(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ih(r){const e=Vt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function Rh(r){return Ih(r).getDate()}var Tn="1999-03-04T02:05:01.000Z",On=new Map,xn=[["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"}]],In=[["HH",{hour:"2-digit"}],["H",{hour:"numeric"}]],Rn=[["hh",{hour:"2-digit"}],["h",{hour:"numeric"}],["a",{dayPeriod:"narrow"}],["A",{dayPeriod:"narrow"}]],ps={DD:2,HH:2,MM:2,YY:2,YYYY:4,hh:2,mm:2,ss:2};function To(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var Ah=["MMMM","MMM","dddd","ddd"],Te=new Map([...xn,...In,...Rn].map(r=>[r[0],r])),Oo=new Map,xo=["full","long","medium","short"],Bt=r=>String(r).padStart(2,"0"),An=r=>String(r).padStart(2,"0");function Rt(r){return r.type==="literal"&&(r.value=r.value.normalize("NFKC")),r}function Ph(r,e,t,i=!1,s=null){const n=kh(r,e,t,i),o=Vt(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=pi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Io(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function kh(r,e,t,i=!1){const s=Vt(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&&Ah.includes(m.token)&&a.push(m),Object.assign(p,m.option)),{timeZone:"UTC"})).formatToParts(s).map(Rt)),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(Rt);break;case"MMM":m=new Intl.DateTimeFormat(u,{dateStyle:"medium",timeZone:"UTC"}).formatToParts(s).map(Rt);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 Io(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 Fh(r,e){Ro(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 Ro(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 Dh(r){return xn.concat(In).concat(Rn).sort((e,t)=>e[0].length>t[0].length?1:-1).reduce((e,t)=>e.replace(t[0],`\\${t[0]}`),r)}function Mh(r){return["numeric","2-digit"].includes(r.partValue)}function Nh(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 ps)&&!(t.token in ps)&&!(Mh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Lh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function pi(r,e){const t=Oo.get(e);if(t&&t[r])return t[r];const i=new Date(Tn);i.setUTCHours(r==="am"?5:20);const n=new Intl.DateTimeFormat(e,{timeStyle:"full",timeZone:"UTC",hour12:!0}).formatToParts(i).map(Rt).find(o=>o.type==="dayPeriod");if(n){const o=t||{};return Oo.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function Hh(r,e="+00:00"){const t=Vt(r),i=(()=>{switch(To(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Fh(e,i);return new Date(t.getTime()+s*1e3*60)}function Ao(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Po(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(Rt),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 Pn(r,e="UTC",t="device",i="Z"){var s;t=t==="device"?(s=Ao())!=null?s:"utc":t;const n=Vt(r),o=Po(n,e),l=Po(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Io(a,i)}function ko(r){const e=Vt(r);return e.setHours(0,0,0),e}function kn(r,e){if(xo.includes(r)||typeof r=="object")return Vh(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=xn.filter(s).concat(In.filter(s)).map(o.bind(null,!1)),a=n(l.concat(Rn.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 Vh(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(Tn)).map(Rt),o=i.formatToParts(new Date("1999-04-05T23:05:01.000Z")).map(Rt).find(a=>a.type==="hour"),l=o&&o.value==="23"?24:12;return s.map(a=>{const h=a.type,d=Bh(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 Bh(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=Fo(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=Fo(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 Fo(r,e,t){if(!On.has(r)){const s=new Date(Tn),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(Rt);if(d==="long"||d==="short"){const p=new Intl.DateTimeFormat(r,{dateStyle:d==="short"?"medium":"long",timeZone:"UTC"}).formatToParts(s).map(Rt).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})})}}On.set(r,a)}const i=On.get(r);return i?i[e][t]:void 0}function Do(r,e="+00:00"){const t=e.slice(0,1)==="+";return Hh(r,e.replace(t?"+":"-",t?"-":"+"))}function zh(){return Intl.DateTimeFormat().resolvedOptions().locale}function Qe(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"?Vt(r).toISOString():(n&&(o=Pn(r,"utc",n,Lh(e))),n??(n=Ao()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Do(r,Pn(r,n,"utc"))),(!t||t==="device")&&(t=zh()),Ph(r,kn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function $h(r,e="en",t=!1,i=()=>!0){return kn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Dh(n.token):n.token,"").normalize("NFKC")}function Wh(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 Mo(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 Mo("MM").map(s=>Qe(`2000-${s}-05`,r,e,t));if(r.startsWith("d"))return i(7,s=>`0${s+2}`).map(s=>Qe(`2022-10-${s}`,r,e));if(r==="a")return[pi("am",e).toLowerCase(),pi("pm",e).toLowerCase()];if(r==="A")return[pi("am",e).toUpperCase(),pi("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(Qe(`${s+Number(o)}-06-06`,r,e)),n.unshift(Qe(`${s-Number(o)}-06-06`,r,e)),n),[Qe(`${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 ms(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 (${$h(e,t)})`)};if(e==="ISO8601")return Vt(s);const l=xo.includes(e)||typeof e=="object",a=Nh(kn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=Gh(s,a)}catch{return o()}const d=new Date,c=new Map([["YYYY",d.getFullYear()],["MM",d.getMonth()+1],["DD",d.getDate()],["HH",0],["mm",0],["ss",0]]);let u=null,p="";h.forEach(O=>{if(O.partName==="literal")return;if(O.token===O.value)return o();const I=Number(O.value);if(c.has(O.token))c.set(O.token,I);else if(O.token==="YY")c.set("YYYY",Wh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",I);else if(A==="H"||A.startsWith("h"))c.set("HH",I);else if(A==="M")c.set("MM",I);else if(A==="a"||A==="A")u=O.value.toLowerCase()===pi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Ro(O.value,A);else{const L=Mo(A,t,l).indexOf(O.value);if(L!==-1)switch(A){case"MMM":case"MMMM":c.set("MM",L+1);break}}}});let m=c.get("HH")||0;u===!1?(m+=m===12?0:12,c.set("HH",m===24?0:m)):u===!0&&m===12&&c.set("HH",0),c.set("MM",(c.get("MM")||1)-1);let[f,g,_,b,C,E]=Array.from(c.values());const y=Rh(new Date(`${An(f)}-${Bt(g+1)}-10`));if(y<_&&n==="throw")throw new Error(`Invalid date ${An(f)}-${Bt(g+1)}-${Bt(_)}`);_=n==="backward"?Math.min(_,y):_;const T=`${An(f)}-${Bt(g+1)}-${Bt(_)}T${Bt(b)}:${Bt(C)}:${Bt(E)}${p}`,x=new Date(T);return isFinite(+x)?x:o()}function Gh(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=To(r.substring(s));else if(l.token in ps)h=ps[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 Ze(r,e=!1){let t;switch(r){case S.dateTime:case S.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case S.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case S.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case S.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case S.dateEuro:t="DD/MM/YYYY";break;case S.dateEuroShort:t=e?"DD/MM/YY":"D/M/YY";break;case S.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case S.dateTimeShortEuro:t=e?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case S.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case S.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case S.dateTimeEuroShort:t=e?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case S.dateTimeEuroShortAmPm:t=e?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case S.dateTimeEuroShortAM_PM:t=e?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case S.dateUs:t="MM/DD/YYYY";break;case S.dateUsShort:t=e?"MM/DD/YY":"M/D/YY";break;case S.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case S.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case S.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case S.dateTimeUsShort:t=e?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case S.dateTimeUsShortAmPm:t=e?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case S.dateTimeUsShortAM_PM:t=e?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case S.dateTimeShortUs:t=e?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case S.dateUtc:t="ISO8601";break;case S.date:case S.dateIso:default:t="YYYY-MM-DD";break}return t}function Ct(r,e,t){const i=e?Ze(e):void 0,s=Ze(t),n=r instanceof Date?r:At(r,i);return n&&r!==void 0?t===S.dateUtc?n.toISOString():Qe(n,s,"en-US"):""}function At(r,e,t=!1){try{return r?r instanceof Date?r:ms({date:r,format:e,dateOverflow:t?"throw":"backward",locale:"en-US"}):!1}catch{return!1}}function Uh(r){return Do(r,Pn(r,"utc"))}function No(r,e,t,i,s){let n=0;if(r===e)n=0;else{let o=At(r,i,s),l=At(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===S.date?void 0:Ze(r);return(t,i,s)=>e===void 0?No(t,i,s,e,!1):No(t,i,s,e,!0)}const ei={boolean:gh,date:ue(S.date),dateIso:ue(S.dateIso),dateUtc:ue(S.dateUtc),dateTime:ue(S.dateTime),dateTimeIso:ue(S.dateTimeIso),dateTimeIsoAmPm:ue(S.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(S.dateTimeIsoAM_PM),dateTimeShortIso:ue(S.dateTimeShortIso),dateEuro:ue(S.dateEuro),dateEuroShort:ue(S.dateEuroShort),dateTimeShortEuro:ue(S.dateTimeShortEuro),dateTimeEuro:ue(S.dateTimeEuro),dateTimeEuroAmPm:ue(S.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(S.dateTimeEuroAM_PM),dateTimeEuroShort:ue(S.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(S.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(S.dateTimeEuroShortAM_PM),dateUs:ue(S.dateUs),dateUsShort:ue(S.dateUsShort),dateTimeShortUs:ue(S.dateTimeShortUs),dateTimeUs:ue(S.dateTimeUs),dateTimeUsAmPm:ue(S.dateTimeUsAmPm),dateTimeUsAM_PM:ue(S.dateTimeUsAM_PM),dateTimeUsShort:ue(S.dateTimeUsShort),dateTimeUsShortAmPm:ue(S.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(S.dateTimeUsShortAM_PM),numeric:Eo,objectString:_h,string:Th};function mi(r,e,t,i,s,n){let o=0;switch(r){case S.boolean:o=ei.boolean(e,t,i,s,n);break;case S.float:case S.integer:case S.number:o=ei.numeric(e,t,i,s,n);break;case S.date:case S.dateIso:case S.dateUtc:case S.dateTime:case S.dateTimeIso:case S.dateTimeIsoAmPm:case S.dateTimeIsoAM_PM:case S.dateTimeShortIso:case S.dateEuro:case S.dateEuroShort:case S.dateTimeShortEuro:case S.dateTimeEuro:case S.dateTimeEuroAmPm:case S.dateTimeEuroAM_PM:case S.dateTimeEuroShort:case S.dateTimeEuroShortAmPm:case S.dateTimeEuroShortAM_PM:case S.dateUs:case S.dateUsShort:case S.dateTimeShortUs:case S.dateTimeUs:case S.dateTimeUsAmPm:case S.dateTimeUsAM_PM:case S.dateTimeUsShort:case S.dateTimeUsShortAmPm:case S.dateTimeUsShortAM_PM:o=ue(r).call(this,e,t,i,s,n);break;case S.object:o=ei.objectString(e,t,i,s,n);break;case S.string:case S.text:case S.password:case S.readonly:default:o=ei.string(e,t,i,s,n);break}return o}const jh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:mi},Symbol.toStringTag,{value:"Module"}));var ct;(function(r){r.camelCase="camelCase",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(ct||(ct={}));class Lo{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=ct.camelCase,this._elementSource=e||document.createElement("div")}dispose(){var e;this.unsubscribeAll(),this._subscribedEvents=[],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 ct.camelCase:i=t!==""?`${t}${Jt(e)}`:e;break;case ct.kebabCase:i=t!==""?`${t}-${ui(e)}`:ui(e);break;case ct.lowerCase:i=`${t}${e}`.toLowerCase();break;case ct.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=>{clearTimeout(this._timer),this._timer=setTimeout(()=>o(this.dispatchCustomEvent(n,t,!0,!0,s)),i)}):this.dispatchCustomEvent(n,t,!0,!0,s)}subscribe(e,t){const i=this.getEventNameByNamingConvention(e,"");return this._elementSource.addEventListener(i,s=>t.call(null,s.detail)),this._subscribedEvents.push({name:i,listener:t}),{unsubscribe:()=>this.unsubscribe(i,t)}}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 fs(r){var e=document,t=r.container||e.createElement("div"),i=r.preventSubmit||0;t.id=t.id||"autocomplete-"+b();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="autocomplete "+(r.className||""),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 b(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function C(){var M=t.parentNode;M&&M.removeChild(t)}function E(){m&&window.clearTimeout(m)}function y(){t.parentNode||(l||e.body).appendChild(t)}function T(){return!!t.parentNode}function x(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),C()}function O(){if(!T())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var M=0,te;function Ne(){var Ue=e.documentElement,nt=Ue.clientTop||e.body.clientTop||0,rt=Ue.clientLeft||e.body.clientLeft||0,Ai=window.pageYOffset||Ue.scrollTop,Nt=window.pageXOffset||Ue.scrollLeft;te=_.getBoundingClientRect();var Ke=te.top+_.offsetHeight+Ai-nt,os=te.left+Nt-rt;s.top=Ke+"px",s.left=os+"px",M=window.innerHeight-(te.top+_.offsetHeight),M<0&&(M=0),s.top=Ke+"px",s.bottom="",s.left=os+"px",s.maxHeight=M+"px"}Ne(),Ne(),r.customize&&te&&r.customize(_,te,t,M)}function I(){t.textContent="",_.setAttribute("aria-activedescendant","");var M=function(rt,Ai,Nt){var Ke=e.createElement("div");return Ke.textContent=rt.label||"",Ke};r.render&&(M=r.render);var te=function(rt,Ai){var Nt=e.createElement("div");return Nt.textContent=rt,Nt};r.renderGroup&&(te=r.renderGroup);var Ne=e.createDocumentFragment(),Ue=b();if(a.forEach(function(rt,Ai){if(rt.group&&rt.group!==Ue){Ue=rt.group;var Nt=te(rt.group,h);Nt&&(Nt.className+=" group",Ne.appendChild(Nt))}var Ke=M(rt,h,Ai);Ke&&(Ke.id=t.id+"_"+Ai,Ke.setAttribute("role","option"),Ke.addEventListener("click",function(os){g=!0;try{r.onSelect(rt,_)}finally{g=!1}x(),os.preventDefault(),os.stopPropagation()}),rt===u&&(Ke.className+=" selected",Ke.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",Ke.id)),Ne.appendChild(Ke))}),t.appendChild(Ne),a.length<1)if(r.emptyMsg){var nt=e.createElement("div");nt.id=t.id+"_"+b(),nt.className="empty",nt.textContent=r.emptyMsg,t.appendChild(nt),_.setAttribute("aria-activedescendant",nt.id)}else{x();return}y(),O(),W()}function A(){T()&&I()}function k(){A()}function L(M){M.target!==t?A():M.preventDefault()}function N(){g||Me(0)}function W(){var M=t.getElementsByClassName("selected");if(M.length>0){var te=M[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 Ue=te.offsetTop+te.offsetHeight,nt=t.scrollTop+t.offsetHeight;Ue>nt&&(t.scrollTop+=Ue-nt)}}}function X(){var M=a.indexOf(u);u=M===-1?void 0:a[(M+a.length-1)%a.length],q(M)}function Z(){var M=a.indexOf(u);u=a.length<1?void 0:M===-1?a[0]:a[(M+1)%a.length],q(M)}function q(M){a.length>0&&(Be(M),ee(a.indexOf(u)),W())}function ee(M){var te=e.getElementById(t.id+"_"+M);te&&(te.classList.add("selected"),te.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",te.id))}function Be(M){var te=e.getElementById(t.id+"_"+M);te&&(te.classList.remove("selected"),te.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function st(M,te){var Ne=T();if(te==="Escape")x();else{if(!Ne||a.length<1)return;te==="ArrowUp"?X():Z()}M.preventDefault(),Ne&&M.stopPropagation()}function ge(M){if(u){i===2&&M.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}x()}i===1&&M.preventDefault()}function xe(M){var te=M.key;switch(te){case"ArrowUp":case"ArrowDown":case"Escape":st(M,te);break;case"Enter":ge(M);break}}function Ye(){c&&Me(1)}function Me(M){_.value.length>=d||M===1?(E(),m=window.setTimeout(function(){return Pe(_.value,M,_.selectionStart||0)},M===0||M===2?n:0)):x()}function Pe(M,te,Ne){if(!f){var Ue=++p;r.fetch(M,function(nt){p===Ue&&nt&&(a=nt,h=M,u=a.length<1||o?void 0:a[0],I())},te,Ne)}}function K(M){if(r.keyup){r.keyup({event:M,fetch:function(){return Me(0)}});return}!T()&&M.key==="ArrowDown"&&Me(0)}function ce(M){r.click&&r.click({event:M,fetch:function(){return Me(2)}})}function ht(){setTimeout(function(){e.activeElement!==_&&x()},200)}function li(){Pe(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(M){M.stopPropagation(),M.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),C();function Mt(){_.removeEventListener("focus",Ye),_.removeEventListener("keyup",K),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",N),_.removeEventListener("blur",ht),window.removeEventListener("resize",k),e.removeEventListener("scroll",L,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),E(),x(),f=!0}return _.addEventListener("keyup",K),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",N),_.addEventListener("blur",ht),_.addEventListener("focus",Ye),window.addEventListener("resize",k),e.addEventListener("scroll",L,!0),{destroy:Mt,fetch:li}}class gs{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 Ho{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 gs({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 Ae{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 Vo=Object.prototype.hasOwnProperty;function ut(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--&&ut(r[i],e[i]););return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(Vo.call(r,t)&&++i&&!Vo.call(e,t)||!(t in e)||!ut(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}function Bo(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 $i(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||S.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Ze(S.dateIso),g=c?Ze(c):void 0;for(const b of p){const C=b instanceof Date?b:At(b,g);C&&m.push(C)}const _=l??{dates:[m.map(b=>Qe(b,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")?Qe(m[0],"HH:mm"):void 0};ut(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(b=>Ct(b,void 0,u)).join(" — "):""}}function Fn(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,`${ao(i.operatorAlt||i.operator,3)}${i.descAlt||i.desc}`),t.appendChild(s)}return t}function Yh(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 zo(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 eo(i,r));const h=await r;if(Array.isArray(h)?l=h:(h==null?void 0:h.status)>=200&&h.status<300&&typeof h.json=="function"?l=await h.json():h&&h.content&&(l=h.content),!Array.isArray(l)&&(o!=null&&o.collectionInsideObjectProperty)){const d=l||h,c=o.collectionInsideObjectProperty;l=Ee(d,c||"")}if(!Array.isArray(l))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');n.collection=l,t(l),a&&Xh(e,t,i,s)}return l}function Xh(r,e,t,i){const s=(r==null?void 0:r.filter)??{},n=t==null?void 0:t.createSubject();s.collectionAsync=n,i&&n&&i.push(n.subscribe(o=>Yh(o,r,e)))}function lt(r,e,t,i,s){if(i!=null&&i.enableTranslate&&(s!=null&&s.translate)){const o=ot(i);return s.translate(`${o}${r}`)}const n=i.locales||R.locales;return(n==null?void 0:n[e])??t}function qh(r,e){return[{operator:"",desc:lt("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:lt("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:lt("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:lt("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:lt("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:lt("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Dn(r,e){return[{operator:"",desc:""},{operator:"=",desc:lt("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:lt("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:lt("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:lt("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:lt("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:lt("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)}]}function Mn(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 Kh{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 Ae}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===S.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=zo(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(),hs(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&&(Pi(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])}),ls(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&Pi(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)??`${_t(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(b=>Bi(b))?e=e.map(b=>({label:b,value:b})):e=e.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._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:(b,C,E)=>{E.style.width=""},onSelect:b=>{this.isItemSelected=!0,this.handleSelect(b)},...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-${ui(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?(Bo(this._filterElm,this._autocompleterOptions),this._instance=fs(this._autocompleterOptions)):this._instance=fs({...this._autocompleterOptions,fetch:(b,C)=>{e&&C(e.filter(E=>((typeof E=="string"?E:E==null?void 0:E.label)||"").toLowerCase().includes(b.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-picker | url: https://github.com/uvarov-frontend/vanilla-calendar-picker */var Qh=Object.defineProperty,$o=Object.getOwnPropertySymbols,Zh=Object.prototype.hasOwnProperty,Jh=Object.prototype.propertyIsEnumerable,Nn=(r,e,t)=>e in r?Qh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Wo=(r,e)=>{for(var t in e||(e={}))Zh.call(e,t)&&Nn(r,t,e[t]);if($o)for(var t of $o(e))Jh.call(e,t)&&Nn(r,t,e[t]);return r},Y=(r,e,t)=>(Nn(r,typeof e!="symbol"?e+"":e,t),t);const ed={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"},td=r=>`<div class="${r.header}"><#ArrowPrev /><div class="${r.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${r.wrapper}"><#WeekNumbers /><div class="${r.content}"><#Week /><#Days /></div></div><#ControlTime />`,id=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 />`,sd=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,nd=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 rd{constructor(){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,"toggleSelected",!0),Y(this,"jumpToSelectedDate",!1),Y(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),Y(this,"settings",{lang:"en",iso8601:!0,range:{min:this.date.min,max:this.date.max,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",e=>e),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",Wo({},ed)),Y(this,"DOMTemplates",{default:td(this.CSSClasses),multiple:id(this.CSSClasses),month:sd(this.CSSClasses),year:nd(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 vt=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,fe=r=>new Date(`${r}T00:00:00`),fi=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=fe(s),l=fe(n),a=new Date(o.getTime());for(;a<=l;a.setDate(a.getDate()+1))e.push(vt(a));return i});return e},[]),Go=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},Wi=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):"",gi={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."},od=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=fe(fi(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},ld=r=>{var e,t,i;r.settings.range.min==="today"&&(r.settings.range.min=Go()),r.settings.range.max==="today"&&(r.settings.range.max=Go()),r.settings.range.min=fe(r.date.min)>=fe(r.settings.range.min)?r.date.min:r.settings.range.min,r.settings.range.max=fe(r.date.max)<=fe(r.settings.range.max)?r.date.max:r.settings.range.max;const s=r.settings.range.disablePast&&!r.settings.range.disableAllDays&&fe(r.settings.range.min)<r.date.today;r.rangeMin=s||r.settings.range.disableAllDays?vt(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?vt(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?fi(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?fi(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])},ad=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?fi(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?fi(r.settings.selected.holidays):[]},hd=r=>{r.dateMin=r.settings.visibility.disabled?fe(r.date.min):fe(r.rangeMin),r.dateMax=r.settings.visibility.disabled?fe(r.date.max):fe(r.rangeMax)},dd=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=Wi(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(gi.incorrectTime)},cd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},Uo=r=>{r.currentType=r.type,od(r),ld(r),ad(r),hd(r),dd(r),cd(r)},jo=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},Ln=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=fe(vt(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();jo({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{jo({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]()},Yo=(r,e)=>{if(!r)return null;const t=fe(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}},ud=(r,e,t,i)=>{const s=t.querySelector(`[data-calendar-day="${r}"]`);s&&(e!=null&&e.modifier&&s.classList.add(...e.modifier.trim().split(" ")),e!=null&&e.html&&(s.parentElement.innerHTML+=`<div class="${i}">${e.html}</div>`))},pd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>ud(i,s,e,r.CSSClasses.dayPopup)))},md=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Yo(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)},fd=(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++)md(r,a,d===0?6:7*d,l,o)},gd=(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)))},_d=(r,e,t,i,s,n,o)=>{var l,a,h;if((fe(r.rangeMin)>fe(n)||fe(r.rangeMax)<fe(n)||(l=r.rangeDisabled)!=null&&l.includes(n)||!r.settings.selection.month&&o||!r.settings.selection.year&&fe(n).getFullYear()!==e)&&(i.classList.add(r.CSSClasses.dayBtnDisabled),i.tabIndex=-1),r.settings.visibility.today&&vt(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))}},Hn=(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=Yo(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),gd(r,n,s),_d(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Cd=(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=fe(h).getDay();Hn(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},vd=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=vt(o),a=o.getDay();Hn(r,i,e,n,a,l,!1,null)}},bd=(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=fe(c).getDay();Hn(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},_s=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="",Cd(r,s,a,l,c),vd(r,s,d,a,l),bd(r,s,d,a,l,c),fd(r,c,d,t[n],s),pd(r,s)})},Sd=(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]},yd=(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)},Cs=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)=>Sd(r,o,l,n)),s==null||s.forEach((o,l)=>yd(r,o,l,n))},Vn=(r,e)=>{const t=fe(vt(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()],Cs(r),Ln(r),_s(r)},Ed=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,wd=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,Td=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,Od=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,xd=r=>`<div class="${r.CSSClasses.week}"></div>`,Id=r=>`<div class="${r.CSSClasses.days}"></div>`,Rd=r=>`<div class="${r.CSSClasses.months}"></div>`,Ad=r=>`<div class="${r.CSSClasses.years}"></div>`,Pd=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",kd=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",Fd=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:wd,ArrowPrev:Ed,ControlTime:kd,Days:Id,Month:Td,Months:Rd,Week:xd,WeekNumbers:Pd,Year:Od,Years:Ad},Symbol.toStringTag,{value:"Module"})),Dd=r=>Fd[r],Gi=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=Dd(i.replace(/[/\s\n\t]/g,"")),n=s?s(r):"";return r.sanitizer(n)}).replace(/[\n\t]/g,""),Md=(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,""),Bn=(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=Gi(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Gi(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Md(r,Gi(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=Gi(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=Gi(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},Nd=(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},zn=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",Bn(r,e),Cs(r),Ln(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=Nd(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},Ld=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?Vn(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],zn(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},Hd=(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)},Xo=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),Vd=(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(Xo(t))},Bd=(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(Xo(t))},zd=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(gi.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)Vd(r,e);for(let e=0;e<12;e++)Bd(r,e)}},qo=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},$d=(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},Ko=(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",Bn(r,e),Cs(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()+qo(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+qo(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=$d(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},$n=(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]:"",vs=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),Qo=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},ti=(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)},Zo=(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 ti(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,ti(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=Wi(l.value),ti(r,o,Wi(l.value),s))})},Jo=(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=$n(h,r.selectedKeeping),ti(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=Wi(l.value),e.value=h,ti(r,o,Wi(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,ti(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Wd=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=$n(r.selectedHours,r.selectedKeeping),ti(r,i,r.selectedHours,"hours")})},Gd=(r,e,t)=>{const i=t===24?23:t||12,s=vs(e,r.CSSClasses.timeRange,"hours"),n=vs(e,r.CSSClasses.timeRange,"minutes"),o=vs(e,r.CSSClasses.timeHours,"hours"),l=vs(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);Qo(s,o,r.CSSClasses.isFocus),Qo(n,l,r.CSSClasses.isFocus),Zo(r,s,o,a,"hours",i),Zo(r,n,l,a,"minutes",0),Jo(r,s,o,a,"hours",i),Jo(r,n,l,a,"minutes",59),a&&Wd(r,a,s)},el=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,tl=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Ud=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}">${el("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${el("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}">${tl("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?$n(r.selectedHours,r.selectedKeeping):r.selectedHours)}${tl("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),Gd(r,e,t)},jd=(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)}},il=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>jd(r,t,e)))},sl=["light","dark","system"],bs={value:!1,set:()=>{bs.value=!0},check:()=>bs.value},nl=(r,e)=>sl.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),ii=(r,e)=>{r.dataset.calendarTheme=e},rl=(r,e)=>{var t;if(t=e,ii(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||bs.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>ii(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),bs.set()},Yd=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=nl(e,t);n&&ii(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Xd=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void rl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=nl(t,i);s?(ii(r.HTMLElement,s),Yd(r,t,i)):rl(r,e)},qd=r=>{if(!sl.includes(r.settings.visibility.theme))throw new Error(gi.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void ii(r.HTMLElement,"light");({light:()=>ii(r.HTMLElement,"light"),dark:()=>ii(r.HTMLElement,"dark"),system:()=>Xd(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},Ui=r=>{const e={default:()=>{il(r),_s(r)},multiple:()=>{il(r),_s(r)},month:()=>Ko(r),year:()=>zn(r)};qd(r),zd(r),Bn(r),Cs(r),Ln(r),Ud(r),e[r.currentType]()},Q={self:null,rangeMin:void 0,rangeMax:void 0},ol=()=>{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)})},Kd=(r,e,t)=>{var i,s,n;if(!((i=Q.self)!=null&&i.selectedDates))return;const o=vt(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)})},Wn=r=>{var e;if(!r.target||!((e=Q.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Q.self.CSSClasses.days}`))return void ol();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=fe(Q.self.selectedDates[0]),n=fe(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];ol();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))Kd(u,a,h)},Gn=r=>{Q.self&&r.key==="Escape"&&(Q.self.selectedDates=[],Q.self.HTMLElement.removeEventListener("mousemove",Wn),document.removeEventListener("keydown",Gn),Ui(Q.self))},Qd=()=>{var r,e,t;if(!((e=(r=Q.self)==null?void 0:r.selectedDates)!=null&&e[0])||!Q.self.rangeDisabled||((t=Q.self.rangeDisabled)==null?void 0:t.length)<2)return;const i=fe(Q.self.selectedDates[0]),[s,n]=Q.self.rangeDisabled.map(o=>fe(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Q.self.rangeMin=vt(new Date(s.setDate(s.getDate()+1)))),n&&(Q.self.rangeMax=vt(new Date(n.setDate(n.getDate()-1))))},Zd=()=>{Q.self&&(Q.self.rangeMin=Q.rangeMin,Q.self.rangeMax=Q.rangeMax)},ll=(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",Wn),document.addEventListener("keydown",Gn),r.settings.range.disableGaps&&Qd()},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]:fi([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",Wn),document.removeEventListener("keydown",Gn),r.settings.range.disableGaps&&Zd()}}[r.selectedDates.length===1?"set":"reset"]()},al=(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])},Jd=(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:()=>al(r,n,!1),multiple:()=>al(r,n,!0),"multiple-ranged":()=>ll(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:()=>Vn(r,"prev"),next:()=>Vn(r,"next"),default:()=>_s(r)})[o?"prev":l?"next":"default"]()},hl=(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},ec=(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=hl(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=hl(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,Ui(r)},dl=(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:()=>zn(r,s),month:()=>Ko(r,s)}[t]():l?ec(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,Ui(r))},cl=r=>{const e=t=>{Ld(r,t),Hd(r,t),Jd(r,t),dl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),dl(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)};function ul(r){if(!r||!r.getBoundingClientRect)return;const e=r.getBoundingClientRect(),t=document.documentElement;return{bottom:e.bottom,right:e.right,top:e.top+window.pageYOffset-t.clientTop,left:e.left+window.pageXOffset-t.clientLeft}}function tc(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}function pl(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function ic(r){var e,t;let i=0,s=0,n=0,o=0;const l=tc(),a=ul(r),{vh:h,vw:d}=pl(),c=l.top,u=l.left;if(a){const p=(e=a.top)!=null?e:0,m=(t=a.left)!=null?t:0;s=p-c,n=m-u,i=h-(p-c+r.clientHeight),o=d-(m-u+r.clientWidth)}return{top:s,bottom:i,left:n,right:o}}function sc(r,e,t=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(e&&r){const{bottom:n,top:o}=ic(r),{top:l,left:a}=ul(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=pl(),p={x:u/2,y:c/2};l<p.y&&s.push("top"),l>p.y&&s.push("bottom"),a<p.x&&s.push("left"),a>p.x&&s.push("right"),h>o-t&&(i.top=!1),h>n-t&&(i.bottom=!1),d>a&&(i.left=!1),u-a<d&&(i.right=!1)}return{canShow:i,parentPositions:s}}function nc(r,e){let t="left";if(e&&r){const{canShow:i,parentPositions:s}=sc(r,e);if(!i.left||!i.right)return Array.isArray(s)&&(s[0]=s[0]==="bottom"?"top":"bottom"),s;i.bottom?t="center":i.top&&(t=["top","center"])}return t}const Un=(r,e,t,i)=>{if(r){const s=t==="auto"?nc(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;e.classList.add(o==="bottom"?i.calendarToInputBottom:i.calendarToInputTop);const a=r.getBoundingClientRect(),h=window.scrollX||document.documentElement.scrollLeft,d=window.scrollY||document.documentElement.scrollTop,c=a.top+d+n[o],u=a.left+h+n[l];Object.assign(e.style,{left:`${u}px`,top:`${c}px`})}},ml=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=Wo({},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,Uo(r),Ui(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&ll(r)},fl=(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(()=>{Un(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),ml(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),cl(r)},rc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>Un(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),i=s=>{var n;r&&s.target!==r.HTMLInputElement&&!((n=r.HTMLElement)!=null&&n.contains(s.target))&&(r.HTMLInputElement&&r.HTMLElement&&r.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",i,{capture:!0}))};return r.HTMLInputElement.addEventListener("click",()=>{r.isInputInit?(Un(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(fl(r)),window.addEventListener("resize",t),document.addEventListener("click",i,{capture:!0})}),()=>{e.forEach(s=>s())}},oc=r=>(r.HTMLOriginalElement=r.HTMLElement.cloneNode(!0),r.isInit=!0,r.input?rc(r):(Uo(r),Ui(r),r.actions.initCalendar&&r.actions.initCalendar(r),cl(r))),lc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(gi.notInit);r.input&&!r.isInputInit&&fl(r,!1),ml(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},ac=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(gi.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)},hc=r=>{r.currentType?(r.HTMLElement.classList.remove(r.CSSClasses.calendarHidden),r.actions.showCalendar&&r.actions.showCalendar(r)):r.HTMLElement.click()},dc=r=>{r.currentType&&(r.HTMLElement.classList.add(r.CSSClasses.calendarHidden),r.actions.hideCalendar&&r.actions.hideCalendar(r))};function jn(r,...e){const t=s=>s&&typeof s=="object"&&!Array.isArray(s);if(!e.length)return r;const i=e.shift();return t(r)&&t(i)&&Object.keys(i).forEach(s=>{t(i[s])?(r[s]||Object.assign(r,{[s]:{}}),jn(r[s],i[s])):Object.assign(r,{[s]:i[s]})}),jn(r,...e)}function cc(r,e,t){r.settings=jn(r.settings,{[e]:t})}class gl extends rd{constructor(e,t){if(super(),Y(this,"init",()=>oc(this)),Y(this,"update",s=>lc(this,s)),Y(this,"destroy",()=>ac(this)),Y(this,"show",()=>hc(this)),Y(this,"hide",()=>dc(this)),Y(this,"changeSetting",(s,n)=>cc(this,s,n)),this.HTMLElement=typeof e=="string"?document.querySelector(e):e,!this.HTMLElement)throw new Error(gi.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 _l{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 Ae}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){if(this.calendarInstance&&(this._clearFilterTriggered=t,this._shouldTriggerQuery=e,this._currentValue="",this.searchTerms=[],this._currentDateStrings=[],this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.calendarInstance)){const i=new Date;$i(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,oldVal:this._currentDateOrDates,newVal:"",updatePickerUI:!0,selectedSettings:{dates:[],month:i.getMonth(),year:i.getFullYear()}})}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&&($i(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=di(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,_,b,C,E,y,T;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||S.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||S.dateUtc,n=Ze(s),o=this.columnFilter.type||this.columnDef.type||S.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Ze(this.hasTimePicker?S.dateTimeIsoAM_PM:S.dateIso),a=(((p=this.filterOptions)==null?void 0:p.locale)??((f=(m=this.translaterService)==null?void 0:m.getCurrentLanguage)==null?void 0:f.call(m)))||this.gridOptions.locale||"en";let h;this.inputFilterType==="compound"?e&&(h=e,this._currentDateOrDates=e):(typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?h=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(h=e),Array.isArray(h)&&(this._currentDateOrDates=h,this._currentDateStrings=h.map(x=>Ct(x,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:x=>this.grid.sanitizeHtmlString(x),toggleSelected:!1,actions:{clickDay:x=>{this._lastClickIsDate=!0},changeToInput:(x,O)=>{if(O.HTMLInputElement){let I=[],A="",k="";if(O.selectedDates[1]){O.selectedDates.sort((W,X)=>+new Date(W)-+new Date(X)),A=O.selectedDates[0],k=O.selectedDates[O.selectedDates.length-1];const L=Qe(O.selectedDates[0],n,"en-US"),N=Qe(k,n,"en-US");O.HTMLInputElement.value=`${L} — ${N}`,I=[A,k]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=Ct(A,S.dateIso,s),I=O.selectedDates):O.HTMLInputElement.value="";if(this.hasTimePicker&&A){const L=ms(A,l);L.setHours(+(O.selectedHours||0)),L.setMinutes(+(O.selectedMinutes||0)),O.HTMLInputElement.value=Ct(L,void 0,s),I=[L]}if(this.inputFilterType==="compound"?this._currentValue=Ct(I[0],void 0,i):Array.isArray(I)&&(this._currentDateStrings=I.map(L=>Ct(L,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=I.map(L=>L instanceof Date?L:ms(L,l)),this._currentValue){const L=this.hasTimePicker?new Event("keyup"):void 0;this.onTriggerEvent(L)}this.inputFilterType==="range"&&O.selectedDates.length<2&&(this._lastClickIsDate=!1),this._lastClickIsDate&&(O.hide(),this._lastClickIsDate=!1)}}},settings:{lang:a,iso8601:!1,visibility:{theme:(g=this.gridOptions)!=null&&g.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.inputFilterType==="range"&&(d.type="multiple",d.months=2,d.jumpMonths=2,d.settings={...d.settings,range:{edgesOnly:!0},selection:{day:"multiple-ranged"},visibility:{...(_=d.settings)==null?void 0:_.visibility,daysOutside:!1}}),this.hasTimePicker&&((b=d.settings).selection??(b.selection={}),d.settings.selection.time=24),this._pickerOptions=de(!0,{},d,{settings:this.filterOptions});let c=((C=this.gridOptions)==null?void 0:C.defaultFilterPlaceholder)??"";(E=this.columnFilter)!=null&&E.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 gl(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&&$i(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=Dn(this.gridOptions,this.translaterService),Mn(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=Fn(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=di(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 uc extends _l{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Cl{constructor(e){this.translaterService=e}filterCollection(e,t,i=hi.chain){let s=[];return Array.isArray(t)?(s=i===hi.merge?[]:[...e],t.forEach(n=>{if(i===hi.merge){const o=this.singleFilterCollection(e,n);s=bo([...s,...o])}else s=this.singleFilterCollection(s,n)})):s=this.singleFilterCollection(e,t),s}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;for(let d=0,c=i.length;d<c;d++){const u=i[d];if(u!=null&&u.property){const p=u.sortDesc?ae.desc:ae.asc,m=u.property,f=(u==null?void 0:u.fieldType)??(e==null?void 0:e.type)??S.string,g=s?((a=this.translaterService)==null?void 0:a.translate)&&this.translaterService.translate(o[m]||" "):o[m],_=s?((h=this.translaterService)==null?void 0:h.translate)&&this.translaterService.translate(l[m]||" "):l[m],b=mi(f,g,_,p,e);if(b!==ae.neutral)return b}}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)??S.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=mi(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)??S.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=mi(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}}function vl(r,e,t,i,s=!1,n,o){var O,I,A,k,L;const l=(t==null?void 0:t.id)??"",a=i.getOptions(),h=(r==="editor"?t==null?void 0:t.editor:t==null?void 0:t.filter)??{},d=(h==null?void 0:h.collectionOptions)??{},c=(d==null?void 0:d.separatorBetweenTextLabels)??"",u=(h==null?void 0:h.enableTranslateLabel)??!1,p=(a==null?void 0:a.enableTranslate)??!1,m=(h==null?void 0:h.enableRenderHtml)??!1,f=((O=h==null?void 0:h.customStructure)==null?void 0:O.label)??"label",g=((I=h==null?void 0:h.customStructure)==null?void 0:I.labelPrefix)??"labelPrefix",_=((A=h==null?void 0:h.customStructure)==null?void 0:A.labelSuffix)??"labelSuffix",b=((k=h==null?void 0:h.customStructure)==null?void 0:k.optionLabel)??"value",C=((L=h==null?void 0:h.customStructure)==null?void 0:L.value)??"value",E=v("select",{className:"ms-filter search-filter"}),y=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];E.classList.add(...y),E.multiple=s;const T=[];let x=!1;return Array.isArray(e)&&(e.every(N=>typeof N=="number"||typeof N=="string")?e.forEach(N=>{const W={text:String(N),value:N};r==="filter"&&Array.isArray(o)&&(W.selected=o.findIndex(X=>X===N)>=0),T.push(W),(W.selected&&s||W.selected&&!s&&N!=="")&&(x=!0)}):e.forEach(N=>{if(N===void 0||typeof N=="object"&&N[f]===void 0&&N.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=N.labelKey||N[f],X=(N.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let Z=N[g]||"",q=N[_]||"",ee=N.hasOwnProperty(b)?N[b]:"";ee!=null&&ee.toString&&(ee=ee.toString().replace(/"/g,"'")),Z=u&&n&&Z&&typeof Z=="string"?n.translate(Z||" "):Z,q=u&&n&&q&&typeof q=="string"?n.translate(q||" "):q,ee=u&&n&&ee&&typeof ee=="string"?n.translate(ee||" "):ee;let st=[Z,typeof X=="string"||typeof X=="number"?X.toString():X,q].filter(Ye=>Ye).join(c);const ge={text:"",value:""};m&&(st=i.sanitizeHtmlString(st)),ge.text=st;let xe=N[C];xe==null&&(xe=""),r==="filter"&&Array.isArray(o)&&(ge.selected=o.findIndex(Ye=>`${Ye}`==`${N[C]}`)>=0),ge.value=`${xe??""}`,T.push(ge),(ge.selected&&s||ge.selected&&!s&&N[C]!=="")&&(x=!0)})),{selectElement:E,dataCollection:T,hasFoundSearchTerm:x}}class pc{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var c,u,p,m,f,g,_,b,C,E,y,T,x,O;if((c=this.sharedService.gridOptions)!=null&&c.enableTranslate&&!((u=this.translaterService)!=null&&u.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((p=this.sharedService.gridOptions)==null?void 0:p[t])??{},n=((m=this.sharedService.gridOptions)==null?void 0:m.enableTranslate)??!1,o=((f=this.sharedService.gridOptions)==null?void 0:f.locales)??R.locales,l=s==null?void 0:s[e],a=s==null?void 0:s[`${e}Key`],h=this.sharedService.gridOptions,d=ot(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)&&((b=this.translaterService)==null?void 0:b.translate(`${d}COMMANDS`))||(o==null?void 0:o.TEXT_COMMANDS);break;case"columnTitle":i=l||n&&((C=this.translaterService)==null?void 0:C.getCurrentLanguage)&&((E=this.translaterService)==null?void 0:E.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&&((x=this.translaterService)==null?void 0:x.getCurrentLanguage)&&((O=this.translaterService)==null?void 0:O.translate(`${d}SYNCHRONOUS_RESIZE`))||(o==null?void 0:o.TEXT_SYNCHRONOUS_RESIZE);break;default:i=l;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const o of e)o.hasOwnProperty(t)&&(o[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,o[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var l,a;let s="";const n=(l=this.sharedService)==null?void 0:l.gridOptions,o=(n==null?void 0:n.locales)??R.locales;return i?s=i:n.enableTranslate&&((a=this.translaterService)!=null&&a.translate)?s=this.translaterService.translate(e||" "):t in o?s=o[t]:s=t,s}}class 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 Je{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 bl{constructor(){this.__nonDataRow=!0}}class Ss extends bl{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 mc extends bl{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class fc{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 ji=new fc,gc="slick-edit-preclick";class Sl{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 Ss&&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 Ss&&(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 _c{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 Sl),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 Ss,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 Ss,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 mc;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=yn(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=yn(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;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:i&&n.multiSelect?u=(d=this.selectedRowIds)==null?void 0:d.filter(p=>a.ids.indexOf(p)===-1):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(){return Array.isArray(this.selectedRowIds)?this.filteredItems.filter(t=>this.selectedRowIds.some(i=>t[this.idProperty]===i))||[]:[]}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))}}/**!
2
+ `:if(p==="<"){u=zi,g+="< ",p="";break}p+=C;break;default:p+=C;break}else if(u===yo)switch(C){case">":p.slice(-2)==="--"&&(u=zi),p="";break;default:p+=C;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=yh.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Eh.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const wh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:Ch,addWhiteSpaces:Vi,arrayRemoveItemByIndex:Sn,calculateAvailableSpace:Li,classNameToList:he,createDomElement:v,deepCopy:vh,deepMerge:Kt,destroyAllElementProps:vn,emptyElement:J,emptyObject:Co,extend:de,findFirstAttribute:Hi,findWidthOrDefault:It,getFunctionDetails:yn,getHtmlStringOutput:gt,getInnerSize:ds,getOffset:me,getOffsetRelativeToParent:no,getStyleProp:ro,htmlEncode:oo,htmlEncodeWithPadding:ao,htmlEntityDecode:lo,insertAfterElement:ho,isDefined:ie,isDefinedNumber:Qt,isEmptyObject:En,isNumber:U,isObject:Ht,isObjectEmpty:vo,isPrimitiveOrHTML:Zt,isPrimitiveValue:Bi,parseBoolean:us,removeAccentFromText:ci,setDeepValue:$e,stripTags:we,titleCase:Jt,toCamelCase:wn,toKebabCase:ui,toSentenceCase:_t,toSnakeCase:bh,uniqueArray:bo,uniqueObjectArray:Sh,windowScrollPosition:bn},Symbol.toStringTag,{value:"Module"})),Th=(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=ci(r,!1),e=ci(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Eo=(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 wo=/^([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 Oh(r){const e=r.match(wo);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 xh(r){const e=r.match(wo);return e&&typeof e[4]>"u"?r+="T00:00:00":r}function Vt(r){if(r||(r=new Date),r instanceof Date){const e=new Date(r);return e.setMilliseconds(0),e}if(r=r.trim(),Oh(r))return new Date(xh(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ih(r){const e=Vt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function Rh(r){return Ih(r).getDate()}var Tn="1999-03-04T02:05:01.000Z",On=new Map,xn=[["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"}]],In=[["HH",{hour:"2-digit"}],["H",{hour:"numeric"}]],Rn=[["hh",{hour:"2-digit"}],["h",{hour:"numeric"}],["a",{dayPeriod:"narrow"}],["A",{dayPeriod:"narrow"}]],ps={DD:2,HH:2,MM:2,YY:2,YYYY:4,hh:2,mm:2,ss:2};function To(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var Ah=["MMMM","MMM","dddd","ddd"],Te=new Map([...xn,...In,...Rn].map(r=>[r[0],r])),Oo=new Map,xo=["full","long","medium","short"],Bt=r=>String(r).padStart(2,"0"),An=r=>String(r).padStart(2,"0");function Rt(r){return r.type==="literal"&&(r.value=r.value.normalize("NFKC")),r}function Ph(r,e,t,i=!1,s=null){const n=kh(r,e,t,i),o=Vt(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=pi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Io(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function kh(r,e,t,i=!1){const s=Vt(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&&Ah.includes(m.token)&&a.push(m),Object.assign(p,m.option)),{timeZone:"UTC"})).formatToParts(s).map(Rt)),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(Rt);break;case"MMM":m=new Intl.DateTimeFormat(u,{dateStyle:"medium",timeZone:"UTC"}).formatToParts(s).map(Rt);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 Io(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 Fh(r,e){Ro(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 Ro(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 Dh(r){return xn.concat(In).concat(Rn).sort((e,t)=>e[0].length>t[0].length?1:-1).reduce((e,t)=>e.replace(t[0],`\\${t[0]}`),r)}function Mh(r){return["numeric","2-digit"].includes(r.partValue)}function Nh(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 ps)&&!(t.token in ps)&&!(Mh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Lh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function pi(r,e){const t=Oo.get(e);if(t&&t[r])return t[r];const i=new Date(Tn);i.setUTCHours(r==="am"?5:20);const n=new Intl.DateTimeFormat(e,{timeStyle:"full",timeZone:"UTC",hour12:!0}).formatToParts(i).map(Rt).find(o=>o.type==="dayPeriod");if(n){const o=t||{};return Oo.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function Hh(r,e="+00:00"){const t=Vt(r),i=(()=>{switch(To(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Fh(e,i);return new Date(t.getTime()+s*1e3*60)}function Ao(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Po(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(Rt),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 Pn(r,e="UTC",t="device",i="Z"){var s;t=t==="device"?(s=Ao())!=null?s:"utc":t;const n=Vt(r),o=Po(n,e),l=Po(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Io(a,i)}function ko(r){const e=Vt(r);return e.setHours(0,0,0),e}function kn(r,e){if(xo.includes(r)||typeof r=="object")return Vh(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=xn.filter(s).concat(In.filter(s)).map(o.bind(null,!1)),a=n(l.concat(Rn.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 Vh(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(Tn)).map(Rt),o=i.formatToParts(new Date("1999-04-05T23:05:01.000Z")).map(Rt).find(a=>a.type==="hour"),l=o&&o.value==="23"?24:12;return s.map(a=>{const h=a.type,d=Bh(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 Bh(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=Fo(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=Fo(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 Fo(r,e,t){if(!On.has(r)){const s=new Date(Tn),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(Rt);if(d==="long"||d==="short"){const p=new Intl.DateTimeFormat(r,{dateStyle:d==="short"?"medium":"long",timeZone:"UTC"}).formatToParts(s).map(Rt).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})})}}On.set(r,a)}const i=On.get(r);return i?i[e][t]:void 0}function Do(r,e="+00:00"){const t=e.slice(0,1)==="+";return Hh(r,e.replace(t?"+":"-",t?"-":"+"))}function zh(){return Intl.DateTimeFormat().resolvedOptions().locale}function Qe(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"?Vt(r).toISOString():(n&&(o=Pn(r,"utc",n,Lh(e))),n??(n=Ao()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Do(r,Pn(r,n,"utc"))),(!t||t==="device")&&(t=zh()),Ph(r,kn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function $h(r,e="en",t=!1,i=()=>!0){return kn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Dh(n.token):n.token,"").normalize("NFKC")}function Wh(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 Mo(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 Mo("MM").map(s=>Qe(`2000-${s}-05`,r,e,t));if(r.startsWith("d"))return i(7,s=>`0${s+2}`).map(s=>Qe(`2022-10-${s}`,r,e));if(r==="a")return[pi("am",e).toLowerCase(),pi("pm",e).toLowerCase()];if(r==="A")return[pi("am",e).toUpperCase(),pi("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(Qe(`${s+Number(o)}-06-06`,r,e)),n.unshift(Qe(`${s-Number(o)}-06-06`,r,e)),n),[Qe(`${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 ms(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 (${$h(e,t)})`)};if(e==="ISO8601")return Vt(s);const l=xo.includes(e)||typeof e=="object",a=Nh(kn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=Gh(s,a)}catch{return o()}const d=new Date,c=new Map([["YYYY",d.getFullYear()],["MM",d.getMonth()+1],["DD",d.getDate()],["HH",0],["mm",0],["ss",0]]);let u=null,p="";h.forEach(O=>{if(O.partName==="literal")return;if(O.token===O.value)return o();const I=Number(O.value);if(c.has(O.token))c.set(O.token,I);else if(O.token==="YY")c.set("YYYY",Wh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",I);else if(A==="H"||A.startsWith("h"))c.set("HH",I);else if(A==="M")c.set("MM",I);else if(A==="a"||A==="A")u=O.value.toLowerCase()===pi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Ro(O.value,A);else{const L=Mo(A,t,l).indexOf(O.value);if(L!==-1)switch(A){case"MMM":case"MMMM":c.set("MM",L+1);break}}}});let m=c.get("HH")||0;u===!1?(m+=m===12?0:12,c.set("HH",m===24?0:m)):u===!0&&m===12&&c.set("HH",0),c.set("MM",(c.get("MM")||1)-1);let[f,g,_,b,C,E]=Array.from(c.values());const y=Rh(new Date(`${An(f)}-${Bt(g+1)}-10`));if(y<_&&n==="throw")throw new Error(`Invalid date ${An(f)}-${Bt(g+1)}-${Bt(_)}`);_=n==="backward"?Math.min(_,y):_;const T=`${An(f)}-${Bt(g+1)}-${Bt(_)}T${Bt(b)}:${Bt(C)}:${Bt(E)}${p}`,x=new Date(T);return isFinite(+x)?x:o()}function Gh(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=To(r.substring(s));else if(l.token in ps)h=ps[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 Ze(r,e=!1){let t;switch(r){case S.dateTime:case S.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case S.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case S.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case S.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case S.dateEuro:t="DD/MM/YYYY";break;case S.dateEuroShort:t=e?"DD/MM/YY":"D/M/YY";break;case S.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case S.dateTimeShortEuro:t=e?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case S.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case S.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case S.dateTimeEuroShort:t=e?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case S.dateTimeEuroShortAmPm:t=e?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case S.dateTimeEuroShortAM_PM:t=e?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case S.dateUs:t="MM/DD/YYYY";break;case S.dateUsShort:t=e?"MM/DD/YY":"M/D/YY";break;case S.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case S.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case S.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case S.dateTimeUsShort:t=e?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case S.dateTimeUsShortAmPm:t=e?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case S.dateTimeUsShortAM_PM:t=e?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case S.dateTimeShortUs:t=e?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case S.dateUtc:t="ISO8601";break;case S.date:case S.dateIso:default:t="YYYY-MM-DD";break}return t}function Ct(r,e,t){const i=e?Ze(e):void 0,s=Ze(t),n=r instanceof Date?r:At(r,i);return n&&r!==void 0?t===S.dateUtc?n.toISOString():Qe(n,s,"en-US"):""}function At(r,e,t=!1){try{return r?r instanceof Date?r:ms({date:r,format:e,dateOverflow:t?"throw":"backward",locale:"en-US"}):!1}catch{return!1}}function Uh(r){return Do(r,Pn(r,"utc"))}function No(r,e,t,i,s){let n=0;if(r===e)n=0;else{let o=At(r,i,s),l=At(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===S.date?void 0:Ze(r);return(t,i,s)=>e===void 0?No(t,i,s,e,!1):No(t,i,s,e,!0)}const ei={boolean:gh,date:ue(S.date),dateIso:ue(S.dateIso),dateUtc:ue(S.dateUtc),dateTime:ue(S.dateTime),dateTimeIso:ue(S.dateTimeIso),dateTimeIsoAmPm:ue(S.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(S.dateTimeIsoAM_PM),dateTimeShortIso:ue(S.dateTimeShortIso),dateEuro:ue(S.dateEuro),dateEuroShort:ue(S.dateEuroShort),dateTimeShortEuro:ue(S.dateTimeShortEuro),dateTimeEuro:ue(S.dateTimeEuro),dateTimeEuroAmPm:ue(S.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(S.dateTimeEuroAM_PM),dateTimeEuroShort:ue(S.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(S.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(S.dateTimeEuroShortAM_PM),dateUs:ue(S.dateUs),dateUsShort:ue(S.dateUsShort),dateTimeShortUs:ue(S.dateTimeShortUs),dateTimeUs:ue(S.dateTimeUs),dateTimeUsAmPm:ue(S.dateTimeUsAmPm),dateTimeUsAM_PM:ue(S.dateTimeUsAM_PM),dateTimeUsShort:ue(S.dateTimeUsShort),dateTimeUsShortAmPm:ue(S.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(S.dateTimeUsShortAM_PM),numeric:Eo,objectString:_h,string:Th};function mi(r,e,t,i,s,n){let o=0;switch(r){case S.boolean:o=ei.boolean(e,t,i,s,n);break;case S.float:case S.integer:case S.number:o=ei.numeric(e,t,i,s,n);break;case S.date:case S.dateIso:case S.dateUtc:case S.dateTime:case S.dateTimeIso:case S.dateTimeIsoAmPm:case S.dateTimeIsoAM_PM:case S.dateTimeShortIso:case S.dateEuro:case S.dateEuroShort:case S.dateTimeShortEuro:case S.dateTimeEuro:case S.dateTimeEuroAmPm:case S.dateTimeEuroAM_PM:case S.dateTimeEuroShort:case S.dateTimeEuroShortAmPm:case S.dateTimeEuroShortAM_PM:case S.dateUs:case S.dateUsShort:case S.dateTimeShortUs:case S.dateTimeUs:case S.dateTimeUsAmPm:case S.dateTimeUsAM_PM:case S.dateTimeUsShort:case S.dateTimeUsShortAmPm:case S.dateTimeUsShortAM_PM:o=ue(r).call(this,e,t,i,s,n);break;case S.object:o=ei.objectString(e,t,i,s,n);break;case S.string:case S.text:case S.password:case S.readonly:default:o=ei.string(e,t,i,s,n);break}return o}const jh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:mi},Symbol.toStringTag,{value:"Module"}));var ct;(function(r){r.camelCase="camelCase",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(ct||(ct={}));class Lo{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=ct.camelCase,this._elementSource=e||document.createElement("div")}dispose(){var e;this.unsubscribeAll(),this._subscribedEvents=[],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 ct.camelCase:i=t!==""?`${t}${Jt(e)}`:e;break;case ct.kebabCase:i=t!==""?`${t}-${ui(e)}`:ui(e);break;case ct.lowerCase:i=`${t}${e}`.toLowerCase();break;case ct.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=>{clearTimeout(this._timer),this._timer=setTimeout(()=>o(this.dispatchCustomEvent(n,t,!0,!0,s)),i)}):this.dispatchCustomEvent(n,t,!0,!0,s)}subscribe(e,t){const i=this.getEventNameByNamingConvention(e,"");return this._elementSource.addEventListener(i,s=>t.call(null,s.detail)),this._subscribedEvents.push({name:i,listener:t}),{unsubscribe:()=>this.unsubscribe(i,t)}}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 fs(r){var e=document,t=r.container||e.createElement("div"),i=r.preventSubmit||0;t.id=t.id||"autocomplete-"+b();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 b(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function C(){var M=t.parentNode;M&&M.removeChild(t)}function E(){m&&window.clearTimeout(m)}function y(){t.parentNode||(l||e.body).appendChild(t)}function T(){return!!t.parentNode}function x(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),C()}function O(){if(!T())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var M=0,te;function Ne(){var Ue=e.documentElement,nt=Ue.clientTop||e.body.clientTop||0,rt=Ue.clientLeft||e.body.clientLeft||0,Ai=window.pageYOffset||Ue.scrollTop,Nt=window.pageXOffset||Ue.scrollLeft;te=_.getBoundingClientRect();var Ke=te.top+_.offsetHeight+Ai-nt,os=te.left+Nt-rt;s.top=Ke+"px",s.left=os+"px",M=window.innerHeight-(te.top+_.offsetHeight),M<0&&(M=0),s.top=Ke+"px",s.bottom="",s.left=os+"px",s.maxHeight=M+"px"}Ne(),Ne(),r.customize&&te&&r.customize(_,te,t,M)}function I(){t.textContent="",_.setAttribute("aria-activedescendant","");var M=function(rt,Ai,Nt){var Ke=e.createElement("div");return Ke.textContent=rt.label||"",Ke};r.render&&(M=r.render);var te=function(rt,Ai){var Nt=e.createElement("div");return Nt.textContent=rt,Nt};r.renderGroup&&(te=r.renderGroup);var Ne=e.createDocumentFragment(),Ue=b();if(a.forEach(function(rt,Ai){if(rt.group&&rt.group!==Ue){Ue=rt.group;var Nt=te(rt.group,h);Nt&&(Nt.className+=" group",Ne.appendChild(Nt))}var Ke=M(rt,h,Ai);Ke&&(Ke.id=t.id+"_"+Ai,Ke.setAttribute("role","option"),Ke.addEventListener("click",function(os){g=!0;try{r.onSelect(rt,_)}finally{g=!1}x(),os.preventDefault(),os.stopPropagation()}),rt===u&&(Ke.className+=" selected",Ke.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",Ke.id)),Ne.appendChild(Ke))}),t.appendChild(Ne),a.length<1)if(r.emptyMsg){var nt=e.createElement("div");nt.id=t.id+"_"+b(),nt.className="empty",nt.textContent=r.emptyMsg,t.appendChild(nt),_.setAttribute("aria-activedescendant",nt.id)}else{x();return}y(),O(),W()}function A(){T()&&I()}function k(){A()}function L(M){M.target!==t?A():M.preventDefault()}function N(){g||Me(0)}function W(){var M=t.getElementsByClassName("selected");if(M.length>0){var te=M[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 Ue=te.offsetTop+te.offsetHeight,nt=t.scrollTop+t.offsetHeight;Ue>nt&&(t.scrollTop+=Ue-nt)}}}function X(){var M=a.indexOf(u);u=M===-1?void 0:a[(M+a.length-1)%a.length],q(M)}function Z(){var M=a.indexOf(u);u=a.length<1?void 0:M===-1?a[0]:a[(M+1)%a.length],q(M)}function q(M){a.length>0&&(Be(M),ee(a.indexOf(u)),W())}function ee(M){var te=e.getElementById(t.id+"_"+M);te&&(te.classList.add("selected"),te.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",te.id))}function Be(M){var te=e.getElementById(t.id+"_"+M);te&&(te.classList.remove("selected"),te.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function st(M,te){var Ne=T();if(te==="Escape")x();else{if(!Ne||a.length<1)return;te==="ArrowUp"?X():Z()}M.preventDefault(),Ne&&M.stopPropagation()}function ge(M){if(u){i===2&&M.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}x()}i===1&&M.preventDefault()}function xe(M){var te=M.key;switch(te){case"ArrowUp":case"ArrowDown":case"Escape":st(M,te);break;case"Enter":ge(M);break}}function Ye(){c&&Me(1)}function Me(M){_.value.length>=d||M===1?(E(),m=window.setTimeout(function(){return Pe(_.value,M,_.selectionStart||0)},M===0||M===2?n:0)):x()}function Pe(M,te,Ne){if(!f){var Ue=++p;r.fetch(M,function(nt){p===Ue&&nt&&(a=nt,h=M,u=a.length<1||o?void 0:a[0],I())},te,Ne)}}function K(M){if(r.keyup){r.keyup({event:M,fetch:function(){return Me(0)}});return}!T()&&M.key==="ArrowDown"&&Me(0)}function ce(M){r.click&&r.click({event:M,fetch:function(){return Me(2)}})}function ht(){setTimeout(function(){e.activeElement!==_&&x()},200)}function li(){Pe(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(M){M.stopPropagation(),M.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),C();function Mt(){_.removeEventListener("focus",Ye),_.removeEventListener("keyup",K),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",N),_.removeEventListener("blur",ht),window.removeEventListener("resize",k),e.removeEventListener("scroll",L,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),E(),x(),f=!0}return _.addEventListener("keyup",K),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",N),_.addEventListener("blur",ht),_.addEventListener("focus",Ye),window.addEventListener("resize",k),e.addEventListener("scroll",L,!0),{destroy:Mt,fetch:li}}class gs{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 Ho{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 gs({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 Ae{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 Vo=Object.prototype.hasOwnProperty;function ut(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--&&ut(r[i],e[i]););return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(Vo.call(r,t)&&++i&&!Vo.call(e,t)||!(t in e)||!ut(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}function Bo(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 $i(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||S.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Ze(S.dateIso),g=c?Ze(c):void 0;for(const b of p){const C=b instanceof Date?b:At(b,g);C&&m.push(C)}const _=l??{dates:[m.map(b=>Qe(b,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")?Qe(m[0],"HH:mm"):void 0};ut(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(b=>Ct(b,void 0,u)).join(" — "):""}}function Fn(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,`${ao(i.operatorAlt||i.operator,3)}${i.descAlt||i.desc}`),t.appendChild(s)}return t}function Yh(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 zo(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 eo(i,r));const h=await r;if(Array.isArray(h)?l=h:(h==null?void 0:h.status)>=200&&h.status<300&&typeof h.json=="function"?l=await h.json():h&&h.content&&(l=h.content),!Array.isArray(l)&&(o!=null&&o.collectionInsideObjectProperty)){const d=l||h,c=o.collectionInsideObjectProperty;l=Ee(d,c||"")}if(!Array.isArray(l))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');n.collection=l,t(l),a&&Xh(e,t,i,s)}return l}function Xh(r,e,t,i){const s=(r==null?void 0:r.filter)??{},n=t==null?void 0:t.createSubject();s.collectionAsync=n,i&&n&&i.push(n.subscribe(o=>Yh(o,r,e)))}function lt(r,e,t,i,s){if(i!=null&&i.enableTranslate&&(s!=null&&s.translate)){const o=ot(i);return s.translate(`${o}${r}`)}const n=i.locales||R.locales;return(n==null?void 0:n[e])??t}function qh(r,e){return[{operator:"",desc:lt("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:lt("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:lt("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:lt("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:lt("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:lt("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Dn(r,e){return[{operator:"",desc:""},{operator:"=",desc:lt("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:lt("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:lt("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:lt("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:lt("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:lt("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)}]}function Mn(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 Kh{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 Ae}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===S.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=zo(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(),hs(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&&(Pi(this.columnFilter.collection,t=>{this.renderDomElement(this.columnFilter.collection||t||[])}),ls(this.columnFilter,"collection",t=>{this.renderDomElement(t||[]),this.columnFilter.collection&&Pi(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)??`${_t(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(b=>Bi(b))?e=e.map(b=>({label:b,value:b})):e=e.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._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:(b,C,E)=>{E.style.width=""},onSelect:b=>{this.isItemSelected=!0,this.handleSelect(b)},...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-${ui(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?(Bo(this._filterElm,this._autocompleterOptions),this._instance=fs(this._autocompleterOptions)):this._instance=fs({...this._autocompleterOptions,fetch:(b,C)=>{e&&C(e.filter(E=>((typeof E=="string"?E:E==null?void 0:E.label)||"").toLowerCase().includes(b.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-picker | url: https://github.com/uvarov-frontend/vanilla-calendar-picker */var Qh=Object.defineProperty,$o=Object.getOwnPropertySymbols,Zh=Object.prototype.hasOwnProperty,Jh=Object.prototype.propertyIsEnumerable,Nn=(r,e,t)=>e in r?Qh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Wo=(r,e)=>{for(var t in e||(e={}))Zh.call(e,t)&&Nn(r,t,e[t]);if($o)for(var t of $o(e))Jh.call(e,t)&&Nn(r,t,e[t]);return r},Y=(r,e,t)=>(Nn(r,typeof e!="symbol"?e+"":e,t),t);const ed={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"},td=r=>`<div class="${r.header}"><#ArrowPrev /><div class="${r.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${r.wrapper}"><#WeekNumbers /><div class="${r.content}"><#Week /><#Days /></div></div><#ControlTime />`,id=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 />`,sd=r=>`<div class="${r.header}"><div class="${r.headerContent}"><#Month /><#Year /></div></div><div class="${r.wrapper}"><div class="${r.content}"><#Months /></div></div>`,nd=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 rd{constructor(){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,"toggleSelected",!0),Y(this,"jumpToSelectedDate",!1),Y(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),Y(this,"settings",{lang:"en",iso8601:!0,range:{min:this.date.min,max:this.date.max,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",e=>e),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",Wo({},ed)),Y(this,"DOMTemplates",{default:td(this.CSSClasses),multiple:id(this.CSSClasses),month:sd(this.CSSClasses),year:nd(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 vt=r=>`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,fe=r=>new Date(`${r}T00:00:00`),fi=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=fe(s),l=fe(n),a=new Date(o.getTime());for(;a<=l;a.setDate(a.getDate()+1))e.push(vt(a));return i});return e},[]),Go=()=>{const r=new Date;return new Date(r.getTime()-6e4*r.getTimezoneOffset()).toISOString().substring(0,10)},Wi=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):"",gi={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."},od=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=fe(fi(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},ld=r=>{var e,t,i;r.settings.range.min==="today"&&(r.settings.range.min=Go()),r.settings.range.max==="today"&&(r.settings.range.max=Go()),r.settings.range.min=fe(r.date.min)>=fe(r.settings.range.min)?r.date.min:r.settings.range.min,r.settings.range.max=fe(r.date.max)<=fe(r.settings.range.max)?r.date.max:r.settings.range.max;const s=r.settings.range.disablePast&&!r.settings.range.disableAllDays&&fe(r.settings.range.min)<r.date.today;r.rangeMin=s||r.settings.range.disableAllDays?vt(r.date.today):r.settings.range.min,r.rangeMax=r.settings.range.disableAllDays?vt(r.date.today):r.settings.range.max,r.rangeDisabled=r.settings.range.disabled&&!r.settings.range.disableAllDays?fi(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?fi(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])},ad=r=>{var e,t;r.selectedDates=(e=r.settings.selected.dates)!=null&&e[0]?fi(r.settings.selected.dates):[],r.selectedHolidays=(t=r.settings.selected.holidays)!=null&&t[0]?fi(r.settings.selected.holidays):[]},hd=r=>{r.dateMin=r.settings.visibility.disabled?fe(r.date.min):fe(r.rangeMin),r.dateMax=r.settings.visibility.disabled?fe(r.date.max):fe(r.rangeMax)},dd=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=Wi(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(gi.incorrectTime)},cd=r=>{r.correctMonths=r.type==="multiple"?r.months===1?2:r.months>12?12:r.months:1},Uo=r=>{r.currentType=r.type,od(r),ld(r),ad(r),hd(r),dd(r),cd(r)},jo=({arrowPrev:r,arrowNext:e,isPrevHidden:t,isNextHidden:i})=>{r.style.visibility=t?"hidden":"",e.style.visibility=i?"hidden":""},Ln=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=fe(vt(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();jo({arrowPrev:i,arrowNext:s,isPrevHidden:a,isNextHidden:h})},year:()=>{jo({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]()},Yo=(r,e)=>{if(!r)return null;const t=fe(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}},ud=(r,e,t,i)=>{const s=t.querySelector(`[data-calendar-day="${r}"]`);s&&(e!=null&&e.modifier&&s.classList.add(...e.modifier.trim().split(" ")),e!=null&&e.html&&(s.parentElement.innerHTML+=`<div class="${i}">${e.html}</div>`))},pd=(r,e)=>{var t;r.popups&&((t=Object.entries(r.popups))==null||t.forEach(([i,s])=>ud(i,s,e,r.CSSClasses.dayPopup)))},md=(r,e,t,i,s)=>{const n=e[t].querySelector(`.${r.CSSClasses.dayBtn}`),o=Yo(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)},fd=(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++)md(r,a,d===0?6:7*d,l,o)},gd=(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)))},_d=(r,e,t,i,s,n,o)=>{var l,a,h;if((fe(r.rangeMin)>fe(n)||fe(r.rangeMax)<fe(n)||(l=r.rangeDisabled)!=null&&l.includes(n)||!r.settings.selection.month&&o||!r.settings.selection.year&&fe(n).getFullYear()!==e)&&(i.classList.add(r.CSSClasses.dayBtnDisabled),i.tabIndex=-1),r.settings.visibility.today&&vt(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))}},Hn=(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=Yo(n,r.settings.iso8601);d&&(h.dataset.calendarWeekNumber=String(d.week))})(),o?r.settings.visibility.daysOutside&&a.appendChild(h):a.appendChild(h),gd(r,n,s),_d(r,e,a,h,s,n,o),t.appendChild(a),r.actions.getDays&&r.actions.getDays(i,n,a,h,r)},Cd=(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=fe(h).getDay();Hn(r,t,e,n,d,h,!0,r.CSSClasses.dayBtnPrev)}},vd=(r,e,t,i,s)=>{for(let n=1;n<=t;n++){const o=new Date(i,s,n),l=vt(o),a=o.getDay();Hn(r,i,e,n,a,l,!1,null)}},bd=(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=fe(c).getDay();Hn(r,i,e,d,u,c,!0,r.CSSClasses.dayBtnNext)}},_s=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="",Cd(r,s,a,l,c),vd(r,s,d,a,l),bd(r,s,d,a,l,c),fd(r,c,d,t[n],s),pd(r,s)})},Sd=(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]},yd=(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)},Cs=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)=>Sd(r,o,l,n)),s==null||s.forEach((o,l)=>yd(r,o,l,n))},Vn=(r,e)=>{const t=fe(vt(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()],Cs(r),Ln(r),_s(r)},Ed=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,wd=r=>`<button type="button"class="${r.CSSClasses.arrow} ${r.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,Td=r=>`<button type="button"class="${r.CSSClasses.month}"data-calendar-selected-month></button>`,Od=r=>`<button type="button"class="${r.CSSClasses.year}"data-calendar-selected-year></button>`,xd=r=>`<div class="${r.CSSClasses.week}"></div>`,Id=r=>`<div class="${r.CSSClasses.days}"></div>`,Rd=r=>`<div class="${r.CSSClasses.months}"></div>`,Ad=r=>`<div class="${r.CSSClasses.years}"></div>`,Pd=r=>r.settings.visibility.weekNumbers?`<div class="${r.CSSClasses.weekNumbers}"></div>`:"",kd=r=>r.settings.selection.time?`<div class="${r.CSSClasses.time}"></div>`:"",Fd=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:wd,ArrowPrev:Ed,ControlTime:kd,Days:Id,Month:Td,Months:Rd,Week:xd,WeekNumbers:Pd,Year:Od,Years:Ad},Symbol.toStringTag,{value:"Module"})),Dd=r=>Fd[r],Gi=(r,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,i)=>{const s=Dd(i.replace(/[/\s\n\t]/g,"")),n=s?s(r):"";return r.sanitizer(n)}).replace(/[\n\t]/g,""),Md=(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,""),Bn=(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=Gi(r,c)},h={default:()=>{t.classList.add(i.calendarDefault),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Gi(r,s.default)},multiple:()=>{l&&(t.classList.add(i.calendarMultiple),t.classList.remove(i.calendarMonth,i.calendarYear),t.innerHTML=Md(r,Gi(r,s.multiple)))},month:()=>{n!=="multiple"?(t.classList.add(i.calendarMonth),t.classList.remove(i.calendarDefault,i.calendarYear),t.innerHTML=Gi(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=Gi(r,s.year)):a(i.columnYear,s.year)}};t.classList.add(i.calendar),h[o]()},Nd=(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},zn=(r,e)=>{const t=e!=null&&e.dataset.calendarSelectedYear?Number(e==null?void 0:e.dataset.calendarSelectedYear):r.selectedYear;r.currentType="year",Bn(r,e),Cs(r),Ln(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=Nd(r,n,t,l,o);i.appendChild(a),r.actions.getYears&&r.actions.getYears(o,a,r)}},Ld=(r,e)=>{const t=e.target.closest(`.${r.CSSClasses.arrow}`);t&&(["default","multiple"].includes(r.currentType)?Vn(r,t.dataset.calendarArrow):r.currentType==="year"&&r.viewYear!==void 0&&(r.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],zn(r,e.target)),r.actions.clickArrow&&r.actions.clickArrow(e,r))},Hd=(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)},Xo=r=>`${r.charAt(0).toUpperCase()}${r.substring(1,r.length)}`.replace(/\./,""),Vd=(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(Xo(t))},Bd=(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(Xo(t))},zd=r=>{if(r.settings.lang!=="define"||!r.locale.weekday[6]||!r.locale.months[11]){if(r.settings.lang==="define")throw new Error(gi.notLocale);r.locale.weekday=[],r.locale.months=[];for(let e=0;e<7;e++)Vd(r,e);for(let e=0;e<12;e++)Bd(r,e)}},qo=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},$d=(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},Ko=(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",Bn(r,e),Cs(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()+qo(r)&&o<=r.dateMin.getFullYear()||d>r.dateMax.getMonth()+qo(r)&&o>=r.dateMax.getFullYear()||d!==s&&!a.includes(d),p=$d(r,h,s,c,u,d);l.appendChild(p),r.actions.getMonths&&r.actions.getMonths(d,p,r)}},$n=(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]:"",vs=(r,e,t)=>r.querySelector(`.${e}${t?` input[name="${t}"]`:""}`),Qo=(r,e,t)=>{r.addEventListener("mouseover",()=>e.classList.add(t)),r.addEventListener("mouseout",()=>e.classList.remove(t))},ti=(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)},Zo=(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 ti(r,o,h,s);a<n&&a>0?(t.value=h,r.selectedKeeping="AM",i.innerText=r.selectedKeeping,ti(r,o,h,s)):(a===0?(r.selectedKeeping="AM",i.innerText="AM"):(r.selectedKeeping="PM",i.innerText="PM"),t.value=Wi(l.value),ti(r,o,Wi(l.value),s))})},Jo=(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=$n(h,r.selectedKeeping),ti(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=Wi(l.value),e.value=h,ti(r,o,Wi(l.value),s)):l.value=r.selectedHours:l.value&&a<=n&&a>=0?(l.value=h,e.value=h,ti(r,o,h,s)):s==="hours"?l.value=r.selectedHours:s==="minutes"&&(l.value=r.selectedMinutes)})},Wd=(r,e,t)=>{e.addEventListener("click",i=>{r.selectedKeeping=e.innerText.includes("AM")?"PM":"AM",e.innerText=r.selectedKeeping,t.value=$n(r.selectedHours,r.selectedKeeping),ti(r,i,r.selectedHours,"hours")})},Gd=(r,e,t)=>{const i=t===24?23:t||12,s=vs(e,r.CSSClasses.timeRange,"hours"),n=vs(e,r.CSSClasses.timeRange,"minutes"),o=vs(e,r.CSSClasses.timeHours,"hours"),l=vs(e,r.CSSClasses.timeMinutes,"minutes"),a=e.querySelector(`.${r.CSSClasses.timeKeeping}`);Qo(s,o,r.CSSClasses.isFocus),Qo(n,l,r.CSSClasses.isFocus),Zo(r,s,o,a,"hours",i),Zo(r,n,l,a,"minutes",0),Jo(r,s,o,a,"hours",i),Jo(r,n,l,a,"minutes",59),a&&Wd(r,a,s)},el=(r,e,t,i)=>`<label class="${e}"><input type="text"name="${r}"maxlength="2"value="${t}"${i?"disabled":""}></label>`,tl=(r,e,t,i,s,n)=>`<label class="${e}"><input type="range"name="${r}"min="${t}"max="${i}"step="${s}"value="${n}"></label>`,Ud=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}">${el("hours",r.CSSClasses.timeHours,r.selectedHours,i)}${el("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}">${tl("hours",r.CSSClasses.timeRange,s,n,r.settings.selection.stepHours,r.selectedKeeping?$n(r.selectedHours,r.selectedKeeping):r.selectedHours)}${tl("minutes",r.CSSClasses.timeRange,o,l,r.settings.selection.stepMinutes,r.selectedMinutes)}</div>`),Gd(r,e,t)},jd=(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)}},il=r=>{const e=[...r.locale.weekday];e[0]&&(r.settings.iso8601&&e.push(e.shift()),r.HTMLElement.querySelectorAll(`.${r.CSSClasses.week}`).forEach(t=>jd(r,t,e)))},sl=["light","dark","system"],bs={value:!1,set:()=>{bs.value=!0},check:()=>bs.value},nl=(r,e)=>sl.find(t=>{var i;return t!=="system"&&((i=r.getAttribute(e))==null?void 0:i.includes(t))}),ii=(r,e)=>{r.dataset.calendarTheme=e},rl=(r,e)=>{var t;if(t=e,ii(r.HTMLElement,t.matches?"dark":"light"),r.settings.visibility.theme!=="system"||bs.check())return;const i=s=>{const n=document.querySelectorAll(`.${r.CSSClasses.calendar}`);n==null||n.forEach(o=>ii(o,s.matches?"dark":"light"))};e.addEventListener?e.addEventListener("change",i):e.addListener(i),bs.set()},Yd=(r,e,t)=>{new MutationObserver(i=>{for(let s=0;s<i.length;s++)if(i[s].attributeName===t){const n=nl(e,t);n&&ii(r.HTMLElement,n);break}}).observe(e,{attributes:!0})},Xd=(r,e)=>{const t=r.settings.visibility.themeDetect?document.querySelector(r.settings.visibility.themeDetect):null;if(!t)return void rl(r,e);const i=r.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(n,o)=>o),s=nl(t,i);s?(ii(r.HTMLElement,s),Yd(r,t,i)):rl(r,e)},qd=r=>{if(!sl.includes(r.settings.visibility.theme))throw new Error(gi.incorrectTheme);if(window.matchMedia("(prefers-color-scheme)").media==="not all")return void ii(r.HTMLElement,"light");({light:()=>ii(r.HTMLElement,"light"),dark:()=>ii(r.HTMLElement,"dark"),system:()=>Xd(r,window.matchMedia("(prefers-color-scheme: dark)"))})[r.settings.visibility.theme]()},Ui=r=>{const e={default:()=>{il(r),_s(r)},multiple:()=>{il(r),_s(r)},month:()=>Ko(r),year:()=>zn(r)};qd(r),zd(r),Bn(r),Cs(r),Ln(r),Ud(r),e[r.currentType]()},Q={self:null,rangeMin:void 0,rangeMax:void 0},ol=()=>{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)})},Kd=(r,e,t)=>{var i,s,n;if(!((i=Q.self)!=null&&i.selectedDates))return;const o=vt(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)})},Wn=r=>{var e;if(!r.target||!((e=Q.self)!=null&&e.selectedDates))return;if(!r.target.closest(`.${Q.self.CSSClasses.days}`))return void ol();const t=r.target.closest("[data-calendar-day]");if(!t)return;const i=t.dataset.calendarDay,s=fe(Q.self.selectedDates[0]),n=fe(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];ol();for(let u=new Date(d);u<=c;u.setDate(u.getDate()+1))Kd(u,a,h)},Gn=r=>{Q.self&&r.key==="Escape"&&(Q.self.selectedDates=[],Q.self.HTMLElement.removeEventListener("mousemove",Wn),document.removeEventListener("keydown",Gn),Ui(Q.self))},Qd=()=>{var r,e,t;if(!((e=(r=Q.self)==null?void 0:r.selectedDates)!=null&&e[0])||!Q.self.rangeDisabled||((t=Q.self.rangeDisabled)==null?void 0:t.length)<2)return;const i=fe(Q.self.selectedDates[0]),[s,n]=Q.self.rangeDisabled.map(o=>fe(o)).reduce(([o,l],a)=>[i>=a?a:o,i<a&&l===null?a:l],[null,null]);s&&(Q.self.rangeMin=vt(new Date(s.setDate(s.getDate()+1)))),n&&(Q.self.rangeMax=vt(new Date(n.setDate(n.getDate()-1))))},Zd=()=>{Q.self&&(Q.self.rangeMin=Q.rangeMin,Q.self.rangeMax=Q.rangeMax)},ll=(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",Wn),document.addEventListener("keydown",Gn),r.settings.range.disableGaps&&Qd()},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]:fi([`${i}:${s}`]):[r.selectedDates[0],r.selectedDates[0]],r.HTMLElement.removeEventListener("mousemove",Wn),document.removeEventListener("keydown",Gn),r.settings.range.disableGaps&&Zd()}}[r.selectedDates.length===1?"set":"reset"]()},al=(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])},Jd=(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:()=>al(r,n,!1),multiple:()=>al(r,n,!0),"multiple-ranged":()=>ll(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:()=>Vn(r,"prev"),next:()=>Vn(r,"next"),default:()=>_s(r)})[o?"prev":l?"next":"default"]()},hl=(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},ec=(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=hl(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=hl(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,Ui(r)},dl=(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:()=>zn(r,s),month:()=>Ko(r,s)}[t]():l?ec(r,e,t,i,l):(r.currentType===t&&o||r.type==="multiple"&&r.currentType===t&&a&&!h)&&(r.currentType=r.type,Ui(r))},cl=r=>{const e=t=>{Ld(r,t),Hd(r,t),Jd(r,t),dl(r,t,"month",{header:r.CSSClasses.month,item:r.CSSClasses.monthsMonth,column:r.CSSClasses.columnMonth}),dl(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)};function ul(r){if(!r||!r.getBoundingClientRect)return;const e=r.getBoundingClientRect(),t=document.documentElement;return{bottom:e.bottom,right:e.right,top:e.top+window.pageYOffset-t.clientTop,left:e.left+window.pageXOffset-t.clientLeft}}function tc(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}function pl(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function ic(r){var e,t;let i=0,s=0,n=0,o=0;const l=tc(),a=ul(r),{vh:h,vw:d}=pl(),c=l.top,u=l.left;if(a){const p=(e=a.top)!=null?e:0,m=(t=a.left)!=null?t:0;s=p-c,n=m-u,i=h-(p-c+r.clientHeight),o=d-(m-u+r.clientWidth)}return{top:s,bottom:i,left:n,right:o}}function sc(r,e,t=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(e&&r){const{bottom:n,top:o}=ic(r),{top:l,left:a}=ul(r),{height:h,width:d}=e.getBoundingClientRect(),{vh:c,vw:u}=pl(),p={x:u/2,y:c/2};l<p.y&&s.push("top"),l>p.y&&s.push("bottom"),a<p.x&&s.push("left"),a>p.x&&s.push("right"),h>o-t&&(i.top=!1),h>n-t&&(i.bottom=!1),d>a&&(i.left=!1),u-a<d&&(i.right=!1)}return{canShow:i,parentPositions:s}}function nc(r,e){let t="left";if(e&&r){const{canShow:i,parentPositions:s}=sc(r,e);if(!i.left||!i.right)return Array.isArray(s)&&(s[0]=s[0]==="bottom"?"top":"bottom"),s;i.bottom?t="center":i.top&&(t=["top","center"])}return t}const Un=(r,e,t,i)=>{if(r){const s=t==="auto"?nc(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;e.classList.add(o==="bottom"?i.calendarToInputBottom:i.calendarToInputTop);const a=r.getBoundingClientRect(),h=window.scrollX||document.documentElement.scrollLeft,d=window.scrollY||document.documentElement.scrollTop,c=a.top+d+n[o],u=a.left+h+n[l];Object.assign(e.style,{left:`${u}px`,top:`${c}px`})}},ml=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{var o;const l=Wo({},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,Uo(r),Ui(r),r.settings.selected=l,r.settings.selection.day==="multiple-ranged"&&i&&ll(r)},fl=(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(()=>{Un(r.HTMLInputElement,t,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()}),ml(r,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),r.actions.initCalendar&&r.actions.initCalendar(r),cl(r)},rc=r=>{const e=[];r.HTMLInputElement=r.HTMLElement;const t=()=>Un(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),i=s=>{var n;r&&s.target!==r.HTMLInputElement&&!((n=r.HTMLElement)!=null&&n.contains(s.target))&&(r.HTMLInputElement&&r.HTMLElement&&r.hide(),window.removeEventListener("resize",t),document.removeEventListener("click",i,{capture:!0}))};return r.HTMLInputElement.addEventListener("click",()=>{r.isInputInit?(Un(r.HTMLInputElement,r.HTMLElement,r.settings.visibility.positionToInput,r.CSSClasses),r.HTMLElement.style.visibility="visible",r.show()):e.push(fl(r)),window.addEventListener("resize",t),document.addEventListener("click",i,{capture:!0})}),()=>{e.forEach(s=>s())}},oc=r=>(r.HTMLOriginalElement=r.HTMLElement.cloneNode(!0),r.isInit=!0,r.input?rc(r):(Uo(r),Ui(r),r.actions.initCalendar&&r.actions.initCalendar(r),cl(r))),lc=(r,{year:e,month:t,dates:i,holidays:s,time:n}={})=>{if(!r.isInit)throw new Error(gi.notInit);r.input&&!r.isInputInit&&fl(r,!1),ml(r,{year:e,month:t,dates:i,holidays:s,time:n}),r.actions.updateCalendar&&r.actions.updateCalendar(r)},ac=r=>{var e,t,i,s,n,o;if(!r.isInit)throw new Error(gi.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)},hc=r=>{r.currentType?(r.HTMLElement.classList.remove(r.CSSClasses.calendarHidden),r.actions.showCalendar&&r.actions.showCalendar(r)):r.HTMLElement.click()},dc=r=>{r.currentType&&(r.HTMLElement.classList.add(r.CSSClasses.calendarHidden),r.actions.hideCalendar&&r.actions.hideCalendar(r))};function jn(r,...e){const t=s=>s&&typeof s=="object"&&!Array.isArray(s);if(!e.length)return r;const i=e.shift();return t(r)&&t(i)&&Object.keys(i).forEach(s=>{t(i[s])?(r[s]||Object.assign(r,{[s]:{}}),jn(r[s],i[s])):Object.assign(r,{[s]:i[s]})}),jn(r,...e)}function cc(r,e,t){r.settings=jn(r.settings,{[e]:t})}class gl extends rd{constructor(e,t){if(super(),Y(this,"init",()=>oc(this)),Y(this,"update",s=>lc(this,s)),Y(this,"destroy",()=>ac(this)),Y(this,"show",()=>hc(this)),Y(this,"hide",()=>dc(this)),Y(this,"changeSetting",(s,n)=>cc(this,s,n)),this.HTMLElement=typeof e=="string"?document.querySelector(e):e,!this.HTMLElement)throw new Error(gi.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 _l{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 Ae}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){if(this.calendarInstance&&(this._clearFilterTriggered=t,this._shouldTriggerQuery=e,this._currentValue="",this.searchTerms=[],this._currentDateStrings=[],this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.calendarInstance)){const i=new Date;$i(this.columnFilter,this._dateInputElm,this.calendarInstance,{columnDef:this.columnDef,oldVal:this._currentDateOrDates,newVal:"",updatePickerUI:!0,selectedSettings:{dates:[],month:i.getMonth(),year:i.getFullYear()}})}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&&($i(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=di(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,_,b,C,E,y,T;const t=((u=this.columnDef)==null?void 0:u.id)??"",i=this.columnFilter.type||this.columnDef.type||S.dateIso,s=this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||S.dateUtc,n=Ze(s),o=this.columnFilter.type||this.columnDef.type||S.dateIso;n&&this.inputFilterType!=="range"&&(n==="ISO8601"||n.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const l=Ze(this.hasTimePicker?S.dateTimeIsoAM_PM:S.dateIso),a=(((p=this.filterOptions)==null?void 0:p.locale)??((f=(m=this.translaterService)==null?void 0:m.getCurrentLanguage)==null?void 0:f.call(m)))||this.gridOptions.locale||"en";let h;this.inputFilterType==="compound"?e&&(h=e,this._currentDateOrDates=e):(typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?h=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(h=e),Array.isArray(h)&&(this._currentDateOrDates=h,this._currentDateStrings=h.map(x=>Ct(x,void 0,o))));const d={input:!0,jumpToSelectedDate:!0,type:this.inputFilterType==="range"?"multiple":"default",sanitizer:x=>this.grid.sanitizeHtmlString(x),toggleSelected:!1,actions:{clickDay:x=>{this._lastClickIsDate=!0},changeToInput:(x,O)=>{if(O.HTMLInputElement){let I=[],A="",k="";if(O.selectedDates[1]){O.selectedDates.sort((W,X)=>+new Date(W)-+new Date(X)),A=O.selectedDates[0],k=O.selectedDates[O.selectedDates.length-1];const L=Qe(O.selectedDates[0],n,"en-US"),N=Qe(k,n,"en-US");O.HTMLInputElement.value=`${L} — ${N}`,I=[A,k]}else O.selectedDates[0]?(A=O.selectedDates[0],O.HTMLInputElement.value=Ct(A,S.dateIso,s),I=O.selectedDates):O.HTMLInputElement.value="";if(this.hasTimePicker&&A){const L=ms(A,l);L.setHours(+(O.selectedHours||0)),L.setMinutes(+(O.selectedMinutes||0)),O.HTMLInputElement.value=Ct(L,void 0,s),I=[L]}if(this.inputFilterType==="compound"?this._currentValue=Ct(I[0],void 0,i):Array.isArray(I)&&(this._currentDateStrings=I.map(L=>Ct(L,void 0,i)),this._currentValue=this._currentDateStrings.join("..")),this._currentDateOrDates=I.map(L=>L instanceof Date?L:ms(L,l)),this._currentValue){const L=this.hasTimePicker?new Event("keyup"):void 0;this.onTriggerEvent(L)}this.inputFilterType==="range"&&O.selectedDates.length<2&&(this._lastClickIsDate=!1),this._lastClickIsDate&&(O.hide(),this._lastClickIsDate=!1)}}},settings:{lang:a,iso8601:!1,visibility:{theme:(g=this.gridOptions)!=null&&g.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.inputFilterType==="range"&&(d.type="multiple",d.months=2,d.jumpMonths=2,d.settings={...d.settings,range:{edgesOnly:!0},selection:{day:"multiple-ranged"},visibility:{...(_=d.settings)==null?void 0:_.visibility,daysOutside:!1}}),this.hasTimePicker&&((b=d.settings).selection??(b.selection={}),d.settings.selection.time=24),this._pickerOptions=de(!0,{},d,{settings:this.filterOptions});let c=((C=this.gridOptions)==null?void 0:C.defaultFilterPlaceholder)??"";(E=this.columnFilter)!=null&&E.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 gl(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&&$i(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=Dn(this.gridOptions,this.translaterService),Mn(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=Fn(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=di(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 uc extends _l{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Cl{constructor(e){this.translaterService=e}filterCollection(e,t,i=hi.chain){let s=[];return Array.isArray(t)?(s=i===hi.merge?[]:[...e],t.forEach(n=>{if(i===hi.merge){const o=this.singleFilterCollection(e,n);s=bo([...s,...o])}else s=this.singleFilterCollection(s,n)})):s=this.singleFilterCollection(e,t),s}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;for(let d=0,c=i.length;d<c;d++){const u=i[d];if(u!=null&&u.property){const p=u.sortDesc?ae.desc:ae.asc,m=u.property,f=(u==null?void 0:u.fieldType)??(e==null?void 0:e.type)??S.string,g=s?((a=this.translaterService)==null?void 0:a.translate)&&this.translaterService.translate(o[m]||" "):o[m],_=s?((h=this.translaterService)==null?void 0:h.translate)&&this.translaterService.translate(l[m]||" "):l[m],b=mi(f,g,_,p,e);if(b!==ae.neutral)return b}}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)??S.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=mi(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)??S.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=mi(l,d,c,o,e);return u!==ae.neutral?u:ae.neutral})}}return n}}function vl(r,e,t,i,s=!1,n,o){var O,I,A,k,L;const l=(t==null?void 0:t.id)??"",a=i.getOptions(),h=(r==="editor"?t==null?void 0:t.editor:t==null?void 0:t.filter)??{},d=(h==null?void 0:h.collectionOptions)??{},c=(d==null?void 0:d.separatorBetweenTextLabels)??"",u=(h==null?void 0:h.enableTranslateLabel)??!1,p=(a==null?void 0:a.enableTranslate)??!1,m=(h==null?void 0:h.enableRenderHtml)??!1,f=((O=h==null?void 0:h.customStructure)==null?void 0:O.label)??"label",g=((I=h==null?void 0:h.customStructure)==null?void 0:I.labelPrefix)??"labelPrefix",_=((A=h==null?void 0:h.customStructure)==null?void 0:A.labelSuffix)??"labelSuffix",b=((k=h==null?void 0:h.customStructure)==null?void 0:k.optionLabel)??"value",C=((L=h==null?void 0:h.customStructure)==null?void 0:L.value)??"value",E=v("select",{className:"ms-filter search-filter"}),y=r==="filter"?["search-filter",`filter-${l}`]:["select-editor",`editor-${l}`];E.classList.add(...y),E.multiple=s;const T=[];let x=!1;return Array.isArray(e)&&(e.every(N=>typeof N=="number"||typeof N=="string")?e.forEach(N=>{const W={text:String(N),value:N};r==="filter"&&Array.isArray(o)&&(W.selected=o.findIndex(X=>X===N)>=0),T.push(W),(W.selected&&s||W.selected&&!s&&N!=="")&&(x=!0)}):e.forEach(N=>{if(N===void 0||typeof N=="object"&&N[f]===void 0&&N.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=N.labelKey||N[f],X=(N.labelKey||u&&n)&&W&&p?n==null?void 0:n.translate(W||" "):W;let Z=N[g]||"",q=N[_]||"",ee=N.hasOwnProperty(b)?N[b]:"";ee!=null&&ee.toString&&(ee=ee.toString().replace(/"/g,"'")),Z=u&&n&&Z&&typeof Z=="string"?n.translate(Z||" "):Z,q=u&&n&&q&&typeof q=="string"?n.translate(q||" "):q,ee=u&&n&&ee&&typeof ee=="string"?n.translate(ee||" "):ee;let st=[Z,typeof X=="string"||typeof X=="number"?X.toString():X,q].filter(Ye=>Ye).join(c);const ge={text:"",value:""};m&&(st=i.sanitizeHtmlString(st)),ge.text=st;let xe=N[C];xe==null&&(xe=""),r==="filter"&&Array.isArray(o)&&(ge.selected=o.findIndex(Ye=>`${Ye}`==`${N[C]}`)>=0),ge.value=`${xe??""}`,T.push(ge),(ge.selected&&s||ge.selected&&!s&&N[C]!=="")&&(x=!0)})),{selectElement:E,dataCollection:T,hasFoundSearchTerm:x}}class pc{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var c,u,p,m,f,g,_,b,C,E,y,T,x,O;if((c=this.sharedService.gridOptions)!=null&&c.enableTranslate&&!((u=this.translaterService)!=null&&u.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((p=this.sharedService.gridOptions)==null?void 0:p[t])??{},n=((m=this.sharedService.gridOptions)==null?void 0:m.enableTranslate)??!1,o=((f=this.sharedService.gridOptions)==null?void 0:f.locales)??R.locales,l=s==null?void 0:s[e],a=s==null?void 0:s[`${e}Key`],h=this.sharedService.gridOptions,d=ot(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)&&((b=this.translaterService)==null?void 0:b.translate(`${d}COMMANDS`))||(o==null?void 0:o.TEXT_COMMANDS);break;case"columnTitle":i=l||n&&((C=this.translaterService)==null?void 0:C.getCurrentLanguage)&&((E=this.translaterService)==null?void 0:E.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&&((x=this.translaterService)==null?void 0:x.getCurrentLanguage)&&((O=this.translaterService)==null?void 0:O.translate(`${d}SYNCHRONOUS_RESIZE`))||(o==null?void 0:o.TEXT_SYNCHRONOUS_RESIZE);break;default:i=l;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const o of e)o.hasOwnProperty(t)&&(o[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,o[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var l,a;let s="";const n=(l=this.sharedService)==null?void 0:l.gridOptions,o=(n==null?void 0:n.locales)??R.locales;return i?s=i:n.enableTranslate&&((a=this.translaterService)!=null&&a.translate)?s=this.translaterService.translate(e||" "):t in o?s=o[t]:s=t,s}}class 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 Je{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 bl{constructor(){this.__nonDataRow=!0}}class Ss extends bl{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 mc extends bl{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class fc{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 ji=new fc,gc="slick-edit-preclick";class Sl{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 Ss&&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 Ss&&(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 _c{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 Sl),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 Ss,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 Ss,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 mc;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=yn(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=yn(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;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:i&&n.multiSelect?u=(d=this.selectedRowIds)==null?void 0:d.filter(p=>a.ids.indexOf(p)===-1):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(){return Array.isArray(this.selectedRowIds)?this.filteredItems.filter(t=>this.selectedRowIds.some(i=>t[this.idProperty]===i))||[]:[]}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.2
4
4
  * @author RubaXa <trash@rubaxa.org>
5
5
  * @author owenm <owen23355@gmail.com>
6
6
  * @license MIT
7
- */function yl(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 bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yl(Object(t),!0).forEach(function(i){Cc(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):yl(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function ys(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ys=function(e){return typeof e}:ys=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(r)}function Cc(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Pt(){return Pt=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},Pt.apply(this,arguments)}function vc(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 bc(r,e){if(r==null)return{};var t=vc(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 Sc="1.15.2";function kt(r){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(r)}var Ft=kt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Yi=kt(/Edge/i),El=kt(/firefox/i),Xi=kt(/safari/i)&&!kt(/chrome/i)&&!kt(/android/i),wl=kt(/iP(ad|od|hone)/i),Tl=kt(/chrome/i)&&kt(/android/i),Ol={capture:!1,passive:!1};function re(r,e,t){r.addEventListener(e,t,!Ft&&Ol)}function se(r,e,t){r.removeEventListener(e,t,!Ft&&Ol)}function Es(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 yc(r){return r.host&&r!==document&&r.host.nodeType?r.host:r.parentNode}function pt(r,e,t,i){if(r){t=t||document;do{if(e!=null&&(e[0]===">"?r.parentNode===t&&Es(r,e):Es(r,e))||i&&r===t)return r;if(r===t)break}while(r=yc(r))}return null}var xl=/\s+/g;function et(r,e,t){if(r&&e)if(r.classList)r.classList[t?"add":"remove"](e);else{var i=(" "+r.className+" ").replace(xl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(xl," ")}}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 _i(r,e){var t="";if(typeof r=="string")t=r;else do{var i=$(r,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(r=r.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function Il(r,e,t){if(r){var i=r.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function St(){var r=document.scrollingElement;return r||document.documentElement}function Fe(r,e,t,i,s){if(!(!r.getBoundingClientRect&&r!==window)){var n,o,l,a,h,d,c;if(r!==window&&r.parentNode&&r!==St()?(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,!Ft))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=_i(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 Rl(r,e,t){for(var i=zt(r,!0),s=Fe(r)[e];i;){var n=Fe(i)[t],o=void 0;if(t==="top"||t==="left"?o=s>=n:o=s<=n,!o)return i;if(i===St())break;i=zt(i,!1)}return!1}function Ci(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)&&pt(o[n],t.draggable,r,!1)){if(s===e)return o[n];s++}n++}return null}function Yn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Es(t,e));)t=t.previousElementSibling;return t||null}function at(r,e){var t=0;if(!r||!r.parentNode)return-1;for(;r=r.previousElementSibling;)r.nodeName.toUpperCase()!=="TEMPLATE"&&r!==B.clone&&(!e||Es(r,e))&&t++;return t}function Al(r){var e=0,t=0,i=St();if(r)do{var s=_i(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 Ec(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 zt(r,e){if(!r||!r.getBoundingClientRect)return St();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 St();if(i||e)return t;i=!0}}while(t=t.parentNode);return St()}function wc(r,e){if(r&&e)for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r}function Xn(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 Pl(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 Tc(){clearTimeout(qi),qi=void 0}function kl(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function Fl(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 Dl(r,e,t){var i={};return Array.from(r.children).forEach(function(s){var n,o,l,a;if(!(!pt(s,e.draggable,r,!1)||s.animated||s===t)){var h=Fe(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 tt="Sortable"+new Date().getTime();function Oc(){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:Fe(s)});var n=bt({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=_i(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(Ec(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=Fe(h),u=h.prevFromRect,p=h.prevToRect,m=l.rect,f=_i(h,!0);f&&(c.top-=f.f,c.left-=f.e),h.toRect=c,h.thisAnimationDuration&&Xn(u,c)&&!Xn(d,c)&&(m.top-c.top)/(m.left-c.left)===(d.top-c.top)/(d.left-c.left)&&(a=Ic(m,u,p,s.options)),Xn(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=_i(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=xc(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 xc(r){return r.offsetWidth}function Ic(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 vi=[],qn={initializeByDefault:!0},Ki={mount:function(e){for(var t in qn)qn.hasOwnProperty(t)&&!(t in e)&&(e[t]=qn[t]);vi.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),vi.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";vi.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](bt({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](bt({sortable:t},i)))})},initializePlugins:function(e,t,i,s){vi.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,Pt(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 vi.forEach(function(s){typeof s.eventProperties=="function"&&Pt(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return vi.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function Rc(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[tt],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Ft&&!Yi?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 b=bt(bt({},m),Ki.getEventProperties(i,e));for(var C in b)f[C]=b[C];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var Ac=["evt"],Xe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=bc(i,Ac);Ki.pluginEvent.bind(B)(e,t,bt({dragEl:F,parentEl:Re,ghostEl:j,rootEl:be,nextEl:si,lastDownEl:ws,cloneEl:Oe,cloneHidden:$t,dragStarted:Zi,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:bi,oldDraggableIndex:Qi,newIndex:it,newDraggableIndex:Wt,hideGhostForTarget:zl,unhideGhostForTarget:$l,cloneNowHidden:function(){$t=!0},cloneNowShown:function(){$t=!1},dispatchSortableEvent:function(l){je({sortable:t,name:l,originalEvent:s})}},n))};function je(r){Rc(bt({putSortable:He,cloneEl:Oe,targetEl:F,rootEl:be,oldIndex:bi,oldDraggableIndex:Qi,newIndex:it,newDraggableIndex:Wt},r))}var F,Re,j,be,si,ws,Oe,$t,bi,it,Qi,Wt,Ts,He,Si=!1,Os=!1,xs=[],ni,mt,Kn,Qn,Ml,Nl,Zi,yi,Ji,es=!1,Is=!1,Rs,We,Zn=[],Jn=!1,As=[],Ps=typeof document<"u",ks=wl,Ll=Yi||Ft?"cssFloat":"float",Pc=Ps&&!Tl&&!wl&&"draggable"in document.createElement("div"),Hl=function(){if(Ps){if(Ft)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),Vl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=Ci(e,0,t),o=Ci(e,1,t),l=n&&$(n),a=o&&$(o),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Fe(n).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Fe(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[Ll]==="none"||o&&i[Ll]==="none"&&h+d>s)?"vertical":"horizontal"},kc=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},Fc=function(e,t){var i;return xs.some(function(s){var n=s[tt].options.emptyInsertThreshold;if(!(!n||Yn(s))){var o=Fe(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},Bl=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||ys(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},zl=function(){!Hl&&j&&$(j,"display","none")},$l=function(){!Hl&&j&&$(j,"display","")};Ps&&!Tl&&document.addEventListener("click",function(r){if(Os)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),Os=!1,!1},!0);var ri=function(e){if(F){e=e.touches?e.touches[0]:e;var t=Fc(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[tt]._onDragOver(i)}}},Dc=function(e){F&&F.parentNode[tt]._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=Pt({},e),r[tt]=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 Vl(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&&!Xi,emptyInsertThreshold:5};Ki.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Bl(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:Pc,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)),xs.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Pt(this,Oc())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(yi=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,F):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($c(i),!F&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Xi&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=pt(a,s.draggable,i,!1),!(a&&a.animated)&&ws!==a)){if(bi=at(a),Qi=at(a,s.draggable),typeof d=="function"){if(d.call(this,e,a,this)){je({sortable:t,rootEl:h,name:"filter",targetEl:a,toEl:i,fromEl:i}),Xe("filter",t,{evt:e}),n&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=pt(h,c.trim(),i,!1),c)return je({sortable:t,rootEl:c,name:"filter",targetEl:a,fromEl:i,toEl:i}),Xe("filter",t,{evt:e}),!0}),d)){n&&e.cancelable&&e.preventDefault();return}s.handle&&!pt(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&&!F&&i.parentNode===n){var h=Fe(i);if(be=n,F=i,Re=F.parentNode,si=F.nextSibling,ws=i,Ts=o.group,B.dragged=F,ni={target:F,clientX:(t||e).clientX,clientY:(t||e).clientY},Ml=ni.clientX-h.left,Nl=ni.clientY-h.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,F.style["will-change"]="all",a=function(){if(Xe("delayEnded",s,{evt:e}),B.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!El&&s.nativeDraggable&&(F.draggable=!0),s._triggerDragStart(e,t),je({sortable:s,name:"choose",originalEvent:e}),et(F,o.chosenClass,!0)},o.ignore.split(",").forEach(function(d){Il(F,d.trim(),er)}),re(l,"dragover",ri),re(l,"mousemove",ri),re(l,"touchmove",ri),re(l,"mouseup",s._onDrop),re(l,"touchend",s._onDrop),re(l,"touchcancel",s._onDrop),El&&this.nativeDraggable&&(this.options.touchStartThreshold=4,F.draggable=!0),Xe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Yi||Ft))){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(){F&&er(F),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(F,"dragend",this),re(be,"dragstart",this._onDragStart));try{document.selection?Ds(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Si=!1,be&&F){Xe("dragStarted",this,{evt:t}),this.nativeDraggable&&re(document,"dragover",Dc);var i=this.options;!e&&et(F,i.dragClass,!1),et(F,i.ghostClass,!0),B.active=this,e&&this._appendGhost(),je({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(mt){this._lastX=mt.clientX,this._lastY=mt.clientY,zl();for(var e=document.elementFromPoint(mt.clientX,mt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(mt.clientX,mt.clientY),e!==t);)t=e;if(F.parentNode[tt]._isOutsideThisEl(e),t)do{if(t[tt]){var i=void 0;if(i=t[tt]._onDragOver({clientX:mt.clientX,clientY:mt.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);$l()}},_onTouchMove:function(e){if(ni){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&_i(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=ks&&We&&Al(We),d=(n.clientX-ni.clientX+s.x)/(l||1)+(h?h[0]-Zn[0]:0)/(l||1),c=(n.clientY-ni.clientY+s.y)/(a||1)+(h?h[1]-Zn[1]:0)/(a||1);if(!B.active&&!Si){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-(Kn||0),o.f+=c-(Qn||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),Kn=d,Qn=c,mt=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=Fe(F,!0,ks,!0,e),i=this.options;if(ks){for(We=e;$(We,"position")==="static"&&$(We,"transform")==="none"&&We!==document;)We=We.parentNode;We!==document.body&&We!==document.documentElement?(We===document&&(We=St()),t.top+=We.scrollTop,t.left+=We.scrollLeft):We=St(),Zn=Al(We)}j=F.cloneNode(!0),et(j,i.ghostClass,!1),et(j,i.fallbackClass,!0),et(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",ks?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",Ml/parseInt(j.style.width)*100+"% "+Nl/parseInt(j.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(Xe("dragStart",this,{evt:e}),B.eventCanceled){this._onDrop();return}Xe("setupClone",this),B.eventCanceled||(Oe=Fl(F),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),et(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=Ds(function(){Xe("clone",i),!B.eventCanceled&&(i.options.removeCloneOnHide||be.insertBefore(Oe,F),i._hideClone(),je({sortable:i,name:"clone"}))}),!t&&et(F,n.dragClass,!0),t?(Os=!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,F)),re(document,"drop",i),$(F,"transform","translateZ(0)")),Si=!0,i._dragStartId=Ds(i._dragStarted.bind(i,t,e)),re(document,"selectstart",i),Zi=!0,Xi&&$(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=Ts===a,c=l.sort,u=He||h,p,m=this,f=!1;if(Jn)return;function g(ee,Be){Xe(ee,m,bt({evt:e,isOwner:d,axis:p?"vertical":"horizontal",revert:o,dragRect:s,targetRect:n,canSort:c,fromSortable:u,target:i,completed:b,onMove:function(ge,xe){return Fs(be,t,F,s,ge,Fe(ge),e,xe)},changed:C},Be))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function b(ee){return g("dragOverCompleted",{insertion:ee}),ee&&(d?h._hideClone():h._showClone(m),m!==u&&(et(F,He?He.options.ghostClass:h.options.ghostClass,!1),et(F,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===F&&!F.animated||i===t&&!i.animated)&&(yi=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(F.parentNode[tt]._isOutsideThisEl(e.target),!ee&&ri(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function C(){it=at(F),Wt=at(F,l.draggable),je({sortable:m,name:"change",toEl:t,newIndex:it,newDraggableIndex:Wt,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=pt(i,l.draggable,t,!0),g("dragOver"),B.eventCanceled)return f;if(F.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||m._ignoreWhileAnimating===i)return b(!1);if(Os=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Ts.checkPull(this,h,F,e))&&a.checkPut(this,h,F,e))){if(p=this._getDirection(e,i)==="vertical",s=Fe(F),g("dragOverValid"),B.eventCanceled)return f;if(o)return Re=be,_(),this._hideClone(),g("revert"),B.eventCanceled||(si?be.insertBefore(F,si):be.appendChild(F)),b(!0);var E=Yn(t,l.draggable);if(!E||Hc(e,p,this)&&!E.animated){if(E===F)return b(!1);if(E&&t===e.target&&(i=E),i&&(n=Fe(i)),Fs(be,t,F,s,i,n,e,!!i)!==!1)return _(),E&&E.nextSibling?t.insertBefore(F,E.nextSibling):t.appendChild(F),Re=t,C(),b(!0)}else if(E&&Lc(e,p,this)){var y=Ci(t,0,l,!0);if(y===F)return b(!1);if(i=y,n=Fe(i),Fs(be,t,F,s,i,n,e,!1)!==!1)return _(),t.insertBefore(F,y),Re=t,C(),b(!0)}else if(i.parentNode===t){n=Fe(i);var T=0,x,O=F.parentNode!==t,I=!kc(F.animated&&F.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",k=Rl(i,"top","top")||Rl(F,"top","top"),L=k?k.scrollTop:void 0;yi!==i&&(x=n[A],es=!1,Is=!I&&l.invertSwap||O),T=Vc(e,i,n,p,I?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Is,yi===i);var N;if(T!==0){var W=at(F);do W-=T,N=Re.children[W];while(N&&($(N,"display")==="none"||N===j))}if(T===0||N===i)return b(!1);yi=i,Ji=T;var X=i.nextElementSibling,Z=!1;Z=T===1;var q=Fs(be,t,F,s,i,n,e,Z);if(q!==!1)return(q===1||q===-1)&&(Z=q===1),Jn=!0,setTimeout(Nc,30),_(),Z&&!X?t.appendChild(F):i.parentNode.insertBefore(F,Z?X:i),k&&kl(k,0,L-k.scrollTop),Re=F.parentNode,x!==void 0&&!Is&&(Rs=Math.abs(x-Fe(i)[A])),C(),b(!0)}if(t.contains(F))return b(!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",ri),se(document,"mousemove",ri),se(document,"touchmove",ri)},_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(it=at(F),Wt=at(F,i.draggable),Xe("drop",this,{evt:e}),Re=F&&F.parentNode,it=at(F),Wt=at(F,i.draggable),B.eventCanceled){this._nulling();return}Si=!1,Is=!1,es=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),tr(this.cloneId),tr(this._dragStartId),this.nativeDraggable&&(se(document,"drop",this),se(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Xi&&$(document.body,"user-select",""),$(F,"transform",""),e&&(Zi&&(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),F&&(this.nativeDraggable&&se(F,"dragend",this),er(F),F.style["will-change"]="",Zi&&!Si&&et(F,He?He.options.ghostClass:this.options.ghostClass,!1),et(F,this.options.chosenClass,!1),je({sortable:this,name:"unchoose",toEl:Re,newIndex:null,newDraggableIndex:null,originalEvent:e}),be!==Re?(it>=0&&(je({rootEl:Re,name:"add",toEl:Re,fromEl:be,originalEvent:e}),je({sortable:this,name:"remove",toEl:Re,originalEvent:e}),je({rootEl:Re,name:"sort",toEl:Re,fromEl:be,originalEvent:e}),je({sortable:this,name:"sort",toEl:Re,originalEvent:e})),He&&He.save()):it!==bi&&it>=0&&(je({sortable:this,name:"update",toEl:Re,originalEvent:e}),je({sortable:this,name:"sort",toEl:Re,originalEvent:e})),B.active&&((it==null||it===-1)&&(it=bi,Wt=Qi),je({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Xe("nulling",this),be=F=Re=j=si=Oe=ws=$t=ni=mt=Zi=it=Wt=bi=Qi=yi=Ji=He=Ts=B.dragged=B.ghost=B.clone=B.active=null,As.forEach(function(e){e.checked=!0}),As.length=Kn=Qn=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":F&&(this._onDragOver(e),Mc(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],pt(t,o.draggable,this.el,!1)&&e.push(t.getAttribute(o.dataIdAttr)||zc(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,o){var l=s.children[o];pt(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 pt(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Ki.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Bl(i)},destroy:function(){Xe("destroy",this);var e=this.el;e[tt]=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(),xs.splice(xs.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!$t){if(Xe("hideClone",this),B.eventCanceled)return;$(Oe,"display","none"),this.options.removeCloneOnHide&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),$t=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if($t){if(Xe("showClone",this),B.eventCanceled)return;F.parentNode==be&&!this.options.group.revertClone?be.insertBefore(Oe,F):si?be.insertBefore(Oe,si):be.appendChild(Oe),this.options.group.revertClone&&this.animate(F,Oe),$(Oe,"display",""),$t=!1}}};function Mc(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Fs(r,e,t,i,s,n,o,l){var a,h=r[tt],d=h.options.onMove,c;return window.CustomEvent&&!Ft&&!Yi?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||Fe(e),a.willInsertAfter=l,a.originalEvent=o,r.dispatchEvent(a),d&&(c=d.call(h,a,o)),c}function er(r){r.draggable=!1}function Nc(){Jn=!1}function Lc(r,e,t){var i=Fe(Ci(t.el,0,t.options,!0)),s=Dl(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 Hc(r,e,t){var i=Fe(Yn(t.el,t.options.draggable)),s=Dl(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 Vc(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&&Rs<h*s){if(!es&&(Ji===1?a>d+h*n/2:a<c-h*n/2)&&(es=!0),es)u=!0;else if(Ji===1?a<d+Rs:a>c-Rs)return-Ji}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Bc(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Bc(r){return at(F)<at(r)?1:-1}function zc(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 $c(r){As.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&As.push(i)}}function Ds(r){return setTimeout(r,0)}function tr(r){return clearTimeout(r)}Ps&&re(document,"touchmove",function(r){(B.active||Si)&&r.cancelable&&r.preventDefault()}),B.utils={on:re,off:se,css:$,find:Il,is:function(e,t){return!!pt(e,t,e,!1)},extend:wc,throttle:Pl,closest:pt,toggleClass:et,clone:Fl,index:at,nextTick:Ds,cancelNextTick:tr,detectDirection:Vl,getChild:Ci},B.get=function(r){return r[tt]},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=bt(bt({},B.utils),i.utils)),Ki.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=Sc;var De=[],ts,ir,sr=!1,nr,rr,Ms,is;function Wc(){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)),Wl(),Ns(),Tc()},nulling:function(){Ms=ir=ts=sr=is=nr=rr=null,De.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(Ms=t,i||this.options.forceAutoScrollFallback||Yi||Ft||Xi){or(t,this.options,l,i);var a=zt(l,!0);sr&&(!is||n!==nr||o!==rr)&&(is&&Wl(),is=setInterval(function(){var h=zt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Ns()),or(t,s.options,h,i)},10),nr=n,rr=o)}else{if(!this.options.bubbleScroll||zt(l,!0)===St()){Ns();return}or(t,this.options,zt(l,!1),!1)}}},Pt(r,{pluginName:"scroll",initializeByDefault:!0})}function Ns(){De.forEach(function(r){clearInterval(r.pid)}),De=[]}function Wl(){clearInterval(is)}var or=Pl(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=St(),h=!1,d;ir!==t&&(ir=t,Ns(),ts=e.scroll,d=e.scrollFn,ts===!0&&(ts=zt(t,!0)));var c=0,u=ts;do{var p=u,m=Fe(p),f=m.top,g=m.bottom,_=m.left,b=m.right,C=m.width,E=m.height,y=void 0,T=void 0,x=p.scrollWidth,O=p.scrollHeight,I=$(p),A=p.scrollLeft,k=p.scrollTop;p===a?(y=C<x&&(I.overflowX==="auto"||I.overflowX==="scroll"||I.overflowX==="visible"),T=E<O&&(I.overflowY==="auto"||I.overflowY==="scroll"||I.overflowY==="visible")):(y=C<x&&(I.overflowX==="auto"||I.overflowX==="scroll"),T=E<O&&(I.overflowY==="auto"||I.overflowY==="scroll"));var L=y&&(Math.abs(b-s)<=o&&A+C<x)-(Math.abs(_-s)<=o&&!!A),N=T&&(Math.abs(g-n)<=o&&k+E<O)-(Math.abs(f-n)<=o&&!!k);if(!De[c])for(var W=0;W<=c;W++)De[W]||(De[W]={});(De[c].vx!=L||De[c].vy!=N||De[c].el!==p)&&(De[c].el=p,De[c].vx=L,De[c].vy=N,clearInterval(De[c].pid),(L!=0||N!=0)&&(h=!0,De[c].pid=setInterval((function(){i&&this.layer===0&&B.active._onTouchMove(Ms);var X=De[this.layer].vy?De[this.layer].vy*l:0,Z=De[this.layer].vx?De[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[tt],Z,X,r,Ms,De[this.layer].el)!=="continue"||kl(De[this.layer].el,Z,X)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=zt(u,!1)));sr=h}},30),Gl=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 lr(){}lr.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=Ci(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:Gl},Pt(lr,{pluginName:"revertOnSpill"});function ar(){}ar.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:Gl},Pt(ar,{pluginName:"removeOnSpill"}),B.mount(new Wc),B.mount(ar,lr);function Ul(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",b),e.addEventListener("touchstart",b))}function f(y,T,x){if(typeof y=="function")return y(T,x)}function g(){e&&(e.removeEventListener("mousedown",b),e.removeEventListener("touchstart",b))}function _(y){let T=!1;return o&&o.forEach(x=>{y[x]&&(T=!0)}),T}function b(y){var T;if(l=y.target,!_(y)){const x=((T=y==null?void 0:y.touches)==null?void 0:T[0])??y,{target:O}=x;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const I=bn();a=I.left+x.clientX,h=I.top+x.clientY,d=x.clientX-x.clientX,c=x.clientY-x.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,y,p)!==!1&&(document.body.addEventListener("mousemove",C),document.body.addEventListener("touchmove",C),document.body.addEventListener("mouseup",E),document.body.addEventListener("touchend",E),document.body.addEventListener("touchcancel",E))}}}function C(y){var x;const T=((x=y==null?void 0:y.touches)==null?void 0:x[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 E(y){if(document.body.removeEventListener("mousemove",C),document.body.removeEventListener("touchmove",C),document.body.removeEventListener("mouseup",E),document.body.removeEventListener("touchend",E),document.body.removeEventListener("touchcancel",E),u){const{target:T}=y;p=Object.assign(p,{target:T}),f(n,y,p),u=!1}}return m(),{destroy:g}}function jl(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 Yl(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 Gc{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:ji,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,scrollRenderThrottling:50,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 Ae,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.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_editorLoader=null,this.h_render=null,this.h_postrenderCleanup=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.onDrag=new P("onDrag",n),this.onDblClick=new P("onDblClick",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.onHeaderMouseOver=new P("onHeaderMouseOver",n),this.onHeaderMouseOut=new P("onHeaderMouseOut",n),this.onHeaderMouseLeave=new P("onHeaderMouseLeave",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.finishInitialization()}applyHtmlCode(e,t="",i){if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment){(i==null?void 0:i.emptyTarget)!==!1&&J(e);const n=i!=null&&i.cloneNode?t.cloneNode(!0):t;e.appendChild(n)}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(jl({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))}),Ul&&(this.slickDraggableInstance=Ul({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,{cloneNode:!0}),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=null;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()||me(a.item).left>me(this._viewportScrollContainerX).left,s&&a.originalEvent.pageX>this._container.clientWidth?e||(e=setInterval(t,100)):s&&a.originalEvent.pageX<me(this._viewportScrollContainerX).left?e||(e=setInterval(i,100)):(clearInterval(e),e=null)},onEnd:a=>{var c,u,p;if(clearInterval(e),e=null,!((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 Yl>"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(Yl({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var x;const b=g.touches?g.changedTouches[0]:g;if(!((x=this.getEditorLock())!=null&&x.commitCurrentEdit()))return!1;s=b.pageX,h=0,_.resizeableElement.classList.add("slick-header-column-active");let C=null,E=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(C=0,E=0,e=p+1;e<c.length;e++)i=c[e],i!=null&&i.resizable&&(E!==null&&(i.maxWidth?E+=i.maxWidth-(i.previousWidth||0):E=null),C+=(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));C===null&&(C=1e5),y===null&&(y=1e5),E===null&&(E=1e5),T===null&&(T=1e5),o=s+Math.min(C,T),n=s-Math.min(y,E)},onResize:(g,_)=>{var I;const b=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let C;const E=Math.min(o,Math.max(n,b.pageX))-s;let y,T=0,x=0;const O=this.viewportHasVScroll?this.viewportW-(((I=this.scrollbarDimensions)==null?void 0:I.width)||0):this.viewportW;if(E<0){for(y=E,e=p;e>=0;e--)i=c[e],i&&i.resizable&&!i.hidden&&(C=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<C?(y+=(i.previousWidth||0)-C,i.width=C):(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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?x+=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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0))}else{for(y=E,T=0,x=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,k=this.canvasWidthL+y;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(A>h&&k<O-this._options.frozenRightViewportMinWidth&&(h=A),i.width=k+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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(C=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<C?(y+=(i.previousWidth||0)-C,i.width=C):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?x+=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?x+=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 b=_.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:b}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let C;for(e=0;e<c.length;e++)i=c[e],!(!i||i.hidden||!d[e])&&(C=d[e].offsetWidth,i.previousWidth!==C&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.triggerEvent(this.onColumnsResized,{triggeredByColumn:b}),clearTimeout(this._columnResizeTimer),this._columnResizeTimer=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(){clearTimeout(this._columnResizeTimer),clearTimeout(this._executionBlockTimer),clearTimeout(this._flashCellTimer),clearTimeout(this._highlightRowTimer),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&&vn(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.style.left=`${e}px`,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=this.getSelectedRows().filter(d=>s.indexOf(d)<0),h=s.filter(d=>this.getSelectedRows().indexOf(d)<0);this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:l,changedSelectedRows:a,changedUnselectedRows:h},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&&(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(jl({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 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 f,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=(f=this.data)==null?void 0:f.getItemMetadata)==null?void 0:g.call(f,i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=this.getFrozenRowOffset(i),c=v("div",{className:`slick-widget-content ${a}`,role:"row",style:{top:`${this.getRowTop(i)-d}px`}});let u;e.push(c),this.hasFrozenColumns()&&(u=c.cloneNode(!0),t.push(u));let p,m;for(let _=0,b=this.columns.length;_<b;_++)if(m=this.columns[_],!(!m||m.hidden)){if(p=1,h!=null&&h.columns){const C=h.columns[m.id]||h.columns[_];p=(C==null?void 0:C.colspan)||1,p==="*"&&(p=b-_)}if(this.columnPosRight[Math.min(b-1,_+p-1)]>s.leftPx){if(!m.alwaysRenderColumn&&this.columnPosLeft[_]>s.rightPx)break;this.hasFrozenColumns()&&_>this._options.frozenColumn?this.appendCellHtml(u,i,_,p,o):this.appendCellHtml(c,i,_,p,o)}else(m.alwaysRenderColumn||this.hasFrozenColumns()&&_<=this._options.frozenColumn)&&this.appendCellHtml(c,i,_,p,o);p>1&&(_+=p-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=Zt(h)?h:h.html||h.text;this.applyHtmlCode(m,f)}e.appendChild(m),h.insertElementAfterTarget&&ho(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=""),Zt(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(ds(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.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 b=p[this.columns[f].id]||p[f];o=(b==null?void 0:b.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&&(clearTimeout(this.h_postrender),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=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;w.setStyleSize(this.rowsCache[t].rowNode[0],"top",this.getRowTop(t))})}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(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(e){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.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&&(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,{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,clearTimeout(this._executionBlockTimer),this._executionBlockTimer=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=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=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||(clearTimeout(this._flashCellTimer),this._flashCellTimer=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))),clearTimeout(this._highlightRowTimer),this._highlightRowTimer=setTimeout(()=>{var s;(s=i.rowNode)==null||s.forEach(n=>n.classList.remove(...he(this._options.rowHighlightCssClass)))},t))}handleMouseWheel(e,t,i,s){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10,this._handleScroll(!0)&&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)===gc,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]||this.columns[o].hidden||(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=me(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!Qt(n)||!Qt(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=me(this.activeCellNode);let c=Math.floor(me(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?(clearTimeout(this.h_editorLoader),this.h_editorLoader=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(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(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&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(!Qt(e)&&!Qt(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(!Qt(e)&&!Qt(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 Je(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 Uc{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(gt(o,"innerHTML"))}s=null}}class jc{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new pe,this._bindingEventService=new Ae}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 Qc,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new Xc,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&&ji.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&ji.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=Zt(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 Yc=2e3,Xl=100,Ls=()=>{};class Xc{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,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._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())");if(this._eventHandler.subscribe(s.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()}),e&&typeof((n=this._addonOptions)==null?void 0:n.onBeforePasteCell)=="function"){const o=e==null?void 0:e.getData();this._eventHandler.subscribe(this.onBeforePasteCell,(l,a)=>{var c,u;const h=e.getColumns()[a.cell],d={row:a.row,cell:a.cell,dataView:o,grid:e,columnDef:h,dataContext:e.getDataItem(a.row)};return(u=(c=this._addonOptions).onBeforePasteCell)==null?void 0:u.call(c,l,d)})}}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=gt(this._addonOptions.headerColumnValueExtractor(e),"innerHTML");if(t)return we(t)}return gt(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:Ls,commitChanges:Ls});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:Ls,commitChanges:Ls});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 E;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 y of n)y.startsWith('"')&&y.endsWith('"')?l[o++]=[y.replaceAll(`
7
+ */function yl(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 bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yl(Object(t),!0).forEach(function(i){Cc(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):yl(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function ys(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ys=function(e){return typeof e}:ys=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(r)}function Cc(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Pt(){return Pt=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},Pt.apply(this,arguments)}function vc(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 bc(r,e){if(r==null)return{};var t=vc(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 Sc="1.15.2";function kt(r){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(r)}var Ft=kt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Yi=kt(/Edge/i),El=kt(/firefox/i),Xi=kt(/safari/i)&&!kt(/chrome/i)&&!kt(/android/i),wl=kt(/iP(ad|od|hone)/i),Tl=kt(/chrome/i)&&kt(/android/i),Ol={capture:!1,passive:!1};function re(r,e,t){r.addEventListener(e,t,!Ft&&Ol)}function se(r,e,t){r.removeEventListener(e,t,!Ft&&Ol)}function Es(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 yc(r){return r.host&&r!==document&&r.host.nodeType?r.host:r.parentNode}function pt(r,e,t,i){if(r){t=t||document;do{if(e!=null&&(e[0]===">"?r.parentNode===t&&Es(r,e):Es(r,e))||i&&r===t)return r;if(r===t)break}while(r=yc(r))}return null}var xl=/\s+/g;function et(r,e,t){if(r&&e)if(r.classList)r.classList[t?"add":"remove"](e);else{var i=(" "+r.className+" ").replace(xl," ").replace(" "+e+" "," ");r.className=(i+(t?" "+e:"")).replace(xl," ")}}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 _i(r,e){var t="";if(typeof r=="string")t=r;else do{var i=$(r,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(r=r.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function Il(r,e,t){if(r){var i=r.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function St(){var r=document.scrollingElement;return r||document.documentElement}function Fe(r,e,t,i,s){if(!(!r.getBoundingClientRect&&r!==window)){var n,o,l,a,h,d,c;if(r!==window&&r.parentNode&&r!==St()?(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,!Ft))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=_i(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 Rl(r,e,t){for(var i=zt(r,!0),s=Fe(r)[e];i;){var n=Fe(i)[t],o=void 0;if(t==="top"||t==="left"?o=s>=n:o=s<=n,!o)return i;if(i===St())break;i=zt(i,!1)}return!1}function Ci(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)&&pt(o[n],t.draggable,r,!1)){if(s===e)return o[n];s++}n++}return null}function Yn(r,e){for(var t=r.lastElementChild;t&&(t===B.ghost||$(t,"display")==="none"||e&&!Es(t,e));)t=t.previousElementSibling;return t||null}function at(r,e){var t=0;if(!r||!r.parentNode)return-1;for(;r=r.previousElementSibling;)r.nodeName.toUpperCase()!=="TEMPLATE"&&r!==B.clone&&(!e||Es(r,e))&&t++;return t}function Al(r){var e=0,t=0,i=St();if(r)do{var s=_i(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 Ec(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 zt(r,e){if(!r||!r.getBoundingClientRect)return St();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 St();if(i||e)return t;i=!0}}while(t=t.parentNode);return St()}function wc(r,e){if(r&&e)for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r}function Xn(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 Pl(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 Tc(){clearTimeout(qi),qi=void 0}function kl(r,e,t){r.scrollLeft+=e,r.scrollTop+=t}function Fl(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 Dl(r,e,t){var i={};return Array.from(r.children).forEach(function(s){var n,o,l,a;if(!(!pt(s,e.draggable,r,!1)||s.animated||s===t)){var h=Fe(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 tt="Sortable"+new Date().getTime();function Oc(){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:Fe(s)});var n=bt({},r[r.length-1].rect);if(s.thisAnimationDuration){var o=_i(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(Ec(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=Fe(h),u=h.prevFromRect,p=h.prevToRect,m=l.rect,f=_i(h,!0);f&&(c.top-=f.f,c.left-=f.e),h.toRect=c,h.thisAnimationDuration&&Xn(u,c)&&!Xn(d,c)&&(m.top-c.top)/(m.left-c.left)===(d.top-c.top)/(d.left-c.left)&&(a=Ic(m,u,p,s.options)),Xn(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=_i(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=xc(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 xc(r){return r.offsetWidth}function Ic(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 vi=[],qn={initializeByDefault:!0},Ki={mount:function(e){for(var t in qn)qn.hasOwnProperty(t)&&!(t in e)&&(e[t]=qn[t]);vi.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),vi.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";vi.forEach(function(o){t[o.pluginName]&&(t[o.pluginName][n]&&t[o.pluginName][n](bt({sortable:t},i)),t.options[o.pluginName]&&t[o.pluginName][e]&&t[o.pluginName][e](bt({sortable:t},i)))})},initializePlugins:function(e,t,i,s){vi.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,Pt(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 vi.forEach(function(s){typeof s.eventProperties=="function"&&Pt(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return vi.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function Rc(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[tt],!!e){var f,g=e.options,_="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Ft&&!Yi?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 b=bt(bt({},m),Ki.getEventProperties(i,e));for(var C in b)f[C]=b[C];t&&t.dispatchEvent(f),g[_]&&g[_].call(e,f)}}var Ac=["evt"],Xe=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=bc(i,Ac);Ki.pluginEvent.bind(B)(e,t,bt({dragEl:F,parentEl:Re,ghostEl:j,rootEl:be,nextEl:si,lastDownEl:ws,cloneEl:Oe,cloneHidden:$t,dragStarted:Zi,putSortable:He,activeSortable:B.active,originalEvent:s,oldIndex:bi,oldDraggableIndex:Qi,newIndex:it,newDraggableIndex:Wt,hideGhostForTarget:zl,unhideGhostForTarget:$l,cloneNowHidden:function(){$t=!0},cloneNowShown:function(){$t=!1},dispatchSortableEvent:function(l){je({sortable:t,name:l,originalEvent:s})}},n))};function je(r){Rc(bt({putSortable:He,cloneEl:Oe,targetEl:F,rootEl:be,oldIndex:bi,oldDraggableIndex:Qi,newIndex:it,newDraggableIndex:Wt},r))}var F,Re,j,be,si,ws,Oe,$t,bi,it,Qi,Wt,Ts,He,Si=!1,Os=!1,xs=[],ni,mt,Kn,Qn,Ml,Nl,Zi,yi,Ji,es=!1,Is=!1,Rs,We,Zn=[],Jn=!1,As=[],Ps=typeof document<"u",ks=wl,Ll=Yi||Ft?"cssFloat":"float",Pc=Ps&&!Tl&&!wl&&"draggable"in document.createElement("div"),Hl=function(){if(Ps){if(Ft)return!1;var r=document.createElement("x");return r.style.cssText="pointer-events:auto",r.style.pointerEvents==="auto"}}(),Vl=function(e,t){var i=$(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=Ci(e,0,t),o=Ci(e,1,t),l=n&&$(n),a=o&&$(o),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Fe(n).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Fe(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[Ll]==="none"||o&&i[Ll]==="none"&&h+d>s)?"vertical":"horizontal"},kc=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},Fc=function(e,t){var i;return xs.some(function(s){var n=s[tt].options.emptyInsertThreshold;if(!(!n||Yn(s))){var o=Fe(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},Bl=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||ys(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},zl=function(){!Hl&&j&&$(j,"display","none")},$l=function(){!Hl&&j&&$(j,"display","")};Ps&&!Tl&&document.addEventListener("click",function(r){if(Os)return r.preventDefault(),r.stopPropagation&&r.stopPropagation(),r.stopImmediatePropagation&&r.stopImmediatePropagation(),Os=!1,!1},!0);var ri=function(e){if(F){e=e.touches?e.touches[0]:e;var t=Fc(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[tt]._onDragOver(i)}}},Dc=function(e){F&&F.parentNode[tt]._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=Pt({},e),r[tt]=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 Vl(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&&!Xi,emptyInsertThreshold:5};Ki.initializePlugins(this,r,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Bl(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:Pc,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)),xs.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Pt(this,Oc())}B.prototype={constructor:B,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(yi=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,F):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($c(i),!F&&!(/mousedown|pointerdown/.test(o)&&e.button!==0||s.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&Xi&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=pt(a,s.draggable,i,!1),!(a&&a.animated)&&ws!==a)){if(bi=at(a),Qi=at(a,s.draggable),typeof d=="function"){if(d.call(this,e,a,this)){je({sortable:t,rootEl:h,name:"filter",targetEl:a,toEl:i,fromEl:i}),Xe("filter",t,{evt:e}),n&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=pt(h,c.trim(),i,!1),c)return je({sortable:t,rootEl:c,name:"filter",targetEl:a,fromEl:i,toEl:i}),Xe("filter",t,{evt:e}),!0}),d)){n&&e.cancelable&&e.preventDefault();return}s.handle&&!pt(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&&!F&&i.parentNode===n){var h=Fe(i);if(be=n,F=i,Re=F.parentNode,si=F.nextSibling,ws=i,Ts=o.group,B.dragged=F,ni={target:F,clientX:(t||e).clientX,clientY:(t||e).clientY},Ml=ni.clientX-h.left,Nl=ni.clientY-h.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,F.style["will-change"]="all",a=function(){if(Xe("delayEnded",s,{evt:e}),B.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!El&&s.nativeDraggable&&(F.draggable=!0),s._triggerDragStart(e,t),je({sortable:s,name:"choose",originalEvent:e}),et(F,o.chosenClass,!0)},o.ignore.split(",").forEach(function(d){Il(F,d.trim(),er)}),re(l,"dragover",ri),re(l,"mousemove",ri),re(l,"touchmove",ri),re(l,"mouseup",s._onDrop),re(l,"touchend",s._onDrop),re(l,"touchcancel",s._onDrop),El&&this.nativeDraggable&&(this.options.touchStartThreshold=4,F.draggable=!0),Xe("delayStart",this,{evt:e}),o.delay&&(!o.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Yi||Ft))){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(){F&&er(F),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(F,"dragend",this),re(be,"dragstart",this._onDragStart));try{document.selection?Ds(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Si=!1,be&&F){Xe("dragStarted",this,{evt:t}),this.nativeDraggable&&re(document,"dragover",Dc);var i=this.options;!e&&et(F,i.dragClass,!1),et(F,i.ghostClass,!0),B.active=this,e&&this._appendGhost(),je({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(mt){this._lastX=mt.clientX,this._lastY=mt.clientY,zl();for(var e=document.elementFromPoint(mt.clientX,mt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(mt.clientX,mt.clientY),e!==t);)t=e;if(F.parentNode[tt]._isOutsideThisEl(e),t)do{if(t[tt]){var i=void 0;if(i=t[tt]._onDragOver({clientX:mt.clientX,clientY:mt.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);$l()}},_onTouchMove:function(e){if(ni){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,o=j&&_i(j,!0),l=j&&o&&o.a,a=j&&o&&o.d,h=ks&&We&&Al(We),d=(n.clientX-ni.clientX+s.x)/(l||1)+(h?h[0]-Zn[0]:0)/(l||1),c=(n.clientY-ni.clientY+s.y)/(a||1)+(h?h[1]-Zn[1]:0)/(a||1);if(!B.active&&!Si){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-(Kn||0),o.f+=c-(Qn||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),Kn=d,Qn=c,mt=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!j){var e=this.options.fallbackOnBody?document.body:be,t=Fe(F,!0,ks,!0,e),i=this.options;if(ks){for(We=e;$(We,"position")==="static"&&$(We,"transform")==="none"&&We!==document;)We=We.parentNode;We!==document.body&&We!==document.documentElement?(We===document&&(We=St()),t.top+=We.scrollTop,t.left+=We.scrollLeft):We=St(),Zn=Al(We)}j=F.cloneNode(!0),et(j,i.ghostClass,!1),et(j,i.fallbackClass,!0),et(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",ks?"absolute":"fixed"),$(j,"zIndex","100000"),$(j,"pointerEvents","none"),B.ghost=j,e.appendChild(j),$(j,"transform-origin",Ml/parseInt(j.style.width)*100+"% "+Nl/parseInt(j.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(Xe("dragStart",this,{evt:e}),B.eventCanceled){this._onDrop();return}Xe("setupClone",this),B.eventCanceled||(Oe=Fl(F),Oe.removeAttribute("id"),Oe.draggable=!1,Oe.style["will-change"]="",this._hideClone(),et(Oe,this.options.chosenClass,!1),B.clone=Oe),i.cloneId=Ds(function(){Xe("clone",i),!B.eventCanceled&&(i.options.removeCloneOnHide||be.insertBefore(Oe,F),i._hideClone(),je({sortable:i,name:"clone"}))}),!t&&et(F,n.dragClass,!0),t?(Os=!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,F)),re(document,"drop",i),$(F,"transform","translateZ(0)")),Si=!0,i._dragStartId=Ds(i._dragStarted.bind(i,t,e)),re(document,"selectstart",i),Zi=!0,Xi&&$(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=Ts===a,c=l.sort,u=He||h,p,m=this,f=!1;if(Jn)return;function g(ee,Be){Xe(ee,m,bt({evt:e,isOwner:d,axis:p?"vertical":"horizontal",revert:o,dragRect:s,targetRect:n,canSort:c,fromSortable:u,target:i,completed:b,onMove:function(ge,xe){return Fs(be,t,F,s,ge,Fe(ge),e,xe)},changed:C},Be))}function _(){g("dragOverAnimationCapture"),m.captureAnimationState(),m!==u&&u.captureAnimationState()}function b(ee){return g("dragOverCompleted",{insertion:ee}),ee&&(d?h._hideClone():h._showClone(m),m!==u&&(et(F,He?He.options.ghostClass:h.options.ghostClass,!1),et(F,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===F&&!F.animated||i===t&&!i.animated)&&(yi=null),!l.dragoverBubble&&!e.rootEl&&i!==document&&(F.parentNode[tt]._isOutsideThisEl(e.target),!ee&&ri(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function C(){it=at(F),Wt=at(F,l.draggable),je({sortable:m,name:"change",toEl:t,newIndex:it,newDraggableIndex:Wt,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=pt(i,l.draggable,t,!0),g("dragOver"),B.eventCanceled)return f;if(F.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||m._ignoreWhileAnimating===i)return b(!1);if(Os=!1,h&&!l.disabled&&(d?c||(o=Re!==be):He===this||(this.lastPutMode=Ts.checkPull(this,h,F,e))&&a.checkPut(this,h,F,e))){if(p=this._getDirection(e,i)==="vertical",s=Fe(F),g("dragOverValid"),B.eventCanceled)return f;if(o)return Re=be,_(),this._hideClone(),g("revert"),B.eventCanceled||(si?be.insertBefore(F,si):be.appendChild(F)),b(!0);var E=Yn(t,l.draggable);if(!E||Hc(e,p,this)&&!E.animated){if(E===F)return b(!1);if(E&&t===e.target&&(i=E),i&&(n=Fe(i)),Fs(be,t,F,s,i,n,e,!!i)!==!1)return _(),E&&E.nextSibling?t.insertBefore(F,E.nextSibling):t.appendChild(F),Re=t,C(),b(!0)}else if(E&&Lc(e,p,this)){var y=Ci(t,0,l,!0);if(y===F)return b(!1);if(i=y,n=Fe(i),Fs(be,t,F,s,i,n,e,!1)!==!1)return _(),t.insertBefore(F,y),Re=t,C(),b(!0)}else if(i.parentNode===t){n=Fe(i);var T=0,x,O=F.parentNode!==t,I=!kc(F.animated&&F.toRect||s,i.animated&&i.toRect||n,p),A=p?"top":"left",k=Rl(i,"top","top")||Rl(F,"top","top"),L=k?k.scrollTop:void 0;yi!==i&&(x=n[A],es=!1,Is=!I&&l.invertSwap||O),T=Vc(e,i,n,p,I?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,Is,yi===i);var N;if(T!==0){var W=at(F);do W-=T,N=Re.children[W];while(N&&($(N,"display")==="none"||N===j))}if(T===0||N===i)return b(!1);yi=i,Ji=T;var X=i.nextElementSibling,Z=!1;Z=T===1;var q=Fs(be,t,F,s,i,n,e,Z);if(q!==!1)return(q===1||q===-1)&&(Z=q===1),Jn=!0,setTimeout(Nc,30),_(),Z&&!X?t.appendChild(F):i.parentNode.insertBefore(F,Z?X:i),k&&kl(k,0,L-k.scrollTop),Re=F.parentNode,x!==void 0&&!Is&&(Rs=Math.abs(x-Fe(i)[A])),C(),b(!0)}if(t.contains(F))return b(!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",ri),se(document,"mousemove",ri),se(document,"touchmove",ri)},_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(it=at(F),Wt=at(F,i.draggable),Xe("drop",this,{evt:e}),Re=F&&F.parentNode,it=at(F),Wt=at(F,i.draggable),B.eventCanceled){this._nulling();return}Si=!1,Is=!1,es=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),tr(this.cloneId),tr(this._dragStartId),this.nativeDraggable&&(se(document,"drop",this),se(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Xi&&$(document.body,"user-select",""),$(F,"transform",""),e&&(Zi&&(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),F&&(this.nativeDraggable&&se(F,"dragend",this),er(F),F.style["will-change"]="",Zi&&!Si&&et(F,He?He.options.ghostClass:this.options.ghostClass,!1),et(F,this.options.chosenClass,!1),je({sortable:this,name:"unchoose",toEl:Re,newIndex:null,newDraggableIndex:null,originalEvent:e}),be!==Re?(it>=0&&(je({rootEl:Re,name:"add",toEl:Re,fromEl:be,originalEvent:e}),je({sortable:this,name:"remove",toEl:Re,originalEvent:e}),je({rootEl:Re,name:"sort",toEl:Re,fromEl:be,originalEvent:e}),je({sortable:this,name:"sort",toEl:Re,originalEvent:e})),He&&He.save()):it!==bi&&it>=0&&(je({sortable:this,name:"update",toEl:Re,originalEvent:e}),je({sortable:this,name:"sort",toEl:Re,originalEvent:e})),B.active&&((it==null||it===-1)&&(it=bi,Wt=Qi),je({sortable:this,name:"end",toEl:Re,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Xe("nulling",this),be=F=Re=j=si=Oe=ws=$t=ni=mt=Zi=it=Wt=bi=Qi=yi=Ji=He=Ts=B.dragged=B.ghost=B.clone=B.active=null,As.forEach(function(e){e.checked=!0}),As.length=Kn=Qn=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":F&&(this._onDragOver(e),Mc(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],pt(t,o.draggable,this.el,!1)&&e.push(t.getAttribute(o.dataIdAttr)||zc(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,o){var l=s.children[o];pt(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 pt(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Ki.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Bl(i)},destroy:function(){Xe("destroy",this);var e=this.el;e[tt]=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(),xs.splice(xs.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!$t){if(Xe("hideClone",this),B.eventCanceled)return;$(Oe,"display","none"),this.options.removeCloneOnHide&&Oe.parentNode&&Oe.parentNode.removeChild(Oe),$t=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if($t){if(Xe("showClone",this),B.eventCanceled)return;F.parentNode==be&&!this.options.group.revertClone?be.insertBefore(Oe,F):si?be.insertBefore(Oe,si):be.appendChild(Oe),this.options.group.revertClone&&this.animate(F,Oe),$(Oe,"display",""),$t=!1}}};function Mc(r){r.dataTransfer&&(r.dataTransfer.dropEffect="move"),r.cancelable&&r.preventDefault()}function Fs(r,e,t,i,s,n,o,l){var a,h=r[tt],d=h.options.onMove,c;return window.CustomEvent&&!Ft&&!Yi?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||Fe(e),a.willInsertAfter=l,a.originalEvent=o,r.dispatchEvent(a),d&&(c=d.call(h,a,o)),c}function er(r){r.draggable=!1}function Nc(){Jn=!1}function Lc(r,e,t){var i=Fe(Ci(t.el,0,t.options,!0)),s=Dl(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 Hc(r,e,t){var i=Fe(Yn(t.el,t.options.draggable)),s=Dl(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 Vc(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&&Rs<h*s){if(!es&&(Ji===1?a>d+h*n/2:a<c-h*n/2)&&(es=!0),es)u=!0;else if(Ji===1?a<d+Rs:a>c-Rs)return-Ji}else if(a>d+h*(1-s)/2&&a<c-h*(1-s)/2)return Bc(e)}return u=u||o,u&&(a<d+h*n/2||a>c-h*n/2)?a>d+h/2?1:-1:0}function Bc(r){return at(F)<at(r)?1:-1}function zc(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 $c(r){As.length=0;for(var e=r.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&As.push(i)}}function Ds(r){return setTimeout(r,0)}function tr(r){return clearTimeout(r)}Ps&&re(document,"touchmove",function(r){(B.active||Si)&&r.cancelable&&r.preventDefault()}),B.utils={on:re,off:se,css:$,find:Il,is:function(e,t){return!!pt(e,t,e,!1)},extend:wc,throttle:Pl,closest:pt,toggleClass:et,clone:Fl,index:at,nextTick:Ds,cancelNextTick:tr,detectDirection:Vl,getChild:Ci},B.get=function(r){return r[tt]},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=bt(bt({},B.utils),i.utils)),Ki.mount(i)})},B.create=function(r,e){return new B(r,e)},B.version=Sc;var De=[],ts,ir,sr=!1,nr,rr,Ms,is;function Wc(){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)),Wl(),Ns(),Tc()},nulling:function(){Ms=ir=ts=sr=is=nr=rr=null,De.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(Ms=t,i||this.options.forceAutoScrollFallback||Yi||Ft||Xi){or(t,this.options,l,i);var a=zt(l,!0);sr&&(!is||n!==nr||o!==rr)&&(is&&Wl(),is=setInterval(function(){var h=zt(document.elementFromPoint(n,o),!0);h!==a&&(a=h,Ns()),or(t,s.options,h,i)},10),nr=n,rr=o)}else{if(!this.options.bubbleScroll||zt(l,!0)===St()){Ns();return}or(t,this.options,zt(l,!1),!1)}}},Pt(r,{pluginName:"scroll",initializeByDefault:!0})}function Ns(){De.forEach(function(r){clearInterval(r.pid)}),De=[]}function Wl(){clearInterval(is)}var or=Pl(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=St(),h=!1,d;ir!==t&&(ir=t,Ns(),ts=e.scroll,d=e.scrollFn,ts===!0&&(ts=zt(t,!0)));var c=0,u=ts;do{var p=u,m=Fe(p),f=m.top,g=m.bottom,_=m.left,b=m.right,C=m.width,E=m.height,y=void 0,T=void 0,x=p.scrollWidth,O=p.scrollHeight,I=$(p),A=p.scrollLeft,k=p.scrollTop;p===a?(y=C<x&&(I.overflowX==="auto"||I.overflowX==="scroll"||I.overflowX==="visible"),T=E<O&&(I.overflowY==="auto"||I.overflowY==="scroll"||I.overflowY==="visible")):(y=C<x&&(I.overflowX==="auto"||I.overflowX==="scroll"),T=E<O&&(I.overflowY==="auto"||I.overflowY==="scroll"));var L=y&&(Math.abs(b-s)<=o&&A+C<x)-(Math.abs(_-s)<=o&&!!A),N=T&&(Math.abs(g-n)<=o&&k+E<O)-(Math.abs(f-n)<=o&&!!k);if(!De[c])for(var W=0;W<=c;W++)De[W]||(De[W]={});(De[c].vx!=L||De[c].vy!=N||De[c].el!==p)&&(De[c].el=p,De[c].vx=L,De[c].vy=N,clearInterval(De[c].pid),(L!=0||N!=0)&&(h=!0,De[c].pid=setInterval((function(){i&&this.layer===0&&B.active._onTouchMove(Ms);var X=De[this.layer].vy?De[this.layer].vy*l:0,Z=De[this.layer].vx?De[this.layer].vx*l:0;typeof d=="function"&&d.call(B.dragged.parentNode[tt],Z,X,r,Ms,De[this.layer].el)!=="continue"||kl(De[this.layer].el,Z,X)}).bind({layer:c}),24))),c++}while(e.bubbleScroll&&u!==a&&(u=zt(u,!1)));sr=h}},30),Gl=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 lr(){}lr.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=Ci(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:Gl},Pt(lr,{pluginName:"revertOnSpill"});function ar(){}ar.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:Gl},Pt(ar,{pluginName:"removeOnSpill"}),B.mount(new Wc),B.mount(ar,lr);function Ul(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",b),e.addEventListener("touchstart",b))}function f(y,T,x){if(typeof y=="function")return y(T,x)}function g(){e&&(e.removeEventListener("mousedown",b),e.removeEventListener("touchstart",b))}function _(y){let T=!1;return o&&o.forEach(x=>{y[x]&&(T=!0)}),T}function b(y){var T;if(l=y.target,!_(y)){const x=((T=y==null?void 0:y.touches)==null?void 0:T[0])??y,{target:O}=x;if(!r.allowDragFrom||r.allowDragFrom&&l.matches(r.allowDragFrom)||r.allowDragFromClosest&&l.closest(r.allowDragFromClosest)){p.dragHandle=l;const I=bn();a=I.left+x.clientX,h=I.top+x.clientY,d=x.clientX-x.clientX,c=x.clientY-x.clientY,p=Object.assign(p,{deltaX:d,deltaY:c,startX:a,startY:h,target:O}),f(t,y,p)!==!1&&(document.body.addEventListener("mousemove",C),document.body.addEventListener("touchmove",C),document.body.addEventListener("mouseup",E),document.body.addEventListener("touchend",E),document.body.addEventListener("touchcancel",E))}}}function C(y){var x;const T=((x=y==null?void 0:y.touches)==null?void 0:x[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 E(y){if(document.body.removeEventListener("mousemove",C),document.body.removeEventListener("touchmove",C),document.body.removeEventListener("mouseup",E),document.body.removeEventListener("touchend",E),document.body.removeEventListener("touchcancel",E),u){const{target:T}=y;p=Object.assign(p,{target:T}),f(n,y,p),u=!1}}return m(),{destroy:g}}function jl(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 Yl(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 Gc{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:ji,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,scrollRenderThrottling:50,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 Ae,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.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_editorLoader=null,this.h_render=null,this.h_postrenderCleanup=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.onDrag=new P("onDrag",n),this.onDblClick=new P("onDblClick",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.onHeaderMouseOver=new P("onHeaderMouseOver",n),this.onHeaderMouseOut=new P("onHeaderMouseOut",n),this.onHeaderMouseLeave=new P("onHeaderMouseLeave",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.finishInitialization()}applyHtmlCode(e,t="",i){if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment){(i==null?void 0:i.emptyTarget)!==!1&&J(e);const n=i!=null&&i.cloneNode?t.cloneNode(!0):t;e.appendChild(n)}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(jl({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))}),Ul&&(this.slickDraggableInstance=Ul({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,{cloneNode:!0}),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=null;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()||me(a.item).left>me(this._viewportScrollContainerX).left,s&&a.originalEvent.pageX>this._container.clientWidth?e||(e=setInterval(t,100)):s&&a.originalEvent.pageX<me(this._viewportScrollContainerX).left?e||(e=setInterval(i,100)):(clearInterval(e),e=null)},onEnd:a=>{var c,u,p;if(clearInterval(e),e=null,!((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 Yl>"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(Yl({resizeableElement:m,resizeableHandleElement:f,onResizeStart:(g,_)=>{var x;const b=g.touches?g.changedTouches[0]:g;if(!((x=this.getEditorLock())!=null&&x.commitCurrentEdit()))return!1;s=b.pageX,h=0,_.resizeableElement.classList.add("slick-header-column-active");let C=null,E=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(C=0,E=0,e=p+1;e<c.length;e++)i=c[e],i!=null&&i.resizable&&(E!==null&&(i.maxWidth?E+=i.maxWidth-(i.previousWidth||0):E=null),C+=(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));C===null&&(C=1e5),y===null&&(y=1e5),E===null&&(E=1e5),T===null&&(T=1e5),o=s+Math.min(C,T),n=s-Math.min(y,E)},onResize:(g,_)=>{var I;const b=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let C;const E=Math.min(o,Math.max(n,b.pageX))-s;let y,T=0,x=0;const O=this.viewportHasVScroll?this.viewportW-(((I=this.scrollbarDimensions)==null?void 0:I.width)||0):this.viewportW;if(E<0){for(y=E,e=p;e>=0;e--)i=c[e],i&&i.resizable&&!i.hidden&&(C=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<C?(y+=(i.previousWidth||0)-C,i.width=C):(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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?x+=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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(y&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<y?(y-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+y,y=0))}else{for(y=E,T=0,x=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,k=this.canvasWidthL+y;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(A>h&&k<O-this._options.frozenRightViewportMinWidth&&(h=A),i.width=k+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?x+=i.width||0:T+=i.width||0);if(this._options.forceFitColumns)for(y=-E,e=p+1;e<c.length;e++)i=c[e],!(!i||i.hidden)&&i.resizable&&(C=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),y&&(i.previousWidth||0)+y<C?(y+=(i.previousWidth||0)-C,i.width=C):(i.width=(i.previousWidth||0)+y,y=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?x+=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?x+=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 b=_.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:b}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let C;for(e=0;e<c.length;e++)i=c[e],!(!i||i.hidden||!d[e])&&(C=d[e].offsetWidth,i.previousWidth!==C&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.triggerEvent(this.onColumnsResized,{triggeredByColumn:b}),clearTimeout(this._columnResizeTimer),this._columnResizeTimer=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(){clearTimeout(this._columnResizeTimer),clearTimeout(this._executionBlockTimer),clearTimeout(this._flashCellTimer),clearTimeout(this._highlightRowTimer),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&&vn(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=this.getSelectedRows().filter(d=>s.indexOf(d)<0),h=s.filter(d=>this.getSelectedRows().indexOf(d)<0);this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:l,changedSelectedRows:a,changedUnselectedRows:h},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&&(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(jl({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 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 f,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=(f=this.data)==null?void 0:f.getItemMetadata)==null?void 0:g.call(f,i);h!=null&&h.cssClasses&&(a+=` ${h.cssClasses}`);const d=this.getFrozenRowOffset(i),c=v("div",{className:`slick-widget-content ${a}`,role:"row",style:{top:`${this.getRowTop(i)-d}px`}});let u;e.push(c),this.hasFrozenColumns()&&(u=c.cloneNode(!0),t.push(u));let p,m;for(let _=0,b=this.columns.length;_<b;_++)if(m=this.columns[_],!(!m||m.hidden)){if(p=1,h!=null&&h.columns){const C=h.columns[m.id]||h.columns[_];p=(C==null?void 0:C.colspan)||1,p==="*"&&(p=b-_)}if(this.columnPosRight[Math.min(b-1,_+p-1)]>s.leftPx){if(!m.alwaysRenderColumn&&this.columnPosLeft[_]>s.rightPx)break;this.hasFrozenColumns()&&_>this._options.frozenColumn?this.appendCellHtml(u,i,_,p,o):this.appendCellHtml(c,i,_,p,o)}else(m.alwaysRenderColumn||this.hasFrozenColumns()&&_<=this._options.frozenColumn)&&this.appendCellHtml(c,i,_,p,o);p>1&&(_+=p-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=Zt(h)?h:h.html||h.text;this.applyHtmlCode(m,f)}e.appendChild(m),h.insertElementAfterTarget&&ho(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=""),Zt(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(ds(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.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 b=p[this.columns[f].id]||p[f];o=(b==null?void 0:b.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&&(clearTimeout(this.h_postrender),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=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;w.setStyleSize(this.rowsCache[t].rowNode[0],"top",this.getRowTop(t))})}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(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(e){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.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&&(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,{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,clearTimeout(this._executionBlockTimer),this._executionBlockTimer=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=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=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||(clearTimeout(this._flashCellTimer),this._flashCellTimer=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))),clearTimeout(this._highlightRowTimer),this._highlightRowTimer=setTimeout(()=>{var s;(s=i.rowNode)==null||s.forEach(n=>n.classList.remove(...he(this._options.rowHighlightCssClass)))},t))}handleMouseWheel(e,t,i,s){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10,this._handleScroll(!0)&&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)===gc,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]||this.columns[o].hidden||(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=me(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!Qt(n)||!Qt(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=me(this.activeCellNode);let c=Math.floor(me(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?(clearTimeout(this.h_editorLoader),this.h_editorLoader=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(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(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&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(!Qt(e)&&!Qt(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(!Qt(e)&&!Qt(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 Je(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 Uc{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(gt(o,"innerHTML"))}s=null}}class jc{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new pe,this._bindingEventService=new Ae}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 Qc,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new Xc,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&&ji.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&ji.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=Zt(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 Yc=2e3,Xl=100,Ls=()=>{};class Xc{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,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._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())");if(this._eventHandler.subscribe(s.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()}),e&&typeof((n=this._addonOptions)==null?void 0:n.onBeforePasteCell)=="function"){const o=e==null?void 0:e.getData();this._eventHandler.subscribe(this.onBeforePasteCell,(l,a)=>{var c,u;const h=e.getColumns()[a.cell],d={row:a.row,cell:a.cell,dataView:o,grid:e,columnDef:h,dataContext:e.getDataItem(a.row)};return(u=(c=this._addonOptions).onBeforePasteCell)==null?void 0:u.call(c,l,d)})}}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=gt(this._addonOptions.headerColumnValueExtractor(e),"innerHTML");if(t)return we(t)}return gt(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:Ls,commitChanges:Ls});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:Ls,commitChanges:Ls});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 E;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 y of n)y.startsWith('"')&&y.endsWith('"')?l[o++]=[y.replaceAll(`
8
8
  `,this._addonOptions.replaceNewlinesWith||`
9
9
  `).replaceAll("\r","").replaceAll('"',this._addonOptions.removeDoubleQuotesOnPaste?"":'"')]:l[o++]=y.split(" ");const a=this._grid.getActiveCell(),h=(E=this._grid.getSelectionModel())==null?void 0:E.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._grid.getData().length-c;let _=0;if(g<m&&typeof this._addonOptions.newRowCreator=="function"){const y=this._grid.getData();for(_=1;_<=m-g;_++)y.push({});this._grid.setData(y),this._grid.render()}if(c+m>this._grid.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const y=c+m-this._grid.getDataLength();this._addonOptions.newRowCreator(y)}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._grid.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var T;C.h=0;for(let x=0;x<C.destH;x++){C.oldValues[x]=[],C.w=0,C.h++;for(let O=0;O<C.destW;O++){C.w++;const I=c+x,A=u+O;if(I<C.maxDestY&&A<C.maxDestX){const k=this._grid.getDataItem(I);if(this._grid.triggerEvent(this.onBeforePasteCell,{row:I,cell:A,dt:k,column:i[A],target:"grid"}).getReturnValue()===!1)continue;C.oldValues[x][O]=k[i[A].field],p?this.setDataItemValueForColumn(k,i[A],l[0][0]):this.setDataItemValueForColumn(k,i[A],l[x]?l[x][O]:""),this._grid.updateCell(I,A),this._grid.onCellChange.notify({row:I,cell:A,item:k,grid:this._grid,column:{}})}}}const y=new Je(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([y]),(T=this._grid.getSelectionModel())==null||T.setSelectedRanges([y]),this.onPasteCells.notify({ranges:[y]})},undo:()=>{var T;for(let x=0;x<C.destH;x++)for(let O=0;O<C.destW;O++){const I=c+x,A=u+O;if(I<C.maxDestY&&A<C.maxDestX){const k=this._grid.getDataItem(I);p?this.setDataItemValueForColumn(k,i[A],C.oldValues[0][0]):this.setDataItemValueForColumn(k,i[A],C.oldValues[x][O]),this._grid.updateCell(I,A),this._grid.onCellChange.notify({row:I,cell:A,item:k,grid:this._grid,column:{}})}}const y=new Je(c,u,c+C.h-1,u+C.w-1);if(this.markCopySelection([y]),(T=this._grid.getSelectionModel())==null||T.setSelectedRanges([y]),this.onPasteCells.notify({ranges:[y]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new le,{ranges:[y]}),_>1){const x=this._grid.getData();for(;_>1;_--)x.splice(x.length-1,1);this._grid.setData(x),this._grid.render()}}};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._grid.getDataItem(c);if(d.length===0&&this._addonOptions.includeHeaderWhenCopying){const m=[];for(let f=h.fromCell;f<h.toCell+1;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].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
@@ -25,7 +25,7 @@
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},kp=(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},Fp=(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},Dp=(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},Mp=(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},Np=(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},Lp=(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},Hp=(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"}):""},Vp=(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" }}`');return v("i",{className:n,ariaHidden:"true"})},Bp=(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},zp=(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},$p=(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}%`}})},Wp=(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}%`}})},Gp=(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},Up=(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},jp=(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},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.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):""},Xp=(r,e,t,i,s,n)=>{var x,O;const o=n.getOptions(),l=o==null?void 0:o.treeDataOptions,a=(l==null?void 0:l.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,h=(l==null?void 0:l.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,d=(l==null?void 0:l.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP,c=(l==null?void 0:l.exportIndentMarginLeft)??5,u=(l==null?void 0:l.exportIndentationLeadingChar)??".",p=(l==null?void 0:l.exportIndentationLeadingSpaceCount)??3,m=((x=o==null?void 0:o.excelExportOptions)==null?void 0:x.groupCollapsedSymbol)??"⮞",f=((O=o==null?void 0:o.excelExportOptions)==null?void 0:O.groupExpandedSymbol)??"⮟";let g=t;if(g=Mi(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 b="",C=0;s[h]?(b=s!=null&&s[a]?m:f,C=_===0?0:c*_):C=c*(_===0?0:_+1);const E=Vi(C);return l!=null&&l.titleFormatter&&(g=zs(l.titleFormatter,r,e,i,s,n)),g=`${_===0&&b?"":_===0?`${u}${Vi(p)}`:u}${E}${b} ${g}`,we(g)},qp=(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=Mi(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=zs(l.titleFormatter,r,e,i,s,n));const _=`slick-group-toggle ${g}`.trim(),b=v("div",{className:_,ariaExpanded:String(g==="expanded")}),C=v("span",{className:"slick-tree-title"});n.applyHtmlCode(C,u),C.setAttribute("level",p);const E=o!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return E.appendChild(m),E.appendChild(b),E.appendChild(C),{addClasses:f,html:E}},Kp=(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},Qp=(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
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:Ip,arrayToCsv:Zs,checkmarkMaterial:Rp,complex:ka,complexObject:ka,collection:Pp,collectionEditor:Ap,currency:Np,dateIso:ye(S.dateIso,"-"),dateTimeIso:ye(S.dateTimeIso,"-"),dateTimeShortIso:ye(S.dateTimeShortIso,"-"),dateTimeIsoAmPm:ye(S.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:ye(S.dateTimeIsoAM_PM,"-"),dateEuro:ye(S.dateEuro,"/"),dateEuroShort:ye(S.dateEuroShort,"/"),dateTimeEuro:ye(S.dateTimeEuro,"/"),dateTimeEuroShort:ye(S.dateTimeEuroShort,"/"),dateTimeShortEuro:ye(S.dateTimeShortEuro,"/"),dateTimeEuroAmPm:ye(S.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:ye(S.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:ye(S.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:ye(S.dateTimeEuroShortAM_PM,"/"),dateUs:ye(S.dateUs,"/"),dateTimeUs:ye(S.dateTimeUs,"/"),dateTimeShortUs:ye(S.dateTimeShortUs,"/"),dateTimeUsAmPm:ye(S.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:ye(S.dateTimeUsAM_PM,"/"),dateTimeUsShort:ye(S.dateTimeUsShort,"/"),dateTimeUsShortAmPm:ye(S.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:ye(S.dateTimeUsShortAM_PM,"/"),dateUsShort:ye(S.dateUsShort,"/"),dateUtc:ye(S.dateUtc,"-"),decimal:kp,dollar:Fp,dollarColored:Dp,dollarColoredBold:Mp,hyperlink:Lp,icon:Vp,iconBoolean:Hp,mask:Bp,multiple:Bs,percent:zp,percentComplete:Gp,percentCompleteBar:$p,percentCompleteBarWithText:Wp,percentSymbol:Up,progressBar:jp,translate:Yp,translateBoolean:Qp,tree:qp,treeParseTotals:Kp,treeExport:Xp},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=Ot(Math.round(s),c);return`${o}(${m})${l}`}return`${o}(${Lt(s,a,h,d,c)})${l}`}if(isNaN(a)&&isNaN(h)){const m=Ot(Math.round(s),c);return`${o}${m}${l}`}return`${o}${Lt(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=Ot(Math.round(s),c);return`${o}(${m}%)${l}`}return`${o}(${Lt(s,a,h,d,c)}%)${l}`}if(isNaN(a)&&isNaN(h)){const m=Ot(Math.round(s),c);return`${o}${m}%${l}`}return`${o}${Lt(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 Zp{constructor(){this.options=Rr}}const kr={...dh,...ch,...fh,...jh,...wh,deepAssign:Kt};function Jp(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=me(h),c=(h==null?void 0:h.clientWidth)??0,u=(h==null?void 0:h.clientHeight)??0;return{top:(d==null?void 0:d.top)??0,left:(d==null?void 0:d.left)??0,bottom:((d==null?void 0:d.top)??0)+u,right:((d==null?void 0:d.left)??0)+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++}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 b=document.querySelector(".slick-editor-modal");let C=b==null?void 0:b.querySelector(`.item-details-validation.editor-${_.id}`),E=b==null?void 0:b.querySelector(`.item-details-label.editor-${_.id}`),y=b==null?void 0:b.querySelector(`[data-editorid=${_.id}]`);const T=(t==null?void 0:t.validationMsgPrefix)??"";(!u||y!=null&&y.contains(u))&&(p=d[f].validate(),p.valid?C&&(C.textContent="",y==null||y.classList.remove("invalid"),E==null||E.classList.remove("invalid")):(i=d[f],m.push({index:f,editor:d[f],container:e[f],msg:p.msg}),C&&(C.textContent=`${T}${p.msg}`,E==null||E.classList.add("invalid"),y==null||y.classList.add("invalid")))),C=null,E=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 Fa=r=>console.log(r.message);class Fr{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 Ae}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(b=>b.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??"";$e(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??"";$e(this._formValues,l,t)}else this._formValues={...this._formValues,[s]:t};this._formValues=Kt({},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 AutoComplete, Date, MultipleSelect & SingleSelect 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??Fa,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 b=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&&(b=e==null?void 0:e.headerTitleMassSelection)):(this._options.modalType="mass-update",e!=null&&e.headerTitleMassUpdate&&(b=e==null?void 0:e.headerTitleMassUpdate)));const C=this._options.modalType||"edit";if(this.gridOptions.editable)if(this.gridOptions.enableCellNavigation){if(!this.gridOptions.enableAddRow&&(C==="clone"||C==="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&&(C==="clone"||C==="edit"))return t({type:"warning",code:"NO_RECORD_FOUND",message:"No records selected for edit or clone operation."}),null;{const E=C==="mass-update"||C==="mass-selection",y=E?{}:this.grid.getDataItem(g);this._originalDataContext=de(!0,{},y),this._columnDefinitions=this.grid.getColumns();const T=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],x=((n=this.dataView)==null?void 0:n.getItemCount())??0;this._lastActiveRowNumber=g;const O=this.dataView.getAllSelectedIds(),I=C==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,y,f,I,E))return null;if(C==="edit"&&!y)return t({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(C==="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 k=[];E?k=this._columnDefinitions.filter(K=>{var ce;return K.editorClass&&((ce=K.editor)==null?void 0:ce.massUpdate)===!0}):k=this._columnDefinitions.filter(K=>K.editorClass),k.some(K=>{var ce;return((ce=K.editor)==null?void 0:ce.compositeEditorFormOrder)!==void 0})&&k.sort((K,ce)=>{var Mt,M;const ht=((Mt=K==null?void 0:K.editor)==null?void 0:Mt.compositeEditorFormOrder)??1/0,li=((M=ce==null?void 0:ce.editor)==null?void 0:M.compositeEditorFormOrder)??1/0;return Eo(ht,li,ae.asc)});const L=b.replace(/\{\{(.*?)\}\}/g,(K,ce)=>Ee(y,ce)),N=p==="auto"?this.autoCalculateLayoutColumnCount(k.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"&&N>1){const K=N===2?"split-view":"triple-split-view";W.classList.add(K)}const X=v("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(X,L);const Z=v("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((l=X==null?void 0:X.classList)==null||l.add("outside"),(a=Z==null?void 0:Z.classList)==null||a.add("outside"));const q=v("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});q.appendChild(X),q.appendChild(Z);const ee=v("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=v("div",{className:"validation-summary",style:{display:"none"}},ee);const Be=v("div",{className:"slick-editor-modal-footer"}),st=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 ge="",xe="";switch(C){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");ge=this.parseText(K,{x}),xe=this.getLabelText("massUpdateButton","TEXT_APPLY_MASS_UPDATE","Mass Update");break;case"mass-selection":const ce=this.getLabelText("massSelectionStatus","TEXT_X_OF_Y_MASS_SELECTED","{{x}} of {{y}} selected");ge=this.parseText(ce,{x:O.length,y:x}),xe=this.getLabelText("massSelectionButton","TEXT_APPLY_TO_SELECTION","Update Selection");break;default:xe=this.getLabelText("saveButton","TEXT_SAVE","Save")}const Ye=v("div",{className:"footer-status-text",textContent:ge});this._modalSaveButtonElm=v("button",{type:"button",className:"btn btn-save btn-primary btn-sm",ariaLabel:xe,textContent:xe,dataset:{action:C==="create"||C==="edit"?"save":C,ariaLabel:xe}});const Me=v("div",{className:"footer-buttons"});(C==="mass-update"||C==="mass-selection")&&Be.appendChild(Ye),Me.appendChild(st),Me.appendChild(this._modalSaveButtonElm),Be.appendChild(Me),W.appendChild(q),W.appendChild(ee),W.appendChild(Be),this._modalElm.appendChild(W);for(const K of k)if(K.editorClass){const ce=v("div",{className:`item-details-container editor-${K.id}`});N===1?ce.classList.add("slick-col-medium-12"):ce.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/N}`);const ht=v("div",{className:`item-details-label editor-${K.id}`});this.grid.applyHtmlCode(ht,this.getColumnLabel(K)||"n/a");const li=v("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${K.id}`}}),Mt=v("div",{className:`item-details-validation editor-${K.id}`});if((h=this._options)!=null&&h.showResetButtonOnEachEditor){const M=this.createEditorResetButtonElement(`${K.id}`);this._bindEventService.bind(M,"click",this.handleResetInputValue.bind(this)),ht.appendChild(M)}ce.appendChild(ht),ce.appendChild(li),ce.appendChild(Mt),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=k.map(K=>ee.querySelector(`[data-editorid=${K.id}]`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:C,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const Pe=new Jp(k,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(Pe),this._bindEventService.bind(Z,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(st,"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)??Fa)(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 gt(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=Co(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 Dr{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 _,b,C,E;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,x=((b=this.gridOptions)==null?void 0:b.rowHeight)??0,O=this.gridOptions.enableFiltering?((C=this.gridOptions)==null?void 0:C.headerRowHeight)??0:0,I=this.gridOptions.createPreHeaderPanel?((E=this.gridOptions)==null?void 0:E.preHeaderPanelHeight)??0:0;if(e){let A=T!==null&&T<100?T:100;A+=O+I,y.style.minHeight=`${A}px`,l.style.minHeight=`${x}px`}}}let g=n.message;if(this.gridOptions.enableTranslate&&this._translaterService&&(n!=null&&n.messageKey)&&(g=this._translaterService.translate(n.messageKey)),!this._warningLeftElement&&l&&a&&(this._warningLeftElement=document.createElement("div"),this._warningLeftElement.classList.add(...he(o)),this._warningLeftElement.classList.add("left"),this._grid.applyHtmlCode(this._warningLeftElement,g),this._warningRightElement=this._warningLeftElement.cloneNode(!0),this._warningRightElement.classList.add("right"),a.appendChild(this._warningRightElement),l.appendChild(this._warningLeftElement)),this._warningLeftElement){let 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 Da{constructor(e,t,i,s){var n,o,l;if(this.paginationService=e,this.pubSubService=t,this.sharedService=i,this.translaterService=s,this._enableTranslate=!1,this._subscriptions=[],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 Ho,this._bindingEventService=new Ae,this._bindingHelper.querySelectorPrefix=`.${this.gridUid} `,this.currentPagination=this.paginationService.getFullPagination(),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;for(const d of Object.keys(a))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.dispose(),this.renderPagination(this._gridParentContainerElm)}))}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 grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions}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}dispose(){this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),this._bindingHelper.dispose(),this._paginationElement.remove()}renderPagination(e){this._gridParentContainerElm=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=ot(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 Ma={},em=function(r,e,t,i,s){var n=new Worker(Ma[e]||(Ma[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},Le=Uint8Array,qe=Uint16Array,Js=Int32Array,en=new Le([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]),tn=new Le([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]),Mr=new Le([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Na=function(r,e){for(var t=new qe(31),i=0;i<31;++i)t[i]=e+=1<<r[i-1];for(var s=new Js(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}},La=Na(en,2),tm=La.b,sn=La.r;tm[28]=258,sn[258]=28;for(var im=Na(tn,0),Nr=im.r,nn=new qe(32768),Ce=0;Ce<32768;++Ce){var jt=(Ce&43690)>>1|(Ce&21845)<<1;jt=(jt&52428)>>2|(jt&13107)<<2,jt=(jt&61680)>>4|(jt&3855)<<4,nn[Ce]=((jt&65280)>>8|(jt&255)<<8)>>1}for(var Ti=function(r,e,t){for(var i=r.length,s=0,n=new qe(e);s<i;++s)r[s]&&++n[r[s]-1];var o=new qe(e);for(s=1;s<e;++s)o[s]=o[s-1]+n[s-1]<<1;var l;if(t){l=new qe(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[nn[c]>>a]=h}else for(l=new qe(i),s=0;s<i;++s)r[s]&&(l[s]=nn[o[r[s]-1]++]>>15-r[s]);return l},Yt=new Le(288),Ce=0;Ce<144;++Ce)Yt[Ce]=8;for(var Ce=144;Ce<256;++Ce)Yt[Ce]=9;for(var Ce=256;Ce<280;++Ce)Yt[Ce]=7;for(var Ce=280;Ce<288;++Ce)Yt[Ce]=8;for(var rs=new Le(32),Ce=0;Ce<32;++Ce)rs[Ce]=5;var Ha=Ti(Yt,9,0),Va=Ti(rs,5,0),Lr=function(r){return(r+7)/8|0},Hr=function(r,e,t){return(e==null||e<0)&&(e=0),(t==null||t>r.length)&&(t=r.length),new Le(r.subarray(e,t))},sm=["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"],Oi=function(r,e,t){var i=new Error(e||sm[r]);if(i.code=r,Error.captureStackTrace&&Error.captureStackTrace(i,Oi),!t)throw i;return i},Et=function(r,e,t){t<<=e&7;var i=e/8|0;r[i]|=t,r[i+1]|=t>>8},xi=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},rn=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:$r,l:0};if(s==1){var o=new Le(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 qe(u+1),m=on(t[d-1],p,0);if(m>e){var i=0,f=0,g=m-e,_=1<<g;for(n.sort(function(T,x){return p[x.s]-p[T.s]||T.f-x.f});i<s;++i){var b=n[i].s;if(p[b]>e)f+=_-(1<<m-p[b]),p[b]=e;else break}for(f>>=g;f>0;){var C=n[i].s;p[C]<e?f-=1<<e-p[C]++-1:++i}for(;i>=0&&f;--i){var E=n[i].s;p[E]==e&&(--p[E],++f)}m=e}return{t:new Le(p),l:m}},on=function(r,e,t){return r.s==-1?Math.max(on(r.l,e,t+1),on(r.r,e,t+1)):e[r.s]=t},Vr=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new qe(++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}},Ii=function(r,e){for(var t=0,i=0;i<e.length;++i)t+=r[i]*e[i];return t},Br=function(r,e,t){var i=t.length,s=Lr(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},zr=function(r,e,t,i,s,n,o,l,a,h,d){Et(e,d++,t),++s[256];for(var c=rn(s,15),u=c.t,p=c.l,m=rn(n,15),f=m.t,g=m.l,_=Vr(u),b=_.c,C=_.n,E=Vr(f),y=E.c,T=E.n,x=new qe(19),O=0;O<b.length;++O)++x[b[O]&31];for(var O=0;O<y.length;++O)++x[y[O]&31];for(var I=rn(x,7),A=I.t,k=I.l,L=19;L>4&&!A[Mr[L-1]];--L);var N=h+5<<3,W=Ii(s,Yt)+Ii(n,rs)+o,X=Ii(s,u)+Ii(n,f)+o+14+3*L+Ii(x,A)+2*x[16]+3*x[17]+7*x[18];if(a>=0&&N<=W&&N<=X)return Br(e,d,r.subarray(a,a+h));var Z,q,ee,Be;if(Et(e,d,1+(X<W)),d+=2,X<W){Z=Ti(u,p,0),q=u,ee=Ti(f,g,0),Be=f;var st=Ti(A,k,0);Et(e,d,C-257),Et(e,d+5,T-1),Et(e,d+10,L-4),d+=14;for(var O=0;O<L;++O)Et(e,d+3*O,A[Mr[O]]);d+=3*L;for(var ge=[b,y],xe=0;xe<2;++xe)for(var Ye=ge[xe],O=0;O<Ye.length;++O){var Me=Ye[O]&31;Et(e,d,st[Me]),d+=A[Me],Me>15&&(Et(e,d,Ye[O]>>5&127),d+=Ye[O]>>12)}}else Z=Ha,q=Yt,ee=Va,Be=rs;for(var O=0;O<l;++O){var Pe=i[O];if(Pe>255){var Me=Pe>>18&31;xi(e,d,Z[Me+257]),d+=q[Me+257],Me>7&&(Et(e,d,Pe>>23&31),d+=en[Me]);var K=Pe&31;xi(e,d,ee[K]),d+=Be[K],K>3&&(xi(e,d,Pe>>5&8191),d+=tn[K])}else xi(e,d,Z[Pe]),d+=q[Pe]}return xi(e,d,Z[256]),d+q[256]},Ba=new Js([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),$r=new Le(0),za=function(r,e,t,i,s,n){var o=n.z||r.length,l=new Le(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=Ba[e-1],u=c>>13,p=c&8191,m=(1<<t)-1,f=n.p||new qe(32768),g=n.h||new qe(m+1),_=Math.ceil(t/3),b=2*_,C=function(Ue){return(r[Ue]^r[Ue+1]<<_^r[Ue+2]<<b)&m},E=new Js(25e3),y=new qe(288),T=new qe(32),x=0,O=0,I=n.i||0,A=0,k=n.w||0,L=0;I+2<o;++I){var N=C(I),W=I&32767,X=g[N];if(f[W]=X,g[N]=W,k<=I){var Z=o-I;if((x>7e3||A>24576)&&(Z>423||!h)){d=zr(r,a,0,E,y,T,O,A,L,I-L,d),A=x=O=0,L=I;for(var q=0;q<286;++q)y[q]=0;for(var q=0;q<30;++q)T[q]=0}var ee=2,Be=0,st=p,ge=W-X&32767;if(Z>2&&N==C(I-ge))for(var xe=Math.min(u,Z)-1,Ye=Math.min(32767,I),Me=Math.min(258,Z);ge<=Ye&&--st&&W!=X;){if(r[I+ee]==r[I+ee-ge]){for(var Pe=0;Pe<Me&&r[I+Pe]==r[I+Pe-ge];++Pe);if(Pe>ee){if(ee=Pe,Be=ge,Pe>xe)break;for(var K=Math.min(ge,Pe-2),ce=0,q=0;q<K;++q){var ht=I-ge+q&32767,li=f[ht],Mt=ht-li&32767;Mt>ce&&(ce=Mt,X=ht)}}}W=X,X=f[W],ge+=W-X&32767}if(Be){E[A++]=268435456|sn[ee]<<18|Nr[Be];var M=sn[ee]&31,te=Nr[Be]&31;O+=en[M]+tn[te],++y[257+M],++T[te],k=I+ee,++x}else E[A++]=r[I],++y[r[I]]}}for(I=Math.max(I,k);I<o;++I)E[A++]=r[I],++y[r[I]];d=zr(r,a,h,E,y,T,O,A,L,I-L,d),h||(n.r=d&7|a[d/8|0]<<3,d-=7,n.h=g,n.p=f,n.i=I,n.w=k)}else{for(var I=n.w||0;I<o+h;I+=65535){var Ne=I+65535;Ne>=o&&(a[d/8|0]=h,Ne=o),d=Br(a,d+1,r.subarray(I,Ne))}n.i=o}return Hr(l,0,i+Lr(d)+s)},nm=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}(),rm=function(){var r=-1;return{p:function(e){for(var t=r,i=0;i<e.length;++i)t=nm[t&255^e[i]]^t>>>8;r=t},d:function(){return~r}}},$a=function(r,e,t,i,s){if(!s&&(s={l:1},e.dictionary)){var n=e.dictionary.subarray(-32768),o=new Le(n.length+r.length);o.set(n),o.set(r,n.length),r=o,s.w=n.length}return za(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)},Wr=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},Wa=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},ln=[],om=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},lm=function(r,e,t,i){if(!ln[t]){for(var s="",n={},o=r.length-1,l=0;l<o;++l)s=Wa(r[l],s,n);ln[t]={c:Wa(r[o],s,n),e:n}}var a=Wr({},ln[t].e);return em(ln[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+e.toString()+"}",t,a,om(a),i)},am=function(){return[Le,qe,Js,en,tn,Mr,sn,Nr,Ha,Yt,Va,rs,nn,Ba,$r,Ti,Et,xi,rn,on,Vr,Ii,Br,zr,Lr,Hr,za,$a,Gr,Ga]},Ga=function(r){return postMessage(r,[r.buffer])},hm=function(r,e,t,i,s,n){var o=lm(t,i,s,function(l,a){o.terminate(),n(l,a)});return o.postMessage([r,e],e.consume?[r.buffer]:[]),function(){o.terminate()}},Ve=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function dm(r,e,t){return t||(t=e,e={}),typeof t!="function"&&Oi(7),hm(r,e,[am],function(i){return Ga(Gr(i.data[0],i.data[1]))},0,t)}function Gr(r,e){return $a(r,e||{},0,0)}var Ua=function(r,e,t,i){for(var s in r){var n=r[s],o=e+s,l=i;Array.isArray(n)&&(l=Wr(i,n[1]),n=n[0]),n instanceof Le?t[o]=[n,l]:(t[o+="/"]=[new Le(0),l],Ua(n,o,t,i))}},ja=typeof TextEncoder<"u"&&new TextEncoder,cm=typeof TextDecoder<"u"&&new TextDecoder,um=0;try{cm.decode($r,{stream:!0}),um=1}catch{}function Ur(r,e){if(e){for(var t=new Le(r.length),i=0;i<r.length;++i)t[i]=r.charCodeAt(i);return t}if(ja)return ja.encode(r);for(var s=r.length,n=new Le(r.length+(r.length>>1)),o=0,l=function(d){n[o++]=d},i=0;i<s;++i){if(o+5>n.length){var a=new Le(o+8+(s-i<<1));a.set(n),n=a}var h=r.charCodeAt(i);h<128||e?l(h):h<2048?(l(192|h>>6),l(128|h&63)):h>55295&&h<57344?(h=65536+(h&1047552)|r.charCodeAt(++i)&1023,l(240|h>>18),l(128|h>>12&63),l(128|h>>6&63),l(128|h&63)):(l(224|h>>12),l(128|h>>6&63),l(128|h&63))}return Hr(n,0,o)}var jr=function(r){var e=0;if(r)for(var t in r){var i=r[t].length;i>65535&&Oi(9),e+=i+4}return e},Ya=function(r,e,t,i,s,n,o,l){var a=i.length,h=t.extra,d=l&&l.length,c=jr(h);Ve(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)&&Oi(10),Ve(r,e,p<<25|u.getMonth()+1<<21|u.getDate()<<16|u.getHours()<<11|u.getMinutes()<<5|u.getSeconds()>>1),e+=4,n!=-1&&(Ve(r,e,t.crc),Ve(r,e+4,n<0?-n-2:n),Ve(r,e+8,t.size)),Ve(r,e+12,a),Ve(r,e+14,c),e+=16,o!=null&&(Ve(r,e,d),Ve(r,e+6,t.attrs),Ve(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;Ve(r,e,+m),Ve(r,e+2,g),r.set(f,e+4),e+=4+g}return d&&(r.set(l,e),e+=d),e},pm=function(r,e,t,i,s){Ve(r,e,101010256),Ve(r,e+8,t),Ve(r,e+10,t),Ve(r,e+12,i),Ve(r,e+16,s)};function mm(r,e,t){t||(t=e,e={}),typeof t!="function"&&Oi(7);var i={};Ua(r,"",i,e);var s=Object.keys(i),n=s.length,o=0,l=0,a=n,h=new Array(n),d=[],c=function(){for(var g=0;g<d.length;++g)d[g]()},u=function(g,_){Xa(function(){t(g,_)})};Xa(function(){u=t});var p=function(){var g=new Le(l+22),_=o,b=l-o;l=0;for(var C=0;C<a;++C){var E=h[C];try{var y=E.c.length;Ya(g,l,E,E.f,E.u,y);var T=30+E.f.length+jr(E.extra),x=l+T;g.set(E.c,x),Ya(g,o,E,E.f,E.u,y,l,E.m),o+=16+T+(E.m?E.m.length:0),l=x+y}catch(O){return u(O,null)}}pm(g,o,h.length,b,_),u(null,g)};n||p();for(var m=function(g){var _=s[g],b=i[_],C=b[0],E=b[1],y=rm(),T=C.length;y.p(C);var x=Ur(_),O=x.length,I=E.comment,A=I&&Ur(I),k=A&&A.length,L=jr(E.extra),N=E.level==0?0:8,W=function(X,Z){if(X)c(),u(X,null);else{var q=Z.length;h[g]=Wr(E,{size:T,crc:y.d(),c:Z,f:x,m:A,u:O!=_.length||A&&I.length!=k,compression:N}),o+=30+O+L+q,l+=76+2*(O+L)+(k||0)+q,--n||p()}};if(O>65535&&W(Oi(11,0,1),null),!N)W(null,C);else if(T<16e4)try{W(null,Gr(C,E))}catch(X){W(X,null)}else d.push(dm(C,E,W))},f=0;f<a;++f)m(f);return c}var Xa=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(r){r()},fm=Object.defineProperty,gm=(r,e,t)=>e in r?fm(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,D=(r,e,t)=>(gm(r,typeof e!="symbol"?e+"":e,t),t);const _m={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},qa=r=>(typeof r!="string"&&(r=`${r}`),r.replace(/[&<>"']/g,e=>_m[e]));function Dt(r){const e=typeof r;return r!=null&&(e==="object"||e==="function")}function Cm(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 Ri(r){return r!=null&&typeof r.valueOf()=="string"}function vm(r,e){return e.reduce((t,i)=>(r!=null&&r.hasOwnProperty(i)&&(t[i]=r[i]),t),{})}const Yr={};function Xt(r="$lodash$"){Yr[r]||(Yr[r]=0);const e=++Yr[r];return r==="$lodash$"?`${e}`:`${r}${e}`}class an{constructor(e,t){D(this,"documentElement"),this.documentElement=this.createElement(t),this.documentElement.setAttribute("xmlns",e)}createElement(e){return new hn({nodeName:e})}createTextNode(e){return new Ka(e)}toString(){return this.documentElement.toString()}}D(an,"Node",{Create:r=>{switch(r.type){case"XML":return new hn(r);case"TEXT":return new Ka(r.nodeValue);default:return null}}});class Ka{constructor(e){D(this,"nodeValue"),this.nodeValue=e}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return qa(this.nodeValue)}}class hn{constructor(e){if(D(this,"nodeName",""),D(this,"children"),D(this,"nodeValue"),D(this,"attributes"),D(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(an.Node.Create(e.children[t]));if(e.attributes)for(const t in e.attributes)e.attributes.hasOwnProperty(t)&&this.setAttribute(t,e.attributes[t])}toString(){let e=`<${this.nodeName}`;for(const i in this.attributes)this.attributes.hasOwnProperty(i)&&(e=`${e} ${i}="${qa(this.attributes[i])}"`);let t="";for(let i=0,s=this.children.length;i<s;i++)t+=this.children[i].toString();return t?e+=`>${t}</${this.nodeName}>`:e+="/>",e}toJSON(){const e=[];for(let t=0,i=this.children.length;t<i;t++)e.push(this.children[t].toJSON());return{nodeName:this.nodeName,children:e,nodeValue:this.nodeValue,attributes:this.attributes,type:"XML"}}setAttribute(e,t){if(t===null){delete this.attributes[e],delete this[e];return}this.attributes[e]=t,this[e]=t}appendChild(e){this.children.push(e),this.firstChild=this.children[0]}cloneNode(e){return new hn(this.toJSON())}}const dn=class ai{static uniqueId(e){return ai._idSpaces[e]||(ai._idSpaces[e]=1),ai._idSpaces[e]++}static createXmlDoc(e,t){return new an(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(Cm(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(ai.LETTER_REFS[e])return ai.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 ai.LETTER_REFS[e]=o,o.concat(String(t))}};D(dn,"_idSpaces",{}),D(dn,"LETTER_REFS",{}),D(dn,"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=dn;const qt={};class Xr{constructor(){D(this,"relations",{}),D(this,"lastId",1),Xt("rId")}importData(e){this.relations=e.relations,this.lastId=e.lastId}exportData(){return{relations:this.relations,lastId:this.lastId}}addRelation(e,t){return this.relations[e.id]={id:Xt("rId"),schema:z.schemas[t],object:e},this.relations[e.id].id}getRelationshipId(e){return this.relations[e.id]?this.relations[e.id].id:null}toXML(){const e=z.createXmlDoc(z.schemas.relationshipPackage,"Relationships"),t=e.documentElement;for(const[i,s]of Object.entries(this.relations)){const n=z.createElement(e,"Relationship",[["Id",s.id],["Type",s.schema],["Target",s.object.target||qt[i]]]);s.object.targetMode&&n.setAttribute("TargetMode",s.object.targetMode),t.appendChild(n)}return e}}class bm{constructor(){D(this,"state",null),D(this,"xSplit",null),D(this,"ySplit",null),D(this,"activePane","bottomRight"),D(this,"topLeftCell",null),D(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 Qa{constructor(){D(this,"strings",{}),D(this,"stringArray",[]),D(this,"id",Xt("SharedStrings"))}addString(e){return this.strings[e]=this.stringArray.length,this.stringArray[this.stringArray.length]=e,this.strings[e]}exportData(){return this.strings}toXML(){const e=z.createXmlDoc(z.schemas.spreadsheetml,"sst"),t=e.documentElement;this.stringArray.reverse();let i=this.stringArray.length;t.setAttribute("count",i),t.setAttribute("uniqueCount",i);const s=e.createElement("si"),n=e.createElement("t");n.appendChild(e.createTextNode("--placeholder--")),s.appendChild(n);const o=this.stringArray;for(;i--;){const l=s.cloneNode(!0);typeof o[i]=="string"&&o[i].match(/\s+/)&&l.firstChild.setAttribute("xml:space","preserve"),l.firstChild.firstChild.nodeValue=o[i],t.appendChild(l)}return e}}class Sm{constructor(e){D(this,"pane"),D(this,"showZeros",null),D(this,"defaultGridColor",null),D(this,"colorId",null),D(this,"rightToLeft",null),D(this,"showFormulas",null),D(this,"showGridLines",null),D(this,"showOutlineSymbols",null),D(this,"showRowColHeaders",null),D(this,"showRuler",null),D(this,"showWhiteSpace",null),D(this,"tabSelected",null),D(this,"topLeftCell",null),D(this,"viewType",null),D(this,"windowProtection",null),D(this,"zoomScale",null),D(this,"zoomScaleNormal",null),D(this,"zoomScalePageLayoutView",null),D(this,"zoomScaleSheetLayoutView",null);const t=e||{};this.pane=t.pane||new bm}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}}class Za{constructor(){D(this,"id",Xt("StyleSheet")),D(this,"cellStyles",[{name:"Normal",xfId:"0",builtinId:"0"}]),D(this,"defaultTableStyle",!1),D(this,"differentialStyles",[{}]),D(this,"masterCellFormats",[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfid:0}]),D(this,"masterCellStyles",[{numFmtId:0,fontId:0,fillId:0,borderId:0}]),D(this,"fonts",[{}]),D(this,"numberFormatters",[]),D(this,"fills",[{},{type:"pattern",patternType:"gray125",fgColor:"FF333333",bgColor:"FF333333"}]),D(this,"borders",[{top:{},left:{},right:{},bottom:{},diagonal:{}}]),D(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&&Dt(e.font))t.fontId=this.createFontStyle(e.font).id;else if(e.font){if(Number.isNaN(parseInt(e.font,10)))throw new Error("Passing a non-numeric font id is not supported");t.fontId=e.font}if(e.format&&Ri(e.format))t.numFmtId=this.createNumberFormatter(e.format).id;else if(e.format){if(Number.isNaN(parseInt(e.format,10)))throw new Error("Invalid number formatter id");t.numFmtId=e.format}if(e.border&&Dt(e.border))t.borderId=this.createBorderFormatter(e.border).id;else if(e.border){if(Number.isNaN(parseInt(e.border,10)))throw new Error("Passing a non-numeric border id is not supported");t.borderId=e.border}if(e.fill&&Dt(e.fill))t.fillId=this.createFill(e.fill).id;else if(e.fill){if(Number.isNaN(parseInt(e.fill,10)))throw new Error("Passing a non-numeric fill id is not supported");t.fillId=e.fill}return e.alignment&&Dt(e.alignment)&&(t.alignment=vm(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&&Dt(e.font)&&(i.font=e.font),e.border&&Dt(e.border)&&(i.border=Object.assign({top:{},left:{},right:{},bottom:{},diagonal:{}},e.border)),e.fill&&Dt(e.fill)&&(i.fill=e.fill),e.alignment&&Dt(e.alignment)&&(i.alignment=e.alignment),e.format&&Ri(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 Ri(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");Ri(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 Ri(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)t.hasOwn(s)&&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 ym{constructor(e){D(this,"name",""),D(this,"id",Xt("Worksheet")),D(this,"_timezoneOffset"),D(this,"relations",null),D(this,"columnFormats",[]),D(this,"data",[]),D(this,"mergedCells",[]),D(this,"columns",[]),D(this,"sheetProtection",!1),D(this,"_headers",[]),D(this,"_footers",[]),D(this,"_tables",[]),D(this,"_drawings",[]),D(this,"_orientation"),D(this,"_margin"),D(this,"_rowInstructions",{}),D(this,"_freezePane",{}),D(this,"sharedStrings",null),D(this,"hyperlinks",[]),D(this,"sheetView"),D(this,"showZeros",null),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,this.sheetView=e.sheetView||new Sm,this.initialize(e)}initialize(e){e=e||{},this.name=e.name,this.id=Xt("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,e.columns&&this.setColumns(e.columns),this.relations=new Xr}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(Ri(e))return'&"-,Regular"'.concat(e);if(Dt(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 b=m[_],C;const E=(b==null?void 0:b.metadata)||{};switch(b&&typeof b=="object"&&(b=b.value),E.type||typeof b=="number"&&(E.type="number"),E.type){case"number":C=p.number.cloneNode(!0),C.firstChild.firstChild.nodeValue=b;break;case"date":C=p.date.cloneNode(!0),b instanceof Date&&(b=b.getTime()),C.firstChild.firstChild.nodeValue=25569+(b-this._timezoneOffset)/(60*60*24*1e3);break;case"formula":C=p.formula.cloneNode(!0),C.firstChild.firstChild.nodeValue=b;break;case"text":default:{let y;typeof((e=this.sharedStrings)==null?void 0:e.strings[b])<"u"?y=this.sharedStrings.strings[b]:y=(t=this.sharedStrings)==null?void 0:t.addString(b),C=p.string.cloneNode(!0),C.firstChild.firstChild.nodeValue=y;break}}E.style?C.setAttribute("s",E.style):((i=this._rowInstructions[d])==null?void 0:i.style)!==void 0&&C.setAttribute("s",this._rowInstructions[d].style),C.setAttribute("r",z.positionToLetterRef(_+1,String(d+1))),g.appendChild(C)}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 Em{constructor(){D(this,"id",Xt("Workbook")),D(this,"styleSheet",new Za),D(this,"sharedStrings",new Qa),D(this,"relations",new Xr),D(this,"worksheets",[]),D(this,"tables",[]),D(this,"drawings",[]),D(this,"media",{}),D(this,"printTitles"),this.initialize()}initialize(){this.id=Xt("Workbook"),this.styleSheet=new Za,this.sharedStrings=new Qa,this.relations=new Xr,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 ym(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)this.media.hasOwn(o)&&(n[this.media[o].extension]=this.media[o].contentType);for(const o in n)n.hasOwn(o)&&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(!this.printTitles.hasOwn(l))continue;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(this.media.hasOwn(s)){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 an?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
- ${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 wm(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)]=Ur(a);return mm(i,(t==null?void 0:t.zipOptions)||{},(l,a)=>{if(l){n(l);return}if(e==="Uint8Array")s(a);else{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 Tm(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 wm(r,"Blob",{...t,fileFormat:i}).then(s=>{Om(e,s)})}function Om(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 xm=(r,{excelFormatId:e})=>e!==void 0?{value:r,metadata:{style:e}}:r,Im=(r,{columnDef:e,excelFormatId:t,gridOptions:i})=>({value:typeof r=="string"&&/\d/g.test(r)?Rm(r,e,i):r,metadata:{style:t}});function Rm(r,e,t){let i=r;if(typeof r=="string"&&r){const s=yt("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 Am(r,e,t,i,s=!0){const n=Ni(t);let o,l=xm;return n===S.number&&s&&(o=qr(r,e,t,i,"cell").excelFormat.id,l=Im),{excelFormatId:o,getDataValueParser:l}}function Pm(r,e){var t;return((t=r==null?void 0:r[e.groupType])==null?void 0:t[e.columnDef.field])??0}function km(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=Ja(n),i!=="decimal")break}else i=Ja(r.formatter);return Se(r,e,i,t)}function Ja(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 qr(r,e,t,i,s){var h,d;let n="",o=((h=t.groupTotalsExcelExportOptions)==null?void 0:h.groupType)||"",l;const a=Ni(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 S.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}=qr(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=th(t,i,"cell");break;default:l=e.numberFormat;break}break}return!l&&(t.formatter||t.groupTotalsFormatter)&&(n=th(t,i,s,o),e.hasOwnProperty(n)||(e[n]=r.createFormat({format:n})),l=e[n]),{excelFormat:l,groupType:o}}function eh(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[cn(t??""),i??"",cn(s??""),h,cn(o??""),l??"",cn(a??"")].join("").replace(",",",")}function th(r,e,t,i=""){let s="",n="",o="";const{minDecimal:l,maxDecimal:a,thousandSeparator:h}=km(r,e,t),c=parseFloat(`${h?"2220":"0"}.${Fm(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=eh(n)+";"+eh(o)),s}function cn(r){return r&&`"${r}"`}function Fm(r,e){return ih("1",r)+ih("2",e-r)}function ih(r,e){let t="";for(let i=0;i<e;i++)t+=r;return t}const Dm={filename:"export",format:ve.xlsx};class Mm{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,{},{...Dm,...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 Em,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();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}`;Tm(this._workbook,p,{mimeType:u}).then(()=>{var b;(b=this._pubSubService)==null||b.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;let e=this._excelExportOptions.groupingColumnHeaderTitle;!e&&this._gridOptions.enableTranslate&&((i=this._translaterService)!=null&&i.translate)?e=this._translaterService.translate(`${ot(this._gridOptions)}GROUP_BY`):e||(e=this._locales&&this._locales.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 e&&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 e&&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=gt(i.name||"","innerHTML")||Jt(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,b;if(d!=null&&d.columns){const C=d.columns,E=C[g.id]||C[f];!isNaN(a)&&+a>1||a==="*"&&f>0||(a=(E==null?void 0:E.colspan)??1),a==="*"?_=e.length-f:(_=a,g.id in C&&(b=g.id,h=f))}if(a==="*"&&f>0||!isNaN(a)&&+a>1&&g.id!==b){const C=t+(this._hasColumnTitlePreHeader?3:2);if(typeof a=="number"&&_-1===1){const E=this.getExcelColumnNameByIndex(h+1),y=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`${E}${C}`,`${y}${C}`),o.push("")}else if(a==="*"&&_===1){const E=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`A${C}`,`${E}${C}`)}else o.push("");typeof a=="number"&&!isNaN(a)&&+a>1&&(_=a--)}else{let C="";const E=Ni(g),y={...this._excelExportOptions};if(g.exportWithFormatter!==!1&&_n(E)&&(y.exportWithFormatter=!0),C=ur(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),I=Am(this._stylesheet,this._stylesheetFormats,g,this._grid,O);(p=g.excelExportOptions)!=null&&p.style&&(I.excelFormatId=this._stylesheet.createFormat(g.excelExportOptions.style).id),(m=g.excelExportOptions)!=null&&m.valueParserCallback&&(I.getDataValueParser=g.excelExportOptions.valueParserCallback),this._regularCellExcelFormats[g.id]=I}typeof C=="string"&&(g.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(C=we(C));const{excelFormatId:T,getDataValueParser:x}=this._regularCellExcelFormats[g.id];C=x(C,{columnDef:g,excelFormatId:T,stylesheet:this._stylesheet,gridOptions:this._gridOptions,dataRowIdx:s,dataContext:i}),o.push(C),n++}}return o}readGroupedRowTitle(e){const t=we(e.title);if(this._excelExportOptions&&this._excelExportOptions.addGroupIndentation){const i=this._excelExportOptions&&this._excelExportOptions.groupCollapsedSymbol||"⮞",s=this._excelExportOptions&&this._excelExportOptions.groupExpandedSymbol||"⮟";return(e.collapsed?i:s)+" "+Vi(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=Ni(o),h=o.excludeFromExport||!1;if(o.exportCustomGroupTotalsFormatter){const b=o.exportCustomGroupTotalsFormatter(t,o,this._grid);l=b instanceof HTMLElement?b.textContent||"":b}const d=((c=o.excelExportOptions)==null?void 0:c.autoDetectCellFormat)??((u=this._excelExportOptions)==null?void 0:u.autoDetectCellFormat);if(a===S.number&&d!==!1){let b=this._groupTotalExcelFormats[o.id];b!=null&&b.groupType||(b=qr(this._stylesheet,this._stylesheetFormats,o,this._grid,"group"),(p=o.groupTotalsExcelExportOptions)!=null&&p.style&&(b.excelFormat=this._stylesheet.createFormat(o.groupTotalsExcelExportOptions.style)),this._groupTotalExcelFormats[o.id]=b);const C=((m=o.groupTotalsExcelExportOptions)==null?void 0:m.valueParserCallback)??Pm;if(((f=t[b.groupType])==null?void 0:f[o.field])!==void 0){const E=C(t,{columnDef:o,groupType:b.groupType,excelFormatId:(g=b.excelFormat)==null?void 0:g.id,stylesheet:this._stylesheet,dataRowIdx:i});l=typeof E=="object"&&E.hasOwnProperty("metadata")?E:l={value:E,metadata:{style:(_=b.excelFormat)==null?void 0:_.id}}}}else if(o.groupTotalsFormatter){const b=o.groupTotalsFormatter(t,o,this._grid);l=b instanceof HTMLElement?b.textContent||"":b}typeof l=="string"&&(o.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(l=we(l)),(o.width===void 0||o.width>0)&&!h&&n.push(l)}),n}}const un=["title","data-slick-tooltip"],oi="[title], [data-slick-tooltip]",Nm="slick-custom-tooltip";class Lm{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=Nm;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(oi),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(oi),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=Jr(_),this._cancellablePromise.promise.then(b=>this.asyncProcessCallback(b,u,f,m,p)).catch(b=>{b instanceof ki||console.error(b)});else if((d=this._rxjs)!=null&&d.isObservable(_)){const b=this._rxjs;this._observable$=_.pipe(b.switchMap(C=>b.of(C))).subscribe(C=>this.asyncProcessCallback(C,u,f,m,p),C=>console.error(C))}}}}}}parseFormatterAndSanitize(e,t,i,s,n){if(typeof e=="function"){const o=e(t.row,t.cell,i,s,n,this._grid),l=Zt(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(oi).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(oi):(l=Hi(a,un)?a:o.querySelector(oi),(!l||!Hi(l,un))&&a&&(l=a.querySelector(oi))),(l==null?void 0:l.style.display)==="none"||this._hasMultipleTooltips&&(!a||a===this._cellNodeElm)?h="":(!h||typeof e=="function"&&((_=this._cellAddonOptions)!=null&&_.useRegularTooltipFromFormatterOnly))&&(h=Hi(l,un)||""))),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,_,b;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 C=(c=this._cellNodeElm)==null?void 0:c.querySelector(oi);i=Hi(C,un)||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),(b=this._cellAddonOptions)!=null&&b.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=me(this._cellNodeElm)||{top:0,left:0},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),b=(u.left||0)-(((i=this._cellAddonOptions)==null?void 0:i.offsetRight)??0);const C=((s=this._cellAddonOptions)==null?void 0:s.position)??"auto";let E="";if(C==="center"?(b+=p/2-f/2+(((n=this._cellAddonOptions)==null?void 0:n.offsetRight)??0),E="top-center",this._tooltipElm.classList.remove("arrow-left-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-center-align")):C==="right-align"||(C==="auto"||C!=="left-align")&&b+f>g?(E="right",b-=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")):(E="left",this._tooltipElm.classList.remove("arrow-center-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-left-align")),C==="bottom"||(C==="auto"||C!=="top")&&m>Li(this._cellNodeElm).top?(_=(u.top||0)+(this.gridOptions.rowHeight??0)+(((l=this._cellAddonOptions)==null?void 0:l.offsetTopBottom)??0),E=`bottom-${E}`,this._tooltipElm.classList.remove("arrow-down"),this._tooltipElm.classList.add("arrow-up")):(E=`top-${E}`,this._tooltipElm.classList.remove("arrow-up"),this._tooltipElm.classList.add("arrow-down")),this._tooltipElm&&(this._hasMultipleTooltips||(a=this.cellAddonOptions)!=null&&a.repositionByMouseOverTarget)){const y=me(this._mouseTarget);E.includes("left")||E==="top-center"?b=y.left-(((h=this._addonOptions)==null?void 0:h.offsetArrow)??3):E.includes("right")&&(b=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=`${b}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 pn(r,e,t){return e<=r&&r<=t}function sh(r){if(r===void 0)return{};if(r===Object(r))return r;throw TypeError("Could not convert argument to dictionary")}function Hm(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 nh=-1;function rh(r){this.tokens=[].slice.call(r)}rh.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():nh},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 Kr=-1,oh="utf-8";function mn(r,e){if(!(this instanceof mn))return new mn(r,e);if(r=r!==void 0?String(r).toLowerCase():oh,r!==oh)throw new Error("Encoding not supported. Only utf-8 is supported");e=sh(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}mn.prototype={encode:function(e,t){e=e?String(e):"",t=sh(t),this._streaming||(this._encoder=new Vm(this._options)),this._streaming=!!t.stream;for(var i=[],s=new rh(Hm(e)),n;!s.endOfStream()&&(n=this._encoder.handler(s,s.read()),n!==Kr);)Array.isArray(n)?i.push.apply(i,n):i.push(n);if(!this._streaming){for(;n=this._encoder.handler(s,s.read()),n!==Kr;)Array.isArray(n)?i.push.apply(i,n):i.push(n);this._encoder=null}return new Uint8Array(i)}};function Vm(r){r.fatal,this.handler=function(e,t){if(t===nh)return Kr;if(pn(t,0,127))return t;var i,s;pn(t,128,2047)?(i=1,s=192):pn(t,2048,65535)?(i=2,s=224):pn(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 Bm={delimiter:wt.comma,filename:"export",format:ve.csv,useUtf8WithBom:!0};class zm{constructor(){this._delimiter=",",this._exportQuoteWrapper="",this._fileFormat=ve.csv,this._lineCarriageReturn=`
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 wm(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)]=Ur(a);return mm(i,(t==null?void 0:t.zipOptions)||{},(l,a)=>{if(l){n(l);return}if(e==="Uint8Array")s(a);else{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 Tm(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 wm(r,"Blob",{...t,fileFormat:i}).then(s=>{Om(e,s)})}function Om(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 xm=(r,{excelFormatId:e})=>e!==void 0?{value:r,metadata:{style:e}}:r,Im=(r,{columnDef:e,excelFormatId:t,gridOptions:i})=>({value:typeof r=="string"&&/\d/g.test(r)?Rm(r,e,i):r,metadata:{style:t}});function Rm(r,e,t){let i=r;if(typeof r=="string"&&r){const s=yt("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 Am(r,e,t,i,s=!0){const n=Ni(t);let o,l=xm;return n===S.number&&s&&(o=qr(r,e,t,i,"cell").excelFormat.id,l=Im),{excelFormatId:o,getDataValueParser:l}}function Pm(r,e){var t;return((t=r==null?void 0:r[e.groupType])==null?void 0:t[e.columnDef.field])??0}function km(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=Ja(n),i!=="decimal")break}else i=Ja(r.formatter);return Se(r,e,i,t)}function Ja(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 qr(r,e,t,i,s){var h,d;let n="",o=((h=t.groupTotalsExcelExportOptions)==null?void 0:h.groupType)||"",l;const a=Ni(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 S.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}=qr(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=th(t,i,"cell");break;default:l=e.numberFormat;break}break}return!l&&(t.formatter||t.groupTotalsFormatter)&&(n=th(t,i,s,o),e.hasOwnProperty(n)||(e[n]=r.createFormat({format:n})),l=e[n]),{excelFormat:l,groupType:o}}function eh(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[cn(t??""),i??"",cn(s??""),h,cn(o??""),l??"",cn(a??"")].join("").replace(",",",")}function th(r,e,t,i=""){let s="",n="",o="";const{minDecimal:l,maxDecimal:a,thousandSeparator:h}=km(r,e,t),c=parseFloat(`${h?"2220":"0"}.${Fm(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=eh(n)+";"+eh(o)),s}function cn(r){return r&&`"${r}"`}function Fm(r,e){return ih("1",r)+ih("2",e-r)}function ih(r,e){let t="";for(let i=0;i<e;i++)t+=r;return t}const Dm={filename:"export",format:ve.xlsx};class Mm{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,{},{...Dm,...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 Em,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();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}`;Tm(this._workbook,p,{mimeType:u}).then(()=>{var b;(b=this._pubSubService)==null||b.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(`${ot(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=gt(i.name||"","innerHTML")||Jt(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,b;if(d!=null&&d.columns){const C=d.columns,E=C[g.id]||C[f];!isNaN(a)&&+a>1||a==="*"&&f>0||(a=(E==null?void 0:E.colspan)??1),a==="*"?_=e.length-f:(_=a,g.id in C&&(b=g.id,h=f))}if(a==="*"&&f>0||!isNaN(a)&&+a>1&&g.id!==b){const C=t+(this._hasColumnTitlePreHeader?3:2);if(typeof a=="number"&&_-1===1){const E=this.getExcelColumnNameByIndex(h+1),y=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`${E}${C}`,`${y}${C}`),o.push("")}else if(a==="*"&&_===1){const E=this.getExcelColumnNameByIndex(f+1);this._sheet.mergeCells(`A${C}`,`${E}${C}`)}else o.push("");typeof a=="number"&&!isNaN(a)&&+a>1&&(_=a--)}else{let C="";const E=Ni(g),y={...this._excelExportOptions};if(g.exportWithFormatter!==!1&&_n(E)&&(y.exportWithFormatter=!0),C=ur(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),I=Am(this._stylesheet,this._stylesheetFormats,g,this._grid,O);(p=g.excelExportOptions)!=null&&p.style&&(I.excelFormatId=this._stylesheet.createFormat(g.excelExportOptions.style).id),(m=g.excelExportOptions)!=null&&m.valueParserCallback&&(I.getDataValueParser=g.excelExportOptions.valueParserCallback),this._regularCellExcelFormats[g.id]=I}typeof C=="string"&&(g.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(C=we(C));const{excelFormatId:T,getDataValueParser:x}=this._regularCellExcelFormats[g.id];C=x(C,{columnDef:g,excelFormatId:T,stylesheet:this._stylesheet,gridOptions:this._gridOptions,dataRowIdx:s,dataContext:i}),o.push(C),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)+" "+Vi(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=Ni(o),h=o.excludeFromExport||!1;if(o.exportCustomGroupTotalsFormatter){const b=o.exportCustomGroupTotalsFormatter(t,o,this._grid);l=b instanceof HTMLElement?b.textContent||"":b}const d=((c=o.excelExportOptions)==null?void 0:c.autoDetectCellFormat)??((u=this._excelExportOptions)==null?void 0:u.autoDetectCellFormat);if(a===S.number&&d!==!1){let b=this._groupTotalExcelFormats[o.id];b!=null&&b.groupType||(b=qr(this._stylesheet,this._stylesheetFormats,o,this._grid,"group"),(p=o.groupTotalsExcelExportOptions)!=null&&p.style&&(b.excelFormat=this._stylesheet.createFormat(o.groupTotalsExcelExportOptions.style)),this._groupTotalExcelFormats[o.id]=b);const C=((m=o.groupTotalsExcelExportOptions)==null?void 0:m.valueParserCallback)??Pm;if(((f=t[b.groupType])==null?void 0:f[o.field])!==void 0){const E=C(t,{columnDef:o,groupType:b.groupType,excelFormatId:(g=b.excelFormat)==null?void 0:g.id,stylesheet:this._stylesheet,dataRowIdx:i});l=typeof E=="object"&&E.hasOwnProperty("metadata")?E:l={value:E,metadata:{style:(_=b.excelFormat)==null?void 0:_.id}}}}else if(o.groupTotalsFormatter){const b=o.groupTotalsFormatter(t,o,this._grid);l=b instanceof HTMLElement?b.textContent||"":b}typeof l=="string"&&(o.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(l=we(l)),(o.width===void 0||o.width>0)&&!h&&n.push(l)}),n}}const un=["title","data-slick-tooltip"],oi="[title], [data-slick-tooltip]",Nm="slick-custom-tooltip";class Lm{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=Nm;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(oi),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(oi),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=Jr(_),this._cancellablePromise.promise.then(b=>this.asyncProcessCallback(b,u,f,m,p)).catch(b=>{b instanceof ki||console.error(b)});else if((d=this._rxjs)!=null&&d.isObservable(_)){const b=this._rxjs;this._observable$=_.pipe(b.switchMap(C=>b.of(C))).subscribe(C=>this.asyncProcessCallback(C,u,f,m,p),C=>console.error(C))}}}}}}parseFormatterAndSanitize(e,t,i,s,n){if(typeof e=="function"){const o=e(t.row,t.cell,i,s,n,this._grid),l=Zt(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(oi).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(oi):(l=Hi(a,un)?a:o.querySelector(oi),(!l||!Hi(l,un))&&a&&(l=a.querySelector(oi))),(l==null?void 0:l.style.display)==="none"||this._hasMultipleTooltips&&(!a||a===this._cellNodeElm)?h="":(!h||typeof e=="function"&&((_=this._cellAddonOptions)!=null&&_.useRegularTooltipFromFormatterOnly))&&(h=Hi(l,un)||""))),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,_,b;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 C=(c=this._cellNodeElm)==null?void 0:c.querySelector(oi);i=Hi(C,un)||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),(b=this._cellAddonOptions)!=null&&b.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=me(this._cellNodeElm)||{top:0,left:0},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),b=(u.left||0)-(((i=this._cellAddonOptions)==null?void 0:i.offsetRight)??0);const C=((s=this._cellAddonOptions)==null?void 0:s.position)??"auto";let E="";if(C==="center"?(b+=p/2-f/2+(((n=this._cellAddonOptions)==null?void 0:n.offsetRight)??0),E="top-center",this._tooltipElm.classList.remove("arrow-left-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-center-align")):C==="right-align"||(C==="auto"||C!=="left-align")&&b+f>g?(E="right",b-=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")):(E="left",this._tooltipElm.classList.remove("arrow-center-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-left-align")),C==="bottom"||(C==="auto"||C!=="top")&&m>Li(this._cellNodeElm).top?(_=(u.top||0)+(this.gridOptions.rowHeight??0)+(((l=this._cellAddonOptions)==null?void 0:l.offsetTopBottom)??0),E=`bottom-${E}`,this._tooltipElm.classList.remove("arrow-down"),this._tooltipElm.classList.add("arrow-up")):(E=`top-${E}`,this._tooltipElm.classList.remove("arrow-up"),this._tooltipElm.classList.add("arrow-down")),this._tooltipElm&&(this._hasMultipleTooltips||(a=this.cellAddonOptions)!=null&&a.repositionByMouseOverTarget)){const y=me(this._mouseTarget);E.includes("left")||E==="top-center"?b=y.left-(((h=this._addonOptions)==null?void 0:h.offsetArrow)??3):E.includes("right")&&(b=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=`${b}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 pn(r,e,t){return e<=r&&r<=t}function sh(r){if(r===void 0)return{};if(r===Object(r))return r;throw TypeError("Could not convert argument to dictionary")}function Hm(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 nh=-1;function rh(r){this.tokens=[].slice.call(r)}rh.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():nh},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 Kr=-1,oh="utf-8";function mn(r,e){if(!(this instanceof mn))return new mn(r,e);if(r=r!==void 0?String(r).toLowerCase():oh,r!==oh)throw new Error("Encoding not supported. Only utf-8 is supported");e=sh(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}mn.prototype={encode:function(e,t){e=e?String(e):"",t=sh(t),this._streaming||(this._encoder=new Vm(this._options)),this._streaming=!!t.stream;for(var i=[],s=new rh(Hm(e)),n;!s.endOfStream()&&(n=this._encoder.handler(s,s.read()),n!==Kr);)Array.isArray(n)?i.push.apply(i,n):i.push(n);if(!this._streaming){for(;n=this._encoder.handler(s,s.read()),n!==Kr;)Array.isArray(n)?i.push.apply(i,n):i.push(n);this._encoder=null}return new Uint8Array(i)}};function Vm(r){r.fatal,this.handler=function(e,t){if(t===nh)return Kr;if(pn(t,0,127))return t;var i,s;pn(t,128,2047)?(i=1,s=192):pn(t,2048,65535)?(i=2,s=224):pn(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 Bm={delimiter:wt.comma,filename:"export",format:ve.csv,useUtf8WithBom:!0};class zm{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,{},{...Bm,...this._gridOptions.textExportOptions,...e}),this._delimiter=this._exportOptions.delimiterOverride||this._exportOptions.delimiter||"",this._fileFormat=this._exportOptions.format||ve.csv;const i=this.getDataOutput();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=lo(e.content);let i;e.format===ve.csv?i=new mn("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(`${ot(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=gt(i.name||"","innerHTML")||Jt(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=ur(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=Vi(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 $m{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 Ho,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?Qe(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