{"version":3,"file":"abp-ng.core.mjs","sources":["../../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../../packages/core/src/lib/abstracts/auth.guard.ts","../../../../packages/core/src/lib/abstracts/auth.service.ts","../../../../packages/core/src/lib/abstracts/auth-error-filter.ts","../../../../packages/core/src/lib/tokens/localization.token.ts","../../../../packages/core/src/lib/tokens/options.token.ts","../../../../packages/core/src/lib/utils/localization-utils.ts","../../../../packages/core/src/lib/utils/string-utils.ts","../../../../packages/core/src/lib/services/content-projection.service.ts","../../../../packages/core/src/lib/utils/array-utils.ts","../../../../packages/core/src/lib/utils/common-utils.ts","../../../../packages/core/src/lib/utils/date-utils.ts","../../../../packages/core/src/lib/utils/object-utils.ts","../../../../packages/core/src/lib/utils/internal-store-utils.ts","../../../../packages/core/src/lib/services/environment.service.ts","../../../../packages/core/src/lib/services/http-error-reporter.service.ts","../../../../packages/core/src/lib/utils/environment-utils.ts","../../../../packages/core/src/lib/utils/factory-utils.ts","../../../../packages/core/src/lib/utils/file-utils.ts","../../../../packages/core/src/lib/utils/number-utils.ts","../../../../packages/core/src/lib/utils/form-utils.ts","../../../../packages/core/src/lib/utils/generator-utils.ts","../../../../packages/core/src/lib/utils/http-utils.ts","../../../../packages/core/src/lib/services/local-storage.service.ts","../../../../packages/core/src/lib/services/session-state.service.ts","../../../../packages/core/src/lib/tokens/app-config.token.ts","../../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../../packages/core/src/lib/tokens/http-context.token.ts","../../../../packages/core/src/lib/clients/http.client.ts","../../../../packages/core/src/lib/services/rest.service.ts","../../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../../packages/core/src/lib/tokens/tenant-not-found-by-name.ts","../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../../packages/core/src/lib/tokens/check-authentication-state.ts","../../../../packages/core/src/lib/utils/initial-utils.ts","../../../../packages/core/src/lib/strategies/cross-origin.strategy.ts","../../../../packages/core/src/lib/strategies/dom.strategy.ts","../../../../packages/core/src/lib/utils/lazy-load-utils.ts","../../../../packages/core/src/lib/utils/queue.ts","../../../../packages/core/src/lib/utils/route-utils.ts","../../../../packages/core/src/lib/utils/tree-utils.ts","../../../../packages/core/src/lib/services/dom-insertion.service.ts","../../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../../packages/core/src/lib/services/http-wait.service.ts","../../../../packages/core/src/lib/services/resource-wait.service.ts","../../../../packages/core/src/lib/services/lazy-load.service.ts","../../../../packages/core/src/lib/tokens/list.token.ts","../../../../packages/core/src/lib/services/list.service.ts","../../../../packages/core/src/lib/services/permission.service.ts","../../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../../packages/core/src/lib/services/router-events.service.ts","../../../../packages/core/src/lib/services/router-wait.service.ts","../../../../packages/core/src/lib/tokens/cookie-language-key.token.ts","../../../../packages/core/src/lib/tokens/manage-profile.token.ts","../../../../packages/core/src/lib/tokens/queue.token.ts","../../../../packages/core/src/lib/tokens/include-localization-resources.token.ts","../../../../packages/core/src/lib/tokens/pipe-to-login.token.ts","../../../../packages/core/src/lib/tokens/set-token-response-to-storage.token.ts","../../../../packages/core/src/lib/tokens/others-group.token.ts","../../../../packages/core/src/lib/tokens/compare-func.token.ts","../../../../packages/core/src/lib/tokens/dynamic-layout.token.ts","../../../../packages/core/src/lib/tokens/title-strategy-disable-project-name.token.ts","../../../../packages/core/src/lib/services/routes.service.ts","../../../../packages/core/src/lib/services/subscription.service.ts","../../../../packages/core/src/lib/services/track-by.service.ts","../../../../packages/core/src/lib/services/window.service.ts","../../../../packages/core/src/lib/services/internet-connection-service.ts","../../../../packages/core/src/lib/services/local-storage-listener.service.ts","../../../../packages/core/src/lib/services/title-strategy.service.ts","../../../../packages/core/src/lib/services/timezone.service.ts","../../../../packages/core/src/lib/services/time.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.ts","../../../../packages/core/src/lib/services/config-state.service.ts","../../../../packages/core/src/lib/services/localization.service.ts","../../../../packages/core/src/lib/components/dynamic-layout.component.ts","../../../../packages/core/src/lib/components/replaceable-route-container.component.ts","../../../../packages/core/src/lib/components/router-outlet.component.ts","../../../../packages/core/src/lib/constants/different-locales.ts","../../../../packages/core/src/lib/constants/default-layouts.ts","../../../../packages/core/src/lib/directives/autofocus.directive.ts","../../../../packages/core/src/lib/directives/debounce.directive.ts","../../../../packages/core/src/lib/directives/for.directive.ts","../../../../packages/core/src/lib/directives/form-submit.directive.ts","../../../../packages/core/src/lib/directives/init.directive.ts","../../../../packages/core/src/lib/directives/permission.directive.ts","../../../../packages/core/src/lib/directives/replaceable-template.directive.ts","../../../../packages/core/src/lib/directives/stop-propagation.directive.ts","../../../../packages/core/src/lib/pipes/localization.pipe.ts","../../../../packages/core/src/lib/pipes/safe-html.pipe.ts","../../../../packages/core/src/lib/pipes/sort.pipe.ts","../../../../packages/core/src/lib/pipes/to-injector.pipe.ts","../../../../packages/core/src/lib/pipes/short-date.pipe.ts","../../../../packages/core/src/lib/pipes/short-time.pipe.ts","../../../../packages/core/src/lib/pipes/short-date-time.pipe.ts","../../../../packages/core/src/lib/pipes/utc-to-local.pipe.ts","../../../../packages/core/src/lib/pipes/lazy-localization.pipe.ts","../../../../packages/core/src/lib/localization.module.ts","../../../../packages/core/src/lib/utils/date-extensions.ts","../../../../packages/core/src/lib/providers/cookie-language.provider.ts","../../../../packages/core/src/lib/providers/locale.provider.ts","../../../../packages/core/src/lib/providers/include-localization-resources.provider.ts","../../../../packages/core/src/lib/handlers/routes.handler.ts","../../../../packages/core/src/lib/interceptors/api.interceptor.ts","../../../../packages/core/src/lib/interceptors/timezone.interceptor.ts","../../../../packages/core/src/lib/providers/core-module-config.provider.ts","../../../../packages/core/src/lib/core.module.ts","../../../../packages/core/src/lib/directives/show-password.directive.ts","../../../../packages/core/src/lib/directives/caps-lock.directive.ts","../../../../packages/core/src/lib/guards/permission.guard.ts","../../../../packages/core/src/lib/models/dtos.ts","../../../../packages/core/src/lib/models/auth-events.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../../packages/core/src/lib/strategies/container.strategy.ts","../../../../packages/core/src/lib/strategies/content-security.strategy.ts","../../../../packages/core/src/lib/strategies/content.strategy.ts","../../../../packages/core/src/lib/strategies/context.strategy.ts","../../../../packages/core/src/lib/strategies/loading.strategy.ts","../../../../packages/core/src/lib/strategies/projection.strategy.ts","../../../../packages/core/src/lib/validators/age.validator.ts","../../../../packages/core/src/lib/validators/credit-card.validator.ts","../../../../packages/core/src/lib/validators/range.validator.ts","../../../../packages/core/src/lib/validators/required.validator.ts","../../../../packages/core/src/lib/validators/string-length.validator.ts","../../../../packages/core/src/lib/validators/unique-character.validator.ts","../../../../packages/core/src/lib/validators/url.validator.ts","../../../../packages/core/src/lib/validators/username.validator.ts","../../../../packages/core/src/lib/validators/index.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, inject, Input } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\n\r\n// Not an abstract class on purpose. Do not change!\r\n@Component({\r\n  standalone: false,\r\n  template: '',\r\n})\r\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\r\n  protected _value!: T;\r\n  protected cdRef = inject(ChangeDetectorRef);\r\n  onChange?: (value: T) => void;\r\n  onTouched?: () => void;\r\n\r\n  @Input()\r\n  disabled?: boolean;\r\n\r\n  @Input()\r\n  readonly?: boolean;\r\n\r\n  @Input()\r\n  valueFn: (value: U, previousValue?: T) => T = value => value as any as T;\r\n\r\n  @Input()\r\n  valueLimitFn: (value: T, previousValue?: T) => any = value => false;\r\n\r\n  @Input()\r\n  set value(value: T) {\r\n    value = this.valueFn(value as any as U, this._value);\r\n\r\n    if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\r\n\r\n    this._value = value;\r\n    this.notifyValueChange();\r\n  }\r\n\r\n  get value(): T {\r\n    return this._value || this.defaultValue;\r\n  }\r\n\r\n  get defaultValue(): T {\r\n    return this._value;\r\n  }\r\n\r\n  notifyValueChange(): void {\r\n    if (this.onChange) {\r\n      this.onChange(this.value);\r\n    }\r\n  }\r\n\r\n  writeValue(value: T): void {\r\n    this._value = this.valueLimitFn(value, this._value) || value;\r\n    this.cdRef.markForCheck();\r\n  }\r\n\r\n  registerOnChange(fn: any): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.disabled = isDisabled;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IAbpGuard } from './abstract-guard';\r\nimport { CanActivateFn } from '@angular/router';\r\n\r\n/**\r\n * @deprecated Use `authGuard` *function* instead.\r\n */\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AuthGuard implements IAbpGuard {\r\n  canActivate(): Observable<boolean> | boolean | UrlTree {\r\n    console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n    return false;\r\n  }\r\n}\r\n\r\nexport const authGuard: CanActivateFn = () => {\r\n  console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n  return false;\r\n};\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { LoginParams } from '../models/auth';\r\nimport { AbpAuthResponse } from './auth-response.model';\r\n\r\n/**\r\n * Abstract service for Authentication.\r\n */\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AuthService implements IAuthService {\r\n  private warningMessage() {\r\n    console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n  }\r\n\r\n  get oidc(): boolean {\r\n    this.warningMessage();\r\n    return false;\r\n  }\r\n\r\n  set oidc(value: boolean) {\r\n    this.warningMessage();\r\n  }\r\n\r\n  init(): Promise<any> {\r\n    this.warningMessage();\r\n    return Promise.resolve(undefined);\r\n  }\r\n\r\n  login(params: LoginParams): Observable<any> {\r\n    this.warningMessage();\r\n    return of(undefined);\r\n  }\r\n\r\n  logout(queryParams?: Params): Observable<any> {\r\n    this.warningMessage();\r\n    return of(undefined);\r\n  }\r\n\r\n  navigateToLogin(queryParams?: Params): void { }\r\n\r\n  get isInternalAuth(): boolean {\r\n    throw new Error('not implemented');\r\n  }\r\n\r\n  get isAuthenticated(): boolean {\r\n    this.warningMessage();\r\n    return false;\r\n  }\r\n\r\n  loginUsingGrant(\r\n    grantType: string,\r\n    parameters: object,\r\n    headers?: HttpHeaders,\r\n  ): Promise<AbpAuthResponse> {\r\n    console.log({ grantType, parameters, headers });\r\n    return Promise.reject(new Error('not implemented'));\r\n  }\r\n\r\n  getAccessTokenExpiration(): number {\r\n    this.warningMessage();\r\n    return 0;\r\n  }\r\n\r\n  getRefreshToken(): string {\r\n    this.warningMessage();\r\n    return '';\r\n  }\r\n\r\n  getAccessToken(): string {\r\n    this.warningMessage();\r\n    return '';\r\n  }\r\n\r\n  refreshToken(): Promise<AbpAuthResponse> {\r\n    this.warningMessage();\r\n    return Promise.resolve(undefined);\r\n  }\r\n}\r\n\r\nexport interface IAuthService {\r\n  oidc: boolean;\r\n\r\n  get isInternalAuth(): boolean;\r\n\r\n  get isAuthenticated(): boolean;\r\n\r\n  init(): Promise<any>;\r\n\r\n  logout(queryParams?: Params): Observable<any>;\r\n\r\n  navigateToLogin(queryParams?: Params): void;\r\n\r\n  login(params: LoginParams): Observable<any>;\r\n\r\n  loginUsingGrant(\r\n    grantType: string,\r\n    parameters: object,\r\n    headers?: HttpHeaders,\r\n  ): Promise<AbpAuthResponse>;\r\n\r\n  getAccessTokenExpiration(): number;\r\n\r\n  getRefreshToken(): string;\r\n\r\n  getAccessToken(): string;\r\n\r\n  refreshToken(): Promise<AbpAuthResponse>;\r\n}\r\n","import { AuthErrorEvent, AuthErrorFilter } from '../models';\r\n\r\nexport abstract class AbstractAuthErrorFilter<T, E> {\r\n  abstract get(id: string): T;\r\n  abstract add(filter: T): void;\r\n  abstract patch(item: Partial<T>): void;\r\n  abstract remove(id: string): void;\r\n  abstract run(event: E): boolean;\r\n}\r\n\r\nexport class AuthErrorFilterService<\r\n  T = AuthErrorFilter,\r\n  E = AuthErrorEvent,\r\n> extends AbstractAuthErrorFilter<T, E> {\r\n  private warningMessage() {\r\n    console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n  }\r\n\r\n  get(id: string): T {\r\n    this.warningMessage();\r\n    throw new Error('not implemented');\r\n  }\r\n\r\n  add(filter: T): void {\r\n    this.warningMessage();\r\n  }\r\n\r\n  patch(item: Partial<T>): void {\r\n    this.warningMessage();\r\n  }\r\n\r\n  remove(id: string): void {\r\n    this.warningMessage();\r\n  }\r\n\r\n  run(event: E): boolean {\r\n    this.warningMessage();\r\n    throw new Error('not implemented');\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');\r\n\r\nexport function localizationContributor(localizations?: ABP.Localization[]) {\r\n  if (localizations) {\r\n    localizations$.next([...localizations$.value, ...localizations]);\r\n  }\r\n}\r\n\r\nexport const localizations$ = new BehaviorSubject<ABP.Localization[]>([]);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\r\n\r\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\r\n  return {\r\n    ...options,\r\n  } as ABP.Root;\r\n}\r\n","import { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\n\r\n// This will not be necessary when only Angukar 9.1+ is supported\r\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\r\n  return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(\r\n    locale,\r\n  )\r\n    ? 'rtl'\r\n    : 'ltr';\r\n}\r\n\r\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\r\n  return (resourceName: string, key: string, defaultValue: string | null) => {\r\n    if (resourceName === '_') return key;\r\n\r\n    const resource = localization?.values?.[resourceName];\r\n\r\n    if (!resource) return defaultValue;\r\n\r\n    return resource[key] || defaultValue;\r\n  };\r\n}\r\n\r\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\r\n  const findLocalization = createLocalizationFinder(localization);\r\n\r\n  return (resourceNames: string[], keys: string[], defaultValue: string) => {\r\n    const { localized } = findLocalization(resourceNames, keys);\r\n    return localized || defaultValue;\r\n  };\r\n}\r\n\r\nexport function createLocalizationPipeKeyGenerator(\r\n  localization: ApplicationLocalizationConfigurationDto,\r\n) {\r\n  const findLocalization = createLocalizationFinder(localization);\r\n\r\n  return (resourceNames: string[], keys: string[], defaultKey: string | undefined) => {\r\n    const { resourceName, key } = findLocalization(resourceNames, keys);\r\n    return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\r\n  };\r\n}\r\n\r\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\r\n  const localize = createLocalizer(localization);\r\n\r\n  return (resourceNames: string[], keys: string[]) => {\r\n    resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);\r\n\r\n    const resourceCount = resourceNames.length;\r\n    const keyCount = keys.length;\r\n\r\n    for (let i = 0; i < resourceCount; i++) {\r\n      const resourceName = resourceNames[i];\r\n\r\n      for (let j = 0; j < keyCount; j++) {\r\n        const key = keys[j];\r\n        const localized = localize(resourceName, key, null);\r\n        if (localized) return { resourceName, key, localized };\r\n      }\r\n    }\r\n\r\n    return { resourceName: undefined, key: undefined, localized: undefined };\r\n  };\r\n}\r\n","export function createTokenParser(format: string) {\r\n  return (str: string) => {\r\n    const tokens: string[] = [];\r\n    const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\r\n      tokens.push(token);\r\n      return '(.+)';\r\n    });\r\n\r\n    const matches = (str.match(regex) || []).slice(1);\r\n\r\n    return matches.reduce((acc, v, i) => {\r\n      const key = tokens[i];\r\n      acc[key] = [...(acc[key] || []), v].filter(Boolean);\r\n      return acc;\r\n    }, {} as Record<string, string[]>);\r\n  };\r\n}\r\n\r\nexport function interpolate(text: string, params: string[]) {\r\n return text\r\n    .replace(/(['\"])?\\{\\s*(\\d+)\\s*\\}\\1/g, (_, quote, digit) => \r\n      (quote ? quote : '') + (params[digit] ?? `{${digit}}`) + (quote ? quote : '')\r\n    )\r\n    .replace(/\\s+/g, ' ');\r\n}\r\n\r\nexport function escapeHtmlChars(value: any) {\r\n  return value && typeof value === 'string'\r\n    ? value\r\n        .replace(/&/g, '&amp;')\r\n        .replace(/</g, '&lt;')\r\n        .replace(/>/g, '&gt;')\r\n        .replace(/\"/g, '&quot;')\r\n    : value;\r\n}\r\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\r\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentProjectionService {\r\n  constructor(private injector: Injector) {}\r\n\r\n  projectContent<T extends Type<any> | TemplateRef<any>>(\r\n    projectionStrategy: ProjectionStrategy<T>,\r\n    injector = this.injector,\r\n  ) {\r\n    return projectionStrategy.injectContent(injector);\r\n  }\r\n}\r\n","export function pushValueTo<T>(array: T[]) {\r\n  return (element: T) => {\r\n    array.push(element);\r\n    return array;\r\n  };\r\n}\r\n","export function noop() {\r\n  const fn = function () {};\r\n  return fn;\r\n}\r\n\r\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\r\n  return value === undefined || value === '';\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n  return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isNullOrEmpty<T>(obj: T): boolean {\r\n  return obj === null || obj === undefined || obj === '';\r\n}\r\n\r\nexport function exists<T>(obj: T): obj is T {\r\n  return !isNullOrUndefined(obj);\r\n}\r\n\r\nexport function isObject<T>(obj: T): boolean {\r\n  return obj instanceof Object;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n  return Array.isArray(obj);\r\n}\r\n\r\nexport function isObjectAndNotArray<T>(obj: T): boolean {\r\n  return isObject(obj) && !isArray(obj);\r\n}\r\n\r\nexport function isNode<T>(obj: T): boolean {\r\n  return obj instanceof Node;\r\n}\r\n\r\nexport function isObjectAndNotArrayNotNode<T>(obj: T): boolean {\r\n  return isObjectAndNotArray(obj) && !isNode(obj);\r\n}\r\n\r\nexport function checkHasProp<T>(object: T, key: string | keyof T): key is keyof T {\r\n  return Object.prototype.hasOwnProperty.call(object, key);\r\n}\r\n","import { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function getShortDateFormat(configStateService: ConfigStateService) {\r\n  const dateTimeFormat = configStateService.getDeep(\r\n    'localization.currentCulture.dateTimeFormat',\r\n  ) as DateTimeFormatDto;\r\n\r\n  return dateTimeFormat.shortDatePattern;\r\n}\r\n\r\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\r\n  const dateTimeFormat = configStateService.getDeep(\r\n    'localization.currentCulture.dateTimeFormat',\r\n  ) as DateTimeFormatDto;\r\n  return dateTimeFormat?.shortTimePattern?.replace('tt', 'a');\r\n}\r\n\r\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\r\n  const dateTimeFormat = configStateService.getDeep(\r\n    'localization.currentCulture.dateTimeFormat',\r\n  ) as DateTimeFormatDto;\r\n\r\n  return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat?.shortTimePattern?.replace('tt', 'a')}`;\r\n}\r\n","import {\r\n  exists,\r\n  isArray,\r\n  isNode,\r\n  isNullOrUndefined,\r\n  isObject,\r\n  isObjectAndNotArrayNotNode,\r\n} from './common-utils';\r\nimport { DeepPartial } from '../models';\r\n\r\nexport function deepMerge<T>(\r\n  target: DeepPartial<T> | T,\r\n  source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n  if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\r\n    return deepMergeRecursively(target, source);\r\n  } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\r\n    return {} as T;\r\n  } else {\r\n    return exists(source) ? (source as T) : target;\r\n  }\r\n}\r\n\r\nfunction deepMergeRecursively<T>(\r\n  target: DeepPartial<T> | T,\r\n  source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n  const shouldNotRecurse =\r\n    isNullOrUndefined(target) ||\r\n    isNullOrUndefined(source) || // at least one not defined\r\n    isArray(target) ||\r\n    isArray(source) || // at least one array\r\n    !isObject(target) ||\r\n    !isObject(source) || // at least one not an object\r\n    isNode(target) ||\r\n    isNode(source); // at least one node\r\n\r\n  /**\r\n   * if we will not recurse any further,\r\n   * we will prioritize source if it is a defined value.\r\n   */\r\n  if (shouldNotRecurse) {\r\n    return exists(source) ? (source as T) : target;\r\n  }\r\n\r\n  const keysOfTarget = Object.keys(target as { [key: string]: any });\r\n  const keysOfSource = Object.keys(source as { [key: string]: any });\r\n  const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\r\n  return [...uniqueKeys].reduce((retVal, key) => {\r\n    (retVal as any)[key] = deepMergeRecursively(\r\n      (target as { [key: string]: any })[key],\r\n      (source as { [key: string]: any })[key],\r\n    );\r\n    return retVal;\r\n  }, {} as T);\r\n}\r\n","import compare from 'just-compare';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DeepPartial } from '../models';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport class InternalStore<State> {\r\n  private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n  private update$ = new Subject<DeepPartial<State>>();\r\n\r\n  get state() {\r\n    return this.state$.value;\r\n  }\r\n\r\n  sliceState = <Slice>(\r\n    selector: (state: State) => Slice,\r\n    compareFn: (s1: Slice, s2: Slice) => boolean = compare,\r\n  ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n  sliceUpdate = <Slice>(\r\n    selector: (state: DeepPartial<State>) => Slice,\r\n    filterFn = (x: Slice) => x !== undefined,\r\n  ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n  constructor(private initialState: State) {}\r\n\r\n  patch(state: Partial<State>) {\r\n    let patchedState = state as State;\r\n\r\n    if (typeof state === 'object' && !Array.isArray(state)) {\r\n      patchedState = { ...this.state, ...state };\r\n    }\r\n\r\n    this.state$.next(patchedState);\r\n    this.update$.next(patchedState as DeepPartial<State>);\r\n  }\r\n\r\n  deepPatch(state: DeepPartial<State>) {\r\n    // TODO: Strict improve deepMerge\r\n    this.state$.next(deepMerge(this.state, state) as State);\r\n    this.update$.next(state);\r\n  }\r\n\r\n  set(state: State) {\r\n    this.state$.next(state);\r\n    this.update$.next(state as DeepPartial<State>);\r\n  }\r\n\r\n  reset() {\r\n    this.set(this.initialState);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Apis, Environment } from '../models/environment';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nconst mapToApiUrl = (key: string | undefined) => (apis: Apis) =>\r\n  ((key && apis[key]) || apis.default).url || apis.default.url;\r\n\r\nconst mapToIssuer = (issuer: string | undefined) => {\r\n  if (!issuer) {\r\n    return issuer;\r\n  }\r\n  return issuer.endsWith('/') ? issuer : issuer + '/';\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnvironmentService {\r\n  private readonly store = new InternalStore({} as Environment);\r\n\r\n  get createOnUpdateStream() {\r\n    return this.store.sliceUpdate;\r\n  }\r\n\r\n  getEnvironment$(): Observable<Environment> {\r\n    return this.store.sliceState(state => state);\r\n  }\r\n\r\n  getEnvironment(): Environment {\r\n    return this.store.state;\r\n  }\r\n\r\n  getApiUrl(key: string | undefined) {\r\n    return mapToApiUrl(key)(this.store.state?.apis);\r\n  }\r\n\r\n  getApiUrl$(key: string) {\r\n    return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\r\n  }\r\n\r\n  setState(environment: Environment) {\r\n    this.store.set(environment);\r\n  }\r\n\r\n  getIssuer() {\r\n    const issuer = this.store.state?.oAuthConfig?.issuer;\r\n\r\n    return mapToIssuer(issuer);\r\n  }\r\n\r\n  getIssuer$() {\r\n    return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));\r\n  }\r\n\r\n  getImpersonation() {\r\n    return this.store.state?.oAuthConfig?.impersonation || {};\r\n  }\r\n\r\n  getImpersonation$() {\r\n    return this.store.sliceState(state => state?.oAuthConfig?.impersonation || {});\r\n  }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpErrorReporterService {\r\n  private _reporter$ = new Subject<HttpErrorResponse>();\r\n  private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\r\n\r\n  get reporter$() {\r\n    return this._reporter$.asObservable();\r\n  }\r\n\r\n  get errors$() {\r\n    return this._errors$.asObservable();\r\n  }\r\n\r\n  get errors() {\r\n    return this._errors$.value;\r\n  }\r\n\r\n  reportError(error: HttpErrorResponse) {\r\n    this._reporter$.next(error);\r\n    this._errors$.next([...this.errors, error]);\r\n  }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injector } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { Environment, RemoteEnv } from '../models/environment';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\r\n  const environmentService = injector.get(EnvironmentService);\r\n\r\n  const { remoteEnv } = environment;\r\n  const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\r\n  if (!url) return Promise.resolve();\r\n\r\n  const http = injector.get(HttpClient);\r\n  const httpErrorReporter = injector.get(HttpErrorReporterService);\r\n\r\n  return http\r\n    .request<Environment>(method, url, { headers })\r\n    .pipe(\r\n      catchError(err => {\r\n        httpErrorReporter.reportError(err);\r\n        return of(null);\r\n      }), // TODO: Consider get handle function from a provider\r\n      tap(env =>\r\n        environmentService.setState(\r\n          mergeEnvironments(environment, env || ({} as Environment), remoteEnv as RemoteEnv),\r\n        ),\r\n      ),\r\n    )\r\n    .toPromise();\r\n}\r\n\r\nfunction mergeEnvironments(\r\n  local: Partial<Environment>,\r\n  remote: Environment,\r\n  config: RemoteEnv,\r\n): Environment {\r\n  switch (config.mergeStrategy) {\r\n    case 'deepmerge':\r\n      return deepMerge(local, remote) as Environment;\r\n    case 'overwrite':\r\n    case null:\r\n    case undefined:\r\n      return remote;\r\n    default:\r\n      return config.mergeStrategy(local, remote);\r\n  }\r\n}\r\n","import {\r\n  Compiler,\r\n  Injector,\r\n  ModuleWithProviders,\r\n  NgModuleFactory,\r\n  NgModuleRef,\r\n  StaticProvider,\r\n  Type,\r\n} from '@angular/core';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\n\r\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\r\n  get moduleType(): Type<T> {\r\n    return this.moduleWithProviders.ngModule;\r\n  }\r\n\r\n  constructor(private moduleWithProviders: ModuleWithProviders<T>) {\r\n    super();\r\n  }\r\n\r\n  create(parentInjector: Injector | null): NgModuleRef<T> {\r\n    const injector = Injector.create({\r\n      ...(parentInjector && { parent: parentInjector }),\r\n      providers: this.moduleWithProviders.providers as StaticProvider[],\r\n    });\r\n\r\n    const compiler = injector.get(Compiler);\r\n    const factory = compiler.compileModuleSync(this.moduleType);\r\n\r\n    return factory.create(injector);\r\n  }\r\n}\r\n\r\nexport function featuresFactory(\r\n  configState: ConfigStateService,\r\n  featureKeys: string[],\r\n  mapFn: (features: { [key: string]: string }) => any = features => features,\r\n) {\r\n  return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\r\n}\r\n","/** @deprecated the method will change in v8.0 */ \r\nexport function downloadBlob(blob: Blob, filename: string) {\r\n  const blobUrl = URL.createObjectURL(blob);\r\n\r\n  const link = document.createElement('a');\r\n\r\n  link.href = blobUrl;\r\n  link.download = filename;\r\n\r\n  document.body.appendChild(link);\r\n\r\n  link.dispatchEvent(\r\n    new MouseEvent('click', {\r\n      bubbles: true,\r\n      cancelable: true,\r\n      view: window,\r\n    }),\r\n  );\r\n\r\n  document.body.removeChild(link);\r\n}\r\n","export function isNumber(value: string | number): boolean {\r\n  return value == Number(value);\r\n}\r\n","import { ABP } from '../models/common';\r\nimport { isNumber } from './number-utils';\r\n\r\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\r\n  const options: ABP.Option<T>[] = [];\r\n\r\n  for (const member in _enum)\r\n    if (!isNumber(member))\r\n      options.push({\r\n        key: member,\r\n        value: _enum[member],\r\n      });\r\n\r\n  return options;\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { ABP } from '../models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function uuid(a?: any): string {\r\n  return a\r\n    ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\r\n    : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\r\n}\r\n\r\nexport function generateHash(value: string): number {\r\n  let hashed = 0;\r\n  let charCode: number;\r\n\r\n  for (let i = 0; i < value.length; i++) {\r\n    charCode = value.charCodeAt(i);\r\n    hashed = (hashed << 5) - hashed + charCode;\r\n    hashed |= 0;\r\n  }\r\n  return hashed;\r\n}\r\n\r\nexport function generatePassword(injector?: Injector, length = 8) {\r\n  if (injector) {\r\n    length = getRequiredPasswordLength(injector);\r\n  }\r\n\r\n  length = Math.min(Math.max(4, length), 128);\r\n\r\n  const lowers = 'abcdefghjkmnpqrstuvwxyz';\r\n  const uppers = 'ABCDEFGHJKMNPQRSTUVWXYZ';\r\n  const numbers = '23456789';\r\n  const specials = '!*_#/+-.';\r\n  const all = lowers + uppers + numbers + specials;\r\n\r\n  const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\r\n\r\n  const password = Array({ length });\r\n  password[0] = getRandom(lowers);\r\n  password[1] = getRandom(uppers);\r\n  password[2] = getRandom(numbers);\r\n  password[3] = getRandom(specials);\r\n\r\n  for (let i = 4; i < length; i++) {\r\n    password[i] = getRandom(all);\r\n  }\r\n\r\n  return password.sort(() => 0.5 - Math.random()).join('');\r\n}\r\n\r\nfunction getRequiredPasswordLength(injector: Injector) {\r\n  const configState = injector.get(ConfigStateService);\r\n  const passwordRules: ABP.Dictionary<string> = configState.getSettings('Identity.Password');\r\n  return Number(passwordRules['Abp.Identity.Password.RequiredLength']) || 8;\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport function getPathName(url: string): string {\r\n  const { pathname } = new URL(url, window.location.origin);\r\n  return pathname;\r\n}\r\n\r\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\r\n  encodeKey(k: string): string {\r\n    return encodeURIComponent(k);\r\n  }\r\n\r\n  encodeValue(v: string): string {\r\n    return encodeURIComponent(v);\r\n  }\r\n\r\n  decodeKey(k: string): string {\r\n    return decodeURIComponent(k);\r\n  }\r\n\r\n  decodeValue(v: string) {\r\n    return decodeURIComponent(v);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpLocalStorageService implements Storage {\r\n  constructor() {}\r\n  [name: string]: any;\r\n  get length(): number {\r\n    return localStorage.length;\r\n  }\r\n\r\n  clear(): void {\r\n    localStorage.clear();\r\n  }\r\n  getItem(key: string): string {\r\n    return localStorage.getItem(key);\r\n  }\r\n  key(index: number): string {\r\n    return localStorage.key(index);\r\n  }\r\n  removeItem(key: string): void {\r\n    localStorage.removeItem(key);\r\n  }\r\n  setItem(key: string, value: string): void {\r\n    localStorage.setItem(key, value);\r\n  }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport compare from 'just-compare';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { Session } from '../models/session';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { AbpLocalStorageService } from './local-storage.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class SessionStateService {\r\n  private readonly store = new InternalStore({} as Session.State);\r\n  protected readonly document = inject(DOCUMENT);\r\n\r\n  private updateLocalStorage = () => {\r\n    this.localStorageService.setItem('abpSession', JSON.stringify(this.store.state));\r\n  };\r\n\r\n  constructor(\r\n    private configState: ConfigStateService,\r\n    private localStorageService: AbpLocalStorageService,\r\n  ) {\r\n    this.init();\r\n    this.setInitialLanguage();\r\n  }\r\n\r\n  private init() {\r\n    const session = this.localStorageService.getItem('abpSession');\r\n    if (session) {\r\n      this.store.set(JSON.parse(session));\r\n    }\r\n\r\n    this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\r\n  }\r\n\r\n  private setInitialLanguage() {\r\n    const appLanguage = this.getLanguage();\r\n\r\n    this.configState\r\n      .getDeep$('localization.currentCulture.cultureName')\r\n      .pipe(\r\n        filter(cultureName => !!cultureName),\r\n        take(1),\r\n      )\r\n      .subscribe(lang => {\r\n        if (lang.includes(';')) {\r\n          lang = lang.split(';')[0];\r\n        }\r\n        \r\n        this.setLanguage(lang);\r\n      });\r\n  }\r\n\r\n  onLanguageChange$() {\r\n    return this.store.sliceUpdate(state => state.language);\r\n  }\r\n\r\n  onTenantChange$() {\r\n    return this.store.sliceUpdate(state => state.tenant);\r\n  }\r\n\r\n  getLanguage() {\r\n    return this.store.state.language;\r\n  }\r\n\r\n  getLanguage$() {\r\n    return this.store.sliceState(state => state.language);\r\n  }\r\n\r\n  getTenant() {\r\n    return this.store.state.tenant;\r\n  }\r\n\r\n  getTenant$() {\r\n    return this.store.sliceState(state => state.tenant);\r\n  }\r\n\r\n  setTenant(tenant: CurrentTenantDto | null) {\r\n    if (compare(tenant, this.store.state.tenant)) return;\r\n\r\n    this.store.set({ ...this.store.state, tenant });\r\n  }\r\n\r\n  setLanguage(language: string) {\r\n    const currentLanguage = this.store.state.language;\r\n\r\n    if (language !== currentLanguage) {\r\n      this.store.patch({ language });\r\n    }\r\n\r\n    const currentAttribute = this.document.documentElement.getAttribute('lang');\r\n    if (language !== currentAttribute) {\r\n      this.document.documentElement.setAttribute('lang', language);\r\n    }\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport type AppInitErrorFn = (error: any) => void;\r\n\r\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\r\n  'APP_INIT_ERROR_HANDLERS',\r\n);\r\n","import { RestService } from '../../../../services';\r\nimport { Rest } from '../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpTenantService {\r\n  apiName = 'abp';\r\n  \r\n\r\n  findTenantById = (id: string, config?: Partial<Rest.Config>) =>\r\n    this.restService.request<any, FindTenantResultDto>({\r\n      method: 'GET',\r\n      url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\r\n    },\r\n    { apiName: this.apiName,...config });\r\n  \r\n\r\n  findTenantByName = (name: string, config?: Partial<Rest.Config>) =>\r\n    this.restService.request<any, FindTenantResultDto>({\r\n      method: 'GET',\r\n      url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\r\n    },\r\n    { apiName: this.apiName,...config });\r\n\r\n  constructor(private restService: RestService) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\r\n","import { HttpContextToken } from '@angular/common/http';\r\n\r\nexport const IS_EXTERNAL_REQUEST = new HttpContextToken<boolean>(() => false);\r\n","import { HttpClient, HttpContext, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { IS_EXTERNAL_REQUEST } from '../tokens/http-context.token';\r\n\r\n// source : https://github.com/armanozak/demo-angular-server-specific-interceptors\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ExternalHttpClient extends HttpClient {\r\n  override request(\r\n    first: string | HttpRequest<any>,\r\n    url?: string,\r\n    options: RequestOptions = {},\r\n  ): Observable<any> {\r\n    if (typeof first === 'string') {\r\n      this.#setPlaceholderContext(options);\r\n      return super.request(first, url || '', options);\r\n    }\r\n\r\n    this.#setPlaceholderContext(first);\r\n    return super.request(first);\r\n  }\r\n  #setPlaceholderContext(optionsOrRequest: { context?: HttpContext }) {\r\n    optionsOrRequest.context ??= new HttpContext();\r\n    optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);\r\n  }\r\n}\r\n\r\ntype RequestOptions = Parameters<HttpClient['request']>[2];\r\n","import { HttpClient, HttpParameterCodec, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ExternalHttpClient } from '../clients/http.client';\r\nimport { ABP } from '../models/common';\r\nimport { Rest } from '../models/rest';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { HttpErrorReporterService } from './http-error-reporter.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class RestService {\r\n  constructor(\r\n    @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n    protected http: HttpClient,\r\n    protected externalHttp: ExternalHttpClient,\r\n    protected environment: EnvironmentService,\r\n    protected httpErrorReporter: HttpErrorReporterService,\r\n  ) { }\r\n\r\n  protected getApiFromStore(apiName: string | undefined): string {\r\n    return this.environment.getApiUrl(apiName);\r\n  }\r\n\r\n  handleError(err: any): Observable<any> {\r\n    this.httpErrorReporter.reportError(err);\r\n    return throwError(() => err);\r\n  }\r\n\r\n  request<T, R>(\r\n    request: HttpRequest<T> | Rest.Request<T>,\r\n    config?: Rest.Config,\r\n    api?: string,\r\n  ): Observable<R> {\r\n    config = config || ({} as Rest.Config);\r\n    api = api || this.getApiFromStore(config.apiName);\r\n    const { method, params, ...options } = request;\r\n    const { observe = Rest.Observe.Body, skipHandleError } = config;\r\n    const url = this.removeDuplicateSlashes(api + request.url);\r\n\r\n    const httpClient: HttpClient = this.getHttpClient(config.skipAddingHeader);\r\n    return httpClient\r\n      .request<R>(method, url, {\r\n        observe,\r\n        ...(params && {\r\n          params: this.getParams(params, config.httpParamEncoder),\r\n        }),\r\n        ...options,\r\n      } as any)\r\n      .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\r\n  }\r\n  private getHttpClient(isExternal: boolean) {\r\n    return isExternal ? this.externalHttp : this.http;\r\n  }\r\n\r\n  private getParams(params: Rest.Params, encoder?: HttpParameterCodec): HttpParams {\r\n    const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\r\n      if (isUndefinedOrEmptyString(value)) return acc;\r\n      if (value === null && !this.options.sendNullsAsQueryParam) return acc;\r\n      acc[key] = value;\r\n      return acc;\r\n    }, {} as any);\r\n    return encoder\r\n      ? new HttpParams({ encoder, fromObject: filteredParams })\r\n      : new HttpParams({ fromObject: filteredParams });\r\n  }\r\n\r\n  private removeDuplicateSlashes(url: string): string {\r\n    return url.replace(/([^:]\\/)\\/+/g, '$1');\r\n  }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\r\nimport {\r\n  CurrentTenantDto,\r\n  FindTenantResultDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { RestService } from './rest.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MultiTenancyService {\r\n  domainTenant: CurrentTenantDto | null = null;\r\n\r\n  isTenantBoxVisible = true;\r\n\r\n  apiName = 'abp';\r\n\r\n  private setTenantToState = (tenant: FindTenantResultDto) => {\r\n    this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\r\n    return this.configStateService.refreshAppState().pipe(map(_ => tenant));\r\n  };\r\n\r\n  constructor(\r\n    private restService: RestService,\r\n    private sessionState: SessionStateService,\r\n    private tenantService: AbpTenantService,\r\n    private configStateService: ConfigStateService,\r\n    @Inject(TENANT_KEY) public tenantKey: string,\r\n  ) { }\r\n\r\n  setTenantByName(tenantName: string) {\r\n    return this.tenantService\r\n      .findTenantByName(tenantName)\r\n      .pipe(switchMap(this.setTenantToState));\r\n  }\r\n\r\n  setTenantById(tenantId: string) {\r\n    return this.tenantService\r\n      .findTenantById(tenantId)\r\n      .pipe(switchMap(this.setTenantToState));\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport const TENANT_NOT_FOUND_BY_NAME = new InjectionToken<\r\n  (HttpErrorResponse: HttpErrorResponse) => void\r\n>('TENANT_NOT_FOUND_BY_NAME');\r\n","import { Injector } from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport { Environment } from '../models/environment';\r\n\r\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\r\nimport { createTokenParser } from './string-utils';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { TENANT_NOT_FOUND_BY_NAME } from '../tokens/tenant-not-found-by-name';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nconst tenancyPlaceholder = '{0}';\r\n\r\nfunction getCurrentTenancyName(appBaseUrl: string): string {\r\n  if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\r\n\r\n  const parseTokens = createTokenParser(appBaseUrl);\r\n  const token = tenancyPlaceholder.replace(/[}{]/g, '');\r\n  return parseTokens(window.location.href)[token]?.[0];\r\n}\r\n\r\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\r\n  const urlParams = new URLSearchParams(window.location.search);\r\n  return urlParams.get(tenantKey);\r\n}\r\n\r\nexport async function parseTenantFromUrl(injector: Injector) {\r\n  const environmentService = injector.get(EnvironmentService);\r\n  const multiTenancyService = injector.get(MultiTenancyService);\r\n  const tenantNotFoundHandler = injector.get(TENANT_NOT_FOUND_BY_NAME, null);\r\n\r\n  const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\r\n  const tenancyName = getCurrentTenancyName(baseUrl);\r\n\r\n  const hideTenantBox = () => {\r\n    multiTenancyService.isTenantBoxVisible = false;\r\n  };\r\n\r\n  const setDomainTenant = (tenant: FindTenantResultDto) => {\r\n    multiTenancyService.domainTenant = {\r\n      id: tenant.tenantId,\r\n      name: tenant.name,\r\n      isAvailable: true,\r\n    };\r\n  };\r\n\r\n  const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\r\n    hideTenantBox();\r\n    setDomainTenant(tenant);\r\n  };\r\n\r\n  if (tenancyName) {\r\n    /**\r\n     * We have to replace tenant name within the urls from environment,\r\n     * because the code below will make a http request to find information about the domain tenant.\r\n     * Before this request takes place, we need to replace placeholders aka \"{0}\".\r\n     */\r\n    replaceTenantNameWithinEnvironment(injector, tenancyName);\r\n\r\n    const tenant$ = multiTenancyService.setTenantByName(tenancyName);\r\n    try {\r\n      const result = await firstValueFrom(tenant$);\r\n      setEnvironmentWithDomainTenant(result);\r\n      return Promise.resolve(result);\r\n    } catch (httpError: HttpErrorResponse | any) {\r\n      if (\r\n        httpError instanceof HttpErrorResponse &&\r\n        httpError.status === 404 &&\r\n        tenantNotFoundHandler\r\n      ) {\r\n        tenantNotFoundHandler(httpError);\r\n      }\r\n      return Promise.reject();\r\n    }\r\n  }\r\n  /**\r\n   * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\r\n   */\r\n  replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\r\n\r\n  const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\r\n  if (tenantIdFromQueryParams) {\r\n    const tenantById$ = multiTenancyService.setTenantById(tenantIdFromQueryParams);\r\n    return firstValueFrom(tenantById$);\r\n  }\r\n\r\n  return Promise.resolve();\r\n}\r\n\r\nfunction replaceTenantNameWithinEnvironment(\r\n  injector: Injector,\r\n  tenancyName: string,\r\n  placeholder = tenancyPlaceholder,\r\n) {\r\n  const environmentService = injector.get(EnvironmentService);\r\n\r\n  const environment = clone(environmentService.getEnvironment()) as Environment;\r\n\r\n  if (environment.application.baseUrl) {\r\n    environment.application.baseUrl = environment.application.baseUrl.replace(\r\n      placeholder,\r\n      tenancyName,\r\n    );\r\n  }\r\n\r\n  if (environment.oAuthConfig?.redirectUri) {\r\n    environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\r\n      placeholder,\r\n      tenancyName,\r\n    );\r\n  }\r\n\r\n  if (!environment.oAuthConfig) {\r\n    environment.oAuthConfig = {};\r\n  }\r\n  environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(\r\n    placeholder,\r\n    tenancyName,\r\n  );\r\n\r\n  Object.keys(environment.apis).forEach(api => {\r\n    Object.keys(environment.apis[api]).forEach(key => {\r\n      environment.apis[api][key] = (environment.apis[api][key] || '').replace(\r\n        placeholder,\r\n        tenancyName,\r\n      );\r\n    });\r\n  });\r\n\r\n  return environmentService.setState(environment);\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { CheckAuthenticationStateFn } from '../models/auth';\r\n\r\nexport const CHECK_AUTHENTICATION_STATE_FN_KEY = new InjectionToken<CheckAuthenticationStateFn>(\r\n  'CHECK_AUTHENTICATION_STATE_FN_KEY',\r\n);\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { inject, Injector } from '@angular/core';\r\nimport { tap, catchError } from 'rxjs/operators';\r\nimport { lastValueFrom, throwError } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { Environment } from '../models/environment';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\r\nimport { getRemoteEnv } from './environment-utils';\r\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\r\nimport { AuthService } from '../abstracts';\r\nimport { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';\r\nimport { noop } from './common-utils';\r\n\r\nexport async function getInitialData() {\r\n  const injector = inject(Injector);\r\n  const environmentService = injector.get(EnvironmentService);\r\n  const configState = injector.get(ConfigStateService);\r\n  const options = injector.get(CORE_OPTIONS) as ABP.Root;\r\n\r\n  environmentService.setState(options.environment as Environment);\r\n  await getRemoteEnv(injector, options.environment);\r\n  await parseTenantFromUrl(injector);\r\n  const authService = injector.get(AuthService, undefined, { optional: true });\r\n  const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {\r\n    optional: true,\r\n  });\r\n  if (!options.skipInitAuthService && authService) {\r\n    await authService.init();\r\n  }\r\n  if (options.skipGetAppConfiguration) return;\r\n\r\n  const result$ = configState.refreshAppState().pipe(\r\n    tap(() => checkAuthenticationState(injector)),\r\n    tap(() => {\r\n      const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\r\n      injector.get(SessionStateService).setTenant(currentTenant);\r\n    }),\r\n    catchError(error => {\r\n      const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\r\n      if (appInitErrorHandlers && appInitErrorHandlers.length) {\r\n        appInitErrorHandlers.forEach(func => func(error));\r\n      }\r\n\r\n      return throwError(() => error);\r\n    }),\r\n  );\r\n  await lastValueFrom(result$);\r\n}\r\n\r\nexport function localeInitializer() {\r\n  const injector = inject(Injector);\r\n  const sessionState = injector.get(SessionStateService);\r\n  const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\r\n\r\n  const lang = sessionState.getLanguage() || 'en';\r\n\r\n  return new Promise((resolve, reject) => {\r\n    registerLocaleFn(lang).then(module => {\r\n      if (module?.default) registerLocaleData(module.default);\r\n\r\n      return resolve('resolved');\r\n    }, reject);\r\n  });\r\n}\r\n","export class CrossOriginStrategy {\r\n  constructor(\r\n    public crossorigin: 'anonymous' | 'use-credentials' | null,\r\n    public integrity?: string,\r\n  ) {}\r\n\r\n  setCrossOrigin<T extends HTMLElement>(element: T) {\r\n    if (this.integrity) element.setAttribute('integrity', this.integrity);\r\n    if (this.crossorigin) {\r\n      element.setAttribute('crossorigin', this.crossorigin);\r\n    }\r\n  }\r\n}\r\n\r\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\r\n  setCrossOrigin() {}\r\n}\r\n\r\nexport const CROSS_ORIGIN_STRATEGY = {\r\n  Anonymous(integrity?: string) {\r\n    return new CrossOriginStrategy('anonymous', integrity);\r\n  },\r\n  UseCredentials(integrity?: string) {\r\n    return new CrossOriginStrategy('use-credentials', integrity);\r\n  },\r\n  None() {\r\n    return new NoCrossOriginStrategy(null);\r\n  },\r\n};\r\n","export class DomStrategy {\r\n  constructor(\r\n    public target: HTMLElement = document.head,\r\n    public position: InsertPosition = 'beforeend',\r\n  ) {}\r\n\r\n  insertElement<T extends HTMLElement>(element: T) {\r\n    this.target.insertAdjacentElement(this.position, element);\r\n  }\r\n}\r\n\r\nexport const DOM_STRATEGY = {\r\n  AfterElement(element: HTMLElement) {\r\n    return new DomStrategy(element, 'afterend');\r\n  },\r\n  AppendToBody() {\r\n    return new DomStrategy(document.body, 'beforeend');\r\n  },\r\n  AppendToHead() {\r\n    return new DomStrategy(document.head, 'beforeend');\r\n  },\r\n  BeforeElement(element: HTMLElement) {\r\n    return new DomStrategy(element, 'beforebegin');\r\n  },\r\n  PrependToHead() {\r\n    return new DomStrategy(document.head, 'afterbegin');\r\n  },\r\n};\r\n","import { Observable, Observer } from 'rxjs';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from '../strategies/cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from '../strategies/dom.strategy';\r\n\r\nexport function fromLazyLoad<T extends Event>(\r\n  element: HTMLScriptElement | HTMLLinkElement,\r\n  domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n  crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n): Observable<T> {\r\n  crossOriginStrategy.setCrossOrigin(element);\r\n  domStrategy.insertElement(element);\r\n\r\n  return new Observable((observer: Observer<T>) => {\r\n    element.onload = (event: Event) => {\r\n      clearCallbacks(element);\r\n      observer.next(event as T);\r\n      observer.complete();\r\n    };\r\n\r\n    const handleError = createErrorHandler(observer, element);\r\n\r\n    element.onerror = handleError;\r\n    element.onabort = handleError;\r\n    element.onemptied = handleError;\r\n    element.onstalled = handleError;\r\n    element.onsuspend = handleError;\r\n\r\n    return () => {\r\n      clearCallbacks(element);\r\n      observer.complete();\r\n    };\r\n  });\r\n}\r\n\r\nfunction createErrorHandler<T extends Event = Event>(observer: Observer<T>, element: HTMLElement) {\r\n  return function (event: Event | string) {\r\n    clearCallbacks(element);\r\n    element.parentNode?.removeChild(element);\r\n    observer.error(event);\r\n  };\r\n}\r\n\r\nfunction clearCallbacks(element: HTMLElement) {\r\n  element.onload = null;\r\n  element.onerror = null;\r\n  element.onabort = null;\r\n  element.onemptied = null;\r\n  element.onstalled = null;\r\n  element.onsuspend = null;\r\n}\r\n","export interface QueueManager {\r\n  add(fn: () => void): void;\r\n  init(interval: number, stackSize: number): void;\r\n}\r\n\r\nexport class DefaultQueueManager implements QueueManager {\r\n  private queue: Array<() => void> = [];\r\n  private isRunning = false;\r\n  private stack = 0;\r\n  private interval = 0;\r\n  private stackSize = 100;\r\n\r\n  public init(interval: number, stackSize: number) {\r\n    this.interval = interval;\r\n    this.stackSize = stackSize;\r\n  }\r\n\r\n  public add(fn: () => void) {\r\n    this.queue.push(fn);\r\n    this.run();\r\n  }\r\n\r\n  private run() {\r\n    if (this.isRunning) return;\r\n    this.stack++;\r\n\r\n    this.isRunning = true;\r\n\r\n    const fn = this.queue.shift();\r\n\r\n    if (!fn) {\r\n      this.isRunning = false;\r\n      return;\r\n    }\r\n\r\n    fn();\r\n    if (this.stack > this.stackSize) {\r\n      setTimeout(() => {\r\n        this.isRunning = false;\r\n        this.run();\r\n        this.stack = 0;\r\n      }, this.interval);\r\n    } else {\r\n      this.isRunning = false;\r\n      this.run();\r\n    }\r\n  }\r\n}\r\n","import { NgZone } from '@angular/core';\r\nimport { PRIMARY_OUTLET, Router, UrlSegment, UrlSegmentGroup } from \"@angular/router\";\r\nimport { ABP } from '../models/common';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { noop } from './common-utils';\r\nimport { TreeNode } from './tree-utils';\r\n\r\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> | null {\r\n  const node = routesService.find(route => route.path === path);\r\n\r\n  return node || path === '/'\r\n    ? node\r\n    : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\r\n}\r\n\r\nexport function getRoutePath(router: Router, url = router.url) {\r\n  const emptyGroup = { segments: [] as UrlSegment[] } as UrlSegmentGroup;\r\n  const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\r\n\r\n  return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\r\n}\r\n\r\nexport function reloadRoute(router: Router, ngZone: NgZone) {\r\n  const { shouldReuseRoute } = router.routeReuseStrategy;\r\n  const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\r\n    router.routeReuseStrategy.shouldReuseRoute = reuse;\r\n  };\r\n\r\n  setRouteReuse(() => false);\r\n  router.navigated = false;\r\n\r\n  ngZone.run(async () => {\r\n    await router.navigateByUrl(router.url).catch(noop);\r\n    setRouteReuse(shouldReuseRoute);\r\n  });\r\n}\r\n","import { isArray } from './common-utils';\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nexport class BaseTreeNode<T extends object> {\r\n  children: TreeNode<T>[] = [];\r\n  isLeaf = true;\r\n  parent?: TreeNode<T>;\r\n\r\n  constructor(props: T) {\r\n    Object.assign(this, props);\r\n  }\r\n\r\n  static create<T extends object>(props: T) {\r\n    return new BaseTreeNode<T>(props) as TreeNode<T>;\r\n  }\r\n}\r\n\r\nexport function createTreeFromList<T extends object, R>(\r\n  list: T[],\r\n  keySelector: (item: T) => NodeKey,\r\n  parentKeySelector: typeof keySelector,\r\n  valueMapper: (item: T) => R,\r\n) {\r\n  const map = createMapFromList(list, keySelector, valueMapper);\r\n  const tree: NodeValue<T, typeof valueMapper>[] = [];\r\n\r\n  list.forEach(row => {\r\n    const id = keySelector(row);\r\n    const parentId = parentKeySelector(row);\r\n    const node = map.get(id);\r\n\r\n    if (!node) return;\r\n\r\n    if (parentId) {\r\n      const parent = map.get(parentId);\r\n      if (!parent) return;\r\n      (parent as any).children.push(node);\r\n      (parent as any).isLeaf = false;\r\n      (node as any).parent = parent;\r\n    } else {\r\n      tree.push(node);\r\n    }\r\n  });\r\n\r\n  return tree;\r\n}\r\n\r\nexport function createMapFromList<T extends object, R>(\r\n  list: T[],\r\n  keySelector: (item: T) => NodeKey,\r\n  valueMapper: (item: T) => R,\r\n) {\r\n  type Key = ReturnType<typeof keySelector>;\r\n  type Value = NodeValue<T, typeof valueMapper>;\r\n  const map = new Map<Key, Value>();\r\n  list.forEach(row => map.set(keySelector(row), valueMapper(row)));\r\n  return map;\r\n}\r\n\r\nexport function createTreeNodeFilterCreator<T extends object>(\r\n  key: keyof T,\r\n  mapperFn: (value: any) => string,\r\n) {\r\n  return (search: string) => {\r\n    const regex = new RegExp('.*' + search + '.*', 'i');\r\n\r\n    return function collectNodes(nodes: TreeNode<T>[], matches: TreeNode<T>[] = []) {\r\n      for (const node of nodes) {\r\n        if (regex.test(mapperFn(node[key]))) matches.push(node);\r\n\r\n        if (node.children.length) collectNodes(node.children, matches);\r\n      }\r\n\r\n      return matches;\r\n    };\r\n  };\r\n}\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n  list: TreeNode<T>[],\r\n  othersGroupKey: string,\r\n) {\r\n  if (!isArray(list) || !list.some(node => Boolean(node.group))) return undefined;\r\n\r\n  const mapGroup = new Map<string, TreeNode<T>[]>();\r\n\r\n  for (const node of list) {\r\n    const group = node?.group || othersGroupKey;\r\n    if (typeof group !== 'string') {\r\n      throw new Error(`Invalid group: ${group}`);\r\n    }\r\n\r\n    const items = mapGroup.get(group) || [];\r\n    items.push(node);\r\n    mapGroup.set(group, items);\r\n  }\r\n\r\n  return mapGroup;\r\n}\r\n\r\nexport type TreeNode<T extends object> = {\r\n  [K in keyof T]: T[K];\r\n} & {\r\n  children: TreeNode<T>[];\r\n  isLeaf: boolean;\r\n  parent?: TreeNode<T>;\r\n};\r\n\r\nexport type RouteGroup<T extends object> = {\r\n  readonly group: string;\r\n  readonly items: TreeNode<T>[];\r\n};\r\n\r\nexport type NodeKey = number | string | symbol | undefined | null;\r\n\r\nexport type NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\r\n  ? TreeNode<T>\r\n  : ReturnType<F>;\r\n","import { Injectable } from '@angular/core';\r\nimport { ContentStrategy } from '../strategies/content.strategy';\r\nimport { generateHash } from '../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DomInsertionService {\r\n  private readonly inserted = new Set<number>();\r\n\r\n  insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\r\n    contentStrategy: ContentStrategy<T>,\r\n  ): T | undefined {\r\n    const hash = generateHash(contentStrategy.content);\r\n\r\n    if (this.inserted.has(hash)) return;\r\n\r\n    const element = contentStrategy.insertElement();\r\n    this.inserted.add(hash);\r\n\r\n    return element;\r\n  }\r\n\r\n  removeContent(element: HTMLScriptElement | HTMLStyleElement) {\r\n    if (element.textContent) {\r\n      const hash = generateHash(element.textContent);\r\n      this.inserted.delete(hash);\r\n      element.parentNode?.removeChild(element);\r\n    }\r\n  }\r\n\r\n  has(content: string): boolean {\r\n    const hash = generateHash(content);\r\n\r\n    return this.inserted.has(hash);\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { getPathName } from '../utils/http-utils';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\n\r\nexport interface HttpWaitState {\r\n  requests: HttpRequest<any>[];\r\n  filteredRequests: Array<HttpRequestInfo>;\r\n}\r\nexport interface HttpRequestInfo {\r\n  method: string;\r\n  endpoint: string;\r\n}\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class HttpWaitService {\r\n  protected store = new InternalStore<HttpWaitState>({\r\n    requests: [],\r\n    filteredRequests: [],\r\n  });\r\n\r\n  private delay: number;\r\n  private destroy$ = new Subject<void>();\r\n\r\n  constructor(injector: Injector) {\r\n    this.delay = injector.get(LOADER_DELAY, 500);\r\n  }\r\n\r\n  getLoading() {\r\n    return !!this.applyFilter(this.store.state.requests).length;\r\n  }\r\n\r\n  getLoading$() {\r\n    return this.store\r\n      .sliceState(({ requests }) => requests)\r\n      .pipe(\r\n        map(requests => !!this.applyFilter(requests).length),\r\n        switchMap(condition =>\r\n          condition\r\n            ? this.delay === 0\r\n              ? of(true)\r\n              : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\r\n            : of(false),\r\n        ),\r\n        tap(() => this.destroy$.next()),\r\n      );\r\n  }\r\n\r\n  updateLoading$() {\r\n    return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\r\n  }\r\n\r\n  clearLoading() {\r\n    this.store.patch({ requests: [] });\r\n  }\r\n\r\n  addRequest(request: HttpRequest<any>) {\r\n    this.store.patch({ requests: [...this.store.state.requests, request] });\r\n  }\r\n\r\n  deleteRequest(request: HttpRequest<any>) {\r\n    const requests = this.store.state.requests.filter(r => r !== request);\r\n    this.store.patch({ requests });\r\n  }\r\n\r\n  addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n    const requests = Array.isArray(request) ? request : [request];\r\n    const filteredRequests = [\r\n      ...this.store.state.filteredRequests.filter(\r\n        f => !requests.some(r => this.isSameRequest(f, r)),\r\n      ),\r\n      ...requests,\r\n    ];\r\n    this.store.patch({ filteredRequests });\r\n  }\r\n\r\n  removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n    const requests = Array.isArray(request) ? request : [request];\r\n    const filteredRequests = this.store.state.filteredRequests.filter(\r\n      f => !requests.some(r => this.isSameRequest(f, r)),\r\n    );\r\n    this.store.patch({ filteredRequests });\r\n  }\r\n\r\n  private applyFilter(requests: HttpRequest<any>[] | undefined) {\r\n    if (!requests) {\r\n      return [];\r\n    }\r\n    const { filteredRequests } = this.store.state;\r\n    return requests.filter(\r\n      ({ method, url }) =>\r\n        !filteredRequests.find(filteredRequest =>\r\n          this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\r\n        ),\r\n    );\r\n  }\r\n\r\n  private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\r\n    const { method, endpoint } = filteredRequest;\r\n    return endpoint === request.endpoint && method === request.method;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nexport interface ResourceWaitState {\r\n  resources: Set<string>;\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ResourceWaitService {\r\n  private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\r\n\r\n  getLoading() {\r\n    return !!this.store.state.resources.size;\r\n  }\r\n\r\n  getLoading$() {\r\n    return this.store.sliceState(({ resources }) => !!resources.size);\r\n  }\r\n\r\n  updateLoading$() {\r\n    return this.store.sliceUpdate(({ resources }) => !!resources?.size);\r\n  }\r\n\r\n  clearLoading() {\r\n    this.store.patch({ resources: new Set() });\r\n  }\r\n\r\n  addResource(resource: string) {\r\n    const resources = this.store.state.resources;\r\n    resources.add(resource);\r\n    this.store.patch({ resources });\r\n  }\r\n\r\n  deleteResource(resource: string) {\r\n    const resources = this.store.state.resources;\r\n    resources.delete(resource);\r\n    this.store.patch({ resources });\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { concat, Observable, of, pipe, throwError } from 'rxjs';\r\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { LoadingStrategy } from '../strategies';\r\nimport { ResourceWaitService } from './resource-wait.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LazyLoadService {\r\n  readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement | null>();\r\n\r\n  constructor(private resourceWaitService: ResourceWaitService) {}\r\n\r\n  load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\r\n    if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\r\n    this.resourceWaitService.addResource(strategy.path);\r\n    const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();\r\n    const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();\r\n    return strategy.createStream().pipe(\r\n      retryWhen(error$ =>\r\n        concat(\r\n          error$.pipe(delayOperator, takeOp),\r\n          throwError(() => new CustomEvent('error')),\r\n        ),\r\n      ),\r\n      tap(() => {\r\n        this.loaded.set(strategy.path, strategy.element);\r\n        this.resourceWaitService.deleteResource(strategy.path);\r\n      }),\r\n      delay(100),\r\n      shareReplay({ bufferSize: 1, refCount: true }),\r\n    );\r\n  }\r\n\r\n  remove(path: string): boolean {\r\n    const element = this.loaded.get(path);\r\n\r\n    if (!element) return false;\r\n\r\n    element.parentNode?.removeChild(element);\r\n    this.loaded.delete(path);\r\n    return true;\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport {\r\n  EMPTY,\r\n  BehaviorSubject,\r\n  MonoTypeOperatorFunction,\r\n  Observable,\r\n  ReplaySubject,\r\n  Subject,\r\n} from 'rxjs';\r\nimport {\r\n  catchError,\r\n  debounceTime,\r\n  filter,\r\n  finalize,\r\n  shareReplay,\r\n  switchMap,\r\n  takeUntil,\r\n  tap,\r\n} from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { PagedResultDto } from '../models/dtos';\r\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\r\n\r\nexport type RequestStatus = 'idle' | 'loading' | 'success' | 'error';\r\n\r\n@Injectable()\r\nexport class ListService<QueryParamsType = ABP.PageQueryParams | any> implements OnDestroy {\r\n  private _filter = '';\r\n  set filter(value: string) {\r\n    this._filter = value;\r\n    this.get();\r\n  }\r\n  get filter(): string {\r\n    return this._filter;\r\n  }\r\n\r\n  private _maxResultCount = 10;\r\n  set maxResultCount(value: number) {\r\n    this._maxResultCount = value;\r\n    this.get();\r\n  }\r\n  get maxResultCount(): number {\r\n    return this._maxResultCount;\r\n  }\r\n\r\n  private _page = 0;\r\n  set page(value: number) {\r\n    if (value === this._page) return;\r\n\r\n    this._page = value;\r\n    this.get();\r\n  }\r\n  get page(): number {\r\n    return this._page;\r\n  }\r\n\r\n  private _totalCount = 0;\r\n  set totalCount(value: number) {\r\n    if (value === this._totalCount) return;\r\n\r\n    this._totalCount = value;\r\n    this.get();\r\n  }\r\n  get totalCount(): number {\r\n    return this._totalCount;\r\n  }\r\n\r\n  private _sortKey = '';\r\n  set sortKey(value: string) {\r\n    this._sortKey = value;\r\n    this.get();\r\n  }\r\n  get sortKey(): string {\r\n    return this._sortKey;\r\n  }\r\n\r\n  private _sortOrder = '';\r\n  set sortOrder(value: string) {\r\n    this._sortOrder = value;\r\n    this.get();\r\n  }\r\n  get sortOrder(): string {\r\n    return this._sortOrder;\r\n  }\r\n\r\n  private _query$ = new ReplaySubject<QueryParamsType>(1);\r\n\r\n  get query$(): Observable<QueryParamsType> {\r\n    return this._query$\r\n      .asObservable()\r\n      .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\r\n  }\r\n\r\n  private _isLoading$ = new BehaviorSubject(false);\r\n\r\n  private _requestStatus = new BehaviorSubject<RequestStatus>('idle');\r\n\r\n  private destroy$ = new Subject<void>();\r\n\r\n  private delay: MonoTypeOperatorFunction<QueryParamsType>;\r\n\r\n  /**\r\n   * @deprecated Use `requestStatus$` instead.\r\n   */\r\n  get isLoading$(): Observable<boolean> {\r\n    return this._isLoading$.asObservable().pipe(takeUntil(this.destroy$));\r\n  }\r\n\r\n  get requestStatus$(): Observable<RequestStatus> {\r\n    return this._requestStatus.asObservable().pipe(takeUntil(this.destroy$));\r\n  }\r\n\r\n  get = () => {\r\n    this.resetPageWhenUnchanged();\r\n    this.next();\r\n  };\r\n\r\n  getWithoutPageReset = () => {\r\n    this.next();\r\n  };\r\n\r\n  constructor(injector: Injector) {\r\n    const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\r\n    this.delay = delay ? debounceTime(delay) : tap();\r\n    this.get();\r\n  }\r\n\r\n  hookToQuery<T>(\r\n    streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\r\n  ): Observable<PagedResultDto<T>> {\r\n    return this.query$.pipe(\r\n      tap(() => this._isLoading$.next(true)),\r\n      tap(() => this._requestStatus.next('loading')),\r\n      switchMap(query =>\r\n        streamCreatorCallback(query).pipe(\r\n          catchError(() => {\r\n            this._requestStatus.next('error');\r\n            return EMPTY;\r\n          }),\r\n          tap(() => this._requestStatus.next('success')),\r\n          finalize(() => {\r\n            this._isLoading$.next(false);\r\n            this._requestStatus.next('idle');\r\n          }),\r\n        ),\r\n      ),\r\n      filter(Boolean),\r\n      shareReplay<any>({ bufferSize: 1, refCount: true }),\r\n      takeUntil(this.destroy$),\r\n    );\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next();\r\n  }\r\n  private resetPageWhenUnchanged() {\r\n    const maxPage = Number(Number(this.totalCount / this._maxResultCount).toFixed());\r\n    const skipCount = this._page * this._maxResultCount;\r\n\r\n    if (skipCount !== this._totalCount) {\r\n      return;\r\n    }\r\n\r\n    if (this.page === maxPage && this.page > 0) {\r\n      this.page = this.page - 1;\r\n    }\r\n  }\r\n\r\n  private next() {\r\n    this._query$.next({\r\n      filter: this._filter || undefined,\r\n      maxResultCount: this._maxResultCount,\r\n      skipCount: this._page * this._maxResultCount,\r\n      sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\r\n    } as any as QueryParamsType);\r\n  }\r\n}\r\n\r\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\r\n  query: QueryParamsType,\r\n) => Observable<PagedResultDto<T>>;\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PermissionService {\r\n  constructor(protected configState: ConfigStateService) {}\r\n\r\n  getGrantedPolicy$(key: string) {\r\n    return this.getStream().pipe(\r\n      map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\r\n    );\r\n  }\r\n\r\n  getGrantedPolicy(key: string | undefined) {\r\n    const policies = this.getSnapshot();\r\n    return this.isPolicyGranted(key, policies);\r\n  }\r\n\r\n  filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\r\n    const policies = this.getSnapshot();\r\n    return items.filter(\r\n      item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n    );\r\n  }\r\n\r\n  filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\r\n    return this.getStream().pipe(\r\n      map(policies =>\r\n        items.filter(\r\n          item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n        ),\r\n      ),\r\n    );\r\n  }\r\n\r\n  protected isPolicyGranted(key: string | undefined, grantedPolicies: Record<string, boolean>) {\r\n    if (!key) return true;\r\n\r\n    const orRegexp = /\\|\\|/g;\r\n    const andRegexp = /&&/g;\r\n\r\n    // TODO: Allow combination of ANDs & ORs\r\n    if (orRegexp.test(key)) {\r\n      const keys = key.split('||').filter(Boolean);\r\n\r\n      if (keys.length < 2) return false;\r\n\r\n      return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\r\n    } else if (andRegexp.test(key)) {\r\n      const keys = key.split('&&').filter(Boolean);\r\n\r\n      if (keys.length < 2) return false;\r\n\r\n      return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\r\n    }\r\n\r\n    return this.getPolicy(key, grantedPolicies);\r\n  }\r\n\r\n  protected getStream() {\r\n    return this.configState.getAll$().pipe(map(this.mapToPolicies));\r\n  }\r\n\r\n  protected getSnapshot() {\r\n    return this.mapToPolicies(this.configState.getAll());\r\n  }\r\n\r\n  protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\r\n    return applicationConfiguration?.auth?.grantedPolicies || {};\r\n  }\r\n\r\n  protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\r\n    return grantedPolicies[key] || false;\r\n  }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { reloadRoute } from '../utils/route-utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReplaceableComponentsService {\r\n  private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\r\n\r\n  get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n    return this.store.sliceState(state => state);\r\n  }\r\n\r\n  get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\r\n    return this.store.state;\r\n  }\r\n\r\n  get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n    return this.store.sliceUpdate(state => state);\r\n  }\r\n\r\n  constructor(private ngZone: NgZone, private router: Router) {\r\n    this.store = new InternalStore([] as ReplaceableComponents.ReplaceableComponent[]);\r\n  }\r\n\r\n  add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\r\n    const replaceableComponents = [...this.store.state];\r\n\r\n    const index = replaceableComponents.findIndex(\r\n      component => component.key === replaceableComponent.key,\r\n    );\r\n\r\n    if (index > -1) {\r\n      replaceableComponents[index] = replaceableComponent;\r\n    } else {\r\n      replaceableComponents.push(replaceableComponent);\r\n    }\r\n\r\n    this.store.set(replaceableComponents);\r\n\r\n    if (reload) reloadRoute(this.router, this.ngZone);\r\n  }\r\n\r\n  get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n    return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\r\n  }\r\n\r\n  get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent | undefined> {\r\n    return this.replaceableComponents$.pipe(\r\n      map(components => components.find(component => component.key === replaceableComponentKey)),\r\n    );\r\n  }\r\n}\r\n","import { Injectable, Type, inject, signal } from '@angular/core';\r\nimport {\r\n  NavigationCancel,\r\n  NavigationEnd,\r\n  NavigationError,\r\n  NavigationStart,\r\n  Router,\r\n  RouterEvent,\r\n  Event,\r\n  RouterState,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nexport const NavigationEvent = {\r\n  Cancel: NavigationCancel,\r\n  End: NavigationEnd,\r\n  Error: NavigationError,\r\n  Start: NavigationStart,\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterEvents {\r\n  protected readonly router = inject(Router);\r\n\r\n  readonly #previousNavigation = signal<string | undefined>(undefined);\r\n  previousNavigation = this.#previousNavigation.asReadonly();\r\n\r\n  readonly #currentNavigation = signal<string | undefined>(undefined);\r\n  currentNavigation = this.#currentNavigation.asReadonly();\r\n\r\n  constructor() {\r\n    this.listenToNavigation();\r\n  }\r\n\r\n  protected listenToNavigation(): void {\r\n    const routerEvent$ = this.router.events.pipe(\r\n      filter(e => e instanceof NavigationEvent.End && !e.url.includes('error'))\r\n    ) as Observable<NavigationEnd>;\r\n    \r\n    routerEvent$.subscribe(event => {\r\n      this.#previousNavigation.set(this.currentNavigation());\r\n      this.#currentNavigation.set(event.url);\r\n    });\r\n  }\r\n\r\n  getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\r\n    const filterRouterEvents = (event: Event) => eventTypes.some(type => event instanceof type);\r\n\r\n    return this.router.events.pipe(filter(filterRouterEvents));\r\n  }\r\n\r\n  getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\r\n    type FilteredNavigationEvent = T extends (infer Key)[]\r\n      ? Key extends NavigationEventKey\r\n        ? InstanceType<NavigationEventType[Key]>\r\n        : never\r\n      : never;\r\n\r\n    const filterNavigationEvents = (event: Event): event is FilteredNavigationEvent =>\r\n      navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\r\n\r\n    return this.router.events.pipe(filter(filterNavigationEvents));\r\n  }\r\n\r\n  getAllEvents() {\r\n    return this.router.events;\r\n  }\r\n\r\n  getAllNavigationEvents() {\r\n    const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\r\n    return this.getNavigationEvents(...keys);\r\n  }\r\n}\r\n\r\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\r\n\r\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\r\n\r\ntype NavigationEventType = typeof NavigationEvent;\r\n\r\nexport type NavigationEventKey = keyof NavigationEventType;\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { NavigationStart } from '@angular/router';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { RouterEvents } from './router-events.service';\r\n\r\nexport interface RouterWaitState {\r\n  loading: boolean;\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class RouterWaitService {\r\n  private store = new InternalStore<RouterWaitState>({ loading: false });\r\n  private destroy$ = new Subject<void>();\r\n  private delay: number;\r\n  constructor(private routerEvents: RouterEvents, injector: Injector) {\r\n    this.delay = injector.get(LOADER_DELAY, 500);\r\n    this.updateLoadingStatusOnNavigationEvents();\r\n  }\r\n\r\n  private updateLoadingStatusOnNavigationEvents() {\r\n    this.routerEvents\r\n      .getAllNavigationEvents()\r\n      .pipe(\r\n        map(event => event instanceof NavigationStart),\r\n        switchMap(condition =>\r\n          condition\r\n            ? this.delay === 0\r\n              ? of(true)\r\n              : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\r\n            : of(false),\r\n        ),\r\n        tap(() => this.destroy$.next()),\r\n      )\r\n      .subscribe(status => {\r\n        this.setLoading(status);\r\n      });\r\n  }\r\n\r\n  getLoading() {\r\n    return this.store.state.loading;\r\n  }\r\n\r\n  getLoading$() {\r\n    return this.store.sliceState(({ loading }) => loading);\r\n  }\r\n\r\n  updateLoading$() {\r\n    return this.store.sliceUpdate(({ loading }) => loading);\r\n  }\r\n\r\n  setLoading(loading: boolean) {\r\n    this.store.patch({ loading });\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', {\r\n  factory: () => '.AspNetCore.Culture',\r\n});\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\r\n  'NAVIGATE_TO_MANAGE_PROFILE',\r\n);\r\n","import { QueueManager } from \"../utils/queue\";\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\nexport const QUEUE_MANAGER = new InjectionToken<QueueManager>(\"QUEUE_MANAGER\");\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const INCUDE_LOCALIZATION_RESOURCES_TOKEN = new InjectionToken<boolean>(\r\n  'INCUDE_LOCALIZATION_RESOURCES_TOKEN',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { PipeToLoginFn } from '../models/auth';\r\n\r\nexport const PIPE_TO_LOGIN_FN_KEY = new InjectionToken<PipeToLoginFn>('PIPE_TO_LOGIN_FN_KEY');\r\n","import { InjectionToken } from '@angular/core';\r\nimport { SetTokenResponseToStorageFn } from '../models';\r\n\r\n/**\r\n * @deprecated The token should not be used anymore. \r\n */\r\nexport const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken<SetTokenResponseToStorageFn>(\r\n  'SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const OTHERS_GROUP = new InjectionToken<string>('OTHERS_GROUP');\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport type { SortableItem } from '../models';\r\nimport { LocalizationService } from '../services';\r\n\r\nexport const SORT_COMPARE_FUNC = new InjectionToken<(a: SortableItem, b: SortableItem) => number>(\r\n  'SORT_COMPARE_FUNC',\r\n);\r\n\r\nexport function compareFuncFactory() {\r\n  const localizationService = inject(LocalizationService);\r\n  const fn = (a: SortableItem, b: SortableItem) => {\r\n    const aNumber = a.order;\r\n    const bNumber = b.order;\r\n\r\n    if (aNumber > bNumber) return 1;\r\n    if (aNumber < bNumber) return -1;\r\n\r\n    if (a.id > b.id) return 1;\r\n    if (a.id < b.id) return -1;\r\n\r\n    if (!Number.isInteger(aNumber)) return 1;\r\n    if (!Number.isInteger(bNumber)) return -1;\r\n\r\n    const aName = localizationService.instant(a.name);\r\n    const bName = localizationService.instant(b.name);\r\n\r\n    if (aName > bName) return 1;\r\n    if (aName < bName) return -1;\r\n\r\n    return 0;\r\n  };\r\n\r\n  return fn;\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\n\r\n export const DYNAMIC_LAYOUTS_TOKEN = new InjectionToken<Map<string, string>>('DYNAMIC_LAYOUTS')\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const DISABLE_PROJECT_NAME = new InjectionToken<boolean>('DISABLE_APP_NAME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, map } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { OTHERS_GROUP } from '../tokens';\r\nimport { pushValueTo } from '../utils/array-utils';\r\nimport {\r\n  BaseTreeNode,\r\n  createTreeFromList,\r\n  TreeNode,\r\n  RouteGroup,\r\n  createGroupMap,\r\n} from '../utils/tree-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { PermissionService } from './permission.service';\r\nimport { SORT_COMPARE_FUNC } from '../tokens/compare-func.token';\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport abstract class AbstractTreeService<T extends { [key: string | number | symbol]: any }> {\r\n  abstract id: string;\r\n  abstract parentId: string;\r\n  abstract hide: (item: T) => boolean;\r\n  abstract sort: (a: T, b: T) => number;\r\n\r\n  private _flat$ = new BehaviorSubject<T[]>([]);\r\n  private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n  private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n\r\n  protected othersGroup: string;\r\n  protected shouldSingularizeRoutes = true;\r\n\r\n  get flat(): T[] {\r\n    return this._flat$.value;\r\n  }\r\n\r\n  get flat$(): Observable<T[]> {\r\n    return this._flat$.asObservable();\r\n  }\r\n\r\n  get tree(): TreeNode<T>[] {\r\n    return this._tree$.value;\r\n  }\r\n\r\n  get tree$(): Observable<TreeNode<T>[]> {\r\n    return this._tree$.asObservable();\r\n  }\r\n\r\n  get visible(): TreeNode<T>[] {\r\n    return this._visible$.value;\r\n  }\r\n\r\n  get visible$(): Observable<TreeNode<T>[]> {\r\n    return this._visible$.asObservable();\r\n  }\r\n\r\n  private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\r\n    return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\r\n  }\r\n\r\n  private findItemsToRemove(set: Set<string>): Set<string> {\r\n    return this._flat$.value.reduce((acc, item) => {\r\n      if (!acc.has(item[this.parentId])) {\r\n        return acc;\r\n      }\r\n\r\n      const childSet = new Set([item[this.id]]);\r\n      const children = this.findItemsToRemove(childSet);\r\n      return new Set([...acc, ...children]);\r\n    }, set);\r\n  }\r\n\r\n  private publish(flatItems: T[]): T[] {\r\n    this._flat$.next(flatItems);\r\n    this._tree$.next(this.createTree(flatItems));\r\n    this._visible$.next(this.createTree(flatItems.filter(item => !this.hide(item))));\r\n    return flatItems;\r\n  }\r\n\r\n  protected createTree(items: T[]): TreeNode<T>[] {\r\n    return createTreeFromList<T, TreeNode<T>>(\r\n      items,\r\n      item => item[this.id],\r\n      item => item[this.parentId],\r\n      item => BaseTreeNode.create(item),\r\n    );\r\n  }\r\n\r\n  protected createGroupedTree(list: TreeNode<T>[]): RouteGroup<T>[] | undefined {\r\n    const map = createGroupMap<T>(list, this.othersGroup);\r\n    if (!map) {\r\n      return undefined;\r\n    }\r\n\r\n    return Array.from(map, ([key, items]) => ({ group: key, items }));\r\n  }\r\n\r\n  add(items: T[]): T[] {\r\n    let flatItems: T[] = [];\r\n\r\n    if (!this.shouldSingularizeRoutes) {\r\n      flatItems = [...this.flat, ...items];\r\n    }\r\n\r\n    if (this.shouldSingularizeRoutes) {\r\n      const map = new Map<string, T>();\r\n      items.forEach(item => map.set(item[this.id], item));\r\n      flatItems = this.filterWith(map);\r\n      map.forEach(pushValueTo(flatItems));\r\n    }\r\n\r\n    flatItems.sort(this.sort);\r\n\r\n    return this.publish(flatItems);\r\n  }\r\n\r\n  find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\r\n    return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n      if (acc) {\r\n        return acc;\r\n      }\r\n\r\n      if (predicate(node)) {\r\n        return node;\r\n      }\r\n\r\n      return this.find(predicate, node.children);\r\n    }, null);\r\n  }\r\n\r\n  patch(identifier: string, props: Partial<T>): T[] | false {\r\n    const flatItems = this._flat$.value;\r\n    const index = flatItems.findIndex(item => item[this.id] === identifier);\r\n    if (index < 0) {\r\n      return false;\r\n    }\r\n\r\n    flatItems[index] = { ...flatItems[index], ...props };\r\n\r\n    flatItems.sort(this.sort);\r\n    return this.publish(flatItems);\r\n  }\r\n\r\n  refresh(): T[] {\r\n    return this.add([]);\r\n  }\r\n\r\n  remove(identifiers: string[]): T[] {\r\n    const set = new Set<string>();\r\n    identifiers.forEach(id => set.add(id));\r\n\r\n    const setToRemove = this.findItemsToRemove(set);\r\n    const flatItems = this.filterWith(setToRemove);\r\n    return this.publish(flatItems);\r\n  }\r\n\r\n  removeByParam(params: Partial<T>): T[] | null {\r\n    if (!params) {\r\n      return null;\r\n    }\r\n\r\n    const keys = Object.keys(params) as Array<keyof Partial<T>>;\r\n    if (keys.length === 0) {\r\n      return null;\r\n    }\r\n\r\n    const excludedList = this.flat.filter(item => keys.every(key => item[key] === params[key]));\r\n    if (!excludedList?.length) {\r\n      return null;\r\n    }\r\n\r\n    for (const item of excludedList) {\r\n      this.removeByParam({ [this.parentId]: item[this.id] } as Partial<T>);\r\n    }\r\n\r\n    const flatItems = this.flat.filter(item => !excludedList.includes(item));\r\n    return this.publish(flatItems);\r\n  }\r\n\r\n  search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\r\n    const searchKeys = Object.keys(params) as Array<keyof Partial<T>>;\r\n\r\n    return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n      if (acc) {\r\n        return acc;\r\n      }\r\n\r\n      if (searchKeys.every(key => node[key] === params[key])) {\r\n        return node;\r\n      }\r\n\r\n      return this.search(params, node.children);\r\n    }, null);\r\n  }\r\n\r\n  setSingularizeStatus(singularize = true): void {\r\n    this.shouldSingularizeRoutes = singularize;\r\n  }\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\r\n  extends AbstractTreeService<T>\r\n  implements OnDestroy\r\n{\r\n  private subscription: Subscription;\r\n  private permissionService: PermissionService;\r\n  private compareFunc;\r\n  readonly id = 'name';\r\n  readonly parentId = 'parentName';\r\n  readonly hide = (item: T) => item.invisible || !this.isGranted(item);\r\n  readonly sort = (a: T, b: T) => {\r\n    return this.compareFunc(a, b);\r\n  };\r\n\r\n  constructor(protected injector: Injector) {\r\n    super();\r\n    const configState = this.injector.get(ConfigStateService);\r\n    this.subscription = configState\r\n      .createOnUpdateStream(state => state)\r\n      .subscribe(() => this.refresh());\r\n    this.permissionService = injector.get(PermissionService);\r\n    this.othersGroup = injector.get(OTHERS_GROUP);\r\n    this.compareFunc = injector.get(SORT_COMPARE_FUNC);\r\n  }\r\n\r\n  protected isGranted({ requiredPolicy }: T): boolean {\r\n    return this.permissionService.getGrantedPolicy(requiredPolicy);\r\n  }\r\n\r\n  hasChildren(identifier: string): boolean {\r\n    const node = this.find(item => item[this.id] === identifier);\r\n    return Boolean(node?.children?.length);\r\n  }\r\n\r\n  hasInvisibleChild(identifier: string): boolean {\r\n    const node = this.find(item => item[this.id] === identifier);\r\n    return node?.children?.some(child => child.invisible) || false;\r\n  }\r\n\r\n  /* istanbul ignore next */\r\n  ngOnDestroy() {\r\n    this.subscription.unsubscribe();\r\n  }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {\r\n  private hasPathOrChild(item: TreeNode<ABP.Route>): boolean {\r\n    return Boolean(item.path) || this.hasChildren(item.name);\r\n  }\r\n\r\n  get groupedVisible(): RouteGroup<ABP.Route>[] | undefined {\r\n    return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));\r\n  }\r\n\r\n  get groupedVisible$(): Observable<RouteGroup<ABP.Route>[] | undefined> {\r\n    return this.visible$.pipe(\r\n      map(items => items.filter(item => this.hasPathOrChild(item))),\r\n      map(visible => this.createGroupedTree(visible)),\r\n    );\r\n  }\r\n}\r\n","import type { OnDestroy } from '@angular/core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { Observable, PartialObserver } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SubscriptionService implements OnDestroy {\r\n  private subscription = new Subscription();\r\n\r\n  get isClosed() {\r\n    return this.subscription.closed;\r\n  }\r\n\r\n  addOne<T>(\r\n    source$: Observable<T>,\r\n    next?: (value: T) => void,\r\n    error?: (error: any) => void,\r\n  ): Subscription;\r\n  addOne<T>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\r\n  addOne<T>(\r\n    source$: Observable<T>,\r\n    nextOrObserver?: PartialObserver<T> | Next<T>,\r\n    error?: (error: any) => void,\r\n  ): Subscription {\r\n    const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\r\n    this.subscription.add(subscription);\r\n    return subscription;\r\n  }\r\n\r\n  closeAll() {\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  closeOne(subscription: Subscription | undefined | null) {\r\n    this.removeOne(subscription);\r\n    if (subscription) {\r\n      subscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  removeOne(subscription: Subscription | undefined | null) {\r\n    if (!subscription) return;\r\n    this.subscription.remove(subscription);\r\n  }\r\n\r\n  reset() {\r\n    this.subscription.unsubscribe();\r\n    this.subscription = new Subscription();\r\n  }\r\n}\r\n\r\ntype Next<T> = (value: T) => void;\r\n","import { Injectable, TrackByFunction } from '@angular/core';\r\nimport { O } from 'ts-toolbelt';\r\n\r\nexport const trackBy =\r\n  <T = any>(key: keyof T): TrackByFunction<T> =>\r\n  (_, item) =>\r\n    item[key];\r\n\r\nexport const trackByDeep =\r\n  <T = any>(\r\n    // eslint-disable-next-line @typescript-eslint/ban-types\r\n    ...keys: T extends object ? O.Paths<T> : never\r\n  ): TrackByFunction<T> =>\r\n  (_, item) =>\r\n    keys.reduce((acc, key) => acc[key], item);\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TrackByService<ItemType = any> {\r\n  by = trackBy;\r\n\r\n  byDeep = trackByDeep;\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AbpWindowService {\r\n  public readonly document = inject(DOCUMENT);\r\n  public readonly window = this.document.defaultView;\r\n  public readonly navigator = this.window.navigator;\r\n\r\n  copyToClipboard(text: string): Promise<void> {\r\n    return this.navigator.clipboard.writeText(text);\r\n  }\r\n\r\n  open(url?: string | URL, target?: string, features?: string): Window {\r\n    return this.window.open(url, target, features);\r\n  }\r\n\r\n  reloadPage(): void {\r\n    this.window.location.reload();\r\n  }\r\n  downloadBlob(blob: Blob, fileName: string) {\r\n    const blobUrl = this.window.URL.createObjectURL(blob);\r\n    const a = this.document.createElement('a');\r\n    a.style.display = 'none';\r\n    a.href = blobUrl;\r\n    a.download = fileName;\r\n    this.document.body.appendChild(a);\r\n    a.dispatchEvent(\r\n      new MouseEvent('click', {\r\n        bubbles: true,\r\n        cancelable: true,\r\n        view: this.window,\r\n      }),\r\n    );\r\n    this.window.URL.revokeObjectURL(blobUrl);\r\n    this.document.body.removeChild(a);\r\n  }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, computed, inject, signal } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class InternetConnectionService {\r\n  readonly document = inject(DOCUMENT);\r\n  readonly window = this.document.defaultView;\r\n  readonly navigator = this.window.navigator;\r\n\r\n  private status$ = new BehaviorSubject<boolean>(this.navigator.onLine);\r\n\r\n  private status = signal(this.navigator.onLine);\r\n\r\n  networkStatus = computed(() => this.status());\r\n\r\n  constructor() {\r\n    this.window.addEventListener('offline', () => this.setStatus(false));\r\n    this.window.addEventListener('online', () => this.setStatus(true));\r\n  }\r\n\r\n  setStatus(val: boolean) {\r\n    this.status.set(val);\r\n    this.status$.next(val);\r\n  }\r\n\r\n  get networkStatus$() {\r\n    return this.status$.asObservable();\r\n  }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, inject } from '@angular/core';\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LocalStorageListenerService {\r\n  protected readonly window = inject(DOCUMENT).defaultView;\r\n\r\n  constructor() {\r\n    this.window.addEventListener('storage', event => {\r\n      if (event.key === 'access_token') {\r\n        const tokenRemoved = event.newValue === null;\r\n        const tokenAdded = event.oldValue === null && event.newValue !== null;\r\n\r\n        if (tokenRemoved || tokenAdded) {\r\n          this.window.location.assign('/');\r\n        }\r\n      }\r\n    });\r\n  }\r\n}\r\n","import { Injectable, effect, inject } from '@angular/core';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { TitleStrategy, RouterStateSnapshot } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { LocalizationService } from './localization.service';\r\nimport { DISABLE_PROJECT_NAME } from '../tokens';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpTitleStrategy extends TitleStrategy {\r\n  protected readonly title = inject(Title);\r\n  protected readonly localizationService = inject(LocalizationService);\r\n  protected readonly disableProjectName = inject(DISABLE_PROJECT_NAME, { optional: true });\r\n  protected routerState: RouterStateSnapshot;\r\n\r\n  langugageChange = toSignal(this.localizationService.languageChange$);\r\n\r\n  constructor() {\r\n    super();\r\n    effect(() => {\r\n      if (this.langugageChange()) {\r\n        this.updateTitle(this.routerState);\r\n      }\r\n    });\r\n  }\r\n\r\n  override updateTitle(routerState: RouterStateSnapshot) {\r\n    this.routerState = routerState;\r\n    const title = this.buildTitle(routerState);\r\n\r\n    const projectName = this.localizationService.instant({\r\n      key: '::AppName',\r\n      defaultValue: 'MyProjectName',\r\n    });\r\n\r\n    if (!title) {\r\n      return this.title.setTitle(projectName);\r\n    }\r\n    \r\n    let localizedText = this.localizationService.instant({ key: title, defaultValue: title });\r\n    if (!this.disableProjectName) {\r\n      localizedText += ` | ${projectName}`;\r\n    }\r\n\r\n    this.title.setTitle(localizedText);\r\n  }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TimezoneService {\r\n  protected readonly configState = inject(ConfigStateService);\r\n  protected readonly document = inject(DOCUMENT);\r\n  private readonly cookieKey = '__timezone';\r\n  private timeZoneNameFromSettings: string | null | undefined;\r\n  public isUtcClockEnabled: boolean | undefined;\r\n\r\n  constructor() {\r\n    this.configState.getOne$('setting').subscribe(settings => {\r\n      this.timeZoneNameFromSettings = settings?.values?.['Abp.Timing.TimeZone'];\r\n    });\r\n    this.configState.getOne$('clock').subscribe(clock => {\r\n      this.isUtcClockEnabled = clock?.kind === 'Utc';\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Returns the effective timezone to be used across the application.\r\n   *\r\n   * This value is determined based on the clock kind setting in the configuration:\r\n   * - If clock kind is not equal to Utc, the browser's local timezone is returned.\r\n   * - If clock kind is equal to Utc, the configured timezone (`timeZoneNameFromSettings`) is returned if available;\r\n   *   otherwise, the browser's timezone is used as a fallback.\r\n   *\r\n   * @returns The IANA timezone name (e.g., 'Europe/Istanbul', 'America/New_York').\r\n   */\r\n  get timezone(): string {\r\n    if (!this.isUtcClockEnabled) {\r\n      return this.getBrowserTimezone();\r\n    }\r\n    return this.timeZoneNameFromSettings || this.getBrowserTimezone();\r\n  }\r\n\r\n  /**\r\n   * Retrieves the browser's local timezone based on the user's system settings.\r\n   *\r\n   * @returns The IANA timezone name (e.g., 'Europe/Istanbul', 'America/New_York').\r\n   */\r\n  getBrowserTimezone(): string {\r\n    return Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n  }\r\n\r\n  /**\r\n   * Sets the application's timezone in a cookie to persist the user's selected timezone.\r\n   *\r\n   * This method sets the cookie only if the clock kind setting is set to UTC.\r\n   * The cookie is stored using the key defined by `this.cookieKey` and applied to the root path (`/`).\r\n   *\r\n   * @param timezone - The IANA timezone name to be stored (e.g., 'Europe/Istanbul').\r\n   */\r\n  setTimezone(timezone: string): void {\r\n    if (this.isUtcClockEnabled) {\r\n      this.document.cookie = `${this.cookieKey}=${timezone}; path=/`;\r\n    }\r\n  }\r\n}\r\n","import { inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TimeService {\r\n  private locale = inject(LOCALE_ID);\r\n\r\n  /**\r\n   * Returns the current date and time in the specified timezone.\r\n   *\r\n   * @param zone - An IANA timezone name (e.g., 'Europe/Istanbul', 'UTC'); defaults to the system's local timezone.\r\n   * @returns A Luxon DateTime instance representing the current time in the given timezone.\r\n   */\r\n  now(zone = 'local'): DateTime {\r\n    return DateTime.now().setZone(zone);\r\n  }\r\n\r\n  /**\r\n   * Converts the input date to the specified timezone, applying any timezone and daylight saving time (DST) adjustments.\r\n   *\r\n   * This method:\r\n   * 1. Parses the input value into a Luxon DateTime object.\r\n   * 2. Applies the specified IANA timezone, including any DST shifts based on the given date.\r\n   *\r\n   * @param value - The ISO string or Date object to convert.\r\n   * @param zone - An IANA timezone name (e.g., 'America/New_York').\r\n   * @returns A Luxon DateTime instance adjusted to the specified timezone and DST rules.\r\n   */\r\n  toZone(value: string | Date, zone: string): DateTime {\r\n    return DateTime.fromISO(value instanceof Date ? value.toISOString() : value, {\r\n      zone,\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Formats the input date by applying timezone and daylight saving time (DST) adjustments.\r\n   *\r\n   * This method:\r\n   * 1. Converts the input date to the specified timezone.\r\n   * 2. Formats the result using the given format and locale, reflecting any timezone or DST shifts.\r\n   *\r\n   * @param value - The ISO string or Date object to format.\r\n   * @param format - The format string (default: 'ff').\r\n   * @param zone - Optional IANA timezone name (e.g., 'America/New_York'); defaults to the system's local timezone.\r\n   * @returns A formatted date string adjusted for the given timezone and DST rules.\r\n   */\r\n  format(value: string | Date, format = 'ff', zone = 'local'): string {\r\n    return this.toZone(value, zone).setLocale(this.locale).toFormat(format);\r\n  }\r\n\r\n  /**\r\n   * Formats a date using the standard time offset (ignoring daylight saving time) for the specified timezone.\r\n   *\r\n   * This method:\r\n   * 1. Converts the input date to UTC.\r\n   * 2. Calculates the standard UTC offset for the given timezone (based on January 1st to avoid DST).\r\n   * 3. Applies the standard offset manually to the UTC time.\r\n   * 4. Formats the result using the specified format and locale, without applying additional timezone shifts.\r\n   *\r\n   * @param value - The ISO string or Date object to format.\r\n   * @param format - The Luxon format string (default: 'ff').\r\n   * @param zone - Optional IANA timezone name (e.g., 'America/New_York'); if omitted, system local timezone is used.\r\n   * @returns A formatted date string adjusted by standard time (non-DST).\r\n   */\r\n  formatDateWithStandardOffset(value: string | Date, format = 'ff', zone?: string): string {\r\n    const utcDate =\r\n      typeof value === 'string'\r\n        ? DateTime.fromISO(value, { zone: 'UTC' })\r\n        : DateTime.fromJSDate(value, { zone: 'UTC' });\r\n\r\n    if (!utcDate.isValid) return '';\r\n\r\n    const targetZone = zone ?? DateTime.local().zoneName;\r\n\r\n    const januaryDate = DateTime.fromObject(\r\n      { year: utcDate.year, month: 1, day: 1 },\r\n      { zone: targetZone },\r\n    );\r\n    const standardOffset = januaryDate.offset;\r\n    const dateWithStandardOffset = utcDate.plus({ minutes: standardOffset });\r\n\r\n    return dateWithStandardOffset.setZone('UTC').setLocale(this.locale).toFormat(format);\r\n  }\r\n\r\n  /**\r\n   * Formats the input date using its original clock time, without converting based on timezone or DST\r\n   *\r\n   * This method:\r\n   * 1. Converts the input date to ISO string.\r\n   * 2. Calculates the date time in UTC, keeping the local time.\r\n   * 3. Formats the result using the specified format and locale, without shifting timezones.\r\n   *\r\n   * @param value - The ISO string or Date object to format.\r\n   * @param format - The format string (default: 'ff').\r\n   * @returns A formatted date string without applying timezone.\r\n   */\r\n  formatWithoutTimeZone(value: string | Date, format = 'ff'): string {\r\n    const isoString = value instanceof Date ? value.toISOString() : value;\r\n\r\n    const dateTime = DateTime.fromISO(isoString)\r\n      .setZone('utc', { keepLocalTime: true })\r\n      .setLocale(this.locale);\r\n    return dateTime.toFormat(format);\r\n  }\r\n}\r\n","import type { ApplicationConfigurationDto, ApplicationConfigurationRequestOptions } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpApplicationConfigurationService {\r\n  apiName = 'abp';\r\n\r\n\r\n  get = (options: ApplicationConfigurationRequestOptions, config?: Partial<Rest.Config>) =>\r\n    this.restService.request<any, ApplicationConfigurationDto>({\r\n      method: 'GET',\r\n      url: '/api/abp/application-configuration',\r\n      params: { includeLocalizationResources: options.includeLocalizationResources },\r\n    },\r\n      { apiName: this.apiName, ...config });\r\n\r\n  constructor(private restService: RestService) { }\r\n}\r\n","import type { ApplicationLocalizationDto, ApplicationLocalizationRequestDto } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpApplicationLocalizationService {\r\n  apiName = 'abp';\r\n  \r\n\r\n  get = (input: ApplicationLocalizationRequestDto, config?: Partial<Rest.Config>) =>\r\n    this.restService.request<any, ApplicationLocalizationDto>({\r\n      method: 'GET',\r\n      url: '/api/abp/application-localization',\r\n      params: { cultureName: input.cultureName, onlyDynamics: input.onlyDynamics },\r\n    },\r\n    { apiName: this.apiName,...config });\r\n\r\n  constructor(private restService: RestService) {}\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, switchMap, take, tap } from 'rxjs/operators';\r\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\r\nimport { AbpApplicationLocalizationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service';\r\nimport {\r\n  ApplicationConfigurationDto,\r\n  ApplicationFeatureConfigurationDto,\r\n  ApplicationGlobalFeatureConfigurationDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ConfigStateService {\r\n  private updateSubject = new Subject<void>();\r\n  private readonly store = new InternalStore({} as ApplicationConfigurationDto);\r\n\r\n  public uiCultureFromAuthCodeFlow: string;\r\n\r\n  setState(config: ApplicationConfigurationDto) {\r\n    this.store.set(config);\r\n  }\r\n\r\n  get createOnUpdateStream() {\r\n    return this.store.sliceUpdate;\r\n  }\r\n  constructor(\r\n    private abpConfigService: AbpApplicationConfigurationService,\r\n    private abpApplicationLocalizationService: AbpApplicationLocalizationService,\r\n    @Optional()\r\n    @Inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN)\r\n    private readonly includeLocalizationResources: boolean | null,\r\n  ) {\r\n    this.initUpdateStream();\r\n  }\r\n\r\n  private initUpdateStream() {\r\n    this.updateSubject\r\n      .pipe(\r\n        switchMap(() =>\r\n          this.abpConfigService.get({\r\n            includeLocalizationResources: !!this.includeLocalizationResources,\r\n          }),\r\n        ),\r\n      )\r\n      .pipe(switchMap(appState => this.getLocalizationAndCombineWithAppState(appState)))\r\n      .subscribe(res => this.store.set(res));\r\n  }\r\n\r\n  private getLocalizationAndCombineWithAppState(\r\n    appState: ApplicationConfigurationDto,\r\n  ): Observable<ApplicationConfigurationDto> {\r\n    if (!appState.localization.currentCulture.cultureName) {\r\n      throw new Error('culture name should defined');\r\n    }\r\n\r\n    const cultureName =\r\n      this.uiCultureFromAuthCodeFlow ?? appState.localization.currentCulture.cultureName;\r\n\r\n    return this.getlocalizationResource(cultureName).pipe(\r\n      map(result => ({ ...appState, localization: { ...appState.localization, ...result } })),\r\n      tap(() => (this.uiCultureFromAuthCodeFlow = undefined)),\r\n    );\r\n  }\r\n\r\n  private getlocalizationResource(cultureName: string) {\r\n    return this.abpApplicationLocalizationService.get({\r\n      cultureName: cultureName,\r\n      onlyDynamics: false,\r\n    });\r\n  }\r\n\r\n  refreshAppState() {\r\n    this.updateSubject.next();\r\n    return this.createOnUpdateStream(state => state).pipe(take(1));\r\n  }\r\n\r\n  refreshLocalization(lang: string): Observable<null> {\r\n    if (this.includeLocalizationResources) {\r\n      return this.refreshAppState().pipe(map(() => null));\r\n    }\r\n\r\n    return this.getlocalizationResource(lang)\r\n      .pipe(\r\n        tap(result =>\r\n          this.store.patch({ localization: { ...this.store.state.localization, ...result } }),\r\n        ),\r\n      )\r\n      .pipe(map(() => null));\r\n  }\r\n\r\n  getOne$<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n    return this.store.sliceState(state => state[key]);\r\n  }\r\n\r\n  getOne<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n    return this.store.state[key];\r\n  }\r\n\r\n  getAll$(): Observable<ApplicationConfigurationDto> {\r\n    return this.store.sliceState(state => state);\r\n  }\r\n\r\n  getAll(): ApplicationConfigurationDto {\r\n    return this.store.state;\r\n  }\r\n\r\n  getDeep$(keys: string[] | string): Observable<any> {\r\n    keys = splitKeys(keys);\r\n\r\n    return this.store\r\n      .sliceState(state => state)\r\n      .pipe(\r\n        map(state => {\r\n          return (keys as string[]).reduce((acc: any, val) => {\r\n            if (acc) {\r\n              return acc[val];\r\n            }\r\n\r\n            return undefined;\r\n          }, state);\r\n        }),\r\n      );\r\n  }\r\n\r\n  getDeep(keys: string[] | string): any {\r\n    keys = splitKeys(keys);\r\n\r\n    return (keys as string[]).reduce((acc: any, val) => {\r\n      if (acc) {\r\n        return acc[val];\r\n      }\r\n\r\n      return undefined;\r\n    }, this.store.state);\r\n  }\r\n\r\n  getFeature(key: string) {\r\n    return this.store.state.features?.values?.[key];\r\n  }\r\n\r\n  getFeature$(key: string) {\r\n    return this.store.sliceState(state => state.features?.values?.[key]);\r\n  }\r\n\r\n  getFeatures(keys: string[]) {\r\n    const { features } = this.store.state;\r\n    if (!features) return;\r\n\r\n    return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n  }\r\n\r\n  getFeatures$(keys: string[]): Observable<{ [key: string]: string } | undefined> {\r\n    return this.store.sliceState(({ features }) => {\r\n      if (!features?.values) return;\r\n\r\n      return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n    });\r\n  }\r\n\r\n  private isFeatureEnabled(key: string, features: ApplicationFeatureConfigurationDto) {\r\n    return features.values[key] === 'true';\r\n  }\r\n\r\n  getFeatureIsEnabled(key: string) {\r\n    return this.isFeatureEnabled(key, this.store.state.features);\r\n  }\r\n\r\n  getFeatureIsEnabled$(key: string) {\r\n    return this.store.sliceState(state => this.isFeatureEnabled(key, state.features));\r\n  }\r\n\r\n  getSetting(key: string) {\r\n    return this.store.state.setting?.values?.[key];\r\n  }\r\n\r\n  getSetting$(key: string) {\r\n    return this.store.sliceState(state => state.setting?.values?.[key]);\r\n  }\r\n\r\n  getSettings(keyword?: string) {\r\n    const settings = this.store.state.setting?.values || {};\r\n\r\n    if (!keyword) return settings;\r\n\r\n    const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n    return keysFound.reduce(\r\n      (acc, key) => {\r\n        acc[key] = settings[key];\r\n        return acc;\r\n      },\r\n      {} as Record<string, string>,\r\n    );\r\n  }\r\n\r\n  getSettings$(keyword?: string) {\r\n    return this.store\r\n      .sliceState(state => state.setting?.values)\r\n      .pipe(\r\n        map((settings = {}) => {\r\n          if (!keyword) return settings;\r\n\r\n          const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n          return keysFound.reduce(\r\n            (acc, key) => {\r\n              acc[key] = settings[key];\r\n              return acc;\r\n            },\r\n            {} as Record<string, string>,\r\n          );\r\n        }),\r\n      );\r\n  }\r\n\r\n  getGlobalFeatures() {\r\n    return this.store.state.globalFeatures;\r\n  }\r\n\r\n  getGlobalFeatures$() {\r\n    return this.store.sliceState(state => state.globalFeatures);\r\n  }\r\n\r\n  private isGlobalFeatureEnabled(\r\n    key: string,\r\n    globalFeatures: ApplicationGlobalFeatureConfigurationDto,\r\n  ) {\r\n    const features = globalFeatures.enabledFeatures || [];\r\n    return features.some(f => key === f);\r\n  }\r\n\r\n  getGlobalFeatureIsEnabled(key: string) {\r\n    return this.isGlobalFeatureEnabled(key, this.store.state.globalFeatures);\r\n  }\r\n\r\n  getGlobalFeatureIsEnabled$(key: string) {\r\n    return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));\r\n  }\r\n}\r\n\r\nfunction splitKeys(keys: string[] | string): string[] {\r\n  if (typeof keys === 'string') {\r\n    keys = keys.split('.');\r\n  }\r\n\r\n  if (!Array.isArray(keys)) {\r\n    throw new Error('The argument must be a dot string or an string array.');\r\n  }\r\n\r\n  return keys;\r\n}\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\r\nimport { BehaviorSubject, combineLatest, from, Observable, Subject } from 'rxjs';\r\nimport { filter, map, switchMap } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport {\r\n  ApplicationConfigurationDto,\r\n  ApplicationLocalizationResourceDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { localizations$ } from '../tokens/localization.token';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\r\nimport { interpolate } from '../utils/string-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocalizationService {\r\n  private latestLang = this.sessionState.getLanguage();\r\n  private _languageChange$ = new Subject<string>();\r\n\r\n  private uiLocalizations$ = new BehaviorSubject(\r\n    new Map<string, Map<string, Record<string, string>>>(),\r\n  );\r\n\r\n  private localizations$ = new BehaviorSubject(new Map<string, Record<string, string>>());\r\n\r\n  /**\r\n   * Returns currently selected language\r\n   * Even though this looks like it's redundant to return the same value as `getLanguage()`,\r\n   * it's actually not. This could be invoked any time, and the latestLang could be different from the\r\n   * sessionState.getLanguage() value.\r\n   */\r\n  get currentLang(): string {\r\n    return this.latestLang || this.sessionState.getLanguage();\r\n  }\r\n\r\n  get currentLang$(): Observable<string> {\r\n    return this.sessionState.getLanguage$();\r\n  }\r\n\r\n  get languageChange$(): Observable<string> {\r\n    return this._languageChange$.asObservable();\r\n  }\r\n\r\n  constructor(\r\n    private sessionState: SessionStateService,\r\n    private injector: Injector,\r\n    @Optional()\r\n    @SkipSelf()\r\n    otherInstance: LocalizationService,\r\n    private configState: ConfigStateService,\r\n  ) {\r\n    if (otherInstance) throw new Error('LocalizationService should have only one instance.');\r\n\r\n    this.listenToSetLanguage();\r\n    this.initLocalizationValues();\r\n  }\r\n\r\n  private initLocalizationValues() {\r\n    localizations$.subscribe(val => this.addLocalization(val));\r\n\r\n    const legacyResources$ = this.configState.getDeep$('localization.values') as Observable<\r\n      Record<string, Record<string, string>>\r\n    >;\r\n\r\n    const remoteLocalizations$ = this.configState.getDeep$('localization.resources') as Observable<\r\n      Record<string, ApplicationLocalizationResourceDto>\r\n    >;\r\n\r\n    const currentLanguage$ = this.sessionState.getLanguage$();\r\n\r\n    const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(\r\n      map(([currentLang, localizations]) => localizations.get(currentLang)),\r\n    );\r\n\r\n    combineLatest([legacyResources$, remoteLocalizations$, uiLocalizations$])\r\n      .pipe(\r\n        map(([legacy, resource, local]) => {\r\n          if (!resource) {\r\n            return;\r\n          }\r\n          const remote = combineLegacyandNewResources(legacy || {}, resource);\r\n          if (remote) {\r\n            if (!local) {\r\n              local = new Map();\r\n            }\r\n\r\n            Object.entries(remote).forEach(entry => {\r\n              const resourceName = entry[0];\r\n              const remoteTexts = entry[1];\r\n              let resource = local?.get(resourceName) || {};\r\n              resource = { ...resource, ...remoteTexts };\r\n\r\n              local?.set(resourceName, resource);\r\n            });\r\n          }\r\n\r\n          return local;\r\n        }),\r\n        filter(Boolean),\r\n      )\r\n      .subscribe(val => this.localizations$.next(val));\r\n  }\r\n\r\n  addLocalization(localizations?: ABP.Localization[]) {\r\n    if (!localizations) return;\r\n\r\n    const localizationMap = this.uiLocalizations$.value;\r\n\r\n    localizations.forEach(loc => {\r\n      const cultureMap =\r\n        localizationMap.get(loc.culture) || new Map<string, Record<string, string>>();\r\n\r\n      loc.resources.forEach(res => {\r\n        let resource: Record<string, string> = cultureMap.get(res.resourceName) || {};\r\n\r\n        resource = { ...resource, ...res.texts };\r\n\r\n        cultureMap.set(res.resourceName, resource);\r\n      });\r\n\r\n      localizationMap.set(loc.culture, cultureMap);\r\n    });\r\n\r\n    this.uiLocalizations$.next(localizationMap);\r\n  }\r\n\r\n  private listenToSetLanguage() {\r\n    this.sessionState\r\n      .onLanguageChange$()\r\n      .pipe(\r\n        filter(\r\n          lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\r\n        ),\r\n        switchMap(lang => this.configState.refreshLocalization(lang).pipe(map(() => lang))),\r\n        filter(Boolean),\r\n        switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\r\n      )\r\n      .subscribe(lang => this._languageChange$.next(lang));\r\n  }\r\n\r\n  registerLocale(locale: string) {\r\n    const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\r\n\r\n    return registerLocaleFn(locale).then(module => {\r\n      if (module?.default) registerLocaleData(module.default);\r\n      this.latestLang = locale;\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Returns an observable localized text with the given interpolation parameters in current language.\r\n   * @param key Localizaton key to replace with localized text\r\n   * @param interpolateParams Values to interpolate\r\n   */\r\n  get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\r\n    return this.configState\r\n      .getAll$()\r\n      .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));\r\n  }\r\n\r\n  getResource(resourceName: string) {\r\n    return this.localizations$.value.get(resourceName);\r\n  }\r\n\r\n  getResource$(resourceName: string) {\r\n    return this.localizations$.pipe(map(res => res.get(resourceName)));\r\n  }\r\n\r\n  /**\r\n   * Returns localized text with the given interpolation parameters in current language.\r\n   * @param key Localization key to replace with localized text\r\n   * @param interpolateParams Values to intepolate.\r\n   */\r\n  instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\r\n    return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);\r\n  }\r\n\r\n  localize(resourceName: string, key: string, defaultValue: string): Observable<string | null> {\r\n    return this.configState.getOne$('localization').pipe(\r\n      map(createLocalizer),\r\n      map(localize => localize(resourceName, key, defaultValue)),\r\n    );\r\n  }\r\n\r\n  localizeSync(resourceName: string, key: string, defaultValue: string): string | null {\r\n    const localization = this.configState.getOne('localization');\r\n    return createLocalizer(localization)(resourceName, key, defaultValue);\r\n  }\r\n\r\n  localizeWithFallback(\r\n    resourceNames: string[],\r\n    keys: string[],\r\n    defaultValue: string,\r\n  ): Observable<string> {\r\n    return this.configState.getOne$('localization').pipe(\r\n      map(createLocalizerWithFallback),\r\n      map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\r\n    );\r\n  }\r\n\r\n  localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\r\n    const localization = this.configState.getOne('localization');\r\n    return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\r\n  }\r\n\r\n  private getLocalization(\r\n    state: ApplicationConfigurationDto,\r\n    key: string | LocalizationWithDefault,\r\n    ...interpolateParams: string[]\r\n  ) {\r\n    let defaultValue = '';\r\n\r\n    if (!key) {\r\n      return defaultValue;\r\n    }\r\n\r\n    if (typeof key !== 'string') {\r\n      defaultValue = key.defaultValue;\r\n      key = key.key;\r\n    }\r\n\r\n    const keys = key.split('::') as string[];\r\n    const warn = (message: string) => {\r\n      if (isDevMode()) console.warn(message);\r\n    };\r\n\r\n    if (keys.length < 2) {\r\n      warn('The localization source separator (::) not found.');\r\n      return defaultValue || (key as string);\r\n    }\r\n    if (!state.localization) return defaultValue || keys[1];\r\n\r\n    const sourceName = keys[0] || state.localization.defaultResourceName;\r\n    const sourceKey = keys[1];\r\n\r\n    if (sourceName === '_') {\r\n      return defaultValue || sourceKey;\r\n    }\r\n\r\n    if (!sourceName) {\r\n      warn(\r\n        'Localization source name is not specified and the defaultResourceName was not defined!',\r\n      );\r\n\r\n      return defaultValue || sourceKey;\r\n    }\r\n\r\n    const source = this.localizations$.value.get(sourceName);\r\n    if (!source) {\r\n      warn('Could not find localization source: ' + sourceName);\r\n      return defaultValue || sourceKey;\r\n    }\r\n\r\n    let localization = source[sourceKey];\r\n    if (typeof localization === 'undefined') {\r\n      return defaultValue || sourceKey;\r\n    }\r\n\r\n    interpolateParams = interpolateParams.filter(params => params != null);\r\n    if (localization) localization = interpolate(localization, interpolateParams);\r\n\r\n    if (typeof localization !== 'string') localization = '';\r\n\r\n    return localization || defaultValue || (key as string);\r\n  }\r\n}\r\n\r\nfunction recursivelyMergeBaseResources(\r\n  baseResourceName: string,\r\n  source: ResourceDto,\r\n): ApplicationLocalizationResourceDto {\r\n  const item = source[baseResourceName];\r\n\r\n  if (item.baseResources.length === 0) {\r\n    return item;\r\n  }\r\n\r\n  return item.baseResources.reduce((acc, baseResource) => {\r\n    const baseItem = recursivelyMergeBaseResources(baseResource, source);\r\n    const texts = { ...baseItem.texts, ...item.texts };\r\n    return { ...acc, texts };\r\n  }, item);\r\n}\r\n\r\nfunction mergeResourcesWithBaseResource(resource: ResourceDto): ResourceDto {\r\n  const entities: Array<[string, ApplicationLocalizationResourceDto]> = Object.keys(resource).map(\r\n    key => {\r\n      const newValue = recursivelyMergeBaseResources(key, resource);\r\n      return [key, newValue];\r\n    },\r\n  );\r\n  return entities.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\r\n}\r\n\r\nfunction combineLegacyandNewResources(\r\n  legacy: LegacyLanguageDto,\r\n  resource: ResourceDto,\r\n): LegacyLanguageDto {\r\n  const mergedResource = mergeResourcesWithBaseResource(resource);\r\n\r\n  return Object.entries(mergedResource).reduce((acc, [key, value]) => {\r\n    return { ...acc, [key]: value.texts };\r\n  }, legacy);\r\n}\r\n\r\nexport type LegacyLanguageDto = Record<string, Record<string, string>>;\r\nexport type ResourceDto = Record<string, ApplicationLocalizationResourceDto>;\r\n","import { Component, inject, isDevMode, OnInit, Optional, SkipSelf, Type } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { eLayoutType } from '../enums/common';\r\nimport { ABP } from '../models';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { RouterEvents } from '../services/router-events.service';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { TreeNode } from '../utils/tree-utils';\r\nimport { DYNAMIC_LAYOUTS_TOKEN } from '../tokens/dynamic-layout.token';\r\nimport { EnvironmentService } from '../services';\r\n\r\n@Component({\r\n  standalone: false,\r\n  selector: 'abp-dynamic-layout',\r\n  template: `\r\n    @if (isLayoutVisible) {\r\n      <ng-container [ngComponentOutlet]=\"layout\"></ng-container>\r\n    }\r\n  `,\r\n  providers: [SubscriptionService],\r\n})\r\nexport class DynamicLayoutComponent implements OnInit {\r\n  layout?: Type<any>;\r\n  layoutKey?: eLayoutType;\r\n  readonly layouts = inject(DYNAMIC_LAYOUTS_TOKEN);\r\n  isLayoutVisible = true;\r\n\r\n  protected readonly router = inject(Router);\r\n  protected readonly route = inject(ActivatedRoute);\r\n  protected readonly routes = inject(RoutesService);\r\n  protected readonly localizationService = inject(LocalizationService);\r\n  protected readonly replaceableComponents = inject(ReplaceableComponentsService);\r\n  protected readonly subscription = inject(SubscriptionService);\r\n  protected readonly routerEvents = inject(RouterEvents);\r\n  protected readonly environment = inject(EnvironmentService);\r\n\r\n  constructor(@Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent) {\r\n    if (dynamicLayoutComponent) {\r\n      if (isDevMode()) console.warn('DynamicLayoutComponent must be used only in AppComponent.');\r\n      return;\r\n    }\r\n    this.checkLayoutOnNavigationEnd();\r\n    this.listenToLanguageChange();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.layout) {\r\n      return;\r\n    }\r\n\r\n    const { oAuthConfig } = this.environment.getEnvironment();\r\n    if (oAuthConfig.responseType === 'code') {\r\n      this.getLayout();\r\n    }\r\n  }\r\n\r\n  private checkLayoutOnNavigationEnd() {\r\n    const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\r\n    this.subscription.addOne(navigationEnd$, () => this.getLayout());\r\n  }\r\n\r\n  private getLayout() {\r\n    let expectedLayout = this.getExtractedLayout();\r\n\r\n    if (!expectedLayout) expectedLayout = eLayoutType.empty;\r\n\r\n    if (this.layoutKey === expectedLayout) return;\r\n\r\n    const key = this.layouts.get(expectedLayout);\r\n    if (key) {\r\n      this.layout = this.getComponent(key)?.component;\r\n      this.layoutKey = expectedLayout;\r\n    }\r\n    if (!this.layout) {\r\n      this.showLayoutNotFoundError(expectedLayout);\r\n    }\r\n  }\r\n\r\n  private getExtractedLayout() {\r\n    const routeData = this.route.snapshot.data || {};\r\n    let expectedLayout = routeData['layout'] as eLayoutType;\r\n\r\n    let node = findRoute(this.routes, getRoutePath(this.router));\r\n    node = { parent: node } as TreeNode<ABP.Route>;\r\n\r\n    while (node.parent) {\r\n      node = node.parent;\r\n\r\n      if (node.layout) {\r\n        expectedLayout = node.layout;\r\n        break;\r\n      }\r\n    }\r\n    return expectedLayout;\r\n  }\r\n\r\n  showLayoutNotFoundError(layoutName: string) {\r\n    let message = `Layout ${layoutName} not found.`;\r\n    if (layoutName === 'account') {\r\n      message =\r\n        'Account layout not found. Please check your configuration. If you are using LeptonX, please make sure you have added \"AccountLayoutModule.forRoot()\" to your app.module configuration.';\r\n    }\r\n    console.warn(message);\r\n  }\r\n\r\n  private listenToLanguageChange() {\r\n    this.subscription.addOne(this.localizationService.languageChange$, () => {\r\n      this.isLayoutVisible = false;\r\n      setTimeout(() => (this.isLayoutVisible = true), 0);\r\n    });\r\n  }\r\n\r\n  private getComponent(key: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n    return this.replaceableComponents.get(key);\r\n  }\r\n}\r\n","import { Component, OnInit, Type } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Component({\r\n  standalone: false,\r\n  selector: 'abp-replaceable-route-container',\r\n  template: `\r\n    <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\r\n  `,\r\n  providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableRouteContainerComponent implements OnInit {\r\n  defaultComponent!: Type<any>;\r\n\r\n  componentKey!: string;\r\n\r\n  externalComponent?: Type<any>;\r\n\r\n  constructor(\r\n    private route: ActivatedRoute,\r\n    private replaceableComponents: ReplaceableComponentsService,\r\n    private subscription: SubscriptionService,\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\r\n    this.componentKey = (\r\n      this.route.snapshot.data.replaceableComponent as ReplaceableComponents.RouteData\r\n    ).key;\r\n\r\n    const component$ = this.replaceableComponents\r\n      .get$(this.componentKey)\r\n      .pipe(distinctUntilChanged());\r\n\r\n    this.subscription.addOne(\r\n      component$,\r\n      (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n        this.externalComponent = res.component;\r\n      },\r\n    );\r\n  }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  standalone: false,\r\n  selector: 'abp-router-outlet',\r\n  template: ` <router-outlet></router-outlet> `,\r\n})\r\nexport class RouterOutletComponent {}\r\n","// Different locales from .NET\r\n// Key is .NET locale, value is Angular locale\r\n\r\nexport const differentLocales = {\r\n  aa: 'en',\r\n  'aa-DJ': 'en',\r\n  'aa-ER': 'en',\r\n  'aa-ET': 'en',\r\n  'af-ZA': 'af',\r\n  'agq-CM': 'agq',\r\n  'ak-GH': 'ak',\r\n  'am-ET': 'am',\r\n  'ar-001': 'ar',\r\n  arn: 'en',\r\n  'arn-CL': 'en',\r\n  'as-IN': 'as',\r\n  'asa-TZ': 'asa',\r\n  'ast-ES': 'ast',\r\n  'az-Cyrl-AZ': 'az-Cyrl',\r\n  'az-Latn-AZ': 'az-Latn',\r\n  ba: 'ru',\r\n  'ba-RU': 'ru',\r\n  'bas-CM': 'bas',\r\n  'be-BY': 'be',\r\n  'bem-ZM': 'bem',\r\n  'bez-TZ': 'bez',\r\n  'bg-BG': 'bg',\r\n  bin: 'en',\r\n  'bin-NG': 'en',\r\n  'bm-Latn': 'bm',\r\n  'bm-Latn-ML': 'bm',\r\n  'bn-BD': 'bn',\r\n  'bo-CN': 'bo',\r\n  'br-FR': 'br',\r\n  'brx-IN': 'brx',\r\n  'bs-Cyrl-BA': 'bs-Cyrl',\r\n  'bs-Latn-BA': 'bs-Latn',\r\n  byn: 'en',\r\n  'byn-ER': 'en',\r\n  'ca-ES': 'ca',\r\n  'ca-ES-valencia': 'ca-ES-VALENCIA',\r\n  'ce-RU': 'ce',\r\n  'cgg-UG': 'cgg',\r\n  'chr-Cher': 'chr',\r\n  'chr-Cher-US': 'chr',\r\n  co: 'en',\r\n  'co-FR': 'fr',\r\n  'cs-CZ': 'cs',\r\n  'cu-RU': 'cu',\r\n  'cy-GB': 'cy',\r\n  'da-DK': 'da',\r\n  'dav-KE': 'dav',\r\n  'de-DE': 'de',\r\n  'dje-NE': 'dje',\r\n  'dsb-DE': 'dsb',\r\n  'dua-CM': 'dua',\r\n  dv: 'en',\r\n  'dv-MV': 'en',\r\n  'dyo-SN': 'dyo',\r\n  'dz-BT': 'dz',\r\n  'ebu-KE': 'ebu',\r\n  'ee-GH': 'ee',\r\n  'el-GR': 'el',\r\n  'en-029': 'en',\r\n  'en-ID': 'en',\r\n  'en-US': 'en',\r\n  'eo-001': 'en',\r\n  'es-ES': 'es',\r\n  'et-EE': 'et',\r\n  'eu-ES': 'eu',\r\n  'ewo-CM': 'ewo',\r\n  'fa-IR': 'fa',\r\n  'ff-Latn-SN': 'ff-Latn',\r\n  'ff-NG': 'ff',\r\n  'fi-FI': 'fi',\r\n  'fil-PH': 'fil',\r\n  'fo-FO': 'fo',\r\n  'fr-029': 'fr',\r\n  'fr-FR': 'fr',\r\n  'fur-IT': 'fur',\r\n  'fy-NL': 'fy',\r\n  'ga-IE': 'ga',\r\n  'gd-GB': 'gd',\r\n  'gl-ES': 'gl',\r\n  gn: 'en',\r\n  'gn-PY': 'en',\r\n  'gsw-CH': 'gsw',\r\n  'gu-IN': 'gu',\r\n  'guz-KE': 'guz',\r\n  'gv-IM': 'gv',\r\n  'ha-Latn': 'ha',\r\n  'ha-Latn-GH': 'ha-GH',\r\n  'ha-Latn-NE': 'ha-NE',\r\n  'ha-Latn-NG': 'ha',\r\n  'haw-US': 'haw',\r\n  'he-IL': 'he',\r\n  'hi-IN': 'hi',\r\n  'hr-HR': 'hr',\r\n  'hsb-DE': 'hsb',\r\n  'hu-HU': 'hu',\r\n  'hy-AM': 'hy',\r\n  'ia-001': 'ia',\r\n  'ia-FR': 'ia',\r\n  ibb: 'en',\r\n  'ibb-NG': 'en',\r\n  'id-ID': 'id',\r\n  'ig-NG': 'ig',\r\n  'ii-CN': 'ii',\r\n  'is-IS': 'is',\r\n  'it-IT': 'it',\r\n  iu: 'en',\r\n  'iu-Cans': 'en',\r\n  'iu-Cans-CA': 'en',\r\n  'iu-Latn': 'en',\r\n  'iu-Latn-CA': 'en',\r\n  'ja-JP': 'ja',\r\n  'jgo-CM': 'jgo',\r\n  'jmc-TZ': 'jmc',\r\n  'jv-Java': 'jv',\r\n  'jv-Java-ID': 'jv',\r\n  'jv-Latn': 'jv',\r\n  'jv-Latn-ID': 'jv',\r\n  'ka-GE': 'ka',\r\n  'kab-DZ': 'kab',\r\n  'kam-KE': 'kam',\r\n  'kde-TZ': 'kde',\r\n  'kea-CV': 'kea',\r\n  'khq-ML': 'khq',\r\n  'ki-KE': 'ki',\r\n  'kk-KZ': 'kk',\r\n  'kkj-CM': 'kkj',\r\n  'kl-GL': 'kl',\r\n  'kln-KE': 'kln',\r\n  'km-KH': 'km',\r\n  'kn-IN': 'kn',\r\n  'ko-KR': 'ko',\r\n  'kok-IN': 'kok',\r\n  kr: 'en',\r\n  'kr-NG': 'en',\r\n  'ks-Arab': 'ks',\r\n  'ks-Arab-IN': 'ks',\r\n  'ks-Deva': 'ks',\r\n  'ks-Deva-IN': 'ks',\r\n  'ksb-TZ': 'ksb',\r\n  'ksf-CM': 'ksf',\r\n  'ksh-DE': 'ksh',\r\n  'ku-Arab': 'ku',\r\n  'ku-Arab-IQ': 'ku',\r\n  'ku-Arab-IR': 'ku',\r\n  'kw-GB': 'kw',\r\n  'ky-KG': 'ky',\r\n  la: 'en',\r\n  'la-001': 'en',\r\n  'lag-TZ': 'lag',\r\n  'lb-LU': 'lb',\r\n  'lg-UG': 'lg',\r\n  'lkt-US': 'lkt',\r\n  'ln-CD': 'ln',\r\n  'lo-LA': 'lo',\r\n  'lrc-IR': 'lrc',\r\n  'lt-LT': 'lt',\r\n  'lu-CD': 'lu',\r\n  'luo-KE': 'luo',\r\n  'luy-KE': 'luy',\r\n  'lv-LV': 'lv',\r\n  'mas-KE': 'mas',\r\n  'mer-KE': 'mer',\r\n  'mfe-MU': 'mfe',\r\n  'mg-MG': 'mg',\r\n  'mgh-MZ': 'mgh',\r\n  'mgo-CM': 'mgo',\r\n  'mi-NZ': 'mi',\r\n  'mk-MK': 'mk',\r\n  'ml-IN': 'ml',\r\n  'mn-Cyrl': 'mn',\r\n  'mn-MN': 'mn',\r\n  'mn-Mong': 'mn',\r\n  'mn-Mong-CN': 'mn',\r\n  'mn-Mong-MN': 'mn',\r\n  mni: 'en',\r\n  'mni-IN': 'en',\r\n  moh: 'en',\r\n  'moh-CA': 'en',\r\n  'mr-IN': 'mr',\r\n  'ms-MY': 'ms',\r\n  'mt-MT': 'mt',\r\n  'mua-CM': 'mua',\r\n  'my-MM': 'my',\r\n  'mzn-IR': 'mzn',\r\n  'naq-NA': 'naq',\r\n  'nb-NO': 'nb',\r\n\r\n  'nd-ZW': 'nd',\r\n  'ne-NP': 'ne',\r\n  'nl-NL': 'nl',\r\n  'nmg-CM': 'ngm',\r\n  'nn-NO': 'nn',\r\n  'nnh-CM': 'nnh',\r\n  no: 'en',\r\n  nqo: 'en',\r\n  'nqo-GN': 'en',\r\n  nr: 'en',\r\n  'nr-ZA': 'en',\r\n  nso: 'en',\r\n  'nso-ZA': 'en',\r\n  'nus-SS': 'nus',\r\n  'nyn-UG': 'nyn',\r\n  oc: 'en',\r\n  'oc-FR': 'fr',\r\n  'om-ET': 'om',\r\n  'or-IN': 'or',\r\n  'os-GE': 'os',\r\n  'pa-Arab-PK': 'pa-Arab',\r\n  'pa-IN': 'pa',\r\n  pap: 'en',\r\n  'pap-029': 'en',\r\n  'pl-PL': 'pl',\r\n  'prg-001': 'prg',\r\n  prs: 'en',\r\n  'prs-AF': 'en',\r\n  'ps-AF': 'ps',\r\n  'pt-BR': 'pt',\r\n  quc: 'en',\r\n  'quc-Latn': 'en',\r\n  'quc-Latn-GT': 'en',\r\n  quz: 'en',\r\n  'quz-BO': 'en',\r\n  'quz-EC': 'en',\r\n  'quz-PE': 'en',\r\n  'rm-CH': 'rm',\r\n  'rn-BI': 'rn',\r\n  'ro-RO': 'ro',\r\n  'rof-TZ': 'rof',\r\n  'ru-RU': 'ru',\r\n  'rw-RW': 'rw',\r\n  'rwk-TZ': 'rwk',\r\n  sa: 'en',\r\n  'sa-IN': 'en',\r\n  'sah-RU': 'sah',\r\n  'saq-KE': 'saq',\r\n  'sbp-TZ': 'en',\r\n  'sd-Arab': 'sd',\r\n  'sd-Arab-PK': 'sd',\r\n  'sd-Deva': 'sd',\r\n  'sd-Deva-IN': 'sd',\r\n  'se-NO': 'se',\r\n  'seh-MZ': 'seh',\r\n  'ses-ML': 'ses',\r\n  'sg-CF': 'sg',\r\n  'shi-Latn-MA': 'shi-Latn',\r\n  'shi-Tfng-MA': 'shi-Tfng',\r\n  'si-LK': 'si',\r\n  'sk-SK': 'sk',\r\n  'sl-SI': 'sl',\r\n  sma: 'en',\r\n  'sma-NO': 'en',\r\n  'sma-SE': 'en',\r\n  smj: 'en',\r\n  'smj-NO': 'en',\r\n  'smj-SE': 'en',\r\n  'smn-FI': 'en',\r\n  sms: 'en',\r\n  'sms-FI': 'en',\r\n  'sn-Latn': 'sn',\r\n  'sn-Latn-ZW': 'sn',\r\n  'so-SO': 'so',\r\n  'sq-AL': 'so',\r\n  'sr-Cyrl-RS': 'sr-Cryl',\r\n  'sr-Latn-RS': 'sr-Latn',\r\n  ss: 'en',\r\n  'ss-SZ': 'en',\r\n  'ss-ZA': 'en',\r\n  ssy: 'en',\r\n  'ssy-ER': 'en',\r\n  st: 'en',\r\n  'st-LS': 'en',\r\n  'st-ZA': 'en',\r\n  'sv-SE': 'sv',\r\n  'sw-TZ': 'sw',\r\n  syr: 'en',\r\n  'syr-SY': 'en',\r\n  'ta-IN': 'ta',\r\n  'te-IN': 'te',\r\n  'teo-UG': 'teo',\r\n  'tg-Cyrl': 'tg',\r\n  'tg-Cyrl-TJ': 'tg',\r\n  'th-TH': 'th',\r\n  'ti-ET': 'ti',\r\n  tig: 'en',\r\n  'tig-ER': 'en',\r\n  'tk-TM': 'tk',\r\n  tn: 'en',\r\n  'tn-BW': 'en',\r\n  'tn-ZA': 'en',\r\n  'to-TO': 'to',\r\n  'tr-TR': 'tr',\r\n  ts: 'en',\r\n  'ts-ZA': 'en',\r\n  'tt-RU': 'tt',\r\n  'twq-NE': 'twq',\r\n  'tzm-Arab': 'tzm',\r\n  'tzm-Arab-MA': 'tzm',\r\n  'tzm-Latn': 'tzm',\r\n  'tzm-Latn-DZ': 'tzm',\r\n  'tzm-Latn-MA': 'tzm',\r\n  'tzm-Tfng': 'tzm',\r\n  'tzm-Tfng-MA': 'tzm',\r\n  'ug-CN': 'ug',\r\n  'uk-UA': 'uk',\r\n  'ur-PK': 'ur',\r\n  'uz-Arab-AF': 'uz-Arab',\r\n  'uz-Cyrl-UZ': 'uz-Cyrl',\r\n  'uz-Latn-UZ': 'uz-Latn',\r\n  'vai-Latn-LR': 'vai-Latn',\r\n  'vai-Vaii-LR': 'vai-Vaii',\r\n  ve: 'en',\r\n  've-ZA': 'en',\r\n  'vi-VN': 'vi',\r\n  'vo-001': 'vo',\r\n  'vun-TZ': 'vun',\r\n  'wae-CH': 'wae',\r\n  wal: 'en',\r\n  'wal-ET': 'en',\r\n  'wo-SN': 'wo',\r\n  'xh-ZA': 'xh',\r\n  'xog-UG': 'xog',\r\n  'yav-CM': 'yav',\r\n  'yi-001': 'yi',\r\n  'yo-NG': 'yo',\r\n  'zgh-Tfng': 'zgh',\r\n  'zgh-Tfng-MA': 'zgh',\r\n  'zh-CN': 'zh',\r\n  'zh-HK': 'zh',\r\n  'zh-MO': 'zh',\r\n  'zh-SG': 'zh',\r\n  'zh-TW': 'zh',\r\n  'zu-ZA': 'zu',\r\n};\r\n","import {eLayoutType, eThemeSharedComponents} from \"../enums\";\r\n\r\nexport const DEFAULT_DYNAMIC_LAYOUTS = new Map<string, string>([\r\n  [eLayoutType.application, eThemeSharedComponents.ApplicationLayoutComponent],\r\n  [eLayoutType.account, eThemeSharedComponents.AccountLayoutComponent],\r\n  [eLayoutType.empty, eThemeSharedComponents.EmptyLayoutComponent],\r\n]);\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[autofocus]',\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n  private _delay = 0;\r\n\r\n  @Input('autofocus')\r\n  set delay(val: number | string | undefined) {\r\n    this._delay = Number(val) || 0;\r\n  }\r\n\r\n  get delay() {\r\n    return this._delay;\r\n  }\r\n\r\n  constructor(private elRef: ElementRef) {}\r\n\r\n  ngAfterViewInit(): void {\r\n    setTimeout(() => this.elRef.nativeElement.focus(), this.delay as number);\r\n  }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[input.debounce]',\r\n  providers: [SubscriptionService],\r\n})\r\nexport class InputEventDebounceDirective implements OnInit {\r\n  @Input() debounce = 300;\r\n\r\n  @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\r\n\r\n  constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n  ngOnInit(): void {\r\n    const input$ = fromEvent<InputEvent>(this.el.nativeElement, 'input').pipe(\r\n      debounceTime(this.debounce),\r\n    );\r\n\r\n    this.subscription.addOne(input$, (event: Event) => {\r\n      this.debounceEvent.emit(event);\r\n    });\r\n  }\r\n}\r\n","import {\r\n  Directive,\r\n  EmbeddedViewRef,\r\n  Input,\r\n  IterableChangeRecord,\r\n  IterableChanges,\r\n  IterableDiffer,\r\n  IterableDiffers,\r\n  OnChanges,\r\n  TemplateRef,\r\n  TrackByFunction,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport compare from 'just-compare';\r\n\r\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\r\n\r\nclass AbpForContext {\r\n  constructor(\r\n    public $implicit: any,\r\n    public index: number,\r\n    public count: number,\r\n    public list: any[],\r\n  ) {}\r\n}\r\n\r\nclass RecordView {\r\n  constructor(\r\n    public record: IterableChangeRecord<any>,\r\n    public view: EmbeddedViewRef<AbpForContext>,\r\n  ) {}\r\n}\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpFor]',\r\n})\r\nexport class ForDirective implements OnChanges {\r\n  // eslint-disable-next-line @angular-eslint/no-input-rename\r\n  @Input('abpForOf')\r\n  items!: any[];\r\n\r\n  @Input('abpForOrderBy')\r\n  orderBy?: string;\r\n\r\n  @Input('abpForOrderDir')\r\n  orderDir?: 'ASC' | 'DESC';\r\n\r\n  @Input('abpForFilterBy')\r\n  filterBy?: string;\r\n\r\n  @Input('abpForFilterVal')\r\n  filterVal: any;\r\n\r\n  @Input('abpForTrackBy')\r\n  trackBy?: TrackByFunction<any>;\r\n\r\n  @Input('abpForCompareBy')\r\n  compareBy?: CompareFn;\r\n\r\n  @Input('abpForEmptyRef')\r\n  emptyRef?: TemplateRef<any>;\r\n\r\n  private differ!: IterableDiffer<any> | null;\r\n\r\n  private isShowEmptyRef!: boolean;\r\n\r\n  get compareFn(): CompareFn {\r\n    return this.compareBy || compare;\r\n  }\r\n\r\n  get trackByFn(): TrackByFunction<any> {\r\n    return this.trackBy || ((index: number, item: any) => (item as any).id || index);\r\n  }\r\n\r\n  constructor(\r\n    private tempRef: TemplateRef<AbpForContext>,\r\n    private vcRef: ViewContainerRef,\r\n    private differs: IterableDiffers,\r\n  ) {}\r\n\r\n  private iterateOverAppliedOperations(changes: IterableChanges<any>) {\r\n    const rw: RecordView[] = [];\r\n\r\n    changes.forEachOperation(\r\n      (\r\n        record: IterableChangeRecord<any>,\r\n        previousIndex: number | null,\r\n        currentIndex: number | null,\r\n      ) => {\r\n        if (record.previousIndex == null) {\r\n          const view = this.vcRef.createEmbeddedView(\r\n            this.tempRef,\r\n            new AbpForContext(null, -1, -1, this.items),\r\n            currentIndex || 0,\r\n          );\r\n\r\n          rw.push(new RecordView(record, view));\r\n        } else if (currentIndex == null && previousIndex !== null) {\r\n          this.vcRef.remove(previousIndex);\r\n        } else {\r\n          if (previousIndex !== null) {\r\n            const view = this.vcRef.get(previousIndex);\r\n            if (view && currentIndex !== null) {\r\n              this.vcRef.move(view, currentIndex);\r\n              rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\r\n            }\r\n          }\r\n        }\r\n      },\r\n    );\r\n\r\n    for (let i = 0, l = rw.length; i < l; i++) {\r\n      rw[i].view.context.$implicit = rw[i].record.item;\r\n    }\r\n  }\r\n\r\n  private iterateOverAttachedViews(changes: IterableChanges<any>) {\r\n    for (let i = 0, l = this.vcRef.length; i < l; i++) {\r\n      const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\r\n      viewRef.context.index = i;\r\n      viewRef.context.count = l;\r\n      viewRef.context.list = this.items;\r\n    }\r\n\r\n    changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\r\n      if (record.currentIndex !== null) {\r\n        const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\r\n        viewRef.context.$implicit = record.item;\r\n      }\r\n    });\r\n  }\r\n\r\n  private projectItems(items: any[]): void {\r\n    if (!items.length && this.emptyRef) {\r\n      this.vcRef.clear();\r\n      this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\r\n      this.isShowEmptyRef = true;\r\n      this.differ = null;\r\n\r\n      return;\r\n    }\r\n\r\n    if (this.emptyRef && this.isShowEmptyRef) {\r\n      this.vcRef.clear();\r\n      this.isShowEmptyRef = false;\r\n    }\r\n\r\n    if (!this.differ && items) {\r\n      this.differ = this.differs.find(items).create(this.trackByFn);\r\n    }\r\n\r\n    if (this.differ) {\r\n      const changes = this.differ.diff(items);\r\n\r\n      if (changes) {\r\n        this.iterateOverAppliedOperations(changes);\r\n        this.iterateOverAttachedViews(changes);\r\n      }\r\n    }\r\n  }\r\n\r\n  private sortItems(items: any[]) {\r\n    const orderBy = this.orderBy;\r\n    if (orderBy) {\r\n      items.sort((a, b) => (a[orderBy] > b[orderBy] ? 1 : a[orderBy] < b[orderBy] ? -1 : 0));\r\n    } else {\r\n      items.sort();\r\n    }\r\n  }\r\n\r\n  ngOnChanges() {\r\n    let items = clone(this.items) as any[];\r\n    if (!Array.isArray(items)) return;\r\n\r\n    const compareFn = this.compareFn;\r\n    const filterBy = this.filterBy;\r\n    if (\r\n      typeof filterBy !== 'undefined' &&\r\n      typeof this.filterVal !== 'undefined' &&\r\n      this.filterVal !== ''\r\n    ) {\r\n      items = items.filter(item => compareFn(item[filterBy], this.filterVal));\r\n    }\r\n\r\n    switch (this.orderDir) {\r\n      case 'ASC':\r\n        this.sortItems(items);\r\n        this.projectItems(items);\r\n        break;\r\n\r\n      case 'DESC':\r\n        this.sortItems(items);\r\n        items.reverse();\r\n        this.projectItems(items);\r\n        break;\r\n\r\n      default:\r\n        this.projectItems(items);\r\n    }\r\n  }\r\n}\r\n","import {\r\n  ChangeDetectorRef,\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  Self,\r\n} from '@angular/core';\r\nimport { FormGroupDirective, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\ntype Controls = { [key: string]: UntypedFormControl } | UntypedFormGroup[];\r\n/**\r\n * @deprecated FormSubmitDirective will be removed in V7.0.0. Use `ngSubmit` instead.\r\n */\r\n@Directive({\r\n  standalone: true,\r\n  selector: 'form[ngSubmit][formGroup]',\r\n  providers: [SubscriptionService],\r\n})\r\nexport class FormSubmitDirective implements OnInit {\r\n  @Input()\r\n  debounce = 200;\r\n\r\n  // TODO: Remove unused input\r\n  @Input()\r\n  notValidateOnSubmit?: string | boolean;\r\n\r\n  @Input()\r\n  markAsDirtyWhenSubmit = true;\r\n\r\n  @Output() readonly ngSubmit = new EventEmitter();\r\n\r\n  executedNgSubmit = false;\r\n\r\n  constructor(\r\n    @Self() private formGroupDirective: FormGroupDirective,\r\n    private host: ElementRef<HTMLFormElement>,\r\n    private cdRef: ChangeDetectorRef,\r\n    private subscription: SubscriptionService,\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\r\n      if (this.markAsDirtyWhenSubmit) {\r\n        this.markAsDirty();\r\n      }\r\n\r\n      this.executedNgSubmit = true;\r\n    });\r\n\r\n    const keyup$ = fromEvent<KeyboardEvent>(this.host.nativeElement as HTMLElement, 'keyup').pipe(\r\n      debounceTime(this.debounce),\r\n      filter(event => !(event.target instanceof HTMLTextAreaElement)),\r\n      filter(event => event && event.key === 'Enter'),\r\n    );\r\n\r\n    this.subscription.addOne(keyup$, () => {\r\n      if (!this.executedNgSubmit) {\r\n        this.host.nativeElement.dispatchEvent(\r\n          new Event('submit', { bubbles: true, cancelable: true }),\r\n        );\r\n      }\r\n\r\n      this.executedNgSubmit = false;\r\n    });\r\n  }\r\n\r\n  markAsDirty() {\r\n    const { form } = this.formGroupDirective;\r\n\r\n    setDirty(form.controls as { [key: string]: UntypedFormControl });\r\n    form.markAsDirty();\r\n\r\n    this.cdRef.detectChanges();\r\n  }\r\n}\r\n\r\nfunction setDirty(controls: Controls) {\r\n  if (Array.isArray(controls)) {\r\n    controls.forEach(group => {\r\n      setDirty(group.controls as { [key: string]: UntypedFormControl });\r\n    });\r\n    return;\r\n  }\r\n\r\n  Object.keys(controls).forEach(key => {\r\n    controls[key].markAsDirty();\r\n    controls[key].updateValueAndValidity();\r\n  });\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpInit]',\r\n})\r\nexport class InitDirective implements AfterViewInit {\r\n  @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\r\n\r\n  constructor(private elRef: ElementRef) {}\r\n\r\n  ngAfterViewInit() {\r\n    this.init.emit(this.elRef);\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Directive,\r\n  Inject,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  Optional,\r\n  TemplateRef,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ReplaySubject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged, take } from 'rxjs/operators';\r\nimport { PermissionService } from '../services/permission.service';\r\nimport { QUEUE_MANAGER } from '../tokens/queue.token';\r\nimport { QueueManager } from '../utils/queue';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpPermission]',\r\n})\r\nexport class PermissionDirective implements OnDestroy, OnChanges, AfterViewInit {\r\n  @Input('abpPermission') condition: string | undefined;\r\n\r\n  @Input('abpPermissionRunChangeDetection') runChangeDetection = true;\r\n\r\n  subscription!: Subscription;\r\n\r\n  cdrSubject = new ReplaySubject<void>();\r\n\r\n  rendered = false;\r\n\r\n  constructor(\r\n    @Optional() private templateRef: TemplateRef<any>,\r\n    private vcRef: ViewContainerRef,\r\n    private permissionService: PermissionService,\r\n    private cdRef: ChangeDetectorRef,\r\n    @Inject(QUEUE_MANAGER) public queue: QueueManager,\r\n  ) {}\r\n\r\n  private check() {\r\n    if (this.subscription) {\r\n      this.subscription.unsubscribe();\r\n    }\r\n\r\n    this.subscription = this.permissionService\r\n      .getGrantedPolicy$(this.condition || '')\r\n      .pipe(distinctUntilChanged())\r\n      .subscribe(isGranted => {\r\n        this.vcRef.clear();\r\n        if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\r\n        if (this.runChangeDetection) {\r\n          if (!this.rendered) {\r\n            this.cdrSubject.next();\r\n          } else {\r\n            this.cdRef.detectChanges();\r\n          }\r\n        } else {\r\n          this.cdRef.markForCheck();\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.subscription) this.subscription.unsubscribe();\r\n  }\r\n\r\n  ngOnChanges() {\r\n    this.check();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.cdrSubject.pipe(take(1)).subscribe(() => this.queue.add(() => this.cdRef.detectChanges()));\r\n    this.rendered = true;\r\n  }\r\n}\r\n","import {\r\n  Directive,\r\n  Injector,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  Type,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport compare from 'just-compare';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpReplaceableTemplate]',\r\n  providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\r\n  @Input('abpReplaceableTemplate')\r\n  data!: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\r\n\r\n  providedData = {\r\n    inputs: {},\r\n    outputs: {},\r\n  } as ReplaceableComponents.ReplaceableTemplateData<any, any>;\r\n\r\n  context = {} as any;\r\n\r\n  externalComponent!: Type<any>;\r\n\r\n  defaultComponentRef: any;\r\n\r\n  defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n\r\n  initialized = false;\r\n\r\n  constructor(\r\n    private injector: Injector,\r\n    private templateRef: TemplateRef<any>,\r\n    private vcRef: ViewContainerRef,\r\n    private replaceableComponents: ReplaceableComponentsService,\r\n    private subscription: SubscriptionService,\r\n  ) {\r\n    this.context = {\r\n      initTemplate: (ref: any) => {\r\n        this.resetDefaultComponent();\r\n        this.defaultComponentRef = ref;\r\n        this.setDefaultComponentInputs();\r\n      },\r\n    };\r\n  }\r\n\r\n  ngOnInit() {\r\n    const component$ = this.replaceableComponents\r\n      .get$(this.data.componentKey)\r\n      .pipe(\r\n        filter(\r\n          (res = {} as ReplaceableComponents.ReplaceableComponent) =>\r\n            !this.initialized || !compare(res.component, this.externalComponent),\r\n        ),\r\n      );\r\n\r\n    this.subscription.addOne(\r\n      component$,\r\n      (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n        this.vcRef.clear();\r\n        this.externalComponent = res.component;\r\n        if (this.defaultComponentRef) {\r\n          this.resetDefaultComponent();\r\n        }\r\n\r\n        if (res.component) {\r\n          this.setProvidedData();\r\n          const customInjector = Injector.create({\r\n            providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\r\n            parent: this.injector,\r\n          });\r\n          const ref = this.vcRef.createComponent(res.component, {\r\n            index: 0,\r\n            injector: customInjector,\r\n          });\r\n        } else {\r\n          this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n        }\r\n\r\n        this.initialized = true;\r\n      },\r\n    );\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes?.data?.currentValue?.inputs && this.defaultComponentRef) {\r\n      this.setDefaultComponentInputs();\r\n    }\r\n  }\r\n\r\n  setDefaultComponentInputs() {\r\n    if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\r\n\r\n    if (this.data.inputs) {\r\n      for (const key in this.data.inputs) {\r\n        if (Object.prototype.hasOwnProperty.call(this.data.inputs, key)) {\r\n          if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\r\n            this.defaultComponentRef[key] = this.data.inputs[key].value;\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    if (this.data.outputs) {\r\n      for (const key in this.data.outputs) {\r\n        if (Object.prototype.hasOwnProperty.call(this.data.outputs, key)) {\r\n          if (!this.defaultComponentSubscriptions[key]) {\r\n            this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\r\n              (value: any) => {\r\n                this.data.outputs?.[key](value);\r\n              },\r\n            );\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  setProvidedData() {\r\n    this.providedData = { outputs: {}, ...this.data, inputs: {} };\r\n\r\n    if (!this.data.inputs) return;\r\n    Object.defineProperties(this.providedData.inputs, {\r\n      ...Object.keys(this.data.inputs).reduce(\r\n        (acc, key) => ({\r\n          ...acc,\r\n          [key]: {\r\n            enumerable: true,\r\n            configurable: true,\r\n            get: () => this.data.inputs?.[key]?.value,\r\n            ...(this.data.inputs?.[key]?.twoWay && {\r\n              set: (newValue: any) => {\r\n                if (this.data.inputs?.[key]) {\r\n                  this.data.inputs[key].value = newValue;\r\n                }\r\n                if (this.data.outputs?.[`${key}Change`]) {\r\n                  this.data.outputs[`${key}Change`](newValue);\r\n                }\r\n              },\r\n            }),\r\n          },\r\n        }),\r\n        {},\r\n      ),\r\n    });\r\n  }\r\n\r\n  resetDefaultComponent() {\r\n    Object.keys(this.defaultComponentSubscriptions).forEach(key => {\r\n      this.defaultComponentSubscriptions[key].unsubscribe();\r\n    });\r\n    this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n    this.defaultComponentRef = null;\r\n  }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[click.stop]',\r\n  providers: [SubscriptionService],\r\n})\r\nexport class StopPropagationDirective implements OnInit {\r\n  @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\r\n\r\n  constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.subscription.addOne(fromEvent<MouseEvent>(this.el.nativeElement, 'click'), event => {\r\n      event.stopPropagation();\r\n      this.stopPropEvent.emit(event);\r\n    });\r\n  }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport { LocalizationService } from '../services/localization.service';\r\n\r\n@Injectable()\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'abpLocalization',\r\n})\r\nexport class LocalizationPipe implements PipeTransform {\r\n  constructor(private localization: LocalizationService) {}\r\n\r\n  transform(\r\n    value: string | LocalizationWithDefault = '',\r\n    ...interpolateParams: (string | string[] | undefined)[]\r\n  ): string {\r\n    const params =\r\n      interpolateParams.reduce((acc, val) => {\r\n        if (!acc) {\r\n          return val;\r\n        }\r\n        if (!val) {\r\n          return acc;\r\n        }\r\n        return Array.isArray(val) ? [...acc, ...val] : [...acc, val];\r\n      }, []) || [];\r\n    return this.localization.instant(value, ...params);\r\n  }\r\n}\r\n","import { inject, Injectable, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable()\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'abpSafeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n  private readonly sanitizer = inject(DomSanitizer);\r\n\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') return '';\r\n    return this.sanitizer.sanitize(SecurityContext.HTML, value);\r\n  }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nexport type SortOrder = 'asc' | 'desc';\r\n\r\n@Injectable()\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'abpSort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n  transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\r\n    sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n    if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n    let numberArray = [];\r\n    let stringArray = [];\r\n\r\n    if (!sortKey) {\r\n      numberArray = value.filter(item => typeof item === 'number').sort();\r\n      stringArray = value.filter(item => typeof item === 'string').sort();\r\n    } else {\r\n      numberArray = value\r\n        .filter(item => typeof item[sortKey] === 'number')\r\n        .sort((a, b) => a[sortKey] - b[sortKey]);\r\n      stringArray = value\r\n        .filter(item => typeof item[sortKey] === 'string')\r\n        .sort((a, b) => {\r\n          if (a[sortKey] < b[sortKey]) return -1;\r\n          else if (a[sortKey] > b[sortKey]) return 1;\r\n          else return 0;\r\n        });\r\n    }\r\n    const sorted = [\r\n      ...numberArray,\r\n      ...stringArray,\r\n      ...value.filter(\r\n        item =>\r\n          typeof (sortKey ? item[sortKey] : item) !== 'number' &&\r\n          typeof (sortKey ? item[sortKey] : item) !== 'string',\r\n      ),\r\n    ];\r\n    return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n  }\r\n}\r\n","import { InjectionToken, Injector, Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken<PipeTransform>(\r\n  'INJECTOR_PIPE_DATA_TOKEN',\r\n);\r\n\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'toInjector',\r\n})\r\nexport class ToInjectorPipe implements PipeTransform {\r\n  constructor(private injector: Injector) {}\r\n  transform(\r\n    value: any,\r\n    token: InjectionToken<any> = INJECTOR_PIPE_DATA_TOKEN,\r\n    name = 'ToInjectorPipe',\r\n  ): Injector {\r\n    return Injector.create({\r\n      providers: [\r\n        {\r\n          provide: token,\r\n          useValue: value,\r\n        },\r\n      ],\r\n      parent: this.injector,\r\n      name,\r\n    });\r\n  }\r\n}\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'shortDate',\r\n  pure: true,\r\n})\r\nexport class ShortDatePipe extends DatePipe implements PipeTransform {\r\n\r\n  constructor(private configStateService: ConfigStateService,\r\n    @Inject(LOCALE_ID) locale: string,\r\n    @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional()  defaultTimezone?: string|null\r\n    ) {\r\n    super(locale, defaultTimezone)\r\n  }\r\n\r\n  transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n  transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n  transform(\r\n    value: string|number|Date|null|undefined, timezone?: string,\r\n    locale?: string): string|null {\r\n\r\n  const format = getShortDateFormat(this.configStateService);\r\n  return super.transform(value,format,timezone,locale)\r\n  }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'shortTime',\r\n  pure: true,\r\n})\r\nexport class ShortTimePipe extends DatePipe implements PipeTransform {\r\n\r\n  constructor(private configStateService: ConfigStateService,\r\n    @Inject(LOCALE_ID) locale: string,\r\n    @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional()  defaultTimezone?: string|null\r\n    ) {\r\n    super(locale, defaultTimezone)\r\n  }\r\n\r\n  transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n  transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n  transform(\r\n    value: string|number|Date|null|undefined, timezone?: string,\r\n    locale?: string): string|null {\r\n\r\n  const format = getShortTimeFormat(this.configStateService);\r\n  return super.transform(value,format,timezone,locale)\r\n  }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n  standalone: false,\r\n  name: 'shortDateTime',\r\n  pure: true,\r\n})\r\nexport class ShortDateTimePipe extends DatePipe implements PipeTransform {\r\n\r\n  constructor(private configStateService: ConfigStateService,\r\n    @Inject(LOCALE_ID) locale: string,\r\n    @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional()  defaultTimezone?: string|null\r\n    ) {\r\n    super(locale, defaultTimezone)\r\n  }\r\n\r\n  transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n  transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n  transform(\r\n    value: string|number|Date|null|undefined, timezone?: string,\r\n    locale?: string): string|null {\r\n\r\n  const format = getShortDateShortTimeFormat(this.configStateService);\r\n  return super.transform(value,format,timezone,locale)\r\n  }\r\n\r\n\r\n}\r\n\r\n\r\n","import { Pipe, PipeTransform, Injectable, inject, LOCALE_ID } from '@angular/core';\r\nimport { ConfigStateService, LocalizationService, TimeService, TimezoneService } from '../services';\r\nimport { getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat } from '../utils';\r\n\r\n@Injectable()\r\n@Pipe({\r\n  name: 'abpUtcToLocal',\r\n})\r\nexport class UtcToLocalPipe implements PipeTransform {\r\n  protected readonly timezoneService = inject(TimezoneService);\r\n  protected readonly timeService = inject(TimeService);\r\n  protected readonly configState = inject(ConfigStateService);\r\n  protected readonly localizationService = inject(LocalizationService);\r\n  protected readonly locale = inject(LOCALE_ID);\r\n\r\n  transform(\r\n    value: string | Date | null | undefined,\r\n    type: 'date' | 'datetime' | 'time',\r\n  ): string | Date {\r\n    if (!value) return '';\r\n\r\n    const date = new Date(value);\r\n    if (isNaN(date.getTime())) return '';\r\n\r\n    const format = this.getFormat(type);\r\n\r\n    try {\r\n      if (this.timezoneService.isUtcClockEnabled) {\r\n        const timeZone = this.timezoneService.timezone;\r\n        return this.timeService.formatDateWithStandardOffset(date, format, timeZone);\r\n      } else {\r\n        return this.timeService.formatWithoutTimeZone(date, format);\r\n      }\r\n    } catch (err) {\r\n      return value;\r\n    }\r\n  }\r\n\r\n  private getFormat(propType: 'date' | 'datetime' | 'time'): string {\r\n    switch (propType) {\r\n      case 'date':\r\n        return getShortDateFormat(this.configState);\r\n      case 'time':\r\n        return getShortTimeFormat(this.configState);\r\n      case 'datetime':\r\n      default:\r\n        return getShortDateShortTimeFormat(this.configState);\r\n    }\r\n  }\r\n}\r\n","import { inject, Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport {\r\n  Observable,\r\n  of,\r\n  filter,\r\n  take,\r\n  switchMap,\r\n  map,\r\n  startWith,\r\n  distinctUntilChanged,\r\n} from 'rxjs';\r\nimport { ConfigStateService, LocalizationService } from '../services';\r\n\r\n@Injectable()\r\n@Pipe({\r\n  name: 'abpLazyLocalization',\r\n})\r\nexport class LazyLocalizationPipe implements PipeTransform {\r\n  private localizationService = inject(LocalizationService);\r\n  private configStateService = inject(ConfigStateService);\r\n\r\n  transform(key: string, ...params: (string | string[])[]): Observable<string> {\r\n    if (!key) {\r\n      return of('');\r\n    }\r\n\r\n    const flatParams = params.reduce<string[]>(\r\n      (acc, val) => (Array.isArray(val) ? acc.concat(val) : [...acc, val]),\r\n      [],\r\n    );\r\n\r\n    return this.configStateService.getAll$().pipe(\r\n      filter(config => !!config.localization),\r\n      take(1),\r\n      switchMap(() => this.localizationService.get(key, ...flatParams)),\r\n      map(translation => (translation && translation !== key ? translation : '')),\r\n      startWith(''),\r\n      distinctUntilChanged(),\r\n    );\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\nimport { LazyLocalizationPipe } from './pipes';\r\n\r\n@NgModule({\r\n  imports: [LazyLocalizationPipe],\r\n  exports: [LocalizationPipe, LazyLocalizationPipe],\r\n  declarations: [LocalizationPipe],\r\n})\r\nexport class LocalizationModule {}\r\n","export {};\r\n\r\ndeclare global {\r\n  interface Date {\r\n    toLocalISOString?: () => string;\r\n  }\r\n}\r\n\r\nDate.prototype.toLocalISOString = function (this: Date): string {\r\n  const timezoneOffset = this.getTimezoneOffset();\r\n\r\n  return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\r\n};\r\n","import { Injector, inject, provideAppInitializer } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token';\r\n\r\nexport function setLanguageToCookie() {\r\n  const injector = inject(Injector);\r\n  const sessionState = injector.get(SessionStateService);\r\n  const document = injector.get(DOCUMENT);\r\n  const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);\r\n  sessionState.getLanguage$().subscribe(language => {\r\n    const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);\r\n    document.cookie = `${cookieLanguageKey}=${cookieValue}`;\r\n  });\r\n}\r\n\r\nexport const CookieLanguageProvider = provideAppInitializer(() => {\r\n  setLanguageToCookie();\r\n});\r\n","import { LOCALE_ID, Provider } from '@angular/core';\r\nimport { differentLocales } from '../constants/different-locales';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class LocaleId extends String {\r\n  constructor(private localizationService: LocalizationService) {\r\n    super();\r\n  }\r\n\r\n  toString(): string {\r\n    const { currentLang } = this.localizationService;\r\n    if (checkHasProp(differentLocales, currentLang)) {\r\n      return differentLocales[currentLang];\r\n    }\r\n    return currentLang;\r\n  }\r\n\r\n  valueOf(): string {\r\n    return this.toString();\r\n  }\r\n}\r\n\r\nexport const LocaleProvider: Provider = {\r\n  provide: LOCALE_ID,\r\n  useClass: LocaleId,\r\n  deps: [LocalizationService],\r\n};\r\n","import { Provider } from '@angular/core';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\n\r\nexport const IncludeLocalizationResourcesProvider: Provider = {\r\n  provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n  useValue: false,\r\n};\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { Route, Router } from '@angular/router';\r\nimport { ABP } from '../models';\r\nimport { RoutesService } from '../services/routes.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class RoutesHandler {\r\n  constructor(\r\n    private routes: RoutesService,\r\n    @Optional() private router: Router,\r\n  ) {\r\n    this.addRoutes();\r\n  }\r\n\r\n  addRoutes() {\r\n    (this.router?.config as RouteData[])?.forEach(({ path = '', data }: RouteData) => {\r\n      const routes = data?.routes;\r\n      if (!routes) return;\r\n\r\n      if (Array.isArray(routes)) {\r\n        this.routes.add(routes);\r\n      } else {\r\n        const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });\r\n        this.routes.add(routesFlatten);\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction flatRoutes(routes: RouteDef[], parent: any) {\r\n  if (!routes) return [];\r\n\r\n  return routes.reduce((acc, route) => {\r\n    const { children, ...current } = {\r\n      ...route,\r\n      parentName: parent.name,\r\n      path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\r\n    };\r\n\r\n    acc.push(current, ...flatRoutes(children, current));\r\n\r\n    return acc;\r\n  }, [] as ABP.Route[]);\r\n}\r\n\r\ntype RouteDef = ABP.Route & { children: RouteDef[] };\r\ntype RouteData = Route & { data: { routes: RouteDef | Array<RouteDef> } };\r\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { HttpWaitService } from '../services';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ApiInterceptor implements IApiInterceptor {\r\n  constructor(private httpWaitService: HttpWaitService) {}\r\n\r\n  getAdditionalHeaders(existingHeaders?: HttpHeaders) {\r\n    return existingHeaders || new HttpHeaders();\r\n  }\r\n\r\n  intercept(request: HttpRequest<any>, next: HttpHandler) {\r\n    this.httpWaitService.addRequest(request);\r\n    return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\r\n  }\r\n}\r\n\r\nexport interface IApiInterceptor extends HttpInterceptor {\r\n  getAdditionalHeaders(existingHeaders?: HttpHeaders): HttpHeaders;\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { TimezoneService } from '../services';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TimezoneInterceptor implements HttpInterceptor {\r\n  protected readonly timezoneService = inject(TimezoneService);\r\n\r\n  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n    if (!this.timezoneService.isUtcClockEnabled) {\r\n      return next.handle(req);\r\n    }\r\n    const timezone = this.timezoneService.timezone;\r\n    if (timezone) {\r\n      req = req.clone({\r\n        setHeaders: {\r\n          __timezone: timezone,\r\n        },\r\n      });\r\n    }\r\n    return next.handle(req);\r\n  }\r\n}\r\n","import { makeEnvironmentProviders, Provider, inject, provideAppInitializer } from '@angular/core';\r\nimport { TitleStrategy } from '@angular/router';\r\nimport {\r\n  HTTP_INTERCEPTORS,\r\n  provideHttpClient,\r\n  withInterceptorsFromDi,\r\n  withXsrfConfiguration,\r\n} from '@angular/common/http';\r\nimport {\r\n  CORE_OPTIONS,\r\n  LOCALIZATIONS,\r\n  DYNAMIC_LAYOUTS_TOKEN,\r\n  OTHERS_GROUP,\r\n  QUEUE_MANAGER,\r\n  SORT_COMPARE_FUNC,\r\n  TENANT_KEY,\r\n  compareFuncFactory,\r\n  coreOptionsFactory,\r\n  localizationContributor,\r\n} from '../tokens';\r\nimport { RoutesHandler } from '../handlers';\r\nimport { ABP, SortableItem } from '../models';\r\nimport { AuthErrorFilterService } from '../abstracts';\r\nimport { DEFAULT_DYNAMIC_LAYOUTS } from '../constants';\r\nimport { LocalizationService, LocalStorageListenerService, AbpTitleStrategy } from '../services';\r\nimport { DefaultQueueManager, getInitialData, localeInitializer } from '../utils';\r\nimport { CookieLanguageProvider, IncludeLocalizationResourcesProvider, LocaleProvider } from './';\r\nimport { TimezoneInterceptor } from '../interceptors';\r\n\r\nexport enum CoreFeatureKind {\r\n  Options,\r\n  CompareFunctionFactory,\r\n  TitleStrategy,\r\n}\r\n\r\nexport interface CoreFeature<KindT extends CoreFeatureKind> {\r\n  ɵkind: KindT;\r\n  ɵproviders: Provider[];\r\n}\r\n\r\nfunction makeCoreFeature<KindT extends CoreFeatureKind>(\r\n  kind: KindT,\r\n  providers: Provider[],\r\n): CoreFeature<KindT> {\r\n  return {\r\n    ɵkind: kind,\r\n    ɵproviders: providers,\r\n  };\r\n}\r\n\r\nexport function withOptions(options = {} as ABP.Root): CoreFeature<CoreFeatureKind.Options> {\r\n  return makeCoreFeature(CoreFeatureKind.Options, [\r\n    {\r\n      provide: 'CORE_OPTIONS',\r\n      useValue: options,\r\n    },\r\n    {\r\n      provide: CORE_OPTIONS,\r\n      useFactory: coreOptionsFactory,\r\n      deps: ['CORE_OPTIONS'],\r\n    },\r\n    { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\r\n    {\r\n      provide: LOCALIZATIONS,\r\n      multi: true,\r\n      useValue: localizationContributor(options.localizations),\r\n      deps: [LocalizationService],\r\n    },\r\n    {\r\n      provide: OTHERS_GROUP,\r\n      useValue: options.othersGroup || 'AbpUi::OthersGroup',\r\n    },\r\n    {\r\n      provide: DYNAMIC_LAYOUTS_TOKEN,\r\n      useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS,\r\n    },\r\n  ]);\r\n}\r\n\r\nexport function withTitleStrategy(strategy: unknown): CoreFeature<CoreFeatureKind.TitleStrategy> {\r\n  return makeCoreFeature(CoreFeatureKind.TitleStrategy, [\r\n    {\r\n      provide: TitleStrategy,\r\n      useExisting: strategy,\r\n    },\r\n  ]);\r\n}\r\n\r\nexport function withCompareFuncFactory(\r\n  factory: (a: SortableItem, b: SortableItem) => 1 | -1 | 0,\r\n): CoreFeature<CoreFeatureKind.CompareFunctionFactory> {\r\n  return makeCoreFeature(CoreFeatureKind.CompareFunctionFactory, [\r\n    {\r\n      provide: SORT_COMPARE_FUNC,\r\n      useFactory: factory,\r\n    },\r\n  ]);\r\n}\r\n\r\nexport function provideAbpCore(...features: CoreFeature<CoreFeatureKind>[]) {\r\n  const providers = [\r\n    provideHttpClient(\r\n      withInterceptorsFromDi(),\r\n      withXsrfConfiguration({\r\n        cookieName: 'XSRF-TOKEN',\r\n        headerName: 'RequestVerificationToken',\r\n      }),\r\n    ),\r\n    provideAppInitializer(() => {\r\n      getInitialData();\r\n      localeInitializer();\r\n      inject(LocalizationService);\r\n      inject(LocalStorageListenerService);\r\n      inject(RoutesHandler);\r\n    }),\r\n\r\n    LocaleProvider,\r\n    CookieLanguageProvider,\r\n    {\r\n      provide: SORT_COMPARE_FUNC,\r\n      useFactory: compareFuncFactory,\r\n    },\r\n    {\r\n      provide: QUEUE_MANAGER,\r\n      useClass: DefaultQueueManager,\r\n    },\r\n    AuthErrorFilterService,\r\n    IncludeLocalizationResourcesProvider,\r\n    {\r\n      provide: TitleStrategy,\r\n      useExisting: AbpTitleStrategy,\r\n    },\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: TimezoneInterceptor,\r\n      multi: true,\r\n    },\r\n  ];\r\n\r\n  for (const feature of features) {\r\n    providers.push(...feature.ɵproviders);\r\n  }\r\n\r\n  return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideAbpCoreChild(options = {} as ABP.Child) {\r\n  return makeEnvironmentProviders([\r\n    {\r\n      provide: LOCALIZATIONS,\r\n      multi: true,\r\n      useValue: localizationContributor(options.localizations),\r\n      deps: [LocalizationService],\r\n    },\r\n  ]);\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n  provideHttpClient,\r\n  withInterceptorsFromDi,\r\n  withXsrfConfiguration,\r\n  HTTP_INTERCEPTORS,\r\n} from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\r\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\r\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\r\nimport { RouterOutletComponent } from './components/router-outlet.component';\r\nimport { AutofocusDirective } from './directives/autofocus.directive';\r\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\r\nimport { ForDirective } from './directives/for.directive';\r\nimport { FormSubmitDirective } from './directives/form-submit.directive';\r\nimport { InitDirective } from './directives/init.directive';\r\nimport { PermissionDirective } from './directives/permission.directive';\r\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\r\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\r\nimport { LocalizationModule } from './localization.module';\r\nimport { ABP } from './models/common';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { ToInjectorPipe } from './pipes/to-injector.pipe';\r\nimport './utils/date-extensions';\r\nimport { ShortDateTimePipe } from './pipes/short-date-time.pipe';\r\nimport { ShortTimePipe } from './pipes/short-time.pipe';\r\nimport { ShortDatePipe } from './pipes/short-date.pipe';\r\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { provideAbpCoreChild, provideAbpCore, withOptions } from './providers';\r\nimport { UtcToLocalPipe } from './pipes';\r\n\r\nconst standaloneDirectives = [\r\n  AutofocusDirective,\r\n  InputEventDebounceDirective,\r\n  ForDirective,\r\n  FormSubmitDirective,\r\n  InitDirective,\r\n  PermissionDirective,\r\n  ReplaceableTemplateDirective,\r\n  StopPropagationDirective,\r\n];\r\n/**\r\n * BaseCoreModule is the module that holds\r\n * all imports, declarations, exports, and entryComponents\r\n * but not the providers.\r\n * This module will be imported and exported by all others.\r\n */\r\n@NgModule({\r\n  exports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    RouterModule,\r\n    LocalizationModule,\r\n    AbstractNgModelComponent,\r\n    DynamicLayoutComponent,\r\n    ReplaceableRouteContainerComponent,\r\n    RouterOutletComponent,\r\n    SortPipe,\r\n    SafeHtmlPipe,\r\n    ToInjectorPipe,\r\n    ShortDateTimePipe,\r\n    ShortTimePipe,\r\n    ShortDatePipe,\r\n    ...standaloneDirectives,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    RouterModule,\r\n    LocalizationModule,\r\n    UtcToLocalPipe,\r\n    ...standaloneDirectives,\r\n  ],\r\n  declarations: [\r\n    AbstractNgModelComponent,\r\n    DynamicLayoutComponent,\r\n    ReplaceableRouteContainerComponent,\r\n    RouterOutletComponent,\r\n    SortPipe,\r\n    SafeHtmlPipe,\r\n    ToInjectorPipe,\r\n    ShortDateTimePipe,\r\n    ShortTimePipe,\r\n    ShortDatePipe,\r\n  ],\r\n  providers: [LocalizationPipe, provideHttpClient(withInterceptorsFromDi())],\r\n})\r\nexport class BaseCoreModule {}\r\n\r\n/**\r\n * RootCoreModule is the module that will be used at root level\r\n * and it introduces imports useful at root level (e.g. NGXS)\r\n */\r\n@NgModule({\r\n  exports: [BaseCoreModule, LocalizationModule],\r\n  imports: [BaseCoreModule, LocalizationModule],\r\n  providers: [\r\n    provideHttpClient(\r\n      withXsrfConfiguration({\r\n        cookieName: 'XSRF-TOKEN',\r\n        headerName: 'RequestVerificationToken',\r\n      }),\r\n    ),\r\n  ],\r\n})\r\nexport class RootCoreModule {}\r\n\r\n/**\r\n * CoreModule is the module that is publicly available\r\n */\r\n@NgModule({\r\n  exports: [BaseCoreModule],\r\n  imports: [BaseCoreModule],\r\n})\r\nexport class CoreModule {\r\n  /**\r\n   * @deprecated forRoot method is deprecated, use `provideAbpCore` *function* for config settings.\r\n   */\r\n  static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\r\n    return {\r\n      ngModule: RootCoreModule,\r\n      providers: [provideAbpCore(withOptions(options))],\r\n    };\r\n  }\r\n\r\n  /**\r\n   * @deprecated forChild method is deprecated, use `provideAbpCoreChild` *function* for config settings.\r\n   */\r\n  static forChild(options = {} as ABP.Child): ModuleWithProviders<RootCoreModule> {\r\n    return {\r\n      ngModule: RootCoreModule,\r\n      providers: [provideAbpCoreChild(options)],\r\n    };\r\n  }\r\n}\r\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpShowPassword]',\r\n})\r\nexport class ShowPasswordDirective {\r\n  protected readonly elementRef = inject(ElementRef);\r\n\r\n  @Input() set abpShowPassword(visible: boolean) {\r\n    const element = this.elementRef.nativeElement as HTMLInputElement;\r\n    if (!element) return;\r\n\r\n    element.type = visible ? 'text' : 'password';\r\n  }\r\n}\r\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[abpCapsLock]',\r\n})\r\nexport class TrackCapsLockDirective {\r\n  @Output('abpCapsLock') capsLock = new EventEmitter<boolean>();\r\n\r\n  @HostListener('window:keydown', ['$event'])\r\n  onKeyDown(event: KeyboardEvent): void {\r\n    this.capsLock.emit(this.isCapsLockOpen(event));\r\n  }\r\n  @HostListener('window:keyup', ['$event'])\r\n  onKeyUp(event: KeyboardEvent): void {\r\n    this.capsLock.emit(this.isCapsLockOpen(event));\r\n  }\r\n\r\n  isCapsLockOpen(e): boolean {\r\n    const s = String.fromCharCode(e.which);\r\n    if (\r\n      (s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) ||\r\n      (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) ||\r\n      (e.getModifierState && e.getModifierState('CapsLock'))\r\n    ) {\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport {\r\n  ActivatedRouteSnapshot,\r\n  CanActivateFn,\r\n  Router,\r\n  RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { filter, take, tap } from 'rxjs/operators';\r\nimport { AuthService, IAbpGuard } from '../abstracts';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { RoutesService, PermissionService, HttpErrorReporterService } from '../services';\r\n/**\r\n * @deprecated Use `permissionGuard` *function* instead.\r\n */\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class PermissionGuard implements IAbpGuard {\r\n  protected readonly router = inject(Router);\r\n  protected readonly routesService = inject(RoutesService);\r\n  protected readonly authService = inject(AuthService);\r\n  protected readonly permissionService = inject(PermissionService);\r\n  protected readonly httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\r\n    let { requiredPolicy } = route.data || {};\r\n\r\n    if (!requiredPolicy) {\r\n      const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\r\n      requiredPolicy = routeFound?.requiredPolicy;\r\n    }\r\n\r\n    if (!requiredPolicy) {\r\n      return of(true);\r\n    }\r\n\r\n    return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n      filter(Boolean),\r\n      take(1),\r\n      tap(access => {\r\n        if (!access && this.authService.isAuthenticated) {\r\n          this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n        }\r\n      }),\r\n    );\r\n  }\r\n}\r\n\r\nexport const permissionGuard: CanActivateFn = (\r\n  route: ActivatedRouteSnapshot,\r\n  state: RouterStateSnapshot,\r\n) => {\r\n  const router = inject(Router);\r\n  const routesService = inject(RoutesService);\r\n  const authService = inject(AuthService);\r\n  const permissionService = inject(PermissionService);\r\n  const httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n  let { requiredPolicy } = route.data || {};\r\n\r\n  if (!requiredPolicy) {\r\n    const routeFound = findRoute(routesService, getRoutePath(router, state.url));\r\n    requiredPolicy = routeFound?.requiredPolicy;\r\n  }\r\n\r\n  if (!requiredPolicy) {\r\n    return of(true);\r\n  }\r\n\r\n  return permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n    filter(Boolean),\r\n    take(1),\r\n    tap(access => {\r\n      if (!access && authService.isAuthenticated) {\r\n        httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n      }\r\n    }),\r\n  );\r\n};\r\n","import { ABP } from './common';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class ListResultDto<T> {\r\n  items?: T[];\r\n\r\n  constructor(initialValues: Partial<ListResultDto<T>> = {}) {\r\n    for (const key in initialValues) {\r\n      if (checkHasProp(initialValues, key)) {\r\n        this[key] = initialValues[key];\r\n      }\r\n    }\r\n  }\r\n}\r\ntype ValueOf<T> = T[keyof T];\r\nexport class PagedResultDto<T> extends ListResultDto<T> {\r\n  totalCount?: number;\r\n\r\n  constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleObject {\r\n  extraProperties?: ABP.Dictionary<any>;\r\n\r\n  constructor(initialValues: Partial<ExtensibleObject> = {}) {\r\n    for (const key in initialValues) {\r\n      if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n        this[key] = initialValues[key];\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\r\n  id?: TKey;\r\n\r\n  constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class LimitedResultRequestDto {\r\n  maxResultCount = 10;\r\n\r\n  constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\r\n    for (const key in initialValues) {\r\n      if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n        this[key] = initialValues[key] as ValueOf<LimitedResultRequestDto>;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport class ExtensibleLimitedResultRequestDto extends ExtensibleEntityDto {\r\n  maxResultCount = 10;\r\n\r\n  constructor(initialValues: Partial<ExtensibleLimitedResultRequestDto> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\r\n  skipCount?: number;\r\n\r\n  constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensiblePagedResultRequestDto extends ExtensibleLimitedResultRequestDto {\r\n  skipCount?: number;\r\n\r\n  constructor(initialValues: Partial<ExtensiblePagedResultRequestDto> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\r\n  sorting?: string;\r\n\r\n  constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensiblePagedAndSortedResultRequestDto extends ExtensiblePagedResultRequestDto {\r\n  sorting?: string;\r\n\r\n  constructor(initialValues: Partial<ExtensiblePagedAndSortedResultRequestDto> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class EntityDto<TKey = string> {\r\n  id?: TKey;\r\n\r\n  constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\r\n    for (const key in initialValues) {\r\n      if (checkHasProp(initialValues, key)) {\r\n        this[key] = initialValues[key];\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\r\n  creationTime?: string | Date;\r\n  creatorId?: string;\r\n\r\n  constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class CreationAuditedEntityWithUserDto<  \r\n  TPrimaryKey = string,\r\n  TUserDto = any\r\n> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n\r\n  constructor(\r\n    initialValues: Partial<CreationAuditedEntityWithUserDto<TPrimaryKey,TUserDto>> = {},\r\n  ) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n  lastModificationTime?: string | Date;\r\n  lastModifierId?: string;\r\n\r\n  constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class AuditedEntityWithUserDto<\r\n  TPrimaryKey = string,\r\n  TUserDto = any,\r\n> extends AuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n  lastModifier?: TUserDto;\r\n\r\n  constructor(initialValues: Partial<AuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\r\n  isDeleted?: boolean;\r\n  deleterId?: string;\r\n  deletionTime?: Date | string;\r\n\r\n  constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class FullAuditedEntityWithUserDto<\r\n  TPrimaryKey = string,\r\n  TUserDto = any\r\n> extends FullAuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n  lastModifier?: TUserDto;\r\n  deleter?: TUserDto;\r\n\r\n  constructor(initialValues: Partial<FullAuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityDto<\r\n  TPrimaryKey = string,\r\n> extends ExtensibleEntityDto<TPrimaryKey> {\r\n  creationTime?: Date | string;\r\n  creatorId?: string;\r\n\r\n  constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityDto<\r\n  TPrimaryKey = string,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n  lastModificationTime?: Date | string;\r\n  lastModifierId?: string;\r\n\r\n  constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityWithUserDto<\r\n  TPrimaryKey = string,\r\n  TUserDto = any,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n  lastModifier?: TUserDto;\r\n\r\n  constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityWithUserDto<\r\n  TPrimaryKey = string,\r\n  TUserDto = any,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n\r\n  constructor(\r\n    initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\r\n  ) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityDto<\r\n  TPrimaryKey = string,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n  isDeleted?: boolean;\r\n  deleterId?: string;\r\n  deletionTime?: Date | string;\r\n\r\n  constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityWithUserDto<\r\n  TPrimaryKey = string,\r\n  TUserDto = any,\r\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\r\n  creator?: TUserDto;\r\n  lastModifier?: TUserDto;\r\n  deleter?: TUserDto;\r\n\r\n  constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n    super(initialValues);\r\n  }\r\n}\r\n","export type EventType =\r\n  | 'discovery_document_loaded'\r\n  | 'jwks_load_error'\r\n  | 'invalid_nonce_in_state'\r\n  | 'discovery_document_load_error'\r\n  | 'discovery_document_validation_error'\r\n  | 'user_profile_loaded'\r\n  | 'user_profile_load_error'\r\n  | 'token_received'\r\n  | 'token_error'\r\n  | 'code_error'\r\n  | 'token_refreshed'\r\n  | 'token_refresh_error'\r\n  | 'silent_refresh_error'\r\n  | 'silently_refreshed'\r\n  | 'silent_refresh_timeout'\r\n  | 'token_validation_error'\r\n  | 'token_expires'\r\n  | 'session_changed'\r\n  | 'session_error'\r\n  | 'session_terminated'\r\n  | 'session_unchanged'\r\n  | 'logout'\r\n  | 'popup_closed'\r\n  | 'popup_blocked'\r\n  | 'token_revoke_error';\r\n\r\nexport abstract class AuthEvent {\r\n  constructor(public readonly type: EventType) {\r\n    this.type = type;\r\n  }\r\n}\r\n\r\nexport class AuthSuccessEvent extends AuthEvent {\r\n  constructor(public readonly type: EventType, public readonly info?: any) {\r\n    super(type);\r\n  }\r\n}\r\n\r\nexport class AuthInfoEvent extends AuthEvent {\r\n  constructor(public readonly type: EventType, public readonly info?: any) {\r\n    super(type);\r\n  }\r\n}\r\n\r\nexport class AuthErrorEvent extends AuthEvent {\r\n  constructor(\r\n    public readonly type: EventType,\r\n    public readonly reason: object,\r\n    public readonly params?: object,\r\n  ) {\r\n    super(type);\r\n  }\r\n}\r\n","import { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ApplicationApiDescriptionModel, ApplicationApiDescriptionModelRequestDto } from '../../../http/modeling/models';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AbpApiDefinitionService {\r\n  apiName = 'abp';\r\n  \r\n\r\n  getByModel = (model: ApplicationApiDescriptionModelRequestDto, config?: Partial<Rest.Config>) =>\r\n    this.restService.request<any, ApplicationApiDescriptionModel>({\r\n      method: 'GET',\r\n      url: '/api/abp/api-definition',\r\n      params: { includeTypes: model.includeTypes },\r\n    },\r\n    { apiName: this.apiName,...config });\r\n\r\n  constructor(private restService: RestService) {}\r\n}\r\n","import { ViewContainerRef } from '@angular/core';\r\n\r\nexport abstract class ContainerStrategy {\r\n  constructor(public containerRef: ViewContainerRef) {}\r\n\r\n  abstract getIndex(): number;\r\n\r\n  prepare(): void {}\r\n}\r\n\r\nexport class ClearContainerStrategy extends ContainerStrategy {\r\n  getIndex(): number {\r\n    return 0;\r\n  }\r\n\r\n  prepare() {\r\n    this.containerRef.clear();\r\n  }\r\n}\r\n\r\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\r\n  constructor(containerRef: ViewContainerRef, private index: number) {\r\n    super(containerRef);\r\n  }\r\n\r\n  getIndex() {\r\n    return Math.min(Math.max(0, this.index), this.containerRef.length);\r\n  }\r\n}\r\n\r\nexport const CONTAINER_STRATEGY = {\r\n  Clear(containerRef: ViewContainerRef) {\r\n    return new ClearContainerStrategy(containerRef);\r\n  },\r\n  Append(containerRef: ViewContainerRef) {\r\n    return new InsertIntoContainerStrategy(containerRef, containerRef.length);\r\n  },\r\n  Prepend(containerRef: ViewContainerRef) {\r\n    return new InsertIntoContainerStrategy(containerRef, 0);\r\n  },\r\n  Insert(containerRef: ViewContainerRef, index: number) {\r\n    return new InsertIntoContainerStrategy(containerRef, index);\r\n  },\r\n};\r\n","export abstract class ContentSecurityStrategy {\r\n  constructor(public nonce?: string) {}\r\n\r\n  abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\r\n}\r\n\r\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\r\n  constructor(nonce: string) {\r\n    super(nonce);\r\n  }\r\n\r\n  applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\r\n    if (this.nonce) {\r\n      element.setAttribute('nonce', this.nonce);\r\n    }\r\n  }\r\n}\r\n\r\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\r\n  constructor() {\r\n    super();\r\n  }\r\n\r\n  applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\r\n}\r\n\r\nexport const CONTENT_SECURITY_STRATEGY = {\r\n  Loose(nonce: string) {\r\n    return new LooseContentSecurityStrategy(nonce);\r\n  },\r\n  None() {\r\n    return new NoContentSecurityStrategy();\r\n  },\r\n};\r\n","import { CONTENT_SECURITY_STRATEGY, ContentSecurityStrategy } from './content-security.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport type ElementOptions<T extends HTMLScriptElement | HTMLStyleElement = any> = Partial<{\r\n  [key in keyof T]: T[key];\r\n}>;\r\n\r\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\r\n  constructor(\r\n    public content: string,\r\n    protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n    protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\r\n    protected options: ElementOptions<T> = {},\r\n  ) {}\r\n\r\n  abstract createElement(): T;\r\n\r\n  insertElement(): T {\r\n    const element = this.createElement();\r\n\r\n    if (this.options && Object.keys(this.options).length > 0) {\r\n      (Object.keys(this.options) as Array<keyof ElementOptions<T>>).forEach(key => {\r\n        if (this.options[key]) {\r\n          element[key] = (this.options as NonNullable<T>)[key];\r\n        }\r\n      });\r\n    }\r\n\r\n    this.contentSecurityStrategy.applyCSP(element);\r\n    this.domStrategy.insertElement(element);\r\n\r\n    return element;\r\n  }\r\n}\r\n\r\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\r\n  createElement(): HTMLStyleElement {\r\n    const element = document.createElement('style');\r\n    element.textContent = this.content;\r\n\r\n    return element;\r\n  }\r\n}\r\n\r\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\r\n  createElement(): HTMLScriptElement {\r\n    const element = document.createElement('script');\r\n    element.textContent = this.content;\r\n\r\n    return element;\r\n  }\r\n}\r\n\r\nexport const CONTENT_STRATEGY = {\r\n  AppendScriptToBody(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n    return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);\r\n  },\r\n  AppendScriptToHead(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n    return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n  },\r\n  AppendStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n    return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n  },\r\n  PrependStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n    return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);\r\n  },\r\n};\r\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models';\r\n\r\nexport abstract class ContextStrategy<T = any> {\r\n  constructor(public context: Partial<ContextType<T>>) {}\r\n\r\n  setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\r\n    return this.context;\r\n  }\r\n}\r\n\r\nexport class NoContextStrategy<\r\n  T extends Type<any> | TemplateRef<any> = any,\r\n> extends ContextStrategy<T> {\r\n  constructor() {\r\n    super(undefined as unknown as Partial<ContextType<T>>);\r\n  }\r\n}\r\n\r\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\r\n  setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\r\n    Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\r\n    componentRef.changeDetectorRef.detectChanges();\r\n    return this.context;\r\n  }\r\n}\r\n\r\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\r\n  setContext(): Partial<InferredContextOf<T>> {\r\n    return this.context;\r\n  }\r\n}\r\n\r\nexport const CONTEXT_STRATEGY = {\r\n  None<T extends Type<any> | TemplateRef<any> = any>() {\r\n    return new NoContextStrategy<T>();\r\n  },\r\n  Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\r\n    return new ComponentContextStrategy<T>(context);\r\n  },\r\n  Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\r\n    return new TemplateContextStrategy<T>(context);\r\n  },\r\n};\r\n\r\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\r\n","import { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { fromLazyLoad } from '../utils';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from './cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\r\n  element!: T;\r\n\r\n  constructor(\r\n    public path: string,\r\n    protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n    protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n  ) {}\r\n\r\n  abstract createElement(): T;\r\n\r\n  createStream<E extends Event>(): Observable<E> {\r\n    this.element = this.createElement();\r\n\r\n    return of(null).pipe(\r\n      switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\r\n    );\r\n  }\r\n}\r\n\r\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\r\n  constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n    super(src, domStrategy, crossOriginStrategy);\r\n  }\r\n\r\n  createElement(): HTMLScriptElement {\r\n    const element = document.createElement('script');\r\n    element.src = this.path;\r\n\r\n    return element;\r\n  }\r\n}\r\n\r\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\r\n  constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n    super(href, domStrategy, crossOriginStrategy);\r\n  }\r\n\r\n  createElement(): HTMLLinkElement {\r\n    const element = document.createElement('link');\r\n    element.rel = 'stylesheet';\r\n    element.href = this.path;\r\n\r\n    return element;\r\n  }\r\n}\r\n\r\nexport const LOADING_STRATEGY = {\r\n  AppendScriptToBody(src: string) {\r\n    return new ScriptLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.AppendToBody(),\r\n      CROSS_ORIGIN_STRATEGY.None(),\r\n    );\r\n  },\r\n  AppendAnonymousScriptToBody(src: string, integrity?: string) {\r\n    return new ScriptLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.AppendToBody(),\r\n      CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n    );\r\n  },\r\n  AppendAnonymousScriptToHead(src: string, integrity?: string) {\r\n    return new ScriptLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.AppendToHead(),\r\n      CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n    );\r\n  },\r\n  AppendAnonymousStyleToHead(src: string, integrity?: string) {\r\n    return new StyleLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.AppendToHead(),\r\n      CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n    );\r\n  },\r\n  PrependAnonymousScriptToHead(src: string, integrity?: string) {\r\n    return new ScriptLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.PrependToHead(),\r\n      CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n    );\r\n  },\r\n  PrependAnonymousStyleToHead(src: string, integrity?: string) {\r\n    return new StyleLoadingStrategy(\r\n      src,\r\n      DOM_STRATEGY.PrependToHead(),\r\n      CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n    );\r\n  },\r\n};\r\n","import {\r\n  ApplicationRef,\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  EmbeddedViewRef,\r\n  Injector,\r\n  TemplateRef,\r\n  Type,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\r\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\r\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport abstract class ProjectionStrategy<T = any> {\r\n  constructor(public content: T) {}\r\n\r\n  abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\r\n}\r\n\r\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n  constructor(\r\n    component: T,\r\n    private containerStrategy: ContainerStrategy,\r\n    private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n  ) {\r\n    super(component);\r\n  }\r\n\r\n  injectContent(injector: Injector) {\r\n    this.containerStrategy.prepare();\r\n\r\n    const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n    const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\r\n\r\n    const componentRef = this.containerStrategy.containerRef.createComponent(\r\n      factory,\r\n      this.containerStrategy.getIndex(),\r\n      injector,\r\n    );\r\n    this.contextStrategy.setContext(componentRef);\r\n\r\n    return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n  }\r\n}\r\n\r\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n  constructor(\r\n    component: T,\r\n    private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n    private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\r\n  ) {\r\n    super(component);\r\n  }\r\n\r\n  injectContent(injector: Injector) {\r\n    const appRef = injector.get(ApplicationRef);\r\n    const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n    const componentRef = resolver\r\n      .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\r\n      .create(injector);\r\n\r\n    this.contextStrategy.setContext(componentRef);\r\n\r\n    appRef.attachView(componentRef.hostView);\r\n    const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\r\n    this.domStrategy.insertElement(element);\r\n\r\n    return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n  }\r\n}\r\n\r\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\r\n  constructor(\r\n    templateRef: T,\r\n    private containerStrategy: ContainerStrategy,\r\n    private contextStrategy = CONTEXT_STRATEGY.None(),\r\n  ) {\r\n    super(templateRef);\r\n  }\r\n\r\n  injectContent() {\r\n    this.containerStrategy.prepare();\r\n\r\n    const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\r\n      this.content,\r\n      this.contextStrategy.context,\r\n      this.containerStrategy.getIndex(),\r\n    );\r\n    embeddedViewRef.detectChanges();\r\n\r\n    return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\r\n  }\r\n}\r\n\r\nexport const PROJECTION_STRATEGY = {\r\n  AppendComponentToBody<T extends Type<unknown>>(\r\n    component: T,\r\n    context?: Partial<InferredInstanceOf<T>>,\r\n  ) {\r\n    return new RootComponentProjectionStrategy<T>(\r\n      component,\r\n      context && CONTEXT_STRATEGY.Component(context),\r\n    );\r\n  },\r\n  AppendComponentToContainer<T extends Type<unknown>>(\r\n    component: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredInstanceOf<T>>,\r\n  ) {\r\n    return new ComponentProjectionStrategy<T>(\r\n      component,\r\n      CONTAINER_STRATEGY.Append(containerRef),\r\n      context && CONTEXT_STRATEGY.Component(context),\r\n    );\r\n  },\r\n  AppendTemplateToContainer<T extends TemplateRef<unknown>>(\r\n    templateRef: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredContextOf<T>>,\r\n  ) {\r\n    return new TemplateProjectionStrategy<T>(\r\n      templateRef,\r\n      CONTAINER_STRATEGY.Append(containerRef),\r\n      context && CONTEXT_STRATEGY.Template(context),\r\n    );\r\n  },\r\n  PrependComponentToContainer<T extends Type<unknown>>(\r\n    component: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredInstanceOf<T>>,\r\n  ) {\r\n    return new ComponentProjectionStrategy<T>(\r\n      component,\r\n      CONTAINER_STRATEGY.Prepend(containerRef),\r\n      context && CONTEXT_STRATEGY.Component(context),\r\n    );\r\n  },\r\n  PrependTemplateToContainer<T extends TemplateRef<unknown>>(\r\n    templateRef: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredContextOf<T>>,\r\n  ) {\r\n    return new TemplateProjectionStrategy<T>(\r\n      templateRef,\r\n      CONTAINER_STRATEGY.Prepend(containerRef),\r\n      context && CONTEXT_STRATEGY.Template(context),\r\n    );\r\n  },\r\n  ProjectComponentToContainer<T extends Type<unknown>>(\r\n    component: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredInstanceOf<T>>,\r\n  ) {\r\n    return new ComponentProjectionStrategy<T>(\r\n      component,\r\n      CONTAINER_STRATEGY.Clear(containerRef),\r\n      context && CONTEXT_STRATEGY.Component(context),\r\n    );\r\n  },\r\n  ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\r\n    templateRef: T,\r\n    containerRef: ViewContainerRef,\r\n    context?: Partial<InferredContextOf<T>>,\r\n  ) {\r\n    return new TemplateProjectionStrategy<T>(\r\n      templateRef,\r\n      CONTAINER_STRATEGY.Clear(containerRef),\r\n      context && CONTEXT_STRATEGY.Template(context),\r\n    );\r\n  },\r\n};\r\n\r\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\r\n  ? ComponentRef<U>\r\n  : T extends TemplateRef<infer C>\r\n  ? EmbeddedViewRef<C>\r\n  : never;\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface MinAgeError {\r\n  minAge: {\r\n    age: number;\r\n  };\r\n}\r\n\r\nexport interface MinAgeOptions {\r\n  age?: number;\r\n}\r\n\r\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\r\n  return (control: AbstractControl): MinAgeError | null => {\r\n    if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n    return isValidMinAge(control.value, age) ? null : { minAge: { age } };\r\n  };\r\n}\r\n\r\nfunction isValidMinAge(value: string | number, minAge: number) {\r\n  const date = new Date();\r\n  date.setFullYear(date.getFullYear() - minAge);\r\n  date.setHours(23, 59, 59, 999);\r\n\r\n  return Number(new Date(value)) <= date.valueOf();\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface CreditCardError {\r\n  creditCard: true;\r\n}\r\n\r\nexport function validateCreditCard(): ValidatorFn {\r\n  return (control: AbstractControl): CreditCardError | null => {\r\n    if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n    return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\r\n  };\r\n}\r\n\r\nfunction isValidCreditCard(value: string): boolean {\r\n  value = value.replace(/[ -]/g, '');\r\n\r\n  if (!/^[0-9]{13,19}$/.test(value)) return false;\r\n\r\n  let checksum = 0;\r\n  let multiplier = 1;\r\n\r\n  for (let i = value.length; i > 0; i--) {\r\n    const digit = Number(value[i - 1]) * multiplier;\r\n    checksum += (digit % 10) + ~~(digit / 10);\r\n\r\n    multiplier = (multiplier * 2) % 3;\r\n  }\r\n\r\n  return checksum % 10 === 0;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RangeError {\r\n  range: {\r\n    max: number;\r\n    min: number;\r\n  };\r\n}\r\n\r\nexport interface RangeOptions {\r\n  maximum?: number;\r\n  minimum?: number;\r\n}\r\n\r\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\r\n  return (control: AbstractControl): RangeError | null => {\r\n    if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n    const value = Number(control.value);\r\n    return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\r\n  };\r\n}\r\n\r\nfunction getMaxError(value: number, max: number, min: number): RangeError | null {\r\n  return value > max ? { range: { max, min } } : null;\r\n}\r\n\r\nfunction getMinError(value: number, min: number, max: number): RangeError | null {\r\n  return value < min ? { range: { min, max } } : null;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RequiredError {\r\n  required: true;\r\n}\r\n\r\nexport interface RequiredOptions {\r\n  allowEmptyStrings?: boolean;\r\n}\r\n\r\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\r\n  // note: please do not remove name of the function, it is used in function compare with type 'RequiredError'\r\n  const required = (control: AbstractControl): RequiredError | null => {\r\n    return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\r\n  };\r\n  return required;\r\n}\r\n\r\nfunction isValidRequired(value: any, allowEmptyStrings: boolean | undefined): boolean {\r\n  if (value || value === 0 || value === false) return true;\r\n\r\n  if (allowEmptyStrings && value === '') return true;\r\n\r\n  return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface StringLengthError {\r\n  maxlength?: {\r\n    requiredLength: number;\r\n  };\r\n  minlength?: {\r\n    requiredLength: number;\r\n  };\r\n}\r\n\r\nexport interface StringLengthOptions {\r\n  maximumLength?: number;\r\n  minimumLength?: number;\r\n}\r\n\r\nexport function validateStringLength({\r\n  maximumLength = Infinity,\r\n  minimumLength = 0,\r\n}: StringLengthOptions = {}): ValidatorFn {\r\n  return (control: AbstractControl): StringLengthError | null => {\r\n    if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n    const value = String(control.value);\r\n\r\n    return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\r\n  };\r\n}\r\n\r\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n  return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\r\n}\r\n\r\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n  return value.length < requiredLength ? { minlength: { requiredLength } } : null;\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UniqueCharacterError {\r\n  uniqueCharacter: true;\r\n}\r\n\r\nexport function validateUniqueCharacter(): ValidatorFn {\r\n  return (control: AbstractControl): UniqueCharacterError | null => {\r\n    if (isNullOrEmpty(control.value)) return null;\r\n\r\n    return isUnqiueCharacter(control.value) ? null : { uniqueCharacter: true };\r\n  };\r\n}\r\n\r\nfunction isUnqiueCharacter(value: string): boolean {\r\n  const set = new Set<string>(value.split(''));\r\n\r\n  return set.size == value.length;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UrlError {\r\n  url: true;\r\n}\r\n\r\nexport function validateUrl(): ValidatorFn {\r\n  return (control: AbstractControl): UrlError | null => {\r\n    if (isNullOrEmpty(control.value)) return null;\r\n\r\n    return isValidUrl(control.value) ? null : { url: true };\r\n  };\r\n}\r\n\r\nfunction isValidUrl(value: string): boolean {\r\n  if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\r\n    const a = document.createElement('a');\r\n    a.href = value;\r\n    return !!a.host;\r\n  }\r\n\r\n  return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UsernamePatternError {\r\n  usernamePattern: {\r\n    actualValue: string;\r\n  };\r\n}\r\n\r\nexport interface UsernameOptions {\r\n  pattern?: RegExp;\r\n}\r\n\r\nconst onlyLetterAndNumberRegex = /^[a-zA-Z0-9]+$/;\r\n\r\nexport function validateUsername(\r\n  { pattern = /.*/ }: UsernameOptions = { pattern: onlyLetterAndNumberRegex },\r\n): ValidatorFn {\r\n  return (control: AbstractControl): UsernamePatternError | null => {\r\n    const isValid = isValidUserName(control.value, pattern);\r\n    return isValid ? null : { usernamePattern: { actualValue: control.value } };\r\n  };\r\n}\r\n\r\nfunction isValidUserName(value: any, pattern: RegExp): boolean {\r\n  if (isNullOrEmpty(value)) return true;\r\n\r\n  return pattern.test(value);\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { validateMinAge } from './age.validator';\r\nimport { validateCreditCard } from './credit-card.validator';\r\nimport { validateRange } from './range.validator';\r\nimport { validateRequired } from './required.validator';\r\nimport { validateStringLength } from './string-length.validator';\r\nimport { validateUniqueCharacter } from './unique-character.validator';\r\nimport { validateUrl } from './url.validator';\r\nimport { validateUsername } from './username.validator';\r\nexport { validateUniqueCharacter } from './unique-character.validator';\r\n\r\nexport * from './age.validator';\r\nexport * from './credit-card.validator';\r\nexport * from './range.validator';\r\nexport * from './required.validator';\r\nexport * from './string-length.validator';\r\nexport * from './url.validator';\r\nexport * from './unique-character.validator';\r\nexport const AbpValidators = {\r\n  creditCard: validateCreditCard,\r\n  emailAddress: () => Validators.email,\r\n  minAge: validateMinAge,\r\n  range: validateRange,\r\n  required: validateRequired,\r\n  stringLength: validateStringLength,\r\n  url: validateUrl,\r\n  username: validateUsername,\r\n  uniqueCharacter: validateUniqueCharacter,\r\n};\r\n","// export * from './lib/handlers';\r\nexport * from './lib/abstracts';\r\nexport * from './lib/components';\r\nexport * from './lib/constants';\r\nexport * from './lib/core.module';\r\nexport * from './lib/directives';\r\nexport * from './lib/enums';\r\nexport * from './lib/guards';\r\nexport * from './lib/localization.module';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/providers';\r\nexport * from './lib/proxy/pages/abp/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/http/modeling';\r\nexport * from './lib/proxy/volo/abp/localization';\r\nexport * from './lib/proxy/volo/abp/models';\r\nexport * from './lib/services';\r\nexport * from './lib/strategies';\r\nexport * from './lib/tokens';\r\nexport * from './lib/utils';\r\nexport * from './lib/validators';\r\nexport * from './lib/interceptors';\r\nexport * from './lib/clients';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ConfigStateService","i2.AbpLocalStorageService","i1.RestService","i2.ExternalHttpClient","i3.EnvironmentService","i4.HttpErrorReporterService","i1.ResourceWaitService","i1","i1.RouterEvents","map","i1.SessionStateService","i2.ConfigStateService","i2.ReplaceableComponentsService","i3.SubscriptionService","i4","i1.SubscriptionService","i2.SubscriptionService","i1.ReplaceableComponentsService","i1.LocalizationService","filter","take","switchMap","distinctUntilChanged","i1.RoutesService","i2","i1.HttpWaitService"],"mappings":"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"}