"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var n in t)__defProp(e,n,{get:t[n],enumerable:!0})},__copyProps=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of __getOwnPropNames(t))!__hasOwnProp.call(e,r)&&r!==n&&__defProp(e,r,{get:()=>t[r],enumerable:!(i=__getOwnPropDesc(t,r))||i.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),main_exports={};__export(main_exports,{EventEmitter:()=>EventEmitter,Logger:()=>logger_exports,ModuleRegistry:()=>ModuleRegistry,ModuleType:()=>ModuleType,and:()=>and,array:()=>array,arrayOf:()=>arrayOf,arraysEqual:()=>arraysEqual,attachDescription:()=>attachDescription,boolean:()=>boolean,callback:()=>callback,circularSliceArray:()=>circularSliceArray,constant:()=>constant,countLines:()=>countLines,date:()=>date,debounce:()=>debounce,diffArrays:()=>diffArrays,findMaxIndex:()=>findMaxIndex,findMaxValue:()=>findMaxValue,findMinIndex:()=>findMinIndex,findMinValue:()=>findMinValue,first:()=>first,groupBy:()=>groupBy,instanceOf:()=>instanceOf,isArray:()=>isArray,isBoolean:()=>isBoolean,isDate:()=>isDate,isDefined:()=>isDefined,isEnumKey:()=>isEnumKey,isEnumValue:()=>isEnumValue,isFiniteNumber:()=>isFiniteNumber,isFunction:()=>isFunction,isHtmlElement:()=>isHtmlElement,isNumber:()=>isNumber,isObject:()=>isObject,isObjectLike:()=>isObjectLike,isPlainObject:()=>isPlainObject,isRegExp:()=>isRegExp,isString:()=>isString,isSymbol:()=>isSymbol,isValid:()=>isValid,isValidDate:()=>isValidDate,iterate:()=>iterate,joinFormatted:()=>joinFormatted,lessThan:()=>lessThan,number:()=>number,object:()=>object,optionsDefs:()=>optionsDefs,or:()=>or,positiveNumber:()=>positiveNumber,ratio:()=>ratio,required:()=>required,sortBasedOnArray:()=>sortBasedOnArray,string:()=>string,stringifyValue:()=>stringifyValue,throttle:()=>throttle,toArray:()=>toArray,toIterable:()=>toIterable,union:()=>union,unique:()=>unique,validate:()=>validate}),module.exports=__toCommonJS(main_exports);var logger_exports={};__export(logger_exports,{error:()=>error,errorOnce:()=>errorOnce,log:()=>log,logGroup:()=>logGroup,reset:()=>reset,table:()=>table,warn:()=>warn,warnOnce:()=>warnOnce});var doOnceCache=new Set;function log(...e){console.log(...e)}function warn(e,...t){console.warn(`AG Charts - ${e}`,...t)}function error(e,...t){typeof e=="object"?console.error("AG Charts error",e,...t):console.error(`AG Charts - ${e}`,...t)}function table(...e){console.table(...e)}function warnOnce(e,...t){const n=`Logger.warn: ${e}`;doOnceCache.has(n)||(warn(e,...t),doOnceCache.add(n))}function errorOnce(e,...t){const n=`Logger.error: ${e}`;doOnceCache.has(n)||(error(e,...t),doOnceCache.add(n))}function reset(){doOnceCache.clear()}function logGroup(e,t){console.groupCollapsed(e);try{return t()}finally{console.groupEnd()}}var ModuleType=(e=>(e.Chart="chart",e.Series="series",e.Feature="feature",e))(ModuleType||{}),ModuleRegistry=class{static[Symbol.iterator](){return this.registeredModules.values()}static register(e){const t=this.registeredModules.get(e.name);if(t&&(t.enterprise||!e.enterprise))throw new Error(`AG Charts - Module '${e.name}' already registered`);this.registeredModules.set(e.name,e)}static registerMany(e){for(const t of e)this.register(t)}static reset(){this.registeredModules.clear()}static detectChartDefinition(e){return this.detectDefinition("chart",e)}static detectSeriesDefinition(e){return this.detectDefinition("series",e)}static detectDefinition(e,t){for(const n of this.registeredModules.values())if(n.type===e&&n.detect(t))return n;throw new Error(`AG Charts - Unknown ${e} type; Check options are correctly structured and series types are specified`)}};ModuleRegistry.registeredModules=new Map;var EventEmitter=class{constructor(){this.events=new Map}on(e,t){return this.events.has(e)||this.events.set(e,new Set),this.events.get(e)?.add(t),()=>this.off(e,t)}off(e,t){const n=this.events.get(e);n&&(n.delete(t),n.size===0&&this.events.delete(e))}emit(e,t){this.events.get(e)?.forEach(n=>n(t))}clear(e){e?this.events.delete(e):this.events.clear()}};function toArray(e){return typeof e>"u"?[]:Array.isArray(e)?e:[e]}function unique(e){return Array.from(new Set(e))}function groupBy(e,t){return e.reduce((n,i)=>{const r=t(i);return n[r]??(n[r]=[]),n[r].push(i),n},{})}function arraysEqual(e,t){if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n{n.set(i,r)}),e.sort((i,r)=>{const s=n.get(i)??1/0,u=n.get(r)??1/0;return s-u})}function findMaxIndex(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2);n(r)?(i=r,e=r+1):t=r-1}return i}function findMinIndex(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2);n(r)?(i=r,t=r-1):e=r+1}return i}function findMaxValue(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2),s=n(r);s==null?t=r-1:(i=s,e=r+1)}return i}function findMinValue(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2),s=n(r);s==null?e=r+1:(i=s,t=r-1)}return i}function diffArrays(e,t){const n=Math.max(e.length,t.length),i=new Set,r=new Set;for(let s=0;s0||r.size>0,added:i,removed:r}}function debounce(e,t=0,n){const{leading:i=!1,trailing:r=!0,maxWait:s=1/0}=n??{};let u,o;if(so=null,t),e(...c);return}let f=t;if(s!==1/0&&o){const l=Date.now()-o;t>s-l&&(f=s-l)}clearTimeout(u),o??(o=Date.now()),u=setTimeout(()=>{o=null,r&&e(...c)},f)}return Object.assign(a,{cancel(){clearTimeout(u),o=null}})}function throttle(e,t,n){const{leading:i=!0,trailing:r=!0}=n??{};let s,u,o=!1;function a(){r&&u?(s=setTimeout(a,t),e(...u)):o=!1,u=null}function c(...f){o?u=f:(o=!0,s=setTimeout(a,t),i?e(...f):u=f)}return Object.assign(c,{cancel(){clearTimeout(s),o=!1,u=null}})}function*iterate(...e){for(const t of e)yield*t}function toIterable(e){return e!=null&&typeof e=="object"&&Symbol.iterator in e?e:[e]}function first(e){for(const t of e)return t;throw new Error("AG Charts - no first() value found")}function joinFormatted(e,t="and",n=String,i=1/0){if(e.length===1)return n(e[0]);e=e.map(n);const r=e.pop();if(e.length>=i){const s=e.length-(i-1);return`${e.slice(0,i-1).join(", ")}, and ${s} more ${t} ${r}`}return`${e.join(", ")} ${t} ${r}`}function stringifyValue(e,t=1/0){switch(typeof e){case"undefined":return"undefined";case"number":if(isNaN(e))return"NaN";if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";default:return e=JSON.stringify(e),e.length>t?`${e.slice(0,t)}... (+${e.length-t} characters)`:e}}function countLines(e){let t=1;for(let n=0;n"u"))if(isFunction(a))a(c,e)?s[o]=c:r.push({key:o,path:n,value:c,message:validateMessage(u(o),c,a)});else{const f=validate(c,a,u(o));s[o]=f.valid,r.push(...f.errors)}}for(const o of i)r.push({key:o,path:n,unknown:!0,message:`Unknown option \`${u(o)}\`, ignoring.`});return{valid:s,errors:r}}function isValid(e,t,n){const{errors:i}=validate(e,t,n);return i.length===0}function validateMessage(e,t,n){const i=isString(n)?n:n[descriptionSymbol],r=i?`; expecting ${i}`:"";return`${e?`Option \`${e}\``:"Value"} cannot be set to \`${stringifyValue(t)}\`${r}, ignoring.`}function attachDescription(e,t){return Object.assign((n,i)=>e(n,i),{[descriptionSymbol]:t})}function required(e){return Object.assign(isFunction(e)?t=>e(t):optionsDefs(e),{[requiredSymbol]:!0})}var optionsDefs=(e,t="an object")=>attachDescription(n=>isObject(n)&&Object.entries(e).every(([i,r])=>(isFunction(r)?r:optionsDefs(r))(n[i],n)),t),and=(...e)=>attachDescription((t,n)=>e.every(i=>i(t,n)),e.map(t=>t[descriptionSymbol]).filter(Boolean).join(" and ")),or=(...e)=>attachDescription((t,n)=>e.some(i=>i(t,n)),e.map(t=>t[descriptionSymbol]).filter(Boolean).join(" or ")),array=attachDescription(isArray,"an array"),boolean=attachDescription(isBoolean,"a boolean"),callback=attachDescription(isFunction,"a function"),number=attachDescription(isFiniteNumber,"a number"),object=attachDescription(isObject,"an object"),string=attachDescription(isString,"a string"),date=attachDescription(e=>isDate(e)||(isFiniteNumber(e)||isString(e))&&isValidDate(new Date(e)),"a date"),numberMin=(e,t=!0)=>attachDescription(n=>isFiniteNumber(n)&&(n>e||t&&n===e),`a number greater than ${t?"or equal to ":""}${e}`),numberRange=(e,t)=>attachDescription(n=>isFiniteNumber(n)&&n>=e&&n<=t,`a number between ${e} and ${t} inclusive`),positiveNumber=numberMin(0),ratio=numberRange(0,1),isComparable=e=>isFiniteNumber(e)||isValidDate(e),lessThan=e=>attachDescription((t,n)=>!isComparable(t)||!isComparable(n[e])||t`'${n}'`,6);return attachDescription(n=>e.includes(n),`a keyword such as ${t}`)}var constant=e=>attachDescription(t=>e===t,`the value ${JSON.stringify(e)}`),instanceOf=(e,t)=>attachDescription(n=>n instanceof e,t??`an instance of ${e.name}`),arrayOf=(e,t)=>attachDescription((n,i)=>isArray(n)&&n.every(r=>e(r,i)),t??`${e[descriptionSymbol]} array`);