@eui/base 21.3.4-snapshot-1783591367803 → 23.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-base.mjs","sources":["../../src/lib/util/merge.ts","../../src/lib/util/xhr.ts","../../src/lib/ux-models/ux-error-feedback.model.ts","../../src/lib/ux-models/ux-link-legacy.model.ts","../../src/lib/eui-models/eui-service.model.ts","../../src/lib/eui-models/log/log.appender.ts","../../src/lib/eui-models/log/log.model.ts","../../src/lib/eui-models/log/console.appender.ts","../../src/lib/eui-models/log/log.logger.ts","../../src/lib/eui-models/log/log.logger.mock.ts","../../src/lib/eui-models/log/url.appender.ts","../../src/lib/eui-models/eui-config/i18n.config.ts","../../src/lib/eui-models/eui-config/locale.config.ts","../../src/lib/eui-models/eui-store/models/user.models.ts","../../src/lib/eui-models/eui-store/selectors/core.selectors.ts","../../src/lib/eui-models/eui-store/selectors/app.selectors.ts","../../src/lib/eui-models/eui-store/selectors/i18n.selectors.ts","../../src/lib/eui-models/eui-store/selectors/user.selectors.ts","../../src/lib/eui-models/eui-store/selectors/notifications.selectors.ts","../../src/lib/eui-models/eui-store/state/app.state.ts","../../src/lib/eui-models/eui-store/state/user.state.ts","../../src/lib/eui-models/eui-store/state/notifications.state.ts","../../src/lib/eui-models/eui-store/state/i18n.state.ts","../../src/lib/eui-models/eui-store/state/locale.state.ts","../../src/lib/eui-models/eui-store/state/core.state.ts","../../src/lib/eui-models/eui-pagination/eui-pagination.model.ts","../../src/lib/eui-models/eui-constants.ts","../../src/lib/eui-models/eui-auth-config.model.ts","../../src/lib/eui-models/eui-language/eui-eu-languages.model.ts","../../src/lib/polyfill/crypto.polyfill.ts","../../src/eui-base.ts"],"sourcesContent":["export const isObject = <T>(item: T): boolean => item && typeof item === 'object' && !Array.isArray(item);\n\n/* eslint-disable */\nexport function merge<T>(target: T): T;\nexport function merge<T, A>(target: T, a: A): T & A;\nexport function merge<T, A, B>(target: T, a: A, b: B): T & A & B;\nexport function merge<T, A, B, C>(target: T, a: A, b: B, c: C): T & A & B & C;\nexport function merge<T, A, B, C, D>(target: T, a: A, b: B, c: C, d: D): T & A & B & C & D;\nexport function merge<T, A, B, C, D, E>(target: T, a: A, b: B, c: C, d: D, e: E): T & A & B & C & D & E;\nexport function merge<T, A, B, C, D, E, F>(target: T, a: A, b: B, c: C, d: D, e: E, f: F): T & A & B & C & D & E & F;\nexport function merge(target: any, ...sources: any[]): any {\n return mergeDeep(target, ...sources);\n}\n/* eslint-enable */\n\n/**\n * deep merge of two or more objects\n *\n * @param target immutable target\n * @param sources immutable sources to apply to target\n * @returns a new merged object\n */\n// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const mergeDeep = <T extends object, S>(target: T, ...sources: S[]): any => {\n const output: object & T = Object.assign({}, target);\n if (!sources.length) {\n return output as T | T & S;\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key: string) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n /* istanbul ignore next */\n Object.assign(output, { [key]: source[key] });\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return mergeDeep(output, ...sources);\n};\n/* istanbul ignore next */\nexport const mergeAll = <T>(array: Array<T>): T => array.reduce((prev, next) => mergeDeep(prev, next), {});\n","/**\n * XMLHttpRequest configuration having the following parameters\n * url: the path to the request, mandatory\n * method: possible http methods: GET, POST, PUT, PATCH, DELETE, etc\n * responseType: arraybuffer, blob, document, json, text or empty string\n * headers: object containing headers as name: value pairs\n * body: request body\n * withCredentials: True when credentials are to be included in a cross-origin request. False otherwise.\n * timeout - time in milliseconds. A non-zero value will terminate the execution after the given time has passed\n */\nexport interface XHRConfig {\n url: string;\n method?: string;\n responseType?: XMLHttpRequestResponseType;\n headers?: {\n [key: string]: string;\n };\n body?: Document | XMLHttpRequestBodyInit;\n withCredentials?: boolean;\n timeout?: number;\n}\n\n/**\n * Default xhr configuration\n */\nexport const DEFAULT_XHR_CONFIG: XHRConfig = {\n url: null,\n method: 'GET',\n responseType: 'json',\n headers: {},\n body: null,\n withCredentials: false,\n timeout: 0,\n};\n\n/**\n * Utility function to call a XMLHttpRequest and send the response as a Promise. The response can be parameterized\n *\n * @param config xhr configuration\n */\n/* eslint-disable */\nexport async function xhr<T>(urlOrConfig: string | XHRConfig): Promise<T>;\nexport async function xhr(urlOrConfig: string | XHRConfig): Promise<any> {\n // create the configuration and apply the default values\n let config: XHRConfig = typeof urlOrConfig === 'string' ? { url: urlOrConfig } : urlOrConfig;\n config = Object.assign({}, DEFAULT_XHR_CONFIG, config);\n\n // create the promise\n return new Promise((resolve, reject) => {\n // configure and open the request\n const request = new XMLHttpRequest();\n request.open(config.method, config.url, true);\n request.responseType = config.responseType;\n Object.keys(config.headers || {}).map((name) => request.setRequestHeader(name, config.headers[name]));\n request.withCredentials = config.withCredentials;\n request.timeout = config.timeout;\n\n // called in case of timeout\n request.ontimeout = function () {\n reject(`Request timeout after ${request.timeout} milliseconds`);\n };\n\n // called after the response is received\n request.onload = function () {\n if (request.status === 200) {\n // the response is loaded properly\n resolve(request.response);\n } else {\n // status error\n reject(`Request failed with status ${request.status} (${request.statusText})`);\n }\n };\n\n // called in case of generic error\n request.onerror = function () {\n reject(`Request failed`);\n };\n\n // send the request\n request.send(config.body);\n });\n}\n/* eslint-enable */\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class UxErrorOutput<DETAILS = unknown> implements UxErrorInfo, UxHttpErrorInfo, UxErrorFeedback {\n code?: string;\n requestId?: string;\n doc?: string;\n details?: DETAILS;\n severity = UxMessageSeverity.danger;\n msgId: string;\n description: string;\n errGroupMap?: Array<UxErrorGroupMap>;\n subErrors?: SubErrors;\n\n constructor(\n info: UxErrorInfo & UxHttpErrorInfo,\n errorFeedback: UxErrorFeedback,\n subErrors?: SubErrors,\n errGroupMap?: Array<UxErrorGroupMap>,\n ) {\n if (!subErrors) {\n Object.assign(this, { ...info }, { ...errorFeedback });\n } else {\n Object.assign(this, { ...info }, { ...errorFeedback }, { subErrors }, { errGroupMap });\n }\n }\n\n getFeedBacks(byKey?: string): Array<UxErrorFeedback> {\n if (this.subErrors) {\n return this.subErrors\n .filter((err) => {\n if (err instanceof UxValidationErrorClass) {\n if (byKey && err.attributes) {\n return this.checkAttribute(byKey, err.attributes);\n } else if (byKey && !err.attributes) {\n return false;\n } else if (!byKey) {\n return true;\n }\n }\n })\n .map((err) => ({\n msgId: err.msgId,\n description: err.description,\n severity: err.severity,\n attributes: err.attributes,\n errGroupId: err.errGroupId,\n br: err.br,\n doc: err.doc,\n }));\n } else {\n if (!byKey) {\n return [{ msgId: this.msgId, description: this.description, severity: this.severity, doc: this.doc }];\n } else {\n return [];\n }\n }\n }\n\n private checkAttribute(key: string, attributes: UxValidationErrorAttributes): boolean {\n return attributes.some((attr) => key === attr.key);\n }\n}\n\nexport class UxErrorGroupOnClickEvent {\n constructor(public groupId: string, public err?: UxErrorFeedback) {}\n}\n\nexport interface UxErrorFollowMap {\n [groupId: string]: boolean;\n}\n\nexport type UxErrorGroupMap = {\n id: string;\n description: string;\n severity: UxMessageSeverity;\n};\n\nexport type UxErrorGroupItem = {\n groupId: string;\n description: string;\n severity: UxMessageSeverity;\n errors: Array<UxErrorFeedback>;\n};\n\n// T extends U ? X : Y\n// Let's look at the ways to do detailed generic, like error\nexport interface UxErrorInfo<DETAILS = unknown> {\n code?: string;\n doc?: string;\n details?: DETAILS;\n}\n\nexport interface UxHttpErrorInfo {\n requestId?: string;\n}\n\nexport interface UxErrorFeedback extends UxErrorMessage {\n severity?: UxMessageSeverity;\n attributes?: UxValidationErrorAttributes;\n errGroupId?: string;\n br?: string;\n doc?: string;\n}\n\nexport interface UxErrorMessage {\n msgId: string;\n description?: string;\n}\n\nexport type UxValidationErrorAttributes = Array<UxValidationErrorAttribute>;\n\nexport interface UxValidationErrorAttribute {\n key: string | Array<string>;\n value: string;\n}\n\nexport enum UxMessageSeverity {\n info = 'info',\n warning = 'warning',\n danger = 'danger',\n success = 'success',\n}\n\nexport enum UxMessageSeverityMetrics {\n info = 0,\n warning = 1,\n danger = 2,\n success = 3,\n}\n\nexport type SubErrors = Array<UxValidationErrorClass>;\n\nexport class UxValidationErrorClass<Details = object> implements UxErrorInfo<Details>, UxErrorFeedback {\n msgId: string;\n description?: string;\n severity = UxMessageSeverity.danger;\n attributes: UxValidationErrorAttributes;\n br?: string;\n doc?: string;\n details?: Details;\n errGroupId?: string;\n\n constructor(data: UxValidationErrorClass) {\n Object.assign(this, data);\n }\n}\n\nexport type ErrorMappingHandler<Error = object> = (err: Error) => UxErrorOutput;\n\nexport interface UxHttpErrorResponse extends HttpErrorResponse {\n uxHttpErrorOutput: UxErrorOutput;\n}\n\nexport const transformToUxHttpResponse = (resp: HttpErrorResponse, mapper: ErrorMappingHandler): UxHttpErrorResponse => {\n const updatedErr = resp as UxHttpErrorResponse;\n updatedErr.uxHttpErrorOutput = mapper(resp.error);\n return updatedErr;\n};\n\nexport type UxErrorFeedbackEventType = UxPublishErrorFeedbackEvent | UxClearErrorFeedbackEvent;\n\nexport class UxPublishErrorFeedbackEvent {\n constructor(public err: UxErrorOutput, public id?: string, public groupId?: string, public accumulate?: boolean) {}\n}\n\nexport class UxClearErrorFeedbackEvent {\n constructor(public id?: string, public groupId?: string) {}\n}\n","export class UxBadgeLegacy {\n label: string;\n typeClass = 'secondary';\n\n constructor(values: object = {}) {\n Object.assign(this, values);\n }\n}\n\nexport class UxLinkLegacy<METADATA = unknown> {\n id: string;\n label: string;\n ariaIconLabel: string;\n subLabel: string;\n typeLabel: string;\n typeLabelClass: string;\n url: string;\n urlExternal: string;\n urlExternalTarget = '_blank';\n disabled = false;\n children: UxLinkLegacy<METADATA>[];\n parent: UxLinkLegacy<METADATA>;\n iconClass: string;\n iconTypeClass: string;\n hasIconBg = false;\n active = false;\n metadata: METADATA;\n visible = true;\n expanded = false;\n command: () => void;\n hasMarker = false;\n markerTypeClass: string;\n hasTag = false;\n tagTypeClass: string;\n tagLabel: string;\n tagCount: string;\n badgeTypeClass = 'secondary';\n badgeLabel: string;\n badges: UxBadgeLegacy[];\n tooltipLabel: string;\n typeClass: string;\n isHome = false;\n isSeparator = false;\n isScreenReaderClickable = false;\n allowedRightId: string;\n allowedRightIds: string[];\n deniedRightId: string;\n deniedRightIds: string[];\n selected = false;\n indeterminate = false;\n e2eAttr: string;\n category: string;\n constructor(values: object = {}) {\n Object.assign(this, values);\n if (this.id === null || this.id === undefined) {\n this.id = 'no_id';\n }\n this.e2eAttr = 'ux-link-e2e-' + this.id;\n }\n get hasChildren(): boolean {\n return this.children != null;\n }\n}\n","import { Observable, Subject, Subscription } from 'rxjs';\nimport { ModuleConfig } from './eui-config/eui-app-config';\nimport { LoadedConfigModules } from './eui-store/state/app.state';\nimport { EuiStoreServiceModel } from './eui-store/eui-store-service.model';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { Selector } from 'reselect';\nimport { CoreState } from './eui-store';\n\nexport interface EuiServiceModel<T> {\n init(t: T): Observable<EuiServiceStatus>;\n\n /**\n * retrieves the State of the service. If you don't pass anything it will retrieve the whole State\n * of that service. If you pass a selector or MapFunction it will retrieve a slice of the state. If\n * you pass a string that's a key of the Service State type it will retrieve that slice of the state.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getState<K = T>(): Observable<T>;\n getState<K>(mapFn: (state: T) => K): Observable<K>;\n getState<A extends keyof T>(key: A): Observable<T[A]>;\n getState<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<K>;\n\n updateState(t: T): void;\n}\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport abstract class EuiService<T> implements EuiServiceModel<T> {\n protected stateInstance: T;\n protected prevStateInstance: T;\n protected $stateSubs: Subscription;\n protected $stateLazyLoadSubs: Subscription;\n onStateChange: Subject<T> = new Subject<T>();\n\n protected constructor(defaultState: T) {\n this.stateInstance = defaultState;\n }\n\n initEuiService(): void {\n this.unSubscribe();\n this.$stateSubs = this.getState().subscribe((newState: T) => {\n // set previous state of service\n this.prevStateInstance = this.copy(this.stateInstance);\n // update state before emit event\n this.stateInstance = this.copy(newState);\n // inform about state change\n this.onStateChange.next(newState);\n });\n }\n\n abstract init(t?: T): Observable<EuiServiceStatus>;\n\n abstract getState<K = T>(): Observable<T>;\n abstract getState<K>(mapFn?: (state: T) => K): Observable<K>;\n abstract getState<A extends keyof T>(key?: A): Observable<T[A]>;\n abstract getState<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<K>;\n\n abstract updateState(t: DeepPartial<T>): void;\n\n protected unSubscribe(): void {\n if (this.$stateSubs && this.$stateSubs.unsubscribe) {\n this.$stateSubs.unsubscribe();\n }\n if (this.$stateLazyLoadSubs && this.$stateLazyLoadSubs.unsubscribe) {\n this.$stateLazyLoadSubs.unsubscribe();\n }\n }\n\n /**\n * deep merge two objects\n * @param target the object that will be merged into\n * @param source the object that will be merged from\n */\n protected deepMerge<T>(target: T, source: DeepPartial<T>): T {\n const output = Object.assign({}, target);\n if (this.isObject(target) && this.isObject(source)) {\n Object.keys(source).forEach(key => {\n // Check if source[key] is an object and target[key] is either undefined, null, or an object\n if (this.isObject(source[key])) {\n if (!(key in target) || target[key] === null) {\n // If target[key] doesn't exist or is null, directly assign source[key]\n Object.assign(output, { [key]: structuredClone(source[key]) });\n } else {\n // Only deep merge if target[key] is also an object\n output[key] = this.isObject(target[key])\n ? this.deepMerge(target[key], source[key])\n : structuredClone(source[key]);\n }\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n }\n\n /**\n * checks if the given item is an object\n * @param item the item that will be checked\n */\n private isObject(item: unknown): item is object {\n return item && typeof item === 'object' && !Array.isArray(item);\n }\n\n /**\n * returns a copy of the given value whether this value is object or primitive. For the arrays it will cover\n * multidimensional arrays, but it will not cover an object that contain functions. JSON.parse and JSON.stringify\n * might have performance issues on large scale objects but that's an edge case scenario. In case that happens in\n * the future follow the technique of NGRX with function caching.\n *\n * @param state\n */\n private copy(state: T): T {\n if (typeof state === 'undefined') {\n return undefined;\n }\n return JSON.parse(JSON.stringify(state));\n }\n}\n\nconst getAppLoadedConfigModules: Selector<CoreState, LoadedConfigModules> = (state: CoreState) => state?.app?.loadedConfigModules\n\nexport abstract class EuiLazyService<T> extends EuiService<T> {\n protected stateInstance: T;\n protected $stateSubs: Subscription;\n protected $stateLazyLoadSubs: Subscription;\n\n protected constructor(defaultState: T) {\n super(defaultState);\n }\n\n abstract lazyLoadInit(moduleConfig: ModuleConfig, moduleName?: string): Observable<EuiServiceStatus>;\n\n // todo it should use abstract store service\n initEuiService(storeForLazyLoad?: EuiStoreServiceModel<T>): void {\n super.initEuiService();\n\n if (storeForLazyLoad) {\n this.$stateLazyLoadSubs = storeForLazyLoad\n .select(getAppLoadedConfigModules)\n .pipe(\n filter((loadedConfigModules: LoadedConfigModules) =>\n loadedConfigModules?.modulesConfig?.[loadedConfigModules.lastAddedModule] ? true : false,\n ),\n switchMap((loadedConfigModules: LoadedConfigModules) =>\n this.lazyLoadInit(\n loadedConfigModules.modulesConfig[loadedConfigModules.lastAddedModule],\n loadedConfigModules.lastAddedModule,\n ),\n ),\n )\n .subscribe(null);\n }\n }\n}\n\n/**\n * EuiServiceStatus is a model that represents the status of the service. It has a boolean property that indicates\n * whether the service was successful or not. If the service was not successful it will have an error property that\n * contains the error message.\n * @param T the type of the error message\n * @property success a boolean property that indicates whether the service was successful or not\n * @property error an optional property that contains the error message\n */\nexport interface EuiServiceStatus<T = unknown> {\n success: boolean;\n error?: T;\n}\n","import { Injector } from '@angular/core';\nimport { LogAppenderConfig } from '../eui-config';\nimport { LogEvent } from './log.model';\n\n/**\n * Abstract Log Appender\n */\nexport abstract class LogAppender<CFG extends LogAppenderConfig = LogAppenderConfig> {\n constructor(protected config: CFG, protected injector: Injector = null) {}\n\n /**\n * Gets the config\n *\n * @returns the config\n */\n getConfig(): CFG {\n return this.config;\n }\n\n /**\n * Logs a Log Event\n *\n * @param event log event\n */\n abstract append(event: LogEvent): void;\n}\n","/** Log level */\nexport enum LogLevel {\n OFF = 0,\n FATAL = 1,\n ERROR = 2,\n WARN = 3,\n INFO = 4,\n DEBUG = 5,\n TRACE = 6,\n ALL = 7,\n}\n\n/** Associated log level names */\nexport enum LogLevelName {\n FATAL = 'FATAL',\n ERROR = 'ERROR',\n WARN = 'WARNING',\n INFO = 'INFO',\n DEBUG = 'DEBUG',\n TRACE = 'TRACE',\n}\n\n/** The code position from where the log has been triggered */\nexport interface LogPosition {\n file: string;\n line: number;\n column: number;\n}\n\n/** The log event sent to the log appenders */\nexport interface LogEvent<MESSAGES = unknown> {\n /** event's log level */\n level: LogLevel;\n /** event's log level name */\n levelName: string;\n /** the name of the logger who triggered the event */\n loggerName: string;\n /** event's timestamp */\n timestamp: Date;\n /** log messages */\n messages: MESSAGES[];\n}\n","import { LogAppender } from './log.appender';\nimport { ConsoleAppenderConfig, ConsoleAppenderPrefixConverters } from '../eui-config';\nimport { LogEvent, LogLevel } from './log.model';\n\n/** Default console prefix converters */\nexport const DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS: ConsoleAppenderPrefixConverters = {\n '{level}': (event: LogEvent) => event.levelName,\n '{logger}': (event: LogEvent) => event.loggerName,\n '{date}': (event: LogEvent) => event.timestamp.toLocaleDateString(),\n '{time}': (event: LogEvent) => event.timestamp.toLocaleTimeString(),\n};\n\n/**\n * Console Appender\n */\nexport class ConsoleAppender extends LogAppender<ConsoleAppenderConfig> {\n constructor(public config: ConsoleAppenderConfig = {}) {\n super(config);\n // apply the default prefix converters\n config.prefixConverters = Object.assign({}, DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS, config.prefixConverters);\n }\n\n /**\n * Logs an event in the console\n */\n append(event: LogEvent): void {\n // retrieve the prefix\n const prefix = this.getPrefix(event);\n // append it to the message array\n const messages = prefix ? [prefix, ...event.messages] : event.messages;\n\n // log the event in the console\n switch (event.level) {\n case LogLevel.FATAL:\n case LogLevel.ERROR:\n console.error(...messages);\n break;\n case LogLevel.WARN:\n console.warn(...messages);\n break;\n default:\n console.log(...messages);\n break;\n }\n }\n\n /**\n * Returns the prefix to be added to the messages\n *\n * @param event the log event\n * @returns the formatted prefix, as string\n */\n protected getPrefix(event: LogEvent): string {\n // in case of no prefixFormat, return null\n if (!this.config || !this.config.prefixFormat) {\n return null;\n }\n\n // start creating the prefix from the format\n let prefix = this.config.prefixFormat;\n\n // apply the prefix converters\n Object.keys(this.config.prefixConverters).forEach((key) => {\n prefix = this.convert(prefix, key, this.config.prefixConverters[key](event));\n });\n\n return prefix;\n }\n\n /**\n * Utility method to replace a placeholder\n *\n * @param str the string with placeholders\n * @param find the placeholder\n * @param replace the string to replace the placeholder\n * @returns the converted string\n */\n protected convert(str: string, find: string, replace: string): string {\n return str.replace(new RegExp(find, 'g'), replace);\n }\n}\n","import { LogEvent, LogLevel, LogLevelName } from './log.model';\nimport { LogAppender } from './log.appender';\n\n/**\n * Logger\n */\nexport class Logger {\n constructor(protected name: string, protected level: LogLevel, protected appenders: LogAppender[]) {}\n\n static isEnabledFor(enabledFromLevel: LogLevel, level: LogLevel): boolean {\n return enabledFromLevel >= level;\n }\n\n /**\n * Gets the logger name\n *\n * @returns the logger name\n */\n getName(): string {\n return this.name;\n }\n\n /**\n * Gets the log level\n *\n * @returns the log level\n */\n getLevel(): LogLevel {\n return this.level;\n }\n\n /**\n * Sets the log level\n *\n * @param level log level\n */\n setLevel(level: LogLevel): void {\n this.level = level;\n }\n\n /**\n * Fatal log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n fatal<T, S>(message: T, ...additionalMessages: S[]): void {\n return this.log({\n level: LogLevel.FATAL,\n levelName: LogLevelName.FATAL,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Error log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n error<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.ERROR,\n levelName: LogLevelName.ERROR,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Warning log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n warn<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.WARN,\n levelName: LogLevelName.WARN,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Info log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n info<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.INFO,\n levelName: LogLevelName.INFO,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Debug log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n debug<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.DEBUG,\n levelName: LogLevelName.DEBUG,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Trace log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n trace<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.TRACE,\n levelName: LogLevelName.TRACE,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n isDisabled = (): boolean => this.level === LogLevel.OFF;\n isEnabledFor = (level: LogLevel): boolean => Logger.isEnabledFor(this.level, level);\n isFatalEnabled = (): boolean => this.isEnabledFor(LogLevel.FATAL);\n isErrorEnabled = (): boolean => this.isEnabledFor(LogLevel.ERROR);\n isWarnEnabled = (): boolean => this.isEnabledFor(LogLevel.WARN);\n isInfoEnabled = (): boolean => this.isEnabledFor(LogLevel.INFO);\n isDebugEnabled = (): boolean => this.isEnabledFor(LogLevel.DEBUG);\n isTraceEnabled = (): boolean => this.isEnabledFor(LogLevel.TRACE);\n isAllEnabled = (): boolean => this.isEnabledFor(LogLevel.ALL);\n\n /**\n * Generic log method, checking the log level and calling the specified appenders\n *\n * @param event the log event\n */\n protected log(event: LogEvent): void {\n this.appenders\n // filter the appender by their custom logLevel or the logger (main) logLevel\n .filter((appender) => Logger.isEnabledFor(appender.getConfig().logLevel || this.level, event.level), this)\n // execute the remaining appenders\n .forEach((appender) => appender.append(event));\n }\n}\n","import { Logger } from './log.logger';\n\nexport class LoggerMock extends Logger {\n constructor() {\n super(null, null, null);\n }\n\n getLevel(): null {\n return null;\n }\n\n setLevel(): void {\n /* empty */\n }\n\n fatal(): void {\n /* empty */\n }\n\n error(): void {\n /* empty */\n }\n\n warn(): void {\n /* empty */\n }\n\n info(): void {\n /* empty */\n }\n\n debug(): void {\n /* empty */\n }\n\n trace(): void {\n /* empty */\n }\n\n isDisabled = (): boolean => false;\n isEnabledFor = (): boolean => false;\n isFatalEnabled = (): boolean => false;\n isErrorEnabled = (): boolean => false;\n isWarnEnabled = (): boolean => false;\n isInfoEnabled = (): boolean => false;\n isDebugEnabled = (): boolean => false;\n isTraceEnabled = (): boolean => false;\n isAllEnabled = (): boolean => false;\n}\n","import { Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { LogEvent, LogPosition } from './log.model';\nimport { LogAppender } from './log.appender';\nimport { Logger } from './log.logger';\nimport { UrlAppenderConfig, UrlLogEvent } from '../eui-config';\n\n/**\n * Url Appender\n */\nexport class UrlAppender extends LogAppender<UrlAppenderConfig> {\n protected http: HttpClient;\n\n constructor(public config: UrlAppenderConfig, protected injector: Injector) {\n super(config, injector);\n // set the http client\n this.http = injector && injector.get(HttpClient, null);\n if (!this.http) {\n console.error('UrlAppender needs HttpClient service to be defined as a provider.');\n }\n }\n\n /**\n * Logs an event to a server\n */\n append(event: LogEvent): void {\n // eventual http errors will be caught by the HttpErrorHandlerInterceptor\n if (this.http) {\n this.http.post(this.config.url, this.toUrlEvent(event)).subscribe();\n }\n }\n\n /**\n * Maps a LogEvent into a UrlLogEvent\n */\n protected toUrlEvent(event: LogEvent): UrlLogEvent {\n // check if the urlEventFromLevel allows the mapping to url log event\n const toUrlEvent = this.config.detailedEventFromLevel && Logger.isEnabledFor(this.config.detailedEventFromLevel, event.level);\n // returns the url event or the regular log event\n return toUrlEvent\n ? Object.assign({}, this.filterErrorType(event), {\n position: this.getPosition(),\n location: this.getLocation(),\n })\n : event;\n }\n\n /**\n * returns the code position from where the log has been triggered\n */\n protected getPosition(): LogPosition {\n // create a dummy error, just for the stack trace\n const error = new Error();\n\n try {\n // throw it ...\n throw error;\n } catch (e) {\n // ... and catch it\n try {\n // extract the correct stack line\n let stackLine = error.stack.split('\\n')[3].trim();\n if (stackLine.startsWith('at ')) {\n stackLine = stackLine.substring('at '.length);\n }\n // if the path is specified in parentheses\n if (stackLine.lastIndexOf('(') > 0) {\n stackLine = stackLine.substring(stackLine.lastIndexOf('(') + 1, stackLine.indexOf(')'));\n }\n // strip base path, then parse file, line and column\n const data = stackLine.substring(stackLine.lastIndexOf('/') + 1).split(':');\n // if the data is parsed correctly\n if (data.length === 3) {\n return {\n file: data[0],\n line: +data[1],\n column: +data[2],\n };\n }\n } catch (err) {\n /* empty */\n }\n }\n /* istanbul ignore next */\n return null;\n }\n\n /**\n * returns the url of the current page\n */\n protected getLocation(): string {\n return window && window.location && window.location.href;\n }\n\n /**\n * check messages if object type is Error and make its properties enumerable\n */\n protected filterErrorType(event: LogEvent): LogEvent {\n event.messages = event.messages.map((m) => (m instanceof Error ? Object.getOwnPropertyDescriptors(m) : m));\n return event;\n }\n}\n","import { GlobalConfig } from './eui-app-config';\nimport { EuiLanguage } from '../eui-language/eui-language.model';\n\nexport interface I18nResource {\n /** prefix of the resource could be like the 2 char language code e.g. /en */\n prefix: string;\n /** suffix can be either .json or anything related of the resource HTTP call */\n suffix?: string;\n /**\n It is an ID of the function which should be defined into the customHandlers with the interface TranslationsCompiler\n */\n compileTranslations?: string;\n}\n\n/**\n * a factory to compile translations into the main object holding them all\n *\n * @param translations the object to be pre-processed\n * @param lang the translations language\n * @returns the pre-processed translations\n */\nexport type TranslationsCompiler<T = unknown, C = unknown> = (translations: T, lang: string) => C;\n\nexport interface I18nConfig {\n icuEnabled?: boolean;\n i18nService: I18nServiceConfig;\n i18nLoader: I18nLoaderConfig;\n}\n\nexport interface I18nServiceConfig {\n /** an ISO 2 char code array of available languages */\n languages?: (string | EuiLanguage)[];\n /** default language to be used in case of not any has been set */\n defaultLanguage?: string;\n}\n\nexport interface I18nLoaderConfig {\n /**\n * Those folders will be used to load the translations files from {@link https://angular.io/guide/workspace-config#extra-build-and-test-options assets}.\n * e.g [`${environment.apiBaseUrl}translations/`, `${environment.apiBaseUrl}translations?lang=`]\n * Important! the language code will be added automatically to the end of the url except if the url ends with a slash.\n */\n i18nFolders?: string | string[];\n /**\n * Array of service urls to translation, don't add the language it will be added e.g. http://net1/trans/en\n * Keep in mind that the url should be the prefix and not contain any suffix.\n */\n i18nServices?: string | string[];\n /**\n * It is a set of more customized resources to be loaded. You can provide a function to compile the translations or simply\n * provide the prefix and suffix of the resource, or both.\n *\n * @example\n * ```typescript\n * export function CompileTranslations(translations: any): any {\n * const result = {};\n * translations.forEach((translation: any) => {\n * // extract the key and value from the translation object\n * const key = translation['key'];\n * const value = translation['value'];\n * if (key && value) {\n * result[key] = value;\n * }\n * });\n * return result;\n * }\n * export const appConfig: EuiAppConfig = {\n * ...,\n * customHandler: {\n * 'CompileTranslations_ID': CompileTranslations\n * }\n * };\n * export const GLOBAL: GlobalConfig = {\n * ...,\n * i18n: {\n * i18nLoader: {\n * i18nFolders: ['i18n-eui'],\n * i18nResources: [{\n * prefix: 'api/translations/',\n * compileTranslations: 'CompileTranslations_ID',\n * }]\n * }\n * }\n * };\n *\n */\n i18nResources?: I18nResource | I18nResource[];\n}\n\nexport const getI18nServiceConfigFromBase = (baseGlobalConfig: GlobalConfig): I18nServiceConfig => {\n if(!baseGlobalConfig) throw new Error('baseGlobalConfig is required');\n const i18nServiceConfig = baseGlobalConfig && baseGlobalConfig.i18n && baseGlobalConfig.i18n.i18nService;\n const { languages, defaultLanguage } = getI18nServiceConfig(i18nServiceConfig);\n\n return { languages, defaultLanguage };\n};\n\nexport const getI18nServiceConfig = (config: I18nServiceConfig): I18nServiceConfig => Object.assign({}, config);\n\nexport const getI18nLoaderConfig = (config: I18nLoaderConfig): I18nLoaderConfig => {\n const { i18nFolders, i18nServices, i18nResources } = Object.assign({}, config);\n return { i18nFolders, i18nServices, i18nResources };\n};\n\n/**\n * returns a language code based on https://tools.ietf.org/rfc/bcp/bcp47.txt specification. To get the Browser's\n * it's using the navigator.language, splits by hyphen and get the first part.\n */\nexport const getBrowserDefaultLanguage = (): string => navigator.language.split('-')[0];\n\n/**\n * returns an array of DOMStrings representing the user's preferred languages. The language is described using BCP 47\n * language tags. In the returned array they are ordered by preference with the most preferred language first.\n * The array languages will be lower cased 2 char code.\n */\nexport const getBrowserPreferredLanguages = (): string[] => navigator.languages.map((lang) => lang.split('-')[0]);\n","/** User API configuration */\nimport { GlobalConfig } from './eui-app-config';\n\nexport interface LocaleServiceConfig {\n /**\n * When enabled changes from I18nService will be reflected to locale state\n */\n bindWithTranslate?: boolean;\n}\n\n/**\n * responsible to extract the attributes \"available\" and \"id\" from the locale configuration\n */\nexport const getLocaleServiceConfigFromBase = (baseGlobalConfig: GlobalConfig): LocaleServiceConfig => {\n const { bindWithTranslate } = baseGlobalConfig.locale;\n return { bindWithTranslate };\n};\n","export interface UserDetails {\n userId: string;\n firstName?: string;\n lastName?: string;\n fullName?: string;\n}\n\n// TODO: on v18 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UserPreferences<DASHBOARD = any, T = any> {\n dashboard?: DASHBOARD;\n lang?: string;\n\n [key: string]: string | DASHBOARD | T;\n}\n\nexport const initialUserPreferences: UserPreferences = Object.assign(\n {},\n {\n lang: null,\n dashboard: null,\n },\n);\n","import { CoreState, AppState, I18nState, LocaleState, NotificationsState, UserState } from '../state';\n\nexport const getAppState = (state: CoreState): AppState => state.app;\nexport const getUserState = (state: CoreState): UserState => state.user;\nexport const getNotificationsState = (state: CoreState): NotificationsState => state.notifications;\nexport const getI18nState = (state: CoreState): I18nState => state.i18n;\nexport const getLocaleState = (state: CoreState): LocaleState => state.locale;\n","import { createSelector, Selector } from 'reselect';\nimport { AppState, LoadedConfigModules } from '../state';\nimport { getAppState } from './core.selectors';\nimport { ApiQueue, ApiQueueItem } from '../models';\n\nexport const getAppVersion: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.version);\nexport const getAppConnection: Selector<AppState, boolean> = createSelector(getAppState, (state: AppState) => state.connected);\n/**\n * Returns the loaded config modules from the app state\n * @deprecated It will be removed in the future.\n */\nexport const getAppLoadedConfigModules: Selector<AppState, LoadedConfigModules> = createSelector(\n getAppState,\n (state: AppState) => state.loadedConfigModules,\n);\n/**\n * Returns the last added module from the app state\n * @deprecated It will be removed in the future.\n */\nexport const getLastAddedModule: Selector<AppState, string> = createSelector(\n getAppState,\n (state: AppState) => state.loadedConfigModules.lastAddedModule,\n);\n\nexport const getAppStatus: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.status);\nexport const getCurrentModule: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.currentModule);\nexport const getApiQueue: Selector<AppState, ApiQueue> = createSelector(getAppState, (state: AppState) => state.apiQueue);\nexport const getApiQueueItem = (itemId: string): Selector<AppState, ApiQueueItem> =>\n createSelector(getAppState, (state: AppState) => state.apiQueue[itemId]);\n","import { createSelector, Selector } from 'reselect';\nimport { getI18nState } from '../selectors';\nimport { I18nState, CoreState } from '../state';\n\nexport const getActiveLang: Selector<CoreState, string> = createSelector(getI18nState, (state: I18nState) => state.activeLang);\n","import { createSelector, Selector } from 'reselect';\nimport { UserDetails, UserPreferences } from '../models/user.models';\nimport { CoreState, EuiUserRight } from '../../../eui-models';\nimport { getUserState } from './core.selectors';\nimport { UserState } from '../state/user.state';\n\nexport const getUserDetails: Selector<CoreState, UserDetails> = createSelector(getUserState, (state: UserState) => state as UserDetails);\nexport const getUserPreferences: Selector<CoreState, UserPreferences> = createSelector(\n getUserState,\n (state: UserState) => state.preferences,\n);\n\nexport const getUserId: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.userId);\nexport const getUserFirstName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.firstName);\nexport const getUserLastName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.lastName);\nexport const getUserFullName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.fullName);\n\nexport const getUserLang: Selector<UserPreferences, string> = createSelector(getUserPreferences, (state: UserPreferences) => state.lang);\n\nexport const getUserRights: Selector<CoreState, EuiUserRight[]> = createSelector(getUserState, (state: UserState) => state.rights);\nexport const getUserRight = (rightId: string): Selector<CoreState, EuiUserRight> =>\n createSelector(getUserRights, (state: EuiUserRight[]) => state.find((right) => right && right.id === rightId));\nexport const getUserRightPermissions = (rightId: string): Selector<CoreState, string[]> =>\n createSelector(getUserRight(rightId), (state: EuiUserRight) => state && state.permissions);\n\nexport const getUserDashboard: Selector<UserPreferences<unknown>, unknown> = createSelector(\n getUserPreferences,\n (state: UserPreferences) => state.dashboard,\n);\n","import { createSelector, Selector } from 'reselect';\n\nimport { getNotificationsState } from './core.selectors';\nimport { NotificationsState } from '../state/notifications.state';\nimport { AppState } from '../state';\n\nexport const getNotificationsList: Selector<AppState, unknown[]> = createSelector(\n getNotificationsState,\n (state: NotificationsState) => state.list,\n);\n","import { ApiQueue } from '../models';\nimport { ModulesConfig } from '../../eui-config';\n\n// TODO: on v18 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface AppState<T = any> {\n version?: string;\n /** flag to indicate if the application is online/offline. Default: true */\n connected?: boolean;\n loadedConfigModules?: LoadedConfigModules;\n\n status?: string;\n currentModule?: string;\n apiQueue?: ApiQueue;\n\n [key: string]: string | boolean | LoadedConfigModules | ApiQueue | T;\n}\n\nexport const initialAppState: AppState = Object.assign(\n {},\n {\n version: '0.0.0',\n connected: true,\n loadedConfigModules: {\n modulesConfig: {},\n },\n status: 'idle',\n currentModule: '',\n apiQueue: {},\n },\n);\n\n/**\n * LoadedConfigModules\n * @property lastAddedModule - the last module added to the store\n * @property modulesConfig - the modules configuration\n */\nexport interface LoadedConfigModules {\n lastAddedModule?: string;\n modulesConfig: ModulesConfig;\n}\n","import { UserPreferences, initialUserPreferences } from '../models/user.models';\nimport { EuiUserRight } from '../../../eui-models';\nimport { UserDetails } from '../models';\n\nexport interface UserState extends UserDetails {\n userId: string;\n firstName?: string;\n lastName?: string;\n fullName?: string;\n preferences?: UserPreferences;\n rights?: EuiUserRight[];\n}\n\nexport const initialUserState: UserState = Object.assign(\n {},\n {\n userId: '',\n firstName: '',\n lastName: '',\n fullName: '',\n preferences: initialUserPreferences,\n rights: [],\n },\n);\n","/**\n * The notifications state.\n * @template LIST The type of the list of notifications.\n */\nexport interface NotificationsState<LIST = unknown> {\n list?: LIST[];\n}\n\n/**\n * The initial state of the notifications state.\n */\nexport const initialNotificationsState: NotificationsState = {\n list: [],\n};\n","export interface I18nState {\n activeLang: string;\n}\n\nexport const initialI18nState: I18nState = {\n activeLang: null,\n};\n","/**\n * The locale state is used to store the current locale id and the list of available locales.\n */\nexport interface LocaleState {\n /** The current locale id e.g. 'en-US' */\n id: string;\n}\n\n/**\n * The initial state of the locale state. The default locale is English US ('en').\n */\nexport const initialLocaleState: LocaleState = {\n id: 'en',\n};\n","import { AppState, initialAppState } from './app.state';\nimport { UserState, initialUserState } from './user.state';\nimport { NotificationsState, initialNotificationsState } from './notifications.state';\nimport { I18nState, initialI18nState } from './i18n.state';\nimport { LocaleState, initialLocaleState } from './locale.state';\n\nexport interface CoreState {\n app?: AppState;\n user?: UserState;\n notifications?: NotificationsState;\n i18n?: I18nState;\n locale?: LocaleState;\n}\n\nexport const initialCoreState: CoreState = Object.assign(\n {},\n {\n app: initialAppState,\n user: initialUserState,\n notifications: initialNotificationsState,\n i18n: initialI18nState,\n locale: initialLocaleState,\n },\n);\n","export interface EuiPaginationConfig {\n totalItems?: number;\n pageSize?: number;\n currentPage?: number;\n pageWindowSize?: number;\n}\n\nexport const DefaultConfig: EuiPaginationConfig = {\n totalItems: 0,\n pageSize: 10,\n currentPage: 1,\n pageWindowSize: 5,\n};\n\nexport class EuiPagination {\n private constructor(\n private totalItems: number = DefaultConfig.totalItems,\n private pageSize: number = DefaultConfig.pageSize,\n private currentPage: number = DefaultConfig.currentPage,\n private pageWindowSize: number = DefaultConfig.pageWindowSize,\n ) {}\n\n public static create(config: EuiPaginationConfig = DefaultConfig): EuiPagination {\n if (config.totalItems < 0) {\n throw new Error('total items cannot be negative');\n }\n\n if (config.pageSize <= 0) {\n throw new Error('page size must be bigger than zero');\n }\n\n if (config.pageWindowSize <= 0) {\n throw new Error('page window size must be bigger than zero');\n }\n\n return new EuiPagination(config.totalItems, config.pageSize, config.currentPage, config.pageWindowSize);\n }\n\n getFirstPage(): number {\n return 1;\n }\n\n getLastPage(): number {\n return this.getPagesCount();\n }\n\n isFirstPageActive(): boolean {\n return this.getCurrentPage() === 1;\n }\n\n isLastPageActive(): boolean {\n return this.getCurrentPage() === this.getPagesCount();\n }\n\n hasItems(): boolean {\n return this.getTotalItems() > 0;\n }\n\n getPagesCount(): number {\n const pagesCount = Math.ceil(this.totalItems / this.pageSize);\n return Math.max(pagesCount, 1);\n }\n\n getPages(): Array<number> {\n const pageWindowSize = this.getPageWindowSize();\n const pagesCount = this.getPagesCount();\n const currentPage = this.getCurrentPage();\n\n let leftPageWindowSize;\n let rightPageWindowSize;\n let startPage;\n let endPage;\n\n // should not be bigger than pages count\n const truncatedPageWindowSize = Math.min(...[this.getPageWindowSize(), this.getPagesCount()]);\n\n if (truncatedPageWindowSize % 2 === 0) {\n // nonsymetrical pager (...*....)\n leftPageWindowSize = truncatedPageWindowSize / 2 - 1;\n rightPageWindowSize = leftPageWindowSize + 1;\n } else {\n // symmetrical pager (...*...)\n leftPageWindowSize = rightPageWindowSize = Math.floor(pageWindowSize / 2);\n }\n\n if (currentPage <= leftPageWindowSize) {\n // start\n startPage = 1;\n endPage = truncatedPageWindowSize;\n } else if (currentPage > pagesCount - rightPageWindowSize) {\n // end\n startPage = pagesCount - truncatedPageWindowSize + 1;\n endPage = pagesCount;\n } else {\n // middle\n startPage = currentPage - leftPageWindowSize;\n endPage = currentPage + rightPageWindowSize;\n }\n\n return range(startPage, endPage + 1);\n }\n\n goToPage(page: number): void {\n const pagesCount = this.getPagesCount();\n const upperTrunc = Math.min(...[page, pagesCount]);\n const truncated = Math.max(...[upperTrunc, 1]);\n\n this.currentPage = truncated;\n }\n\n goToFirstPage(): void {\n this.goToPage(1);\n }\n\n goToLastPage(): void {\n const lastPage = this.getPagesCount();\n this.goToPage(lastPage);\n }\n\n goToNextPage(): void {\n const nextPage = this.getCurrentPage() + 1;\n this.goToPage(nextPage);\n }\n\n goToPreviousPage(): void {\n const previousPage = this.getCurrentPage() - 1;\n this.goToPage(previousPage);\n }\n\n hasPreviousPage(): boolean {\n return this.getCurrentPage() > 1;\n }\n\n hasNextPage(): boolean {\n return this.getCurrentPage() < this.getPagesCount();\n }\n\n getTotalItems(): number {\n return this.totalItems;\n }\n\n getPageSize(): number {\n return this.pageSize;\n }\n\n setPageSize(size: number): void {\n const truncated = Math.max(...[size, 1]);\n this.pageSize = truncated;\n }\n\n getCurrentPage(): number {\n return this.currentPage;\n }\n\n getPageWindowSize(): number {\n return this.pageWindowSize;\n }\n\n setPageWindowSize(size: number): void {\n const truncated = Math.max(...[size, 1]);\n this.pageWindowSize = truncated;\n }\n\n getShowingFrom(): number {\n const startingIndex = (this.getCurrentPage() - 1) * this.getPageSize();\n let startingPage = startingIndex + 1;\n\n if (!this.hasItems()) {\n startingPage = 0;\n }\n\n return startingPage;\n }\n\n getShowingTo(): number {\n const displayStartItem = this.getShowingFrom();\n const pageSize = this.getPageSize();\n const totalItems = this.getTotalItems();\n\n if (!this.hasItems()) {\n return 0;\n }\n\n const pageEnd = Math.min(...[displayStartItem + pageSize - 1, totalItems]);\n\n return pageEnd;\n }\n}\n\nexport const range = (start: number, end?: number, step = 1): Array<number> => {\n const output = [];\n if (typeof end === 'undefined') {\n end = start;\n start = 0;\n }\n for (let i = start; i < end; i += step) {\n output.push(i);\n }\n return output;\n};\n","export const EUI_COLORS = {\n text: '#333333',\n default: '#333333',\n black: '#000000',\n white: '#ffffff',\n\n primary: '#004494',\n primaryDark: '#003e8c',\n primaryDarker: '#003581',\n primaryDarkest: '#002d77',\n primaryDarkester: '#001f65',\n primaryDarkester2: '#00174c',\n primaryLight: '#2660a4',\n primaryLighter: '#4d7cb4',\n primaryLightest: '#80a2ca',\n primaryLightester: '#b3c7df',\n primaryLightester2: '#e0e9f2 ',\n\n accent: '#ffeb3b',\n accentDark: '#ffd114',\n accentDarker: '#fc1',\n accentDarkest: '#ffc60d',\n accentDarkester: '#ffbc07',\n accentDarkester2: '#edad00',\n accentLight: '#ffdc3a',\n accentLighter: '#ffe25d',\n accentLightest: '#ffeb8b',\n accentLightester: '#fff3b9',\n accentLightester2: '#fffae3',\n\n info: '#03a9f4',\n infoDark: '#039be5',\n infoDarker: '#0288d1',\n infoDarkest: '#0277bd',\n infoDarkester: '#01579b',\n infoDarkester2: '#003473',\n infoLight: '#29b6f6',\n infoLighter: '#4fc3f7',\n infoLightest: '#81d4fa',\n infoLightester: '#b3e5fc',\n infoLightester2: '#e0eef6',\n\n success: '#4caf50',\n successDark: '#3f7233',\n successDarker: '#37672c',\n successDarkest: '#2f5d24',\n successDarkester: '#204a17',\n successDarkester2: '#183711',\n successLight: '#628e57',\n successLighter: '#7ea274',\n successLightest: '#a3bd9c',\n successLightester: '#c8d7c4',\n successLightester2: '#e9efe7',\n\n warning: '#ff9800',\n warningDark: '#f08d23',\n warningDarker: '#ee821d',\n warningDarkest: '#ec7817',\n warningDarkester: '#e8670e',\n warningDarkester2: '#d05c0d',\n warningLight: '#f4a547',\n warningLighter: '#f6b568',\n warningLightest: '#f9ca93',\n warningLightester: '#fbdfbe',\n warningLightester2: '#fdf2e5',\n\n danger: '#f44336',\n dangerDark: '#d61d2b',\n dangerDarker: '#d01824',\n dangerDarkest: '#cb141e',\n dangerDarkester: '#c20b13',\n dangerDarkester2: '#aa0a11',\n dangerLight: '#e0424f',\n dangerLighter: '#e5646e',\n dangerLightest: '#ed9098',\n dangerLightester: '#f4bcc1',\n dangerLightester2: '#fbe4e6',\n\n grey: '#9e9e9e',\n greyDark: '#757575',\n greyDarker: '#616161',\n greyDarkest: '#424242',\n greyDarkester: '#212121',\n greyDarkester2: '#141414',\n greyLight: '#bdbdbd',\n greyLighter: '#d2d2d2',\n greyLightest: '#eeeeee',\n greyLightester: '#f5f5f5',\n greyLightester2: '#fafafa',\n};\n","export interface EuiAuthConfig {\n isLoggedIn?: boolean;\n redirectUrl?: string;\n loginPageUrl?: string;\n}\n\nexport const EUI_DEFAULT_AUTH_CONFIG: EuiAuthConfig = {\n isLoggedIn: true,\n redirectUrl: '',\n loginPageUrl: '',\n};\n","import { EuiLanguage } from './eui-language.model';\n\nexport type EuiLanguageCode = string | EuiLanguage;\n\nexport class EuiEuLanguages {\n private static languages: { [code: string]: EuiLanguage } = {\n bg: {\n code: 'bg',\n label: 'български',\n },\n cs: {\n code: 'cs',\n label: 'čeština',\n },\n da: {\n code: 'da',\n label: 'dansk',\n },\n de: {\n code: 'de',\n label: 'Deutsch',\n },\n et: {\n code: 'et',\n label: 'eesti keel',\n },\n el: {\n code: 'el',\n label: 'ελληνικά',\n },\n en: {\n code: 'en',\n label: 'English',\n },\n es: {\n code: 'es',\n label: 'español',\n },\n fr: {\n code: 'fr',\n label: 'français',\n },\n ga: {\n code: 'ga',\n label: 'Gaeilge',\n },\n hr: {\n code: 'hr',\n label: 'hrvatski',\n },\n it: {\n code: 'it',\n label: 'italiano',\n },\n lv: {\n code: 'lv',\n label: 'latviešu valoda',\n },\n lt: {\n code: 'lt',\n label: 'lietuvių kalba',\n },\n hu: {\n code: 'hu',\n label: 'magyar',\n },\n mt: {\n code: 'mt',\n label: 'Malti',\n },\n nl: {\n code: 'nl',\n label: 'Nederlands',\n },\n pl: {\n code: 'pl',\n label: 'polski',\n },\n pt: {\n code: 'pt',\n label: 'português',\n },\n ro: {\n code: 'ro',\n label: 'română',\n },\n sk: {\n code: 'sk',\n label: 'slovenčina',\n },\n sl: {\n code: 'sl',\n label: 'slovenščina',\n },\n fi: {\n code: 'fi',\n label: 'suomi',\n },\n sv: {\n code: 'sv',\n label: 'svenska',\n },\n };\n\n private static allLanguages = [\n { code: 'aa', label: 'Afaraf' },\n { code: 'ab', label: 'аҧсуа' },\n { code: 'ae', label: 'avesta' },\n { code: 'af', label: 'Afrikaans' },\n { code: 'ak', label: 'Akan' },\n { code: 'am', label: 'አማርኛ' },\n { code: 'an', label: 'Aragonés' },\n { code: 'ar', label: 'العربية', isRtl: true },\n { code: 'as', label: 'অসমীয়া' },\n { code: 'av', label: 'авар мацӀ, магӀарул мацӀ' },\n { code: 'ay', label: 'aymar aru' },\n { code: 'az', label: 'azərbaycan dili' },\n { code: 'ba', label: 'башҡорт теле' },\n { code: 'be', label: 'Беларуская' },\n { code: 'bg', label: 'български' },\n { code: 'bh', label: 'भोजपुरी' },\n { code: 'bi', label: 'Bislama' },\n { code: 'bm', label: 'bamanankan' },\n { code: 'bn', label: 'বাংলা' },\n { code: 'bo', label: 'བོད་ཡིག' },\n { code: 'br', label: 'brezhoneg' },\n { code: 'bs', label: 'bosanski jezik' },\n { code: 'ca', label: 'Català' },\n { code: 'ce', label: 'нохчийн мотт' },\n { code: 'ch', label: 'Chamoru' },\n { code: 'co', label: 'corsu, lingua corsa' },\n { code: 'cr', label: 'ᓀᐦᐃᔭᐍᐏᐣ' },\n { code: 'cs', label: 'čeština' },\n { code: 'cu', label: 'ѩзыкъ словѣньскъ' },\n { code: 'cv', label: 'чӑваш чӗлхи' },\n { code: 'cy', label: 'Cymraeg' },\n { code: 'da', label: 'dansk' },\n { code: 'de', label: 'Deutsch' },\n { code: 'dv', label: 'ދިވެހި' },\n { code: 'ee', label: 'Eʋegbe' },\n { code: 'el', label: 'Ελληνικά' },\n { code: 'en', label: 'English' },\n { code: 'eo', label: 'Esperanto' },\n { code: 'es', label: 'español' },\n { code: 'et', label: 'eesti' },\n { code: 'eu', label: 'euskara, euskera' },\n { code: 'fa', label: 'فارسی', isRtl: true },\n { code: 'ff', label: 'Fulfulde, Pulaar, Pular' },\n { code: 'fi', label: 'suomi' },\n { code: 'fj', label: 'vosa Vakaviti' },\n { code: 'fo', label: 'føroyskt' },\n { code: 'fr', label: 'français' },\n { code: 'fy', label: 'Frysk' },\n { code: 'ga', label: 'Gaeilge' },\n { code: 'gd', label: 'Gàidhlig' },\n { code: 'gl', label: 'Galego' },\n { code: 'gn', label: 'Avañeẽ' },\n { code: 'gu', label: 'ગુજરાતી' },\n { code: 'gv', label: 'Gaelg, Gailck' },\n { code: 'ha', label: 'Hausa, هَوُسَ' },\n { code: 'he', label: 'עברית', isRtl: true },\n { code: 'hi', label: 'हिन्दी, हिंदी' },\n { code: 'ho', label: 'Hiri Motu' },\n { code: 'hr', label: 'hrvatski' },\n { code: 'ht', label: 'Kreyòl ayisyen' },\n { code: 'hu', label: 'Magyar' },\n { code: 'hy', label: 'Հայերեն' },\n { code: 'hz', label: 'Otjiherero' },\n { code: 'ia', label: 'Interlingua' },\n { code: 'id', label: 'Bahasa Indonesia' },\n { code: 'ie', label: 'Originally called Occidental' },\n { code: 'ig', label: 'Asụsụ Igbo' },\n { code: 'ii', label: 'ꆈꌠ꒿ Nuosuhxop' },\n { code: 'ik', label: 'Iñupiaq, Iñupiatun' },\n { code: 'io', label: 'Ido' },\n { code: 'is', label: 'Íslenska' },\n { code: 'it', label: 'Italiano' },\n { code: 'iu', label: 'ᐃᓄᒃᑎᑐᑦ' },\n { code: 'ja', label: '日本語' },\n { code: 'jv', label: 'basa Jawa' },\n { code: 'ka', label: 'ქართული' },\n { code: 'kg', label: 'KiKongo' },\n { code: 'ki', label: 'Gĩkũyũ' },\n { code: 'kj', label: 'Kuanyama' },\n { code: 'kk', label: 'Қазақ тілі' },\n { code: 'kl', label: 'kalaallisut' },\n { code: 'km', label: 'ភាសាខ្មែរ' },\n { code: 'kn', label: 'ಕನ್ನಡ' },\n { code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },\n { code: 'kr', label: 'Kanuri' },\n { code: 'ks', label: 'कश्मीरी, كشميري‎' },\n { code: 'ku', label: 'Kurdî, كوردی‎', isRtl: true },\n { code: 'kv', label: 'коми кыв' },\n { code: 'kw', label: 'Kernewek' },\n { code: 'ky', label: 'кыргыз тили' },\n { code: 'la', label: 'latine' },\n { code: 'lb', label: 'Lëtzebuergesch' },\n { code: 'lg', label: 'Luganda' },\n { code: 'li', label: 'Limburgs' },\n { code: 'ln', label: 'Lingála' },\n { code: 'lo', label: 'ພາສາລາວ' },\n { code: 'lt', label: 'lietuvių kalba' },\n { code: 'lu', label: 'Lëtzebuergesch' },\n { code: 'lv', label: 'latviešu valoda' },\n { code: 'me', label: 'crnogorski jezik' },\n { code: 'mg', label: 'Malagasy fiteny' },\n { code: 'mh', label: 'Kajin M̧ajeļ' },\n { code: 'mi', label: 'te reo Māori' },\n { code: 'mk', label: 'македонски јазик' },\n { code: 'ml', label: 'മലയാളം' },\n { code: 'mn', label: 'монгол' },\n { code: 'mr', label: 'मराठी' },\n { code: 'ms', label: 'bahasa Melayu, بهاس ملايو‎' },\n { code: 'mt', label: 'Malti' },\n { code: 'my', label: 'ဗမာစာ' },\n { code: 'na', label: 'Ekakairũ Naoero' },\n { code: 'nb', label: 'Norsk bokmål' },\n { code: 'nd', label: 'isiNdebele' },\n { code: 'ne', label: 'नेपाली' },\n { code: 'ng', label: 'Owambo' },\n { code: 'nl', label: 'Nederlands' },\n { code: 'nn', label: 'Norsk nynorsk' },\n { code: 'no', label: 'Norsk' },\n { code: 'nr', label: 'isiNdebele' },\n { code: 'nv', label: 'Diné bizaad, Dinékʼehǰí' },\n { code: 'ny', label: 'chiCheŵa, chinyanja' },\n { code: 'oc', label: 'Occitan' },\n { code: 'oj', label: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' },\n { code: 'om', label: 'Afaan Oromoo' },\n { code: 'or', label: 'ଓଡ଼ିଆ' },\n { code: 'os', label: 'ирон æвзаг' },\n { code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی‎' },\n { code: 'pi', label: 'पाऴि' },\n { code: 'pl', label: 'polski' },\n { code: 'ps', label: 'پښتو' },\n { code: 'pt', label: 'Português' },\n { code: 'qu', label: 'Runa Simi, Kichwa' },\n { code: 'rm', label: 'rumantsch grischun' },\n { code: 'rn', label: 'kiRundi' },\n { code: 'ro', label: 'română' },\n { code: 'ru', label: 'русский язык' },\n { code: 'rw', label: 'Ikinyarwanda' },\n { code: 'sa', label: 'संस्कृतम्' },\n { code: 'sc', label: 'sardu' },\n { code: 'sd', label: 'सिन्धी, سنڌي، سندھی‎' },\n { code: 'se', label: 'Davvisámegiella' },\n { code: 'sg', label: 'yângâ tî sängö' },\n { code: 'si', label: 'සිංහල' },\n { code: 'sk', label: 'slovenčina' },\n { code: 'sl', label: 'slovenščina' },\n { code: 'sm', label: 'gagana faa Samoa' },\n { code: 'sn', label: 'chiShona' },\n { code: 'so', label: 'Soomaaliga, af Soomaali' },\n { code: 'sq', label: 'Shqip' },\n { code: 'sr', label: 'српски језик' },\n { code: 'ss', label: 'SiSwati' },\n { code: 'st', label: 'Sesotho' },\n { code: 'su', label: 'Basa Sunda' },\n { code: 'sv', label: 'svenska' },\n { code: 'sw', label: 'Kiswahili' },\n { code: 'ta', label: 'தமிழ்' },\n { code: 'te', label: 'తెలుగు' },\n { code: 'tg', label: 'тоҷикӣ, toğikī, تاجیکی‎' },\n { code: 'th', label: 'ไทย' },\n { code: 'ti', label: 'ትግርኛ' },\n { code: 'tk', label: 'Türkmen, Түркмен' },\n { code: 'tl', label: 'Wikang Tagalog' },\n { code: 'tn', label: 'Setswana' },\n { code: 'to', label: 'faka Tonga' },\n { code: 'tr', label: 'Türkçe' },\n { code: 'ts', label: 'Xitsonga' },\n { code: 'tt', label: 'татарча, tatarça, تاتارچا‎' },\n { code: 'tw', label: 'Twi' },\n { code: 'ty', label: 'Reo Tahiti' },\n { code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە‎' },\n { code: 'uk', label: 'українська' },\n { code: 'ur', label: 'اردو', isRtl: true },\n { code: 'uz', label: 'zbek, Ўзбек, أۇزبېك‎' },\n { code: 've', label: 'Tshivenḓa' },\n { code: 'vi', label: 'Tiếng Việt' },\n { code: 'vo', label: 'Volapük' },\n { code: 'wa', label: 'Walon' },\n { code: 'wo', label: 'Wollof' },\n { code: 'xh', label: 'isiXhosa' },\n { code: 'yi', label: 'ייִדיש' },\n { code: 'yo', label: 'Yorùbá' },\n { code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' },\n { code: 'zh', label: '中文 (Zhōngwén), 汉语, 漢語' },\n ];\n\n /**\n * Matches the given string array to the EU languages and returns a EuiLanguage array.\n * In case that no codes provided it returns the EU Languages array.\n *\n * @param codes A string array of 2 char codes\n */\n static getLanguages(codes: EuiLanguageCode[] = Object.keys(this.languages)): EuiLanguage[] {\n return this.filterInvalidLanguageCodes(codes).map((c: string | EuiLanguage) => (typeof c === 'string' ? this.languages[c] : c));\n }\n\n /**\n * filters and removes language codes that are not part of the EULanguage\n * e.g. 'ko' does not map to any EULanguage code on the array.\n * { code: 'ko', label: 'whatever' } is valid though\n *\n * @param codes codes A string array of 2 char codescodes A string array of 2 char codes\n */\n static filterInvalidLanguageCodes(codes: EuiLanguageCode[]): EuiLanguageCode[] {\n return codes.filter((c: string | EuiLanguage) => (typeof c === 'string' ? Object.keys(this.languages).indexOf(c) !== -1 : true));\n }\n\n /**\n * return the given list ordered based on the EULanguage order\n *\n * @param codes codes A string array of 2 char codes\n */\n static getOrderedLanguages(codes: EuiLanguageCode[] = Object.keys(this.languages)): EuiLanguage[] {\n return this.getLanguages(codes).sort(\n (a, b) =>\n Object.keys(this.languages).findIndex((c) => c === a.code) - Object.keys(this.languages).findIndex((c) => c === b.code),\n );\n }\n\n /**\n * retrieve language codes (string array) from a given array of string and EuiLanguage items\n *\n * @param array It can be an mixed array of string and EuiLanguage items\n */\n static getLanguageCodes(array: EuiLanguageCode[]): string[] {\n return array.map((language: string | EuiLanguage) => (typeof language === 'string' ? language : language.code));\n }\n\n /**\n * filter non EU languages from given array\n *\n * @param array An array of EuiLanguage items\n */\n static filterNonEULanguages(array: EuiLanguage[]): EuiLanguage[] {\n return array ? array.filter((lang: EuiLanguage) => !Object.keys(this.languages).includes(lang.code)) : [];\n }\n\n /**\n * filter EU Languages from given array\n *\n * @param array An array of EuiLanguage items\n */\n static filterEULanguages(array: EuiLanguage[]): EuiLanguage[] {\n return array ? array.filter((lang: EuiLanguage) => Object.keys(this.languages).includes(lang.code)) : [];\n }\n\n /**\n * @param code language code, ex. 'lu'\n */\n static getLanguageByCode(code: string): EuiLanguage {\n return code ? this.allLanguages.find(lang => lang.code === code) : undefined;\n }\n\n /**\n * @param code language code, ex. 'lu'\n */\n static isEuLanguage(code: string): boolean {\n return Object.keys(this.languages).includes(code);\n }\n\n /**\n * Returns array of EuiLanguage that match the given codes. If codes array is empty, returns all languages.\n * @param codes A string array of 2 char codes, ex. ['en', 'de']\n */\n static getAllLanguagesByCodes(codes: string[]): EuiLanguage[] {\n return (codes && codes.length > 0) ? this.allLanguages.filter(el => codes.includes(el.code)) : this.allLanguages;\n }\n}\n","/**\n * polyfill for usage of crypto.randomUUID() on non HTTPS environments EUI-10272\n * Please remove in the future when EC Policy for HTTPS is enforced.\n */\nexport type UUID = `${string}-${string}-${string}-${string}-${string}`;\nif (typeof crypto === 'object' && typeof crypto.randomUUID !== 'function') {\n crypto.randomUUID = (): UUID => {\n console.warn('usage of crypto.randomUUID() outside of HTTPS poses a ' +\n 'security risk for you application and its users');\n const pattern = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\n return pattern.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }) as UUID;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getAppLoadedConfigModules"],"mappings":"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"}
1
+ {"version":3,"file":"eui-base.mjs","sources":["../../src/lib/util/merge.ts","../../src/lib/util/xhr.ts","../../src/lib/ux-models/ux-error-feedback.model.ts","../../src/lib/ux-models/ux-link-legacy.model.ts","../../src/lib/eui-models/eui-service.model.ts","../../src/lib/eui-models/log/log.appender.ts","../../src/lib/eui-models/log/log.model.ts","../../src/lib/eui-models/log/console.appender.ts","../../src/lib/eui-models/log/log.logger.ts","../../src/lib/eui-models/log/log.logger.mock.ts","../../src/lib/eui-models/log/url.appender.ts","../../src/lib/eui-models/eui-config/i18n.config.ts","../../src/lib/eui-models/eui-config/locale.config.ts","../../src/lib/eui-models/eui-store/models/user.models.ts","../../src/lib/eui-models/eui-store/selectors/core.selectors.ts","../../src/lib/eui-models/eui-store/selectors/app.selectors.ts","../../src/lib/eui-models/eui-store/selectors/i18n.selectors.ts","../../src/lib/eui-models/eui-store/selectors/user.selectors.ts","../../src/lib/eui-models/eui-store/selectors/notifications.selectors.ts","../../src/lib/eui-models/eui-store/state/app.state.ts","../../src/lib/eui-models/eui-store/state/user.state.ts","../../src/lib/eui-models/eui-store/state/notifications.state.ts","../../src/lib/eui-models/eui-store/state/i18n.state.ts","../../src/lib/eui-models/eui-store/state/locale.state.ts","../../src/lib/eui-models/eui-store/state/core.state.ts","../../src/lib/eui-models/eui-pagination/eui-pagination.model.ts","../../src/lib/eui-models/eui-constants.ts","../../src/lib/eui-models/eui-auth-config.model.ts","../../src/lib/eui-models/eui-language/eui-eu-languages.model.ts","../../src/lib/polyfill/crypto.polyfill.ts","../../src/eui-base.ts"],"sourcesContent":["export const isObject = <T>(item: T): boolean => item && typeof item === 'object' && !Array.isArray(item);\n\n/* eslint-disable */\nexport function merge<T>(target: T): T;\nexport function merge<T, A>(target: T, a: A): T & A;\nexport function merge<T, A, B>(target: T, a: A, b: B): T & A & B;\nexport function merge<T, A, B, C>(target: T, a: A, b: B, c: C): T & A & B & C;\nexport function merge<T, A, B, C, D>(target: T, a: A, b: B, c: C, d: D): T & A & B & C & D;\nexport function merge<T, A, B, C, D, E>(target: T, a: A, b: B, c: C, d: D, e: E): T & A & B & C & D & E;\nexport function merge<T, A, B, C, D, E, F>(target: T, a: A, b: B, c: C, d: D, e: E, f: F): T & A & B & C & D & E & F;\nexport function merge(target: any, ...sources: any[]): any {\n return mergeDeep(target, ...sources);\n}\n/* eslint-enable */\n\n/**\n * deep merge of two or more objects\n *\n * @param target immutable target\n * @param sources immutable sources to apply to target\n * @returns a new merged object\n */\n// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const mergeDeep = <T extends object, S>(target: T, ...sources: S[]): any => {\n const output: object & T = Object.assign({}, target);\n if (!sources.length) {\n return output as T | T & S;\n }\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key: string) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n /* istanbul ignore next */\n Object.assign(output, { [key]: source[key] });\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return mergeDeep(output, ...sources);\n};\n/* istanbul ignore next */\nexport const mergeAll = <T>(array: Array<T>): T => array.reduce((prev, next) => mergeDeep(prev, next), {});\n","/**\n * XMLHttpRequest configuration having the following parameters\n * url: the path to the request, mandatory\n * method: possible http methods: GET, POST, PUT, PATCH, DELETE, etc\n * responseType: arraybuffer, blob, document, json, text or empty string\n * headers: object containing headers as name: value pairs\n * body: request body\n * withCredentials: True when credentials are to be included in a cross-origin request. False otherwise.\n * timeout - time in milliseconds. A non-zero value will terminate the execution after the given time has passed\n */\nexport interface XHRConfig {\n url: string;\n method?: string;\n responseType?: XMLHttpRequestResponseType;\n headers?: {\n [key: string]: string;\n };\n body?: Document | XMLHttpRequestBodyInit;\n withCredentials?: boolean;\n timeout?: number;\n}\n\n/**\n * Default xhr configuration\n */\nexport const DEFAULT_XHR_CONFIG: XHRConfig = {\n url: null,\n method: 'GET',\n responseType: 'json',\n headers: {},\n body: null,\n withCredentials: false,\n timeout: 0,\n};\n\n/**\n * Utility function to call a XMLHttpRequest and send the response as a Promise. The response can be parameterized\n *\n * @param config xhr configuration\n */\n/* eslint-disable */\nexport async function xhr<T>(urlOrConfig: string | XHRConfig): Promise<T>;\nexport async function xhr(urlOrConfig: string | XHRConfig): Promise<any> {\n // create the configuration and apply the default values\n let config: XHRConfig = typeof urlOrConfig === 'string' ? { url: urlOrConfig } : urlOrConfig;\n config = Object.assign({}, DEFAULT_XHR_CONFIG, config);\n\n // create the promise\n return new Promise((resolve, reject) => {\n // configure and open the request\n const request = new XMLHttpRequest();\n request.open(config.method, config.url, true);\n request.responseType = config.responseType;\n Object.keys(config.headers || {}).map((name) => request.setRequestHeader(name, config.headers[name]));\n request.withCredentials = config.withCredentials;\n request.timeout = config.timeout;\n\n // called in case of timeout\n request.ontimeout = function () {\n reject(`Request timeout after ${request.timeout} milliseconds`);\n };\n\n // called after the response is received\n request.onload = function () {\n if (request.status === 200) {\n // the response is loaded properly\n resolve(request.response);\n } else {\n // status error\n reject(`Request failed with status ${request.status} (${request.statusText})`);\n }\n };\n\n // called in case of generic error\n request.onerror = function () {\n reject(`Request failed`);\n };\n\n // send the request\n request.send(config.body);\n });\n}\n/* eslint-enable */\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class UxErrorOutput<DETAILS = unknown> implements UxErrorInfo, UxHttpErrorInfo, UxErrorFeedback {\n code?: string;\n requestId?: string;\n doc?: string;\n details?: DETAILS;\n severity = UxMessageSeverity.danger;\n msgId: string;\n description: string;\n errGroupMap?: Array<UxErrorGroupMap>;\n subErrors?: SubErrors;\n\n constructor(\n info: UxErrorInfo & UxHttpErrorInfo,\n errorFeedback: UxErrorFeedback,\n subErrors?: SubErrors,\n errGroupMap?: Array<UxErrorGroupMap>,\n ) {\n if (!subErrors) {\n Object.assign(this, { ...info }, { ...errorFeedback });\n } else {\n Object.assign(this, { ...info }, { ...errorFeedback }, { subErrors }, { errGroupMap });\n }\n }\n\n getFeedBacks(byKey?: string): Array<UxErrorFeedback> {\n if (this.subErrors) {\n return this.subErrors\n .filter((err) => {\n if (err instanceof UxValidationErrorClass) {\n if (byKey && err.attributes) {\n return this.checkAttribute(byKey, err.attributes);\n } else if (byKey && !err.attributes) {\n return false;\n } else if (!byKey) {\n return true;\n }\n }\n return null;\n })\n .map((err) => ({\n msgId: err.msgId,\n description: err.description,\n severity: err.severity,\n attributes: err.attributes,\n errGroupId: err.errGroupId,\n br: err.br,\n doc: err.doc,\n }));\n } else {\n if (!byKey) {\n return [{ msgId: this.msgId, description: this.description, severity: this.severity, doc: this.doc }];\n } else {\n return [];\n }\n }\n }\n\n private checkAttribute(key: string, attributes: UxValidationErrorAttributes): boolean {\n return attributes.some((attr) => key === attr.key);\n }\n}\n\nexport class UxErrorGroupOnClickEvent {\n constructor(public groupId: string, public err?: UxErrorFeedback) {}\n}\n\nexport interface UxErrorFollowMap {\n [groupId: string]: boolean;\n}\n\nexport type UxErrorGroupMap = {\n id: string;\n description: string;\n severity: UxMessageSeverity;\n};\n\nexport type UxErrorGroupItem = {\n groupId: string;\n description: string;\n severity: UxMessageSeverity;\n errors: Array<UxErrorFeedback>;\n};\n\n// T extends U ? X : Y\n// Let's look at the ways to do detailed generic, like error\nexport interface UxErrorInfo<DETAILS = unknown> {\n code?: string;\n doc?: string;\n details?: DETAILS;\n}\n\nexport interface UxHttpErrorInfo {\n requestId?: string;\n}\n\nexport interface UxErrorFeedback extends UxErrorMessage {\n severity?: UxMessageSeverity;\n attributes?: UxValidationErrorAttributes;\n errGroupId?: string;\n br?: string;\n doc?: string;\n}\n\nexport interface UxErrorMessage {\n msgId: string;\n description?: string;\n}\n\nexport type UxValidationErrorAttributes = Array<UxValidationErrorAttribute>;\n\nexport interface UxValidationErrorAttribute {\n key: string | Array<string>;\n value: string;\n}\n\nexport enum UxMessageSeverity {\n info = 'info',\n warning = 'warning',\n danger = 'danger',\n success = 'success',\n}\n\nexport enum UxMessageSeverityMetrics {\n info = 0,\n warning = 1,\n danger = 2,\n success = 3,\n}\n\nexport type SubErrors = Array<UxValidationErrorClass>;\n\nexport class UxValidationErrorClass<Details = object> implements UxErrorInfo<Details>, UxErrorFeedback {\n msgId: string;\n description?: string;\n severity = UxMessageSeverity.danger;\n attributes: UxValidationErrorAttributes;\n br?: string;\n doc?: string;\n details?: Details;\n errGroupId?: string;\n\n constructor(data: UxValidationErrorClass) {\n Object.assign(this, data);\n }\n}\n\nexport type ErrorMappingHandler<Error = object> = (err: Error) => UxErrorOutput;\n\nexport interface UxHttpErrorResponse extends HttpErrorResponse {\n uxHttpErrorOutput: UxErrorOutput;\n}\n\nexport const transformToUxHttpResponse = (resp: HttpErrorResponse, mapper: ErrorMappingHandler): UxHttpErrorResponse => {\n const updatedErr = resp as UxHttpErrorResponse;\n updatedErr.uxHttpErrorOutput = mapper(resp.error);\n return updatedErr;\n};\n\nexport type UxErrorFeedbackEventType = UxPublishErrorFeedbackEvent | UxClearErrorFeedbackEvent;\n\nexport class UxPublishErrorFeedbackEvent {\n constructor(public err: UxErrorOutput, public id?: string, public groupId?: string, public accumulate?: boolean) {}\n}\n\nexport class UxClearErrorFeedbackEvent {\n constructor(public id?: string, public groupId?: string) {}\n}\n","export class UxBadgeLegacy {\n label: string;\n typeClass = 'secondary';\n\n constructor(values: object = {}) {\n Object.assign(this, values);\n }\n}\n\nexport class UxLinkLegacy<METADATA = unknown> {\n id: string;\n label: string;\n ariaIconLabel: string;\n subLabel: string;\n typeLabel: string;\n typeLabelClass: string;\n url: string;\n urlExternal: string;\n urlExternalTarget = '_blank';\n disabled = false;\n children: UxLinkLegacy<METADATA>[];\n parent: UxLinkLegacy<METADATA>;\n iconClass: string;\n iconTypeClass: string;\n hasIconBg = false;\n active = false;\n metadata: METADATA;\n visible = true;\n expanded = false;\n command: () => void;\n hasMarker = false;\n markerTypeClass: string;\n hasTag = false;\n tagTypeClass: string;\n tagLabel: string;\n tagCount: string;\n badgeTypeClass = 'secondary';\n badgeLabel: string;\n badges: UxBadgeLegacy[];\n tooltipLabel: string;\n typeClass: string;\n isHome = false;\n isSeparator = false;\n isScreenReaderClickable = false;\n allowedRightId: string;\n allowedRightIds: string[];\n deniedRightId: string;\n deniedRightIds: string[];\n selected = false;\n indeterminate = false;\n e2eAttr: string;\n category: string;\n constructor(values: object = {}) {\n Object.assign(this, values);\n if (this.id === null || this.id === undefined) {\n this.id = 'no_id';\n }\n this.e2eAttr = 'ux-link-e2e-' + this.id;\n }\n get hasChildren(): boolean {\n return this.children != null;\n }\n}\n","import { Observable, Subject, Subscription } from 'rxjs';\nimport { ModuleConfig } from './eui-config/eui-app-config';\nimport { LoadedConfigModules } from './eui-store/state/app.state';\nimport { EuiStoreServiceModel } from './eui-store/eui-store-service.model';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { Selector } from 'reselect';\nimport { CoreState } from './eui-store';\n\nexport interface EuiServiceModel<T> {\n init(t: T): Observable<EuiServiceStatus>;\n\n /**\n * retrieves the State of the service. If you don't pass anything it will retrieve the whole State\n * of that service. If you pass a selector or MapFunction it will retrieve a slice of the state. If\n * you pass a string that's a key of the Service State type it will retrieve that slice of the state.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getState<K = T>(): Observable<T>;\n getState<K>(mapFn: (state: T) => K): Observable<K>;\n getState<A extends keyof T>(key: A): Observable<T[A]>;\n getState<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<K>;\n\n updateState(t: T): void;\n}\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport abstract class EuiService<T> implements EuiServiceModel<T> {\n protected stateInstance: T;\n protected prevStateInstance: T;\n protected $stateSubs: Subscription;\n protected $stateLazyLoadSubs: Subscription;\n onStateChange: Subject<T> = new Subject<T>();\n\n protected constructor(defaultState: T) {\n this.stateInstance = defaultState;\n }\n\n initEuiService(): void {\n this.unSubscribe();\n this.$stateSubs = this.getState().subscribe((newState: T) => {\n // set previous state of service\n this.prevStateInstance = this.copy(this.stateInstance);\n // update state before emit event\n this.stateInstance = this.copy(newState);\n // inform about state change\n this.onStateChange.next(newState);\n });\n }\n\n abstract init(t?: T): Observable<EuiServiceStatus>;\n\n abstract getState<K = T>(): Observable<T>;\n abstract getState<K>(mapFn?: (state: T) => K): Observable<K>;\n abstract getState<A extends keyof T>(key?: A): Observable<T[A]>;\n abstract getState<K>(keyOrMapFn?: ((state: T) => K) | string): Observable<K>;\n\n abstract updateState(t: DeepPartial<T>): void;\n\n protected unSubscribe(): void {\n if (this.$stateSubs && this.$stateSubs.unsubscribe) {\n this.$stateSubs.unsubscribe();\n }\n if (this.$stateLazyLoadSubs && this.$stateLazyLoadSubs.unsubscribe) {\n this.$stateLazyLoadSubs.unsubscribe();\n }\n }\n\n /**\n * deep merge two objects\n * @param target the object that will be merged into\n * @param source the object that will be merged from\n */\n protected deepMerge<T>(target: T, source: DeepPartial<T>): T {\n const output = Object.assign({}, target);\n if (this.isObject(target) && this.isObject(source)) {\n Object.keys(source).forEach(key => {\n // Check if source[key] is an object and target[key] is either undefined, null, or an object\n if (this.isObject(source[key])) {\n if (!(key in target) || target[key] === null) {\n // If target[key] doesn't exist or is null, directly assign source[key]\n Object.assign(output, { [key]: structuredClone(source[key]) });\n } else {\n // Only deep merge if target[key] is also an object\n output[key] = this.isObject(target[key])\n ? this.deepMerge(target[key], source[key])\n : structuredClone(source[key]);\n }\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n }\n\n /**\n * checks if the given item is an object\n * @param item the item that will be checked\n */\n private isObject(item: unknown): item is object {\n return item && typeof item === 'object' && !Array.isArray(item);\n }\n\n /**\n * returns a copy of the given value whether this value is object or primitive. For the arrays it will cover\n * multidimensional arrays, but it will not cover an object that contain functions. JSON.parse and JSON.stringify\n * might have performance issues on large scale objects but that's an edge case scenario. In case that happens in\n * the future follow the technique of NGRX with function caching.\n *\n * @param state\n */\n private copy(state: T): T {\n if (typeof state === 'undefined') {\n return undefined;\n }\n return JSON.parse(JSON.stringify(state));\n }\n}\n\nconst getAppLoadedConfigModules: Selector<CoreState, LoadedConfigModules> = (state: CoreState) => state?.app?.loadedConfigModules\n\nexport abstract class EuiLazyService<T> extends EuiService<T> {\n protected override stateInstance: T;\n protected override $stateSubs: Subscription;\n protected override $stateLazyLoadSubs: Subscription;\n\n protected constructor(defaultState: T) {\n super(defaultState);\n }\n\n abstract lazyLoadInit(moduleConfig: ModuleConfig, moduleName?: string): Observable<EuiServiceStatus>;\n\n // todo it should use abstract store service\n override initEuiService(storeForLazyLoad?: EuiStoreServiceModel<T>): void {\n super.initEuiService();\n\n if (storeForLazyLoad) {\n this.$stateLazyLoadSubs = storeForLazyLoad\n .select(getAppLoadedConfigModules)\n .pipe(\n filter((loadedConfigModules: LoadedConfigModules) =>\n loadedConfigModules?.modulesConfig?.[loadedConfigModules.lastAddedModule] ? true : false,\n ),\n switchMap((loadedConfigModules: LoadedConfigModules) =>\n this.lazyLoadInit(\n loadedConfigModules.modulesConfig[loadedConfigModules.lastAddedModule],\n loadedConfigModules.lastAddedModule,\n ),\n ),\n )\n .subscribe(null);\n }\n }\n}\n\n/**\n * EuiServiceStatus is a model that represents the status of the service. It has a boolean property that indicates\n * whether the service was successful or not. If the service was not successful it will have an error property that\n * contains the error message.\n * @param T the type of the error message\n * @property success a boolean property that indicates whether the service was successful or not\n * @property error an optional property that contains the error message\n */\nexport interface EuiServiceStatus<T = unknown> {\n success: boolean;\n error?: T;\n}\n","import { Injector } from '@angular/core';\nimport { LogAppenderConfig } from '../eui-config';\nimport { LogEvent } from './log.model';\n\n/**\n * Abstract Log Appender\n */\nexport abstract class LogAppender<CFG extends LogAppenderConfig = LogAppenderConfig> {\n constructor(protected config: CFG, protected injector: Injector = null) {}\n\n /**\n * Gets the config\n *\n * @returns the config\n */\n getConfig(): CFG {\n return this.config;\n }\n\n /**\n * Logs a Log Event\n *\n * @param event log event\n */\n abstract append(event: LogEvent): void;\n}\n","/** Log level */\nexport enum LogLevel {\n OFF = 0,\n FATAL = 1,\n ERROR = 2,\n WARN = 3,\n INFO = 4,\n DEBUG = 5,\n TRACE = 6,\n ALL = 7,\n}\n\n/** Associated log level names */\nexport enum LogLevelName {\n FATAL = 'FATAL',\n ERROR = 'ERROR',\n WARN = 'WARNING',\n INFO = 'INFO',\n DEBUG = 'DEBUG',\n TRACE = 'TRACE',\n}\n\n/** The code position from where the log has been triggered */\nexport interface LogPosition {\n file: string;\n line: number;\n column: number;\n}\n\n/** The log event sent to the log appenders */\nexport interface LogEvent<MESSAGES = unknown> {\n /** event's log level */\n level: LogLevel;\n /** event's log level name */\n levelName: string;\n /** the name of the logger who triggered the event */\n loggerName: string;\n /** event's timestamp */\n timestamp: Date;\n /** log messages */\n messages: MESSAGES[];\n}\n","import { LogAppender } from './log.appender';\nimport { ConsoleAppenderConfig, ConsoleAppenderPrefixConverters } from '../eui-config';\nimport { LogEvent, LogLevel } from './log.model';\n\n/** Default console prefix converters */\nexport const DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS: ConsoleAppenderPrefixConverters = {\n '{level}': (event: LogEvent) => event.levelName,\n '{logger}': (event: LogEvent) => event.loggerName,\n '{date}': (event: LogEvent) => event.timestamp.toLocaleDateString(),\n '{time}': (event: LogEvent) => event.timestamp.toLocaleTimeString(),\n};\n\n/**\n * Console Appender\n */\nexport class ConsoleAppender extends LogAppender<ConsoleAppenderConfig> {\n constructor(public override config: ConsoleAppenderConfig = {}) {\n super(config);\n // apply the default prefix converters\n config.prefixConverters = Object.assign({}, DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS, config.prefixConverters);\n }\n\n /**\n * Logs an event in the console\n */\n append(event: LogEvent): void {\n // retrieve the prefix\n const prefix = this.getPrefix(event);\n // append it to the message array\n const messages = prefix ? [prefix, ...event.messages] : event.messages;\n\n // log the event in the console\n switch (event.level) {\n case LogLevel.FATAL:\n case LogLevel.ERROR:\n console.error(...messages);\n break;\n case LogLevel.WARN:\n console.warn(...messages);\n break;\n default:\n console.log(...messages);\n break;\n }\n }\n\n /**\n * Returns the prefix to be added to the messages\n *\n * @param event the log event\n * @returns the formatted prefix, as string\n */\n protected getPrefix(event: LogEvent): string {\n // in case of no prefixFormat, return null\n if (!this.config || !this.config.prefixFormat) {\n return null;\n }\n\n // start creating the prefix from the format\n let prefix = this.config.prefixFormat;\n\n // apply the prefix converters\n Object.keys(this.config.prefixConverters).forEach((key) => {\n prefix = this.convert(prefix, key, this.config.prefixConverters[key](event));\n });\n\n return prefix;\n }\n\n /**\n * Utility method to replace a placeholder\n *\n * @param str the string with placeholders\n * @param find the placeholder\n * @param replace the string to replace the placeholder\n * @returns the converted string\n */\n protected convert(str: string, find: string, replace: string): string {\n return str.replace(new RegExp(find, 'g'), replace);\n }\n}\n","import { LogEvent, LogLevel, LogLevelName } from './log.model';\nimport { LogAppender } from './log.appender';\n\n/**\n * Logger\n */\nexport class Logger {\n constructor(protected name: string, protected level: LogLevel, protected appenders: LogAppender[]) {}\n\n static isEnabledFor(enabledFromLevel: LogLevel, level: LogLevel): boolean {\n return enabledFromLevel >= level;\n }\n\n /**\n * Gets the logger name\n *\n * @returns the logger name\n */\n getName(): string {\n return this.name;\n }\n\n /**\n * Gets the log level\n *\n * @returns the log level\n */\n getLevel(): LogLevel {\n return this.level;\n }\n\n /**\n * Sets the log level\n *\n * @param level log level\n */\n setLevel(level: LogLevel): void {\n this.level = level;\n }\n\n /**\n * Fatal log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n fatal<T, S>(message: T, ...additionalMessages: S[]): void {\n return this.log({\n level: LogLevel.FATAL,\n levelName: LogLevelName.FATAL,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Error log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n error<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.ERROR,\n levelName: LogLevelName.ERROR,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Warning log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n warn<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.WARN,\n levelName: LogLevelName.WARN,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Info log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n info<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.INFO,\n levelName: LogLevelName.INFO,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Debug log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n debug<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.DEBUG,\n levelName: LogLevelName.DEBUG,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n /**\n * Trace log\n *\n * @param message mandatory message\n * @param additionalMessages optional messages\n */\n trace<M, A>(message: M, ...additionalMessages: A[]): void {\n return this.log({\n level: LogLevel.TRACE,\n levelName: LogLevelName.TRACE,\n loggerName: this.name,\n timestamp: new Date(),\n messages: [message, ...additionalMessages],\n });\n }\n\n isDisabled = (): boolean => this.level === LogLevel.OFF;\n isEnabledFor = (level: LogLevel): boolean => Logger.isEnabledFor(this.level, level);\n isFatalEnabled = (): boolean => this.isEnabledFor(LogLevel.FATAL);\n isErrorEnabled = (): boolean => this.isEnabledFor(LogLevel.ERROR);\n isWarnEnabled = (): boolean => this.isEnabledFor(LogLevel.WARN);\n isInfoEnabled = (): boolean => this.isEnabledFor(LogLevel.INFO);\n isDebugEnabled = (): boolean => this.isEnabledFor(LogLevel.DEBUG);\n isTraceEnabled = (): boolean => this.isEnabledFor(LogLevel.TRACE);\n isAllEnabled = (): boolean => this.isEnabledFor(LogLevel.ALL);\n\n /**\n * Generic log method, checking the log level and calling the specified appenders\n *\n * @param event the log event\n */\n protected log(event: LogEvent): void {\n this.appenders\n // filter the appender by their custom logLevel or the logger (main) logLevel\n .filter((appender) => Logger.isEnabledFor(appender.getConfig().logLevel || this.level, event.level), this)\n // execute the remaining appenders\n .forEach((appender) => appender.append(event));\n }\n}\n","import { Logger } from './log.logger';\n\nexport class LoggerMock extends Logger {\n constructor() {\n super(null, null, null);\n }\n\n override getLevel(): null {\n return null;\n }\n\n override setLevel(): void {\n /* empty */\n }\n\n override fatal(): void {\n /* empty */\n }\n\n override error(): void {\n /* empty */\n }\n\n override warn(): void {\n /* empty */\n }\n\n override info(): void {\n /* empty */\n }\n\n override debug(): void {\n /* empty */\n }\n\n override trace(): void {\n /* empty */\n }\n\n override isDisabled = (): boolean => false;\n override isEnabledFor = (): boolean => false;\n override isFatalEnabled = (): boolean => false;\n override isErrorEnabled = (): boolean => false;\n override isWarnEnabled = (): boolean => false;\n override isInfoEnabled = (): boolean => false;\n override isDebugEnabled = (): boolean => false;\n override isTraceEnabled = (): boolean => false;\n override isAllEnabled = (): boolean => false;\n}\n","import { Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { LogEvent, LogPosition } from './log.model';\nimport { LogAppender } from './log.appender';\nimport { Logger } from './log.logger';\nimport { UrlAppenderConfig, UrlLogEvent } from '../eui-config';\n\n/**\n * Url Appender\n */\nexport class UrlAppender extends LogAppender<UrlAppenderConfig> {\n protected http: HttpClient;\n\n constructor(public override config: UrlAppenderConfig, protected override injector: Injector) {\n super(config, injector);\n // set the http client\n this.http = injector && injector.get(HttpClient, null);\n if (!this.http) {\n console.error('UrlAppender needs HttpClient service to be defined as a provider.');\n }\n }\n\n /**\n * Logs an event to a server\n */\n append(event: LogEvent): void {\n // eventual http errors will be caught by the HttpErrorHandlerInterceptor\n if (this.http) {\n this.http.post(this.config.url, this.toUrlEvent(event)).subscribe();\n }\n }\n\n /**\n * Maps a LogEvent into a UrlLogEvent\n */\n protected toUrlEvent(event: LogEvent): UrlLogEvent {\n // check if the urlEventFromLevel allows the mapping to url log event\n const toUrlEvent = this.config.detailedEventFromLevel && Logger.isEnabledFor(this.config.detailedEventFromLevel, event.level);\n // returns the url event or the regular log event\n return toUrlEvent\n ? Object.assign({}, this.filterErrorType(event), {\n position: this.getPosition(),\n location: this.getLocation(),\n })\n : event;\n }\n\n /**\n * returns the code position from where the log has been triggered\n */\n protected getPosition(): LogPosition {\n // create a dummy error, just for the stack trace\n const error = new Error();\n\n try {\n // throw it ...\n throw error;\n } catch (e) {\n // ... and catch it\n try {\n // extract the correct stack line\n let stackLine = error.stack.split('\\n')[3].trim();\n if (stackLine.startsWith('at ')) {\n stackLine = stackLine.substring('at '.length);\n }\n // if the path is specified in parentheses\n if (stackLine.lastIndexOf('(') > 0) {\n stackLine = stackLine.substring(stackLine.lastIndexOf('(') + 1, stackLine.indexOf(')'));\n }\n // strip base path, then parse file, line and column\n const data = stackLine.substring(stackLine.lastIndexOf('/') + 1).split(':');\n // if the data is parsed correctly\n if (data.length === 3) {\n return {\n file: data[0],\n line: +data[1],\n column: +data[2],\n };\n }\n } catch (err) {\n /* empty */\n }\n }\n /* istanbul ignore next */\n return null;\n }\n\n /**\n * returns the url of the current page\n */\n protected getLocation(): string {\n return window && window.location && window.location.href;\n }\n\n /**\n * check messages if object type is Error and make its properties enumerable\n */\n protected filterErrorType(event: LogEvent): LogEvent {\n event.messages = event.messages.map((m) => (m instanceof Error ? Object.getOwnPropertyDescriptors(m) : m));\n return event;\n }\n}\n","import { GlobalConfig } from './eui-app-config';\nimport { EuiLanguage } from '../eui-language/eui-language.model';\n\nexport interface I18nResource {\n /** prefix of the resource could be like the 2 char language code e.g. /en */\n prefix: string;\n /** suffix can be either .json or anything related of the resource HTTP call */\n suffix?: string;\n /**\n It is an ID of the function which should be defined into the customHandlers with the interface TranslationsCompiler\n */\n compileTranslations?: string;\n}\n\n/**\n * a factory to compile translations into the main object holding them all\n *\n * @param translations the object to be pre-processed\n * @param lang the translations language\n * @returns the pre-processed translations\n */\nexport type TranslationsCompiler<T = unknown, C = unknown> = (translations: T, lang: string) => C;\n\nexport interface I18nConfig {\n icuEnabled?: boolean;\n i18nService: I18nServiceConfig;\n i18nLoader: I18nLoaderConfig;\n}\n\nexport interface I18nServiceConfig {\n /** an ISO 2 char code array of available languages */\n languages?: (string | EuiLanguage)[];\n /** default language to be used in case of not any has been set */\n defaultLanguage?: string;\n}\n\nexport interface I18nLoaderConfig {\n /**\n * Those folders will be used to load the translations files from {@link https://angular.io/guide/workspace-config#extra-build-and-test-options assets}.\n * e.g [`${environment.apiBaseUrl}translations/`, `${environment.apiBaseUrl}translations?lang=`]\n * Important! the language code will be added automatically to the end of the url except if the url ends with a slash.\n */\n i18nFolders?: string | string[];\n /**\n * Array of service urls to translation, don't add the language it will be added e.g. http://net1/trans/en\n * Keep in mind that the url should be the prefix and not contain any suffix.\n */\n i18nServices?: string | string[];\n /**\n * It is a set of more customized resources to be loaded. You can provide a function to compile the translations or simply\n * provide the prefix and suffix of the resource, or both.\n *\n * @example\n * ```typescript\n * export function CompileTranslations(translations: any): any {\n * const result = {};\n * translations.forEach((translation: any) => {\n * // extract the key and value from the translation object\n * const key = translation['key'];\n * const value = translation['value'];\n * if (key && value) {\n * result[key] = value;\n * }\n * });\n * return result;\n * }\n * export const appConfig: EuiAppConfig = {\n * ...,\n * customHandler: {\n * 'CompileTranslations_ID': CompileTranslations\n * }\n * };\n * export const GLOBAL: GlobalConfig = {\n * ...,\n * i18n: {\n * i18nLoader: {\n * i18nFolders: ['i18n-eui'],\n * i18nResources: [{\n * prefix: 'api/translations/',\n * compileTranslations: 'CompileTranslations_ID',\n * }]\n * }\n * }\n * };\n *\n */\n i18nResources?: I18nResource | I18nResource[];\n}\n\nexport const getI18nServiceConfigFromBase = (baseGlobalConfig: GlobalConfig): I18nServiceConfig => {\n if(!baseGlobalConfig) throw new Error('baseGlobalConfig is required');\n const i18nServiceConfig = baseGlobalConfig && baseGlobalConfig.i18n && baseGlobalConfig.i18n.i18nService;\n const { languages, defaultLanguage } = getI18nServiceConfig(i18nServiceConfig);\n\n return { languages, defaultLanguage };\n};\n\nexport const getI18nServiceConfig = (config: I18nServiceConfig): I18nServiceConfig => Object.assign({}, config);\n\nexport const getI18nLoaderConfig = (config: I18nLoaderConfig): I18nLoaderConfig => {\n const { i18nFolders, i18nServices, i18nResources } = Object.assign({}, config);\n return { i18nFolders, i18nServices, i18nResources };\n};\n\n/**\n * returns a language code based on https://tools.ietf.org/rfc/bcp/bcp47.txt specification. To get the Browser's\n * it's using the navigator.language, splits by hyphen and get the first part.\n */\nexport const getBrowserDefaultLanguage = (): string => navigator.language.split('-')[0];\n\n/**\n * returns an array of DOMStrings representing the user's preferred languages. The language is described using BCP 47\n * language tags. In the returned array they are ordered by preference with the most preferred language first.\n * The array languages will be lower cased 2 char code.\n */\nexport const getBrowserPreferredLanguages = (): string[] => navigator.languages.map((lang) => lang.split('-')[0]);\n","/** User API configuration */\nimport { GlobalConfig } from './eui-app-config';\n\nexport interface LocaleServiceConfig {\n /**\n * When enabled changes from I18nService will be reflected to locale state\n */\n bindWithTranslate?: boolean;\n}\n\n/**\n * responsible to extract the attributes \"available\" and \"id\" from the locale configuration\n */\nexport const getLocaleServiceConfigFromBase = (baseGlobalConfig: GlobalConfig): LocaleServiceConfig => {\n const { bindWithTranslate } = baseGlobalConfig.locale;\n return { bindWithTranslate };\n};\n","export interface UserDetails {\n userId: string;\n firstName?: string;\n lastName?: string;\n fullName?: string;\n}\n\n// TODO: on v18 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UserPreferences<DASHBOARD = any, T = any> {\n dashboard?: DASHBOARD;\n lang?: string;\n\n [key: string]: string | DASHBOARD | T;\n}\n\nexport const initialUserPreferences: UserPreferences = Object.assign(\n {},\n {\n lang: null,\n dashboard: null,\n },\n);\n","import { CoreState, AppState, I18nState, LocaleState, NotificationsState, UserState } from '../state';\n\nexport const getAppState = (state: CoreState): AppState => state.app;\nexport const getUserState = (state: CoreState): UserState => state.user;\nexport const getNotificationsState = (state: CoreState): NotificationsState => state.notifications;\nexport const getI18nState = (state: CoreState): I18nState => state.i18n;\nexport const getLocaleState = (state: CoreState): LocaleState => state.locale;\n","import { createSelector, Selector } from 'reselect';\nimport { AppState, LoadedConfigModules } from '../state';\nimport { getAppState } from './core.selectors';\nimport { ApiQueue, ApiQueueItem } from '../models';\n\nexport const getAppVersion: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.version);\nexport const getAppConnection: Selector<AppState, boolean> = createSelector(getAppState, (state: AppState) => state.connected);\n/**\n * Returns the loaded config modules from the app state\n * @deprecated It will be removed in the future.\n */\nexport const getAppLoadedConfigModules: Selector<AppState, LoadedConfigModules> = createSelector(\n getAppState,\n (state: AppState) => state.loadedConfigModules,\n);\n/**\n * Returns the last added module from the app state\n * @deprecated It will be removed in the future.\n */\nexport const getLastAddedModule: Selector<AppState, string> = createSelector(\n getAppState,\n (state: AppState) => state.loadedConfigModules.lastAddedModule,\n);\n\nexport const getAppStatus: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.status);\nexport const getCurrentModule: Selector<AppState, string> = createSelector(getAppState, (state: AppState) => state.currentModule);\nexport const getApiQueue: Selector<AppState, ApiQueue> = createSelector(getAppState, (state: AppState) => state.apiQueue);\nexport const getApiQueueItem = (itemId: string): Selector<AppState, ApiQueueItem> =>\n createSelector(getAppState, (state: AppState) => state.apiQueue[itemId]);\n","import { createSelector, Selector } from 'reselect';\nimport { getI18nState } from '../selectors';\nimport { I18nState, CoreState } from '../state';\n\nexport const getActiveLang: Selector<CoreState, string> = createSelector(getI18nState, (state: I18nState) => state.activeLang);\n","import { createSelector, Selector } from 'reselect';\nimport { UserDetails, UserPreferences } from '../models/user.models';\nimport { CoreState, EuiUserRight } from '../../../eui-models';\nimport { getUserState } from './core.selectors';\nimport { UserState } from '../state/user.state';\n\nexport const getUserDetails: Selector<CoreState, UserDetails> = createSelector(getUserState, (state: UserState) => state as UserDetails);\nexport const getUserPreferences: Selector<CoreState, UserPreferences> = createSelector(\n getUserState,\n (state: UserState) => state.preferences,\n);\n\nexport const getUserId: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.userId);\nexport const getUserFirstName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.firstName);\nexport const getUserLastName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.lastName);\nexport const getUserFullName: Selector<CoreState, string> = createSelector(getUserDetails, (state: UserDetails) => state.fullName);\n\nexport const getUserLang: Selector<UserPreferences, string> = createSelector(getUserPreferences, (state: UserPreferences) => state.lang);\n\nexport const getUserRights: Selector<CoreState, EuiUserRight[]> = createSelector(getUserState, (state: UserState) => state.rights);\nexport const getUserRight = (rightId: string): Selector<CoreState, EuiUserRight> =>\n createSelector(getUserRights, (state: EuiUserRight[]) => state.find((right) => right && right.id === rightId));\nexport const getUserRightPermissions = (rightId: string): Selector<CoreState, string[]> =>\n createSelector(getUserRight(rightId), (state: EuiUserRight) => state && state.permissions);\n\nexport const getUserDashboard: Selector<UserPreferences<unknown>, unknown> = createSelector(\n getUserPreferences,\n (state: UserPreferences) => state.dashboard,\n);\n","import { createSelector, Selector } from 'reselect';\n\nimport { getNotificationsState } from './core.selectors';\nimport { NotificationsState } from '../state/notifications.state';\nimport { AppState } from '../state';\n\nexport const getNotificationsList: Selector<AppState, unknown[]> = createSelector(\n getNotificationsState,\n (state: NotificationsState) => state.list,\n);\n","import { ApiQueue } from '../models';\nimport { ModulesConfig } from '../../eui-config';\n\n// TODO: on v18 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface AppState<T = any> {\n version?: string;\n /** flag to indicate if the application is online/offline. Default: true */\n connected?: boolean;\n loadedConfigModules?: LoadedConfigModules;\n\n status?: string;\n currentModule?: string;\n apiQueue?: ApiQueue;\n\n [key: string]: string | boolean | LoadedConfigModules | ApiQueue | T;\n}\n\nexport const initialAppState: AppState = Object.assign(\n {},\n {\n version: '0.0.0',\n connected: true,\n loadedConfigModules: {\n modulesConfig: {},\n },\n status: 'idle',\n currentModule: '',\n apiQueue: {},\n },\n);\n\n/**\n * LoadedConfigModules\n * @property lastAddedModule - the last module added to the store\n * @property modulesConfig - the modules configuration\n */\nexport interface LoadedConfigModules {\n lastAddedModule?: string;\n modulesConfig: ModulesConfig;\n}\n","import { UserPreferences, initialUserPreferences } from '../models/user.models';\nimport { EuiUserRight } from '../../../eui-models';\nimport { UserDetails } from '../models';\n\nexport interface UserState extends UserDetails {\n userId: string;\n firstName?: string;\n lastName?: string;\n fullName?: string;\n preferences?: UserPreferences;\n rights?: EuiUserRight[];\n}\n\nexport const initialUserState: UserState = Object.assign(\n {},\n {\n userId: '',\n firstName: '',\n lastName: '',\n fullName: '',\n preferences: initialUserPreferences,\n rights: [],\n },\n);\n","/**\n * The notifications state.\n * @template LIST The type of the list of notifications.\n */\nexport interface NotificationsState<LIST = unknown> {\n list?: LIST[];\n}\n\n/**\n * The initial state of the notifications state.\n */\nexport const initialNotificationsState: NotificationsState = {\n list: [],\n};\n","export interface I18nState {\n activeLang: string;\n}\n\nexport const initialI18nState: I18nState = {\n activeLang: null,\n};\n","/**\n * The locale state is used to store the current locale id and the list of available locales.\n */\nexport interface LocaleState {\n /** The current locale id e.g. 'en-US' */\n id: string;\n}\n\n/**\n * The initial state of the locale state. The default locale is English US ('en').\n */\nexport const initialLocaleState: LocaleState = {\n id: 'en',\n};\n","import { AppState, initialAppState } from './app.state';\nimport { UserState, initialUserState } from './user.state';\nimport { NotificationsState, initialNotificationsState } from './notifications.state';\nimport { I18nState, initialI18nState } from './i18n.state';\nimport { LocaleState, initialLocaleState } from './locale.state';\n\nexport interface CoreState {\n app?: AppState;\n user?: UserState;\n notifications?: NotificationsState;\n i18n?: I18nState;\n locale?: LocaleState;\n}\n\nexport const initialCoreState: CoreState = Object.assign(\n {},\n {\n app: initialAppState,\n user: initialUserState,\n notifications: initialNotificationsState,\n i18n: initialI18nState,\n locale: initialLocaleState,\n },\n);\n","export interface EuiPaginationConfig {\n totalItems?: number;\n pageSize?: number;\n currentPage?: number;\n pageWindowSize?: number;\n}\n\nexport const DefaultConfig: EuiPaginationConfig = {\n totalItems: 0,\n pageSize: 10,\n currentPage: 1,\n pageWindowSize: 5,\n};\n\nexport class EuiPagination {\n private constructor(\n private totalItems: number = DefaultConfig.totalItems,\n private pageSize: number = DefaultConfig.pageSize,\n private currentPage: number = DefaultConfig.currentPage,\n private pageWindowSize: number = DefaultConfig.pageWindowSize,\n ) {}\n\n public static create(config: EuiPaginationConfig = DefaultConfig): EuiPagination {\n if (config.totalItems < 0) {\n throw new Error('total items cannot be negative');\n }\n\n if (config.pageSize <= 0) {\n throw new Error('page size must be bigger than zero');\n }\n\n if (config.pageWindowSize <= 0) {\n throw new Error('page window size must be bigger than zero');\n }\n\n return new EuiPagination(config.totalItems, config.pageSize, config.currentPage, config.pageWindowSize);\n }\n\n getFirstPage(): number {\n return 1;\n }\n\n getLastPage(): number {\n return this.getPagesCount();\n }\n\n isFirstPageActive(): boolean {\n return this.getCurrentPage() === 1;\n }\n\n isLastPageActive(): boolean {\n return this.getCurrentPage() === this.getPagesCount();\n }\n\n hasItems(): boolean {\n return this.getTotalItems() > 0;\n }\n\n getPagesCount(): number {\n const pagesCount = Math.ceil(this.totalItems / this.pageSize);\n return Math.max(pagesCount, 1);\n }\n\n getPages(): Array<number> {\n const pageWindowSize = this.getPageWindowSize();\n const pagesCount = this.getPagesCount();\n const currentPage = this.getCurrentPage();\n\n let leftPageWindowSize;\n let rightPageWindowSize;\n let startPage;\n let endPage;\n\n // should not be bigger than pages count\n const truncatedPageWindowSize = Math.min(...[this.getPageWindowSize(), this.getPagesCount()]);\n\n if (truncatedPageWindowSize % 2 === 0) {\n // nonsymetrical pager (...*....)\n leftPageWindowSize = truncatedPageWindowSize / 2 - 1;\n rightPageWindowSize = leftPageWindowSize + 1;\n } else {\n // symmetrical pager (...*...)\n leftPageWindowSize = rightPageWindowSize = Math.floor(pageWindowSize / 2);\n }\n\n if (currentPage <= leftPageWindowSize) {\n // start\n startPage = 1;\n endPage = truncatedPageWindowSize;\n } else if (currentPage > pagesCount - rightPageWindowSize) {\n // end\n startPage = pagesCount - truncatedPageWindowSize + 1;\n endPage = pagesCount;\n } else {\n // middle\n startPage = currentPage - leftPageWindowSize;\n endPage = currentPage + rightPageWindowSize;\n }\n\n return range(startPage, endPage + 1);\n }\n\n goToPage(page: number): void {\n const pagesCount = this.getPagesCount();\n const upperTrunc = Math.min(...[page, pagesCount]);\n const truncated = Math.max(...[upperTrunc, 1]);\n\n this.currentPage = truncated;\n }\n\n goToFirstPage(): void {\n this.goToPage(1);\n }\n\n goToLastPage(): void {\n const lastPage = this.getPagesCount();\n this.goToPage(lastPage);\n }\n\n goToNextPage(): void {\n const nextPage = this.getCurrentPage() + 1;\n this.goToPage(nextPage);\n }\n\n goToPreviousPage(): void {\n const previousPage = this.getCurrentPage() - 1;\n this.goToPage(previousPage);\n }\n\n hasPreviousPage(): boolean {\n return this.getCurrentPage() > 1;\n }\n\n hasNextPage(): boolean {\n return this.getCurrentPage() < this.getPagesCount();\n }\n\n getTotalItems(): number {\n return this.totalItems;\n }\n\n getPageSize(): number {\n return this.pageSize;\n }\n\n setPageSize(size: number): void {\n const truncated = Math.max(...[size, 1]);\n this.pageSize = truncated;\n }\n\n getCurrentPage(): number {\n return this.currentPage;\n }\n\n getPageWindowSize(): number {\n return this.pageWindowSize;\n }\n\n setPageWindowSize(size: number): void {\n const truncated = Math.max(...[size, 1]);\n this.pageWindowSize = truncated;\n }\n\n getShowingFrom(): number {\n const startingIndex = (this.getCurrentPage() - 1) * this.getPageSize();\n let startingPage = startingIndex + 1;\n\n if (!this.hasItems()) {\n startingPage = 0;\n }\n\n return startingPage;\n }\n\n getShowingTo(): number {\n const displayStartItem = this.getShowingFrom();\n const pageSize = this.getPageSize();\n const totalItems = this.getTotalItems();\n\n if (!this.hasItems()) {\n return 0;\n }\n\n const pageEnd = Math.min(...[displayStartItem + pageSize - 1, totalItems]);\n\n return pageEnd;\n }\n}\n\nexport const range = (start: number, end?: number, step = 1): Array<number> => {\n const output = [];\n if (typeof end === 'undefined') {\n end = start;\n start = 0;\n }\n for (let i = start; i < end; i += step) {\n output.push(i);\n }\n return output;\n};\n","export const EUI_COLORS = {\n text: '#333333',\n default: '#333333',\n black: '#000000',\n white: '#ffffff',\n\n primary: '#004494',\n primaryDark: '#003e8c',\n primaryDarker: '#003581',\n primaryDarkest: '#002d77',\n primaryDarkester: '#001f65',\n primaryDarkester2: '#00174c',\n primaryLight: '#2660a4',\n primaryLighter: '#4d7cb4',\n primaryLightest: '#80a2ca',\n primaryLightester: '#b3c7df',\n primaryLightester2: '#e0e9f2 ',\n\n accent: '#ffeb3b',\n accentDark: '#ffd114',\n accentDarker: '#fc1',\n accentDarkest: '#ffc60d',\n accentDarkester: '#ffbc07',\n accentDarkester2: '#edad00',\n accentLight: '#ffdc3a',\n accentLighter: '#ffe25d',\n accentLightest: '#ffeb8b',\n accentLightester: '#fff3b9',\n accentLightester2: '#fffae3',\n\n info: '#03a9f4',\n infoDark: '#039be5',\n infoDarker: '#0288d1',\n infoDarkest: '#0277bd',\n infoDarkester: '#01579b',\n infoDarkester2: '#003473',\n infoLight: '#29b6f6',\n infoLighter: '#4fc3f7',\n infoLightest: '#81d4fa',\n infoLightester: '#b3e5fc',\n infoLightester2: '#e0eef6',\n\n success: '#4caf50',\n successDark: '#3f7233',\n successDarker: '#37672c',\n successDarkest: '#2f5d24',\n successDarkester: '#204a17',\n successDarkester2: '#183711',\n successLight: '#628e57',\n successLighter: '#7ea274',\n successLightest: '#a3bd9c',\n successLightester: '#c8d7c4',\n successLightester2: '#e9efe7',\n\n warning: '#ff9800',\n warningDark: '#f08d23',\n warningDarker: '#ee821d',\n warningDarkest: '#ec7817',\n warningDarkester: '#e8670e',\n warningDarkester2: '#d05c0d',\n warningLight: '#f4a547',\n warningLighter: '#f6b568',\n warningLightest: '#f9ca93',\n warningLightester: '#fbdfbe',\n warningLightester2: '#fdf2e5',\n\n danger: '#f44336',\n dangerDark: '#d61d2b',\n dangerDarker: '#d01824',\n dangerDarkest: '#cb141e',\n dangerDarkester: '#c20b13',\n dangerDarkester2: '#aa0a11',\n dangerLight: '#e0424f',\n dangerLighter: '#e5646e',\n dangerLightest: '#ed9098',\n dangerLightester: '#f4bcc1',\n dangerLightester2: '#fbe4e6',\n\n grey: '#9e9e9e',\n greyDark: '#757575',\n greyDarker: '#616161',\n greyDarkest: '#424242',\n greyDarkester: '#212121',\n greyDarkester2: '#141414',\n greyLight: '#bdbdbd',\n greyLighter: '#d2d2d2',\n greyLightest: '#eeeeee',\n greyLightester: '#f5f5f5',\n greyLightester2: '#fafafa',\n};\n","export interface EuiAuthConfig {\n isLoggedIn?: boolean;\n redirectUrl?: string;\n loginPageUrl?: string;\n}\n\nexport const EUI_DEFAULT_AUTH_CONFIG: EuiAuthConfig = {\n isLoggedIn: true,\n redirectUrl: '',\n loginPageUrl: '',\n};\n","import { EuiLanguage } from './eui-language.model';\n\nexport type EuiLanguageCode = string | EuiLanguage;\n\nexport class EuiEuLanguages {\n private static languages: { [code: string]: EuiLanguage } = {\n bg: {\n code: 'bg',\n label: 'български',\n },\n cs: {\n code: 'cs',\n label: 'čeština',\n },\n da: {\n code: 'da',\n label: 'dansk',\n },\n de: {\n code: 'de',\n label: 'Deutsch',\n },\n et: {\n code: 'et',\n label: 'eesti keel',\n },\n el: {\n code: 'el',\n label: 'ελληνικά',\n },\n en: {\n code: 'en',\n label: 'English',\n },\n es: {\n code: 'es',\n label: 'español',\n },\n fr: {\n code: 'fr',\n label: 'français',\n },\n ga: {\n code: 'ga',\n label: 'Gaeilge',\n },\n hr: {\n code: 'hr',\n label: 'hrvatski',\n },\n it: {\n code: 'it',\n label: 'italiano',\n },\n lv: {\n code: 'lv',\n label: 'latviešu valoda',\n },\n lt: {\n code: 'lt',\n label: 'lietuvių kalba',\n },\n hu: {\n code: 'hu',\n label: 'magyar',\n },\n mt: {\n code: 'mt',\n label: 'Malti',\n },\n nl: {\n code: 'nl',\n label: 'Nederlands',\n },\n pl: {\n code: 'pl',\n label: 'polski',\n },\n pt: {\n code: 'pt',\n label: 'português',\n },\n ro: {\n code: 'ro',\n label: 'română',\n },\n sk: {\n code: 'sk',\n label: 'slovenčina',\n },\n sl: {\n code: 'sl',\n label: 'slovenščina',\n },\n fi: {\n code: 'fi',\n label: 'suomi',\n },\n sv: {\n code: 'sv',\n label: 'svenska',\n },\n };\n\n private static allLanguages = [\n { code: 'aa', label: 'Afaraf' },\n { code: 'ab', label: 'аҧсуа' },\n { code: 'ae', label: 'avesta' },\n { code: 'af', label: 'Afrikaans' },\n { code: 'ak', label: 'Akan' },\n { code: 'am', label: 'አማርኛ' },\n { code: 'an', label: 'Aragonés' },\n { code: 'ar', label: 'العربية', isRtl: true },\n { code: 'as', label: 'অসমীয়া' },\n { code: 'av', label: 'авар мацӀ, магӀарул мацӀ' },\n { code: 'ay', label: 'aymar aru' },\n { code: 'az', label: 'azərbaycan dili' },\n { code: 'ba', label: 'башҡорт теле' },\n { code: 'be', label: 'Беларуская' },\n { code: 'bg', label: 'български' },\n { code: 'bh', label: 'भोजपुरी' },\n { code: 'bi', label: 'Bislama' },\n { code: 'bm', label: 'bamanankan' },\n { code: 'bn', label: 'বাংলা' },\n { code: 'bo', label: 'བོད་ཡིག' },\n { code: 'br', label: 'brezhoneg' },\n { code: 'bs', label: 'bosanski jezik' },\n { code: 'ca', label: 'Català' },\n { code: 'ce', label: 'нохчийн мотт' },\n { code: 'ch', label: 'Chamoru' },\n { code: 'co', label: 'corsu, lingua corsa' },\n { code: 'cr', label: 'ᓀᐦᐃᔭᐍᐏᐣ' },\n { code: 'cs', label: 'čeština' },\n { code: 'cu', label: 'ѩзыкъ словѣньскъ' },\n { code: 'cv', label: 'чӑваш чӗлхи' },\n { code: 'cy', label: 'Cymraeg' },\n { code: 'da', label: 'dansk' },\n { code: 'de', label: 'Deutsch' },\n { code: 'dv', label: 'ދިވެހި' },\n { code: 'ee', label: 'Eʋegbe' },\n { code: 'el', label: 'Ελληνικά' },\n { code: 'en', label: 'English' },\n { code: 'eo', label: 'Esperanto' },\n { code: 'es', label: 'español' },\n { code: 'et', label: 'eesti' },\n { code: 'eu', label: 'euskara, euskera' },\n { code: 'fa', label: 'فارسی', isRtl: true },\n { code: 'ff', label: 'Fulfulde, Pulaar, Pular' },\n { code: 'fi', label: 'suomi' },\n { code: 'fj', label: 'vosa Vakaviti' },\n { code: 'fo', label: 'føroyskt' },\n { code: 'fr', label: 'français' },\n { code: 'fy', label: 'Frysk' },\n { code: 'ga', label: 'Gaeilge' },\n { code: 'gd', label: 'Gàidhlig' },\n { code: 'gl', label: 'Galego' },\n { code: 'gn', label: 'Avañeẽ' },\n { code: 'gu', label: 'ગુજરાતી' },\n { code: 'gv', label: 'Gaelg, Gailck' },\n { code: 'ha', label: 'Hausa, هَوُسَ' },\n { code: 'he', label: 'עברית', isRtl: true },\n { code: 'hi', label: 'हिन्दी, हिंदी' },\n { code: 'ho', label: 'Hiri Motu' },\n { code: 'hr', label: 'hrvatski' },\n { code: 'ht', label: 'Kreyòl ayisyen' },\n { code: 'hu', label: 'Magyar' },\n { code: 'hy', label: 'Հայերեն' },\n { code: 'hz', label: 'Otjiherero' },\n { code: 'ia', label: 'Interlingua' },\n { code: 'id', label: 'Bahasa Indonesia' },\n { code: 'ie', label: 'Originally called Occidental' },\n { code: 'ig', label: 'Asụsụ Igbo' },\n { code: 'ii', label: 'ꆈꌠ꒿ Nuosuhxop' },\n { code: 'ik', label: 'Iñupiaq, Iñupiatun' },\n { code: 'io', label: 'Ido' },\n { code: 'is', label: 'Íslenska' },\n { code: 'it', label: 'Italiano' },\n { code: 'iu', label: 'ᐃᓄᒃᑎᑐᑦ' },\n { code: 'ja', label: '日本語' },\n { code: 'jv', label: 'basa Jawa' },\n { code: 'ka', label: 'ქართული' },\n { code: 'kg', label: 'KiKongo' },\n { code: 'ki', label: 'Gĩkũyũ' },\n { code: 'kj', label: 'Kuanyama' },\n { code: 'kk', label: 'Қазақ тілі' },\n { code: 'kl', label: 'kalaallisut' },\n { code: 'km', label: 'ភាសាខ្មែរ' },\n { code: 'kn', label: 'ಕನ್ನಡ' },\n { code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },\n { code: 'kr', label: 'Kanuri' },\n { code: 'ks', label: 'कश्मीरी, كشميري‎' },\n { code: 'ku', label: 'Kurdî, كوردی‎', isRtl: true },\n { code: 'kv', label: 'коми кыв' },\n { code: 'kw', label: 'Kernewek' },\n { code: 'ky', label: 'кыргыз тили' },\n { code: 'la', label: 'latine' },\n { code: 'lb', label: 'Lëtzebuergesch' },\n { code: 'lg', label: 'Luganda' },\n { code: 'li', label: 'Limburgs' },\n { code: 'ln', label: 'Lingála' },\n { code: 'lo', label: 'ພາສາລາວ' },\n { code: 'lt', label: 'lietuvių kalba' },\n { code: 'lu', label: 'Lëtzebuergesch' },\n { code: 'lv', label: 'latviešu valoda' },\n { code: 'me', label: 'crnogorski jezik' },\n { code: 'mg', label: 'Malagasy fiteny' },\n { code: 'mh', label: 'Kajin M̧ajeļ' },\n { code: 'mi', label: 'te reo Māori' },\n { code: 'mk', label: 'македонски јазик' },\n { code: 'ml', label: 'മലയാളം' },\n { code: 'mn', label: 'монгол' },\n { code: 'mr', label: 'मराठी' },\n { code: 'ms', label: 'bahasa Melayu, بهاس ملايو‎' },\n { code: 'mt', label: 'Malti' },\n { code: 'my', label: 'ဗမာစာ' },\n { code: 'na', label: 'Ekakairũ Naoero' },\n { code: 'nb', label: 'Norsk bokmål' },\n { code: 'nd', label: 'isiNdebele' },\n { code: 'ne', label: 'नेपाली' },\n { code: 'ng', label: 'Owambo' },\n { code: 'nl', label: 'Nederlands' },\n { code: 'nn', label: 'Norsk nynorsk' },\n { code: 'no', label: 'Norsk' },\n { code: 'nr', label: 'isiNdebele' },\n { code: 'nv', label: 'Diné bizaad, Dinékʼehǰí' },\n { code: 'ny', label: 'chiCheŵa, chinyanja' },\n { code: 'oc', label: 'Occitan' },\n { code: 'oj', label: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' },\n { code: 'om', label: 'Afaan Oromoo' },\n { code: 'or', label: 'ଓଡ଼ିଆ' },\n { code: 'os', label: 'ирон æвзаг' },\n { code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی‎' },\n { code: 'pi', label: 'पाऴि' },\n { code: 'pl', label: 'polski' },\n { code: 'ps', label: 'پښتو' },\n { code: 'pt', label: 'Português' },\n { code: 'qu', label: 'Runa Simi, Kichwa' },\n { code: 'rm', label: 'rumantsch grischun' },\n { code: 'rn', label: 'kiRundi' },\n { code: 'ro', label: 'română' },\n { code: 'ru', label: 'русский язык' },\n { code: 'rw', label: 'Ikinyarwanda' },\n { code: 'sa', label: 'संस्कृतम्' },\n { code: 'sc', label: 'sardu' },\n { code: 'sd', label: 'सिन्धी, سنڌي، سندھی‎' },\n { code: 'se', label: 'Davvisámegiella' },\n { code: 'sg', label: 'yângâ tî sängö' },\n { code: 'si', label: 'සිංහල' },\n { code: 'sk', label: 'slovenčina' },\n { code: 'sl', label: 'slovenščina' },\n { code: 'sm', label: 'gagana faa Samoa' },\n { code: 'sn', label: 'chiShona' },\n { code: 'so', label: 'Soomaaliga, af Soomaali' },\n { code: 'sq', label: 'Shqip' },\n { code: 'sr', label: 'српски језик' },\n { code: 'ss', label: 'SiSwati' },\n { code: 'st', label: 'Sesotho' },\n { code: 'su', label: 'Basa Sunda' },\n { code: 'sv', label: 'svenska' },\n { code: 'sw', label: 'Kiswahili' },\n { code: 'ta', label: 'தமிழ்' },\n { code: 'te', label: 'తెలుగు' },\n { code: 'tg', label: 'тоҷикӣ, toğikī, تاجیکی‎' },\n { code: 'th', label: 'ไทย' },\n { code: 'ti', label: 'ትግርኛ' },\n { code: 'tk', label: 'Türkmen, Түркмен' },\n { code: 'tl', label: 'Wikang Tagalog' },\n { code: 'tn', label: 'Setswana' },\n { code: 'to', label: 'faka Tonga' },\n { code: 'tr', label: 'Türkçe' },\n { code: 'ts', label: 'Xitsonga' },\n { code: 'tt', label: 'татарча, tatarça, تاتارچا‎' },\n { code: 'tw', label: 'Twi' },\n { code: 'ty', label: 'Reo Tahiti' },\n { code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە‎' },\n { code: 'uk', label: 'українська' },\n { code: 'ur', label: 'اردو', isRtl: true },\n { code: 'uz', label: 'zbek, Ўзбек, أۇزبېك‎' },\n { code: 've', label: 'Tshivenḓa' },\n { code: 'vi', label: 'Tiếng Việt' },\n { code: 'vo', label: 'Volapük' },\n { code: 'wa', label: 'Walon' },\n { code: 'wo', label: 'Wollof' },\n { code: 'xh', label: 'isiXhosa' },\n { code: 'yi', label: 'ייִדיש' },\n { code: 'yo', label: 'Yorùbá' },\n { code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' },\n { code: 'zh', label: '中文 (Zhōngwén), 汉语, 漢語' },\n ];\n\n /**\n * Matches the given string array to the EU languages and returns a EuiLanguage array.\n * In case that no codes provided it returns the EU Languages array.\n *\n * @param codes A string array of 2 char codes\n */\n static getLanguages(codes: EuiLanguageCode[] = Object.keys(this.languages)): EuiLanguage[] {\n return this.filterInvalidLanguageCodes(codes).map((c: string | EuiLanguage) => (typeof c === 'string' ? this.languages[c] : c));\n }\n\n /**\n * filters and removes language codes that are not part of the EULanguage\n * e.g. 'ko' does not map to any EULanguage code on the array.\n * { code: 'ko', label: 'whatever' } is valid though\n *\n * @param codes codes A string array of 2 char codescodes A string array of 2 char codes\n */\n static filterInvalidLanguageCodes(codes: EuiLanguageCode[]): EuiLanguageCode[] {\n return codes.filter((c: string | EuiLanguage) => (typeof c === 'string' ? Object.keys(this.languages).indexOf(c) !== -1 : true));\n }\n\n /**\n * return the given list ordered based on the EULanguage order\n *\n * @param codes codes A string array of 2 char codes\n */\n static getOrderedLanguages(codes: EuiLanguageCode[] = Object.keys(this.languages)): EuiLanguage[] {\n return this.getLanguages(codes).sort(\n (a, b) =>\n Object.keys(this.languages).findIndex((c) => c === a.code) - Object.keys(this.languages).findIndex((c) => c === b.code),\n );\n }\n\n /**\n * retrieve language codes (string array) from a given array of string and EuiLanguage items\n *\n * @param array It can be an mixed array of string and EuiLanguage items\n */\n static getLanguageCodes(array: EuiLanguageCode[]): string[] {\n return array.map((language: string | EuiLanguage) => (typeof language === 'string' ? language : language.code));\n }\n\n /**\n * filter non EU languages from given array\n *\n * @param array An array of EuiLanguage items\n */\n static filterNonEULanguages(array: EuiLanguage[]): EuiLanguage[] {\n return array ? array.filter((lang: EuiLanguage) => !Object.keys(this.languages).includes(lang.code)) : [];\n }\n\n /**\n * filter EU Languages from given array\n *\n * @param array An array of EuiLanguage items\n */\n static filterEULanguages(array: EuiLanguage[]): EuiLanguage[] {\n return array ? array.filter((lang: EuiLanguage) => Object.keys(this.languages).includes(lang.code)) : [];\n }\n\n /**\n * @param code language code, ex. 'lu'\n */\n static getLanguageByCode(code: string): EuiLanguage {\n return code ? this.allLanguages.find(lang => lang.code === code) : undefined;\n }\n\n /**\n * @param code language code, ex. 'lu'\n */\n static isEuLanguage(code: string): boolean {\n return Object.keys(this.languages).includes(code);\n }\n\n /**\n * Returns array of EuiLanguage that match the given codes. If codes array is empty, returns all languages.\n * @param codes A string array of 2 char codes, ex. ['en', 'de']\n */\n static getAllLanguagesByCodes(codes: string[]): EuiLanguage[] {\n return (codes && codes.length > 0) ? this.allLanguages.filter(el => codes.includes(el.code)) : this.allLanguages;\n }\n}\n","/**\n * polyfill for usage of crypto.randomUUID() on non HTTPS environments EUI-10272\n * Please remove in the future when EC Policy for HTTPS is enforced.\n */\nexport type UUID = `${string}-${string}-${string}-${string}-${string}`;\nif (typeof crypto === 'object' && typeof crypto.randomUUID !== 'function') {\n crypto.randomUUID = (): UUID => {\n console.warn('usage of crypto.randomUUID() outside of HTTPS poses a ' +\n 'security risk for you application and its users');\n const pattern = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\n return pattern.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }) as UUID;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getAppLoadedConfigModules"],"mappings":"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"}