{"version":3,"file":"becamex-ng.theme-shared.mjs","sources":["../../../projects/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts","../../../projects/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.html","../../../projects/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/theme-shared/src/lib/components/button/button.component.ts","../../../projects/theme-shared/src/lib/models/confirmation.ts","../../../projects/theme-shared/src/lib/models/nav-item.ts","../../../projects/theme-shared/src/lib/enums/profile-picture-type.enum.ts","../../../projects/theme-shared/src/lib/models/profile-picture.ts","../../../projects/theme-shared/src/lib/models/user-menu.ts","../../../projects/theme-shared/src/lib/constants/styles.ts","../../../projects/theme-shared/src/lib/tokens/append-content.token.ts","../../../projects/theme-shared/src/lib/tokens/confirmation-icons.token.ts","../../../projects/theme-shared/src/lib/tokens/http-error.token.ts","../../../projects/theme-shared/src/lib/tokens/ngx-datatable-messages.token.ts","../../../projects/theme-shared/src/lib/tokens/profile-picture.token.ts","../../../projects/theme-shared/src/lib/tokens/suppress-unsaved-changes-warning.token.ts","../../../projects/theme-shared/src/lib/components/confirmation/confirmation.component.ts","../../../projects/theme-shared/src/lib/components/confirmation/confirmation.component.html","../../../projects/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.ts","../../../projects/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.html","../../../projects/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts","../../../projects/theme-shared/src/lib/components/loading/loading.component.ts","../../../projects/theme-shared/src/lib/services/confirmation.service.ts","../../../projects/theme-shared/src/lib/services/default-profile-picture.service.ts","../../../projects/theme-shared/src/lib/services/modal-ref.service.ts","../../../projects/theme-shared/src/lib/services/abstract-menu.service.ts","../../../projects/theme-shared/src/lib/services/nav-items.service.ts","../../../projects/theme-shared/src/lib/services/page-alert.service.ts","../../../projects/theme-shared/src/lib/animations/bounce.animations.ts","../../../projects/theme-shared/src/lib/animations/collapse.animations.ts","../../../projects/theme-shared/src/lib/animations/fade.animations.ts","../../../projects/theme-shared/src/lib/animations/modal.animations.ts","../../../projects/theme-shared/src/lib/animations/slide.animations.ts","../../../projects/theme-shared/src/lib/animations/toast.animations.ts","../../../projects/theme-shared/src/lib/components/toast/toast.component.ts","../../../projects/theme-shared/src/lib/components/toast/toast.component.html","../../../projects/theme-shared/src/lib/components/toast-container/toast-container.component.ts","../../../projects/theme-shared/src/lib/components/toast-container/toast-container.component.html","../../../projects/theme-shared/src/lib/services/toaster.service.ts","../../../projects/theme-shared/src/lib/services/user-menu.service.ts","../../../projects/theme-shared/src/lib/components/modal/modal.component.ts","../../../projects/theme-shared/src/lib/components/modal/modal.component.html","../../../projects/theme-shared/src/lib/components/validation-error/validation-error.component.ts","../../../projects/theme-shared/src/lib/constants/validation.ts","../../../projects/theme-shared/src/lib/directives/ellipsis.directive.ts","../../../projects/theme-shared/src/lib/directives/loading.directive.ts","../../../projects/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts","../../../projects/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts","../../../projects/theme-shared/src/lib/directives/modal-close.directive.ts","../../../projects/theme-shared/src/lib/handlers/document-dir.handler.ts","../../../projects/theme-shared/src/lib/handlers/error.handler.ts","../../../projects/theme-shared/src/lib/providers/ng-bootstrap-config.provider.ts","../../../projects/theme-shared/src/lib/providers/profile-picture.provider.ts","../../../projects/theme-shared/src/lib/providers/route.provider.ts","../../../projects/theme-shared/src/lib/providers/validation.provider.ts","../../../projects/theme-shared/src/lib/utils/date-parser-formatter.ts","../../../projects/theme-shared/src/lib/utils/get-profile-picture-source.ts","../../../projects/theme-shared/src/lib/utils/validation-utils.ts","../../../projects/theme-shared/src/lib/theme-shared.module.ts","../../../projects/theme-shared/src/becamex-ng.theme-shared.ts"],"sourcesContent":["import { ABP } from '@abp/ng.core';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-breadcrumb-items',\n  templateUrl: './breadcrumb-items.component.html',\n})\nexport class BreadcrumbItemsComponent {\n  @Input() items: Partial<ABP.Route>[] = [];\n}\n","<ol class=\"breadcrumb\" *ngIf=\"items.length\">\n  <li class=\"breadcrumb-item\">\n    <a routerLink=\"/\"><i class=\"fa fa-home\"></i> </a>\n  </li>\n  <li\n    *ngFor=\"let item of items; let last = last\"\n    class=\"breadcrumb-item\"\n    [class.active]=\"last\"\n    aria-current=\"page\"\n  >\n    <ng-container\n      *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\n    ></ng-container>\n  </li>\n</ol>\n\n<ng-template #linkTemplate let-item>\n  <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\n</ng-template>\n\n<ng-template #textTemplate let-item>\n  {{ item.name | abpLocalization }}\n</ng-template>\n","import {\n  ABP,\n  getRoutePath,\n  RouterEvents,\n  RoutesService,\n  SubscriptionService,\n  TreeNode,\n} from '@abp/ng.core';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { map, startWith } from 'rxjs/operators';\nimport { eThemeSharedRouteNames } from '../../enums/route-names';\n\n@Component({\n  selector: 'app-breadcrumb',\n  templateUrl: './breadcrumb.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [SubscriptionService],\n})\nexport class BreadcrumbComponent implements OnInit {\n  segments: Partial<ABP.Route>[] = [];\n\n  constructor(\n    public readonly cdRef: ChangeDetectorRef,\n    private router: Router,\n    private routes: RoutesService,\n    private subscription: SubscriptionService,\n    private routerEvents: RouterEvents\n  ) {}\n\n  ngOnInit(): void {\n    this.subscription.addOne(\n      this.routerEvents.getNavigationEvents('End').pipe(\n        startWith(null),\n        map(() => this.routes.search({ path: getRoutePath(this.router) }))\n      ),\n      route => {\n        this.segments = [];\n        if (route) {\n          let node = { parent: route } as TreeNode<ABP.Route>;\n\n          while (node.parent) {\n            node = node.parent;\n            const { parent, children, isLeaf, path, ...segment } = node;\n            if (!isAdministration(segment)) this.segments.unshift(segment);\n          }\n\n          this.cdRef.detectChanges();\n        }\n      }\n    );\n  }\n}\n\nfunction isAdministration(route: Pick<ABP.Route, 'name'>) {\n  return route.name === eThemeSharedRouteNames.Administration;\n}\n","<app-breadcrumb-items [items]=\"segments\"></app-breadcrumb-items>\n","import {\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnInit,\n  Output,\n  Renderer2,\n  ViewChild,\n} from '@angular/core';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n  selector: 'app-button',\n  template: `\n    <button\n      #button\n      [id]=\"buttonId\"\n      [attr.type]=\"buttonType\"\n      [attr.form]=\"formName\"\n      [ngClass]=\"buttonClass\"\n      [disabled]=\"loading || disabled\"\n      (click.stop)=\"click.next($event); appClick.next($event)\"\n      (focus)=\"focus.next($event); appFocus.next($event)\"\n      (blur)=\"blur.next($event); appBlur.next($event)\"\n    >\n      <i [ngClass]=\"icon\" class=\"me-1\"></i><ng-content></ng-content>\n    </button>\n  `,\n})\nexport class ButtonComponent implements OnInit {\n  @Input()\n  buttonId = '';\n\n  @Input()\n  buttonClass = 'btn btn-primary';\n\n  @Input()\n  buttonType = 'button';\n\n  @Input()\n  formName?: string = undefined;\n\n  @Input()\n  iconClass?: string;\n\n  @Input()\n  loading = false;\n\n  @Input()\n  disabled: boolean | undefined = false;\n\n  @Input()\n  attributes?: ABP.Dictionary<string>;\n\n  @Output() readonly click = new EventEmitter<MouseEvent>();\n\n  @Output() readonly focus = new EventEmitter<FocusEvent>();\n\n  @Output() readonly blur = new EventEmitter<FocusEvent>();\n\n  @Output() readonly appClick = new EventEmitter<MouseEvent>();\n\n  @Output() readonly appFocus = new EventEmitter<FocusEvent>();\n\n  @Output() readonly appBlur = new EventEmitter<FocusEvent>();\n\n  @ViewChild('button', { static: true })\n  buttonRef!: ElementRef<HTMLButtonElement>;\n\n  get icon(): string {\n    return `${this.loading ? 'fa fa-spinner fa-spin' : this.iconClass || 'd-none'}`;\n  }\n\n  constructor(private renderer: Renderer2) {}\n\n  ngOnInit() {\n    if (this.attributes) {\n      Object.keys(this.attributes).forEach(key => {\n        if (this.attributes?.[key]) {\n          this.renderer.setAttribute(this.buttonRef.nativeElement, key, this.attributes[key]);\n        }\n      });\n    }\n  }\n}\n","import { LocalizationParam } from '@abp/ng.core';\n\nexport namespace Confirmation {\n  export interface Options {\n    id?: any;\n    dismissible?: boolean;\n    messageLocalizationParams?: string[];\n    titleLocalizationParams?: string[];\n    hideCancelBtn?: boolean;\n    hideYesBtn?: boolean;\n    cancelText?: LocalizationParam;\n    yesText?: LocalizationParam;\n    icon?: string;\n    iconTemplate?:string\n  }\n\n  export interface DialogData {\n    message: LocalizationParam;\n    title?: LocalizationParam;\n    severity?: Severity;\n    options?: Partial<Options>;\n  }\n\n  export type Severity = 'neutral' | 'success' | 'info' | 'warning' | 'error';\n\n  export enum Status {\n    confirm = 'confirm',\n    reject = 'reject',\n    dismiss = 'dismiss',\n  }\n}\n","import { Type } from '@angular/core';\n\nexport class NavItem {\n  id?: string | number;\n  component?: Type<any>;\n  html?: string;\n  action?: () => void;\n  order?: number;\n  requiredPolicy?: string;\n  visible?: () => boolean;\n  constructor(props: Partial<NavItem>) {\n    props = { ...props, visible: props.visible || (() => true) };\n    Object.assign(this, props);\n  }\n}\n","export enum eProfilePictureType {\n  None,\n  Gravatar,\n  Image,\n}\n","import { eProfilePictureType } from '../enums';\n\nexport interface ProfilePictureImage {\n  type: 'image' | 'icon';\n  source: string | null;\n}\n\nexport interface ProfilePictureInput {\n  type: eProfilePictureType;\n  imageContent?: Blob;\n}\nexport interface ProfilePictureSourceDto {\n  type: eProfilePictureType;\n  source?: string;\n  fileContent?: string;\n}\n\nexport const DEFAULT_PROFILE_PICTURE_SOURCE: ProfilePictureSourceDto = {\n  type: eProfilePictureType.None,\n};\n","import { NavItem } from './nav-item';\n\nexport class UserMenu extends NavItem {\n  textTemplate?: UserMenuTextTemplate;\n}\n\nexport interface UserMenuTextTemplate {\n  text: string;\n  icon?: string;\n}\n","export default `\n.is-invalid .form-control {\n  border-color: #dc3545;\n  border-style: solid !important;\n  padding-right: calc(1.5em + .75rem);\n  background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);\n  background-repeat: no-repeat;\n  background-position: right calc(.375em + .1875rem) center;\n  background-size: calc(.75em + .375rem) calc(.75em + .375rem);\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n  display: block;\n}\n\n.grid-actions {\n  padding-left: 1.5rem;\n}\n\n.data-tables-filter {\n  text-align: right;\n}\n\n[dir=rtl] .data-tables-filter {\n  text-align: left;\n}\n\n.modal {\n  z-index: 1055;\n}\n\n.pointer {\n  cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n  transform: rotate(-90deg);\n  position: absolute;\n  right: 16px;\n  top: 18px;\n}\n\n.navbar .dropdown-menu {\n  min-width: 215px;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar {\n  height: 5px !important;\n  width: 5px !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-track {\n  background: #ddd;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-thumb {\n  background: #8a8686;\n}\n\n.ellipsis-inline {\n  display: inline-block;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.ellipsis {\n  overflow: hidden !important;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.ui-widget-overlay {\n  z-index: 1000;\n}\n\n.color-white {\n  color: #FFF !important;\n}\n\n.custom-checkbox > label {\n  cursor: pointer;\n}\n\n/* <animations */\n.fade-in-top {\n  animation: fadeInTop 0.2s ease-in-out;\n}\n\n.fade-out-top {\n  animation: fadeOutTop 0.2s ease-in-out;\n}\n\n.collapsed-height {\n  -moz-transition: max-height linear 0.35s;\n  -ms-transition: max-height linear 0.35s;\n  -o-transition: max-height linear 0.35s;\n  -webkit-transition: max-height linear 0.35s;\n  overflow:hidden;\n  transition:max-height 0.35s linear;\n  height:auto;\n  max-height: 0;\n}\n\n.mh-25 {\n  max-height: 25vh;\n}\n\n.mh-50 {\n  transition:max-height 0.65s linear;\n  max-height: 50vh;\n}\n\n.mh-75 {\n  transition:max-height 0.85s linear;\n  max-height: 75vh;\n}\n\n.mh-100 {\n  transition:max-height 1s linear;\n  max-height: 100vh;\n}\n\n[class^=\"sorting\"] {\n  opacity: .3;\n  cursor: pointer;\n}\n\n[class^=\"sorting\"]:before {\n  right: 0.5rem;\n  content: \"↑\";\n}\n\n[class^=\"sorting\"]:after {\n  right: 0.5rem;\n  content: \"↓\";\n}\n\n.sorting_desc {\n  opacity: 1;\n}\n\n.sorting_desc:before {\n  opacity: .3;\n}\n\n.sorting_asc {\n  opacity: 1;\n}\n\n.sorting_asc:after {\n  opacity: .3;\n}\n\n@keyframes fadeInTop {\n  from {\n    transform: translateY(-5px);\n    opacity: 0;\n  }\n\n  to {\n    transform: translateY(0px);\n    opacity: 1;\n  }\n}\n\n@keyframes fadeOutTop {\n  to {\n    transform: translateY(-5px);\n    opacity: 0;\n  }\n}\n\n.ngx-datatable.material {\n  box-shadow: none;\n}\n\n.ngx-datatable.material {\n  background-color: #ffffff;\n  border-radius: 0.5rem;\n  color: #686b6e;\n}\n\n.ngx-datatable.material .datatable-header {\n  background-color: #ffffff;\n  border-bottom: 0;\n}\n\n.ngx-datatable.material .datatable-header .datatable-header-cell {\n  background-color: #ffffff;\n  padding-left: 1rem;\n  padding-right: 1rem !important;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  font-weight: 400 !important;\n  color: rgba(104, 107, 110, 0.65);\n  transition: color 0.3s;\n  text-transform: uppercase;\n  font-size: 1em !important;\n  letter-spacing: 0.75px;\n}\n\n.ngx-datatable.material .datatable-header .datatable-header-cell .datatable-icon-sort-unset:before {\n  font-family: bootstrap-icons !important;\n  content: '\\f282' !important;\n  margin: 0 4px;\n}\n\n.ngx-datatable.material .datatable-header .datatable-header-cell .datatable-icon-down:before {\n  font-family: bootstrap-icons !important;\n  content: '\\f286' !important;\n  margin: 0 4px;\n}\n\n.ngx-datatable.material .datatable-header .datatable-header-cell .datatable-icon-up:before {\n  font-family: bootstrap-icons !important;\n  content: '\\f282' !important;\n  margin: 0 4px;\n}\n\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell {\n  background-color: #ffffff;\n  border-top: 1px solid rgba(104, 107, 110, 0.075) !important;\n}\n\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell .btn {\n  padding-left: 1rem;\n  font-size: 0.8em;\n}\n\n.datatable-body-cell-label {\n  padding: 0.25rem 0.25rem !important;\n}\n`;\n","import { inject, InjectionToken } from '@angular/core';\nimport { CONTENT_STRATEGY, DomInsertionService } from '@abp/ng.core';\nimport styles from '../constants/styles';\n\nexport const THEME_SHARED_APPEND_CONTENT = new InjectionToken<void>('THEME_SHARED_APPEND_CONTENT', {\n  providedIn: 'root',\n  factory: () => {\n    const domInsertion: DomInsertionService = inject(DomInsertionService);\n    domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));\n  },\n});\n","import { InjectionToken } from '@angular/core';\n\nexport interface ConfirmationIcons {\n  info: string;\n  success: string;\n  warning: string;\n  error: string;\n  default: string;\n}\n\nexport const CONFIRMATION_ICONS = new InjectionToken<Partial<ConfirmationIcons>>(\n  'CONFIRMATION_ICONS',\n);\n\nexport const DEFAULT_CONFIRMATION_ICONS: ConfirmationIcons = {\n  info: 'fa fa-info-circle',\n  success: 'fa fa-check-circle',\n  warning: 'fa fa-exclamation-triangle',\n  error: 'fa fa-times-circle',\n  default: 'fa fa-question-circle',\n};\n","import { InjectionToken } from '@angular/core';\nimport { HttpErrorConfig, HttpErrorHandler } from '../models';\n\nexport function httpErrorConfigFactory(config = {} as HttpErrorConfig) {\n  if (config.errorScreen && config.errorScreen.component && !config.errorScreen.forWhichErrors) {\n    config.errorScreen.forWhichErrors = [401, 403, 404, 500];\n  }\n\n  return {\n    skipHandledErrorCodes: [],\n    errorScreen: {},\n    ...config,\n  } as HttpErrorConfig;\n}\n\nexport const HTTP_ERROR_CONFIG = new InjectionToken<HttpErrorConfig>('HTTP_ERROR_CONFIG');\n\nexport const HTTP_ERROR_HANDLER = new InjectionToken<HttpErrorHandler>('HTTP_ERROR_HANDLER');\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgxDatatableMessages {\n  emptyMessage: string;\n  totalMessage: string;\n  selectedMessage: string;\n}\n\nexport const defaultNgxDatatableMessages = {\n  emptyMessage: 'AbpUi::NoDataAvailableInDatatable',\n  totalMessage: 'AbpUi::Total',\n  selectedMessage: 'AbpUi::Selected',\n};\n\nexport const NGX_DATATABLE_MESSAGES = new InjectionToken<Partial<NgxDatatableMessages>>(\n  'NGX_DATATABLE_MESSAGES',\n);\n","import { InjectionToken } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ProfilePictureImage } from '../models';\nimport { IProfilePictureService, IProfilePictureStore } from '../services';\n\nexport const PROFILE_PICTURE_SERVICE = new InjectionToken<IProfilePictureService>(\n  'PROFILE_PICTURE_SERVICE'\n);\n\nexport const PROFILE_PICTURE = new InjectionToken<BehaviorSubject<ProfilePictureImage>>(\n  'PROFILE_PICTURE'\n);\n\nexport const PROFILE_PICTURE_STORE = new InjectionToken<IProfilePictureStore>(\n  'PROFILE_PICTURE_STORE'\n);\n","import { InjectionToken } from '@angular/core';\n\nexport const SUPPRESS_UNSAVED_CHANGES_WARNING = new InjectionToken<boolean>(\n  'SUPPRESS_UNSAVED_CHANGES_WARNING',\n);\n","import { Component, Inject } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { Confirmation } from '../../models';\nimport { CONFIRMATION_ICONS, ConfirmationIcons } from '../../tokens';\n\n@Component({\n  selector: 'app-confirmation',\n  templateUrl: './confirmation.component.html',\n  styleUrls: ['./confirmation.component.scss'],\n})\nexport class ConfirmationComponent {\n  constructor(@Inject(CONFIRMATION_ICONS) private icons: ConfirmationIcons) {}\n\n  confirm = Confirmation.Status.confirm;\n  reject = Confirmation.Status.reject;\n  dismiss = Confirmation.Status.dismiss;\n\n  confirmation$!: ReplaySubject<Confirmation.DialogData>;\n\n  clear!: (status: Confirmation.Status) => void;\n\n  close(status: Confirmation.Status) {\n    this.clear(status);\n  }\n\n  getIconClass({ severity, options }: Confirmation.DialogData): string {\n    if (options && options.icon) {\n      return options.icon;\n    }\n    if (!this.icons) {\n      return '';\n    }\n    return this.icons[severity] || this.icons.default;\n  }\n\n  isCustomIconExists({ options }: Confirmation.DialogData): boolean {\n    return !!(options && (options.iconTemplate || options.icon));\n  }\n\n  isIconTemplateExits({ options }: Confirmation.DialogData): boolean {\n    return !!(options && options.iconTemplate);\n  }\n}\n","<div class=\"confirmation\" *ngIf=\"confirmation$ | async as data\">\n  <div\n    class=\"confirmation-backdrop\"\n    (click)=\"data.options?.dismissible ? close(dismiss) : null\"\n  ></div>\n  <div class=\"confirmation-dialog\">\n    <div\n      class=\"icon-container\"\n      [ngClass]=\"data.severity\"\n      *ngIf=\"data.severity || isCustomIconExists(data)\"\n    >\n      <div\n        [outerHTML]=\"data.options.iconTemplate\"\n        *ngIf=\"isIconTemplateExits(data); else iconHolder\"\n      ></div>\n      <ng-template #iconHolder>\n        <i class=\"icon\" [ngClass]=\"getIconClass(data)\"></i>\n      </ng-template>\n    </div>\n    <div class=\"content\">\n      <h1\n        class=\"title\"\n        *ngIf=\"data.title\"\n        [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"\n      ></h1>\n      <p\n        class=\"message\"\n        *ngIf=\"data.message\"\n        [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"\n      ></p>\n    </div>\n    <div class=\"footer\">\n      <button\n        id=\"cancel\"\n        class=\"confirmation-button confirmation-button--reject\"\n        [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\"\n        *ngIf=\"!data?.options?.hideCancelBtn\"\n        (click)=\"close(reject)\"\n      ></button>\n      <button\n        id=\"confirm\"\n        class=\"confirmation-button confirmation-button--approve\"\n        [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\n        *ngIf=\"!data?.options?.hideYesBtn\"\n        (click)=\"close(confirm)\"\n      ></button>\n    </div>\n  </div>\n</div>\n","import {\n  AfterViewInit,\n  ApplicationRef,\n  Component,\n  ComponentFactoryResolver,\n  ElementRef,\n  EmbeddedViewRef,\n  Injector,\n  OnDestroy,\n  OnInit,\n  Type,\n  ViewChild,\n} from '@angular/core';\nimport { LocalizationParam, SubscriptionService } from '@abp/ng.core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\n@Component({\n  selector: 'app-http-error-wrapper',\n  templateUrl: './http-error-wrapper.component.html',\n  styleUrls: ['http-error-wrapper.component.scss'],\n  providers: [SubscriptionService],\n})\nexport class HttpErrorWrapperComponent implements AfterViewInit, OnDestroy, OnInit {\n  appRef!: ApplicationRef;\n\n  cfRes!: ComponentFactoryResolver;\n\n  injector!: Injector;\n\n  status = 0;\n\n  title: LocalizationParam = 'Oops!';\n\n  details: LocalizationParam = 'Sorry, an error has occured.';\n\n  customComponent: Type<any> | undefined = undefined;\n\n  destroy$!: Subject<void>;\n\n  hideCloseIcon = false;\n\n  backgroundColor!: string;\n\n  isHomeShow = true;\n\n  @ViewChild('container', { static: false })\n  containerRef?: ElementRef<HTMLDivElement>;\n\n  get statusText(): string {\n    return this.status ? `[${this.status}]` : '';\n  }\n\n  constructor(private subscription: SubscriptionService) {}\n\n  ngOnInit() {\n    this.backgroundColor =\n      window.getComputedStyle(document.body)?.getPropertyValue('background-color') || '#fff';\n  }\n\n  ngAfterViewInit() {\n    if (this.customComponent) {\n      const customComponentRef = this.cfRes\n        .resolveComponentFactory(this.customComponent)\n        .create(this.injector);\n      customComponentRef.instance.errorStatus = this.status;\n      customComponentRef.instance.destroy$ = this.destroy$;\n      this.appRef.attachView(customComponentRef.hostView);\n      if (this.containerRef) {\n        this.containerRef.nativeElement.appendChild(\n          (customComponentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]\n        );\n      }\n      customComponentRef.changeDetectorRef.detectChanges();\n    }\n\n    const keyup$ = fromEvent<KeyboardEvent>(document, 'keyup').pipe(\n      debounceTime(150),\n      filter((key: KeyboardEvent) => key && key.key === 'Escape')\n    );\n    this.subscription.addOne(keyup$, () => this.destroy());\n  }\n\n  ngOnDestroy() {\n    this.destroy();\n  }\n\n  destroy() {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","<div #container id=\"http-error-container\" class=\"error\" [style.backgroundColor]=\"backgroundColor\">\n  <button\n    *ngIf=\"!hideCloseIcon\"\n    id=\"http-error-container-close-button\"\n    type=\"button\"\n    class=\"btn-close me-2\"\n    (click)=\"destroy()\"\n  ></button>\n\n  <div *ngIf=\"!customComponent\" class=\"row centered\">\n    <div class=\"col-md-12\">\n      <div class=\"error-template\">\n        <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\n        <div class=\"error-details\">\n          {{ details | abpLocalization }}\n        </div>\n        <div class=\"error-actions\">\n          <a\n            *ngIf=\"isHomeShow\"\n            (click)=\"destroy()\"\n            routerLink=\"/\"\n            class=\"btn btn-primary btn-md mt-2\"\n            ><span class=\"glyphicon glyphicon-home\"></span>\n            {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\n          </a>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","import { HttpWaitService, RouterWaitService, SubscriptionService } from '@abp/ng.core';\nimport { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { combineLatest, Subscription, timer } from 'rxjs';\n\n@Component({\n  selector: 'app-loader-bar',\n  template: `\n    <div id=\"app-loader-bar\" [ngClass]=\"containerClass\" [class.is-loading]=\"isLoading\">\n      <div\n        class=\"progress\"\n        [class.progressing]=\"progressLevel\"\n        [style.width.vw]=\"progressLevel\"\n        [ngStyle]=\"{\n          'background-color': color,\n          'box-shadow': boxShadow\n        }\"\n      ></div>\n    </div>\n  `,\n  styleUrls: ['./loader-bar.component.scss'],\n  providers: [SubscriptionService],\n})\nexport class LoaderBarComponent implements OnDestroy, OnInit {\n  protected _isLoading!: boolean;\n\n  @Input()\n  set isLoading(value: boolean) {\n    this._isLoading = value;\n    this.cdRef.detectChanges();\n  }\n  get isLoading(): boolean {\n    return this._isLoading;\n  }\n\n  @Input()\n  containerClass = 'loader-bar';\n\n  @Input()\n  color = '#77b6ff';\n\n  progressLevel = 0;\n\n  interval = new Subscription();\n\n  timer = new Subscription();\n\n  intervalPeriod = 350;\n\n  stopDelay = 800;\n\n  private readonly clearProgress = () => {\n    this.progressLevel = 0;\n    this.cdRef.detectChanges();\n  };\n\n  private readonly reportProgress = () => {\n    if (this.progressLevel < 75) {\n      this.progressLevel += 1 + Math.random() * 9;\n    } else if (this.progressLevel < 90) {\n      this.progressLevel += 0.4;\n    } else if (this.progressLevel < 100) {\n      this.progressLevel += 0.1;\n    } else {\n      this.interval.unsubscribe();\n    }\n    this.cdRef.detectChanges();\n  };\n\n  get boxShadow(): string {\n    return `0 0 10px rgba(${this.color}, 0.5)`;\n  }\n\n  constructor(\n    private router: Router,\n    private cdRef: ChangeDetectorRef,\n    private subscription: SubscriptionService,\n    private httpWaitService: HttpWaitService,\n    private routerWaitService: RouterWaitService\n  ) {}\n\n  ngOnInit() {\n    this.subscribeLoading();\n  }\n\n  subscribeLoading() {\n    this.subscription.addOne(\n      combineLatest([this.httpWaitService.getLoading$(), this.routerWaitService.getLoading$()]),\n      ([httpLoading, routerLoading]) => {\n        if (httpLoading || routerLoading) this.startLoading();\n        else this.stopLoading();\n      }\n    );\n  }\n\n  ngOnDestroy() {\n    this.interval.unsubscribe();\n  }\n\n  startLoading() {\n    if (this.isLoading || !this.interval.closed) return;\n\n    this.isLoading = true;\n    this.progressLevel = 0;\n    this.cdRef.detectChanges();\n    this.interval = timer(0, this.intervalPeriod).subscribe(this.reportProgress);\n    this.timer.unsubscribe();\n  }\n\n  stopLoading() {\n    this.interval.unsubscribe();\n\n    this.progressLevel = 100;\n    this.isLoading = false;\n\n    if (!this.timer.closed) return;\n\n    this.timer = timer(this.stopDelay).subscribe(this.clearProgress);\n  }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'app-loading',\n  template: `\n    <div class=\"loading\">\n      <i class=\"fa fa-spinner fa-pulse spinner\"></i>\n    </div>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  styles: [\n    `\n      .loading {\n        position: absolute;\n        width: 100%;\n        height: 100%;\n        top: 0;\n        left: 0;\n        z-index: 1040;\n      }\n\n      .loading .spinner {\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        font-size: 14px;\n        -moz-transform: translateX(-50%) translateY(-50%);\n        -o-transform: translateX(-50%) translateY(-50%);\n        -ms-transform: translateX(-50%) translateY(-50%);\n        -webkit-transform: translateX(-50%) translateY(-50%);\n        transform: translateX(-50%) translateY(-50%);\n      }\n    `,\n  ],\n})\nexport class LoadingComponent {}\n","import { ComponentRef, Injectable } from '@angular/core';\nimport { ContentProjectionService, LocalizationParam, PROJECTION_STRATEGY } from '@abp/ng.core';\nimport { fromEvent, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\nimport { ConfirmationComponent } from '../components/confirmation/confirmation.component';\nimport { Confirmation } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService {\n  status$!: Subject<Confirmation.Status>;\n  confirmation$ = new ReplaySubject<Confirmation.DialogData>(1);\n\n  private containerComponentRef!: ComponentRef<ConfirmationComponent>;\n\n  clear = (status: Confirmation.Status = Confirmation.Status.dismiss) => {\n    this.confirmation$.next();\n    this.status$.next(status);\n  };\n\n  constructor(private contentProjectionService: ContentProjectionService) {}\n\n  private setContainer() {\n    this.containerComponentRef = this.contentProjectionService.projectContent(\n      PROJECTION_STRATEGY.AppendComponentToBody(ConfirmationComponent, {\n        confirmation$: this.confirmation$,\n        clear: this.clear,\n      })\n    );\n\n    setTimeout(() => {\n      this.containerComponentRef.changeDetectorRef.detectChanges();\n    }, 0);\n  }\n\n  info(\n    message: LocalizationParam,\n    title: LocalizationParam,\n    options?: Partial<Confirmation.Options>\n  ): Observable<Confirmation.Status> {\n    return this.show(message, title, 'info', options);\n  }\n\n  success(\n    message: LocalizationParam,\n    title: LocalizationParam,\n    options?: Partial<Confirmation.Options>\n  ): Observable<Confirmation.Status> {\n    return this.show(message, title, 'success', options);\n  }\n\n  warn(\n    message: LocalizationParam,\n    title: LocalizationParam,\n    options?: Partial<Confirmation.Options>\n  ): Observable<Confirmation.Status> {\n    return this.show(message, title, 'warning', options);\n  }\n\n  error(\n    message: LocalizationParam,\n    title: LocalizationParam,\n    options?: Partial<Confirmation.Options>\n  ): Observable<Confirmation.Status> {\n    return this.show(message, title, 'error', options);\n  }\n\n  show(\n    message: LocalizationParam,\n    title: LocalizationParam,\n    severity?: Confirmation.Severity,\n    options = {} as Partial<Confirmation.Options>\n  ): Observable<Confirmation.Status> {\n    if (!this.containerComponentRef) this.setContainer();\n\n    this.confirmation$.next({\n      message,\n      title,\n      severity: severity || 'neutral',\n      options,\n    });\n\n    this.status$ = new Subject();\n    const { dismissible = true } = options;\n    if (dismissible) this.listenToEscape();\n\n    return this.status$;\n  }\n\n  private listenToEscape() {\n    fromEvent<KeyboardEvent>(document, 'keyup')\n      .pipe(\n        takeUntil(this.status$),\n        debounceTime(150),\n        filter((key: KeyboardEvent) => key && key.key === 'Escape')\n      )\n      .subscribe(() => {\n        this.clear();\n      });\n  }\n}\n","import { EMPTY, Observable, of } from 'rxjs';\nimport {\n  DEFAULT_PROFILE_PICTURE_SOURCE,\n  ProfilePictureInput,\n  ProfilePictureSourceDto,\n} from '../models';\nimport { IProfilePictureService } from './profile-picture.service';\n\nexport class DefaultProfilePictureService implements IProfilePictureService {\n  getProfilePicture: (id: string) => Observable<ProfilePictureSourceDto>;\n  setProfilePicture: (input: ProfilePictureInput) => Observable<void>;\n\n  constructor() {\n    this.getProfilePicture = (id) => {\n      return of(DEFAULT_PROFILE_PICTURE_SOURCE);\n    };\n\n    this.setProfilePicture = (input) => {\n      return EMPTY;\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { DismissableModal, ModalDismissMode } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalRefService {\n  modalRefs: DismissableModal[] = [];\n\n  register(modal: DismissableModal) {\n    this.modalRefs.push(modal);\n  }\n\n  unregister(modal: DismissableModal) {\n    const index = this.modalRefs.indexOf(modal);\n    if (index > -1) {\n      this.modalRefs.splice(index, 1);\n    }\n  }\n\n  dismissAll(mode: ModalDismissMode) {\n    this.modalRefs.forEach(modal => modal.dismiss(mode));\n  }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { NavItem } from '../models';\n\nexport abstract class AbstractMenuService<T extends NavItem> {\n  protected abstract baseClass;\n\n  protected _items$ = new BehaviorSubject<T[]>([]);\n\n  get items(): T[] {\n    return this._items$.value;\n  }\n\n  get items$(): Observable<T[]> {\n    return this._items$.asObservable();\n  }\n\n  addItems(newItems: T[]) {\n    const items = [...this.items];\n    newItems.forEach(item => {\n      const index = items.findIndex(i => i.id === item.id);\n      const data = new this.baseClass(item);\n\n      if (index > -1) {\n        items[index] = data;\n        return;\n      }\n\n      items.push(data);\n    });\n    items.sort(this.sortItems);\n    this._items$.next(items);\n  }\n\n  removeItem(id: string | number) {\n    const index = this.items.findIndex(item => item.id === id);\n\n    if (index < 0) return;\n\n    const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];\n    this._items$.next(items);\n  }\n\n  patchItem(id: string | number, item: Partial<Omit<T, 'id'>>) {\n    const index = this.items.findIndex(i => i.id === id);\n\n    if (index < 0) return;\n\n    const items = [...this.items];\n    items[index] = new this.baseClass({ ...items[index], ...item });\n    items.sort(this.sortItems);\n    this._items$.next(items);\n  }\n\n  private sortItems(a: T, b: T) {\n    if (!a.order) return 1;\n    if (!b.order) return -1;\n\n    return a.order - b.order;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NavItem } from '../models';\nimport { AbstractMenuService } from './abstract-menu.service';\n\n@Injectable({ providedIn: 'root' })\nexport class NavItemsService extends AbstractMenuService<NavItem> {\n  protected baseClass = NavItem;\n}\n","import { Injectable } from '@angular/core';\nimport { InternalStore } from '@abp/ng.core';\n\nexport interface PageAlert {\n  type: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';\n  message: string;\n  dismissible?: boolean;\n  title?: string;\n  messageLocalizationParams?: string[];\n  titleLocalizationParams?: string[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class PageAlertService {\n  private alerts = new InternalStore<PageAlert[]>([]);\n\n  alerts$ = this.alerts.sliceState(state => state);\n\n  constructor() {}\n\n  show(alert: PageAlert) {\n    const newAlert: PageAlert = {\n      ...alert,\n      dismissible: alert.dismissible ?? true,\n    };\n    this.alerts.set([newAlert, ...this.alerts.state]);\n  }\n\n  remove(index: number) {\n    const alerts = [...this.alerts.state];\n    alerts.splice(index, 1);\n    this.alerts.set(alerts);\n  }\n}\n","import { animate, animation, keyframes, style } from '@angular/animations';\n\nexport const bounceIn = animation(\n  [\n    style({ opacity: '0', display: '{{ display }}' }),\n    animate(\n      '{{ time}} {{ easing }}',\n      keyframes([\n        style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),\n        style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),\n        style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),\n      ]),\n    ),\n  ],\n  {\n    params: {\n      time: '350ms',\n      easing: 'cubic-bezier(.7,.31,.72,1.47)',\n      display: 'block',\n      transform: 'translate(-50%, -50%)',\n    },\n  },\n);\n","import {\n  animate,\n  animation,\n  trigger,\n  state,\n  style,\n  transition,\n  useAnimation,\n} from '@angular/animations';\n\nexport const collapseY = animation(\n  [\n    style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\n    animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),\n  ],\n  { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const collapseYWithMargin = animation(\n  [\n    style({ 'margin-top': '0' }),\n    animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),\n  ],\n  {\n    params: { time: '500ms', easing: 'ease' },\n  },\n);\n\nexport const collapseX = animation(\n  [\n    style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\n    animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),\n  ],\n  { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const expandY = animation(\n  [\n    style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\n    animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),\n  ],\n  { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const expandYWithMargin = animation(\n  [\n    style({ 'margin-top': '-100%' }),\n    animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),\n  ],\n  {\n    params: { time: '500ms', easing: 'ease' },\n  },\n);\n\nexport const expandX = animation(\n  [\n    style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\n    animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),\n  ],\n  { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const collapse = trigger('collapse', [\n  state('collapsed', style({ height: '0', overflow: 'hidden' })),\n  state('expanded', style({ height: '*', overflow: 'hidden' })),\n  transition('expanded => collapsed', useAnimation(collapseY)),\n  transition('collapsed => expanded', useAnimation(expandY)),\n]);\n\nexport const collapseWithMargin = trigger('collapseWithMargin', [\n  state('collapsed', style({ 'margin-top': '-100%' })),\n  state('expanded', style({ 'margin-top': '0' })),\n  transition('expanded => collapsed', useAnimation(collapseYWithMargin), {\n    params: { time: '400ms', easing: 'linear' },\n  }),\n  transition('collapsed => expanded', useAnimation(expandYWithMargin)),\n]);\n\nexport const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [\n  state('collapsed', style({ 'margin-top': '-100vh' })),\n  state('expanded', style({ 'margin-top': '0' })),\n  transition(\n    'expanded => collapsed',\n    useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } }),\n  ),\n  transition(\n    'collapsed => expanded',\n    useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } }),\n  ),\n]);\n","import { animate, animation, style } from '@angular/animations';\n\nexport const fadeIn = animation(\n  [style({ opacity: '0' }), animate('{{ time}} {{ easing }}', style({ opacity: '1' }))],\n  {\n    params: { time: '350ms', easing: 'ease' },\n  },\n);\n\nexport const fadeOut = animation(\n  [style({ opacity: '1' }), animate('{{ time}} {{ easing }}', style({ opacity: '0' }))],\n  { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const fadeInDown = animation(\n  [\n    style({ opacity: '0', transform: '{{ transform }} translateY(-20px)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInUp = animation(\n  [\n    style({ opacity: '0', transform: '{{ transform }} translateY(20px)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInLeft = animation(\n  [\n    style({ opacity: '0', transform: '{{ transform }} translateX(20px)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInRight = animation(\n  [\n    style({ opacity: '0', transform: '{{ transform }} translateX(-20px)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutDown = animation(\n  [\n    style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '0', transform: '{{ transform }} translateY(20px)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutUp = animation(\n  [\n    style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '0', transform: '{{ transform }} translateY(-20px)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutLeft = animation(\n  [\n    style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '0', transform: '{{ transform }} translateX(20px)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutRight = animation(\n  [\n    style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n    animate(\n      '{{ time }} {{ easing }}',\n      style({ opacity: '0', transform: '{{ transform }} translateX(-20px)' }),\n    ),\n  ],\n  { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { fadeIn, fadeInDown, fadeOut } from './fade.animations';\n\nexport const fadeAnimation = trigger('fade', [\n  transition(':enter', useAnimation(fadeIn)),\n  transition(':leave', useAnimation(fadeOut)),\n]);\n\nexport const dialogAnimation = trigger('dialog', [\n  transition(':enter', useAnimation(fadeInDown)),\n  transition(':leave', useAnimation(fadeOut)),\n]);\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('slideFromBottom', [\n  transition('* <=> *', [\n    style({ 'margin-top': '20px', opacity: '0' }),\n    animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' })),\n  ]),\n]);\n","import { animate, query, style, transition, trigger } from '@angular/animations';\n\nexport const toastInOut = trigger('toastInOut', [\n  transition('* <=> *', [\n    query(\n      ':enter',\n      [\n        style({ opacity: 0, transform: 'translateY(20px)' }),\n        animate('350ms ease', style({ opacity: 1, transform: 'translateY(0)' })),\n      ],\n      { optional: true },\n    ),\n    query(':leave', animate('450ms ease', style({ opacity: 0 })), {\n      optional: true,\n    }),\n  ]),\n]);\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Toaster } from '../../models/toaster';\n@Component({\n  selector: 'app-toast',\n  templateUrl: './toast.component.html',\n  styleUrls: ['./toast.component.scss'],\n})\nexport class ToastComponent implements OnInit {\n  @Input()\n  toast!: Toaster.Toast;\n\n  @Output() remove = new EventEmitter<number>();\n\n  get severityClass(): string {\n    if (!this.toast || !this.toast.severity) return '';\n    return `toast-${this.toast.severity}`;\n  }\n\n  get iconClass(): string {\n    switch (this.toast.severity) {\n      case 'success':\n        return 'fa-check-circle';\n      case 'info':\n        return 'fa-info-circle';\n      case 'warning':\n        return 'fa-exclamation-triangle';\n      case 'error':\n        return 'fa-times-circle';\n      default:\n        return 'fa-exclamation-circle';\n    }\n  }\n\n  ngOnInit() {\n    const { sticky, life } = this.toast.options || {};\n\n    if (sticky) return;\n    const timeout = life || 5000;\n    setTimeout(() => {\n      this.close();\n    }, timeout);\n  }\n\n  close() {\n    this.remove.emit(this.toast.options?.id);\n  }\n\n  tap() {\n    if (this.toast.options?.tapToDismiss) this.close();\n  }\n}\n","<div class=\"toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\n  <div class=\"toast-icon\">\n    <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\n  </div>\n  <div class=\"toast-content\">\n    <button class=\"toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options?.closable\">\n      <i class=\"fa fa-times\"></i>\n    </button>\n    <div class=\"toast-title\">\n      {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\n    </div>\n    <p\n      class=\"toast-message\"\n      [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\n    ></p>\n  </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { Toaster } from '../../models';\nimport { toastInOut } from '../../animations';\n\n@Component({\n  selector: 'app-toast-container',\n  templateUrl: './toast-container.component.html',\n  styleUrls: ['./toast-container.component.scss'],\n  animations: [toastInOut],\n})\nexport class ToastContainerComponent implements OnInit {\n  toasts$!: ReplaySubject<Toaster.Toast[]>;\n\n  remove!: (toastId: number) => void;\n\n  toasts = [] as Toaster.Toast[];\n\n  @Input()\n  top?: string;\n\n  @Input()\n  right = '30px';\n\n  @Input()\n  bottom = '30px';\n\n  @Input()\n  left?: string;\n\n  @Input()\n  toastKey?: string;\n\n  ngOnInit() {\n    this.toasts$.subscribe(toasts => {\n      this.toasts = this.toastKey\n        ? toasts.filter(t => {\n            return t.options && t.options.containerKey !== this.toastKey;\n          })\n        : toasts;\n    });\n  }\n\n  trackByFunc(index: number, toast: Toaster.Toast) {\n    if (!toast) return null;\n    return toast.options?.id;\n  }\n}\n","<div\n  class=\"toast-container\"\n  [style.top]=\"top || 'auto'\"\n  [style.right]=\"right || 'auto'\"\n  [style.bottom]=\"bottom || 'auto'\"\n  [style.left]=\"left || 'auto'\"\n  [style.display]=\"toasts.length ? 'flex' : 'none'\"\n  [@toastInOut]=\"toasts.length\"\n>\n  <app-toast\n    [toast]=\"toast\"\n    *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\n    (remove)=\"remove($event)\"\n  ></app-toast>\n</div>\n","import { ComponentRef, Injectable } from '@angular/core';\nimport {\n  ContentProjectionService,\n  LocalizationParam,\n  PROJECTION_STRATEGY,\n  Strict,\n} from '@abp/ng.core';\nimport { ReplaySubject } from 'rxjs';\nimport { ToastContainerComponent } from '../components/toast-container/toast-container.component';\nimport { Toaster } from '../models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ToasterService implements ToasterContract {\n  private toasts$ = new ReplaySubject<Toaster.Toast[]>(1);\n\n  private lastId = -1;\n\n  private toasts = [] as Toaster.Toast[];\n\n  private containerComponentRef!: ComponentRef<ToastContainerComponent>;\n\n  constructor(private contentProjectionService: ContentProjectionService) {}\n\n  private setContainer() {\n    this.containerComponentRef = this.contentProjectionService.projectContent(\n      PROJECTION_STRATEGY.AppendComponentToBody(ToastContainerComponent, {\n        toasts$: this.toasts$,\n        remove: this.remove,\n      })\n    );\n\n    this.containerComponentRef.changeDetectorRef.detectChanges();\n  }\n\n  /**\n   * Creates an info toast with given parameters.\n   * @param message Content of the toast\n   * @param title Title of the toast\n   * @param options Spesific style or structural options for individual toast\n   */\n  info(\n    message: LocalizationParam,\n    title?: LocalizationParam,\n    options?: Partial<Toaster.ToastOptions>\n  ): Toaster.ToasterId {\n    return this.show(message, title, 'info', options);\n  }\n\n  /**\n   * Creates a success toast with given parameters.\n   * @param message Content of the toast\n   * @param title Title of the toast\n   * @param options Spesific style or structural options for individual toast\n   */\n  success(\n    message: LocalizationParam,\n    title?: LocalizationParam,\n    options?: Partial<Toaster.ToastOptions>\n  ): Toaster.ToasterId {\n    return this.show(message, title, 'success', options);\n  }\n\n  /**\n   * Creates a warning toast with given parameters.\n   * @param message Content of the toast\n   * @param title Title of the toast\n   * @param options Spesific style or structural options for individual toast\n   */\n  warn(\n    message: LocalizationParam,\n    title?: LocalizationParam,\n    options?: Partial<Toaster.ToastOptions>\n  ): Toaster.ToasterId {\n    return this.show(message, title, 'warning', options);\n  }\n\n  /**\n   * Creates an error toast with given parameters.\n   * @param message Content of the toast\n   * @param title Title of the toast\n   * @param options Spesific style or structural options for individual toast\n   */\n  error(\n    message: LocalizationParam,\n    title?: LocalizationParam,\n    options?: Partial<Toaster.ToastOptions>\n  ): Toaster.ToasterId {\n    return this.show(message, title, 'error', options);\n  }\n\n  /**\n   * Creates a toast with given parameters.\n   * @param message Content of the toast\n   * @param title Title of the toast\n   * @param severity Sets color of the toast. \"success\", \"warning\" etc.\n   * @param options Spesific style or structural options for individual toast\n   */\n\n  show(\n    message: LocalizationParam,\n    title: LocalizationParam | undefined = undefined,\n    severity: Toaster.Severity = 'neutral',\n    options = {} as Partial<Toaster.ToastOptions>\n  ): Toaster.ToasterId {\n    if (!this.containerComponentRef) this.setContainer();\n\n    const id = ++this.lastId;\n    this.toasts.push({\n      message,\n      title,\n      severity,\n      options: { closable: true, id, ...options },\n    });\n    this.toasts$.next(this.toasts);\n    return id;\n  }\n\n  /**\n   * Removes the toast with given id.\n   * @param id ID of the toast to be removed.\n   */\n  remove = (id: number) => {\n    this.toasts = this.toasts.filter(toast => toast.options?.id !== id);\n    this.toasts$.next(this.toasts);\n  };\n\n  /**\n   * Removes all open toasts at once.\n   */\n  clear(containerKey?: string): void {\n    this.toasts = !containerKey\n      ? []\n      : this.toasts.filter(toast => toast.options?.containerKey !== containerKey);\n    this.toasts$.next(this.toasts);\n  }\n}\n\nexport type ToasterContract = Strict<ToasterService, Toaster.Service>;\n","import { Injectable } from '@angular/core';\nimport { UserMenu } from '../models';\nimport { AbstractMenuService } from './abstract-menu.service';\n\n@Injectable({ providedIn: 'root' })\nexport class UserMenuService extends AbstractMenuService<UserMenu> {\n  protected baseClass = UserMenu;\n}\n","import {\n  Component,\n  ContentChild,\n  EventEmitter,\n  Inject,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\nimport { SubscriptionService, uuid } from '@abp/ng.core';\nimport { NgbModal, NgbModalOptions, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport { Confirmation, DismissableModal, ModalDismissMode } from '../../models';\nimport { ConfirmationService, ModalRefService } from '../../services';\nimport { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens';\nimport { ButtonComponent } from '../button/button.component';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n  selector: 'app-modal',\n  templateUrl: './modal.component.html',\n  styleUrls: ['./modal.component.scss'],\n  providers: [SubscriptionService],\n})\nexport class ModalComponent implements OnInit, OnDestroy, DismissableModal {\n  @Input()\n  get visible(): boolean {\n    return this._visible;\n  }\n  set visible(value: boolean) {\n    if (typeof value !== 'boolean') return;\n    this.toggle$.next(value);\n  }\n\n  @Input()\n  get busy(): boolean {\n    return this._busy;\n  }\n  set busy(value: boolean) {\n    if (this.modalSubmit && this.modalSubmit instanceof ButtonComponent) {\n      this.modalSubmit.loading = value;\n    }\n\n    this._busy = value;\n  }\n\n  @Input() options: NgbModalOptions = {};\n\n  @Input() suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken;\n\n  @ViewChild('modalContent') modalContent?: TemplateRef<any>;\n\n  @ContentChild('modalHeader', { static: false }) modalHeader?: TemplateRef<any>;\n\n  @ContentChild('modalBody', { static: false }) modalBody?: TemplateRef<any>;\n\n  @ContentChild('modalFooter', { static: false }) modalFooter?: TemplateRef<any>;\n\n  @ContentChild(ButtonComponent, { static: false, read: ButtonComponent })\n  modalSubmit?: ButtonComponent;\n\n  @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n  @Output() readonly init = new EventEmitter<void>();\n\n  @Output() readonly appear = new EventEmitter<void>();\n\n  @Output() readonly disappear = new EventEmitter<void>();\n\n  _visible = false;\n\n  _busy = false;\n\n  modalRef!: NgbModalRef;\n\n  isConfirmationOpen = false;\n\n  destroy$ = new Subject<void>();\n\n  modalIdentifier = `modal-${uuid()}`;\n\n  private toggle$ = new Subject<boolean>();\n\n  get modalWindowRef() {\n    return document.querySelector(`ngb-modal-window.${this.modalIdentifier}`);\n  }\n\n  get isFormDirty(): boolean {\n    return Boolean(this.modalWindowRef?.querySelector('.ng-dirty'));\n  }\n\n  constructor(\n    private confirmationService: ConfirmationService,\n    private subscription: SubscriptionService,\n    @Optional()\n    @Inject(SUPPRESS_UNSAVED_CHANGES_WARNING)\n    private suppressUnsavedChangesWarningToken: boolean,\n    private modal: NgbModal,\n    private modalRefService: ModalRefService\n  ) {\n    this.initToggleStream();\n  }\n\n  ngOnInit(): void {\n    this.modalRefService.register(this);\n  }\n\n  ngOnDestroy(): void {\n    this.modalRefService.unregister(this);\n    this.toggle(false);\n    this.destroy$.next();\n  }\n\n  close() {\n    if (this.busy) return;\n\n    if (this.isFormDirty && !this.suppressUnsavedChangesWarning) {\n      if (this.isConfirmationOpen) return;\n\n      this.isConfirmationOpen = true;\n      this.confirmationService\n        .warn('AbpUi::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpUi::AreYouSure', {\n          dismissible: false,\n        })\n        .subscribe((status: Confirmation.Status) => {\n          this.isConfirmationOpen = false;\n          if (status === Confirmation.Status.confirm) {\n            this.visible = false;\n          }\n        });\n    } else {\n      this.visible = false;\n    }\n  }\n\n  listen() {\n    if (this.modalWindowRef) {\n      fromEvent<KeyboardEvent>(this.modalWindowRef, 'keyup')\n        .pipe(\n          takeUntil(this.destroy$),\n          debounceTime(150),\n          filter((key: KeyboardEvent) => key && key.key === 'Escape')\n        )\n        .subscribe(() => this.close());\n    }\n\n    fromEvent(window, 'beforeunload')\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(event => {\n        if (!this.isFormDirty || this.suppressUnsavedChangesWarning) {\n          event.preventDefault();\n        }\n      });\n\n    this.init.emit();\n  }\n\n  dismiss(mode: ModalDismissMode) {\n    switch (mode) {\n      case 'hard':\n        this.visible = false;\n        break;\n      case 'soft':\n        this.close();\n        break;\n      default:\n        break;\n    }\n  }\n\n  private initToggleStream() {\n    this.subscription.addOne(this.toggle$.pipe(debounceTime(0), distinctUntilChanged()), value =>\n      this.toggle(value)\n    );\n  }\n\n  private toggle(value: boolean) {\n    this._visible = value;\n    this.visibleChange.emit(value);\n\n    if (!value) {\n      this.modalRef?.dismiss();\n      this.disappear.emit();\n      this.destroy$.next();\n      return;\n    }\n\n    setTimeout(() => this.listen(), 0);\n    this.modalRef = this.modal.open(this.modalContent, {\n      size: this.options.size || 'lg',\n      centered: false,\n      keyboard: false,\n      scrollable: true,\n      beforeDismiss: () => {\n        if (!this.visible) return true;\n\n        this.close();\n        return !this.visible;\n      },\n      ...this.options,\n      windowClass: `${this.options.windowClass || ''} ${this.modalIdentifier}`,\n    });\n\n    this.appear.emit();\n  }\n}\n","<ng-content></ng-content>\n\n<ng-template #modalContent let-modal>\n  <div *ngIf=\"modalHeader\" id=\"modal-header\" class=\"modal-header\">\n    <ng-container *ngTemplateOutlet=\"modalHeader\"></ng-container>\n    ​\n    <button\n      id=\"modal-close-button\"\n      type=\"button\"\n      class=\"btn-sm btn-close\"\n      aria-label=\"Close\"\n      (click)=\"modal.dismiss()\"\n    ></button>\n  </div>\n  <div *ngIf=\"modalBody\" id=\"modal-body\" class=\"modal-body\">\n    <ng-container *ngTemplateOutlet=\"modalBody\"></ng-container>\n  </div>\n  <div *ngIf=\"modalFooter\" id=\"modal-footer\" class=\"modal-footer\">\n    <ng-container *ngTemplateOutlet=\"modalFooter\"></ng-container>\n  </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\n\n@Component({\n  selector: 'app-validation-error',\n  template: `<div class=\"invalid-feedback\" *ngFor=\"let error of appErrors; trackBy: trackByFn\">\n    {{ error.message | abpLocalization: error.interpoliteParams }}\n  </div>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ValidationErrorComponent extends ErrorComponent {\n  get appErrors(): Array<\n    Validation.Error & {\n      interpoliteParams: string[];\n    }\n  > {\n    if (!this.errors || !this.errors.length) return [];\n    return this.errors.map(error => {\n      if (!error.message) return { ...error, interpoliteParams: [] };\n      const index = error.message.indexOf('[');\n      if (index > -1) {\n        return {\n          ...error,\n          message: error.message.slice(0, index),\n          interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n        };\n      }\n      return { ...error, interpoliteParams: [] };\n    });\n  }\n}\n","export const DEFAULT_VALIDATION_BLUEPRINTS = {\n  creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',\n  email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',\n  invalid: 'AbpValidation::ThisFieldIsNotValid.',\n  max: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',\n  maxlength:\n    'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',\n  min: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',\n  minlength:\n    'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',\n  ngbDate: 'AbpValidation::ThisFieldIsNotValid.',\n  passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',\n  range: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',\n  required: 'AbpValidation::ThisFieldIsRequired.',\n  url: 'AbpValidation::ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl',\n  passwordRequiresLower: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresLower',\n  passwordRequiresUpper: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresUpper',\n  passwordRequiresDigit: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresDigit',\n  passwordRequiresNonAlphanumeric: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresNonAlphanumeric',\n};\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  HostBinding,\n  Input,\n  NgModule,\n} from '@angular/core';\n\n@Directive({\n  selector: '[appEllipsis]',\n})\nexport class EllipsisDirective implements AfterViewInit {\n  @Input('appEllipsis')\n  width?: string;\n\n  @HostBinding('title')\n  @Input()\n  title?: string;\n\n  @Input('appEllipsisEnabled')\n  enabled = true;\n\n  @HostBinding('class.ellipsis-inline')\n  get inlineClass() {\n    return this.enabled && this.width;\n  }\n\n  @HostBinding('class.ellipsis')\n  get class() {\n    return this.enabled && !this.width;\n  }\n\n  @HostBinding('style.max-width')\n  get maxWidth() {\n    return this.enabled && this.width ? this.width || '170px' : undefined;\n  }\n\n  constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {}\n\n  ngAfterViewInit() {\n    this.title = this.title || (this.elRef.nativeElement as HTMLElement).innerText;\n    this.cdRef.detectChanges();\n  }\n}\n\n@NgModule({\n  exports: [EllipsisDirective],\n  declarations: [EllipsisDirective],\n})\nexport class EllipsisModule {}\n","import {\n  ComponentFactoryResolver,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  HostBinding,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\nimport { Subscription, timer } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { LoadingComponent } from '../components';\n\n@Directive({ selector: '[appLoading]' })\nexport class LoadingDirective implements OnInit, OnDestroy {\n  private _loading!: boolean;\n\n  @HostBinding('style.position')\n  position = 'relative';\n\n  @Input('appLoading')\n  get loading(): boolean {\n    return this._loading;\n  }\n\n  set loading(newValue: boolean) {\n    setTimeout(() => {\n      if (!newValue && this.timerSubscription) {\n        this.timerSubscription.unsubscribe();\n        this.timerSubscription = null;\n        this._loading = newValue;\n\n        if (this.rootNode) {\n          this.renderer.removeChild(this.rootNode.parentElement, this.rootNode);\n          this.rootNode = null;\n        }\n        return;\n      }\n\n      this.timerSubscription = timer(this.delay)\n        .pipe(take(1))\n        .subscribe(() => {\n          if (!this.componentRef) {\n            this.componentRef = this.cdRes\n              .resolveComponentFactory(LoadingComponent)\n              .create(this.injector);\n          }\n\n          if (newValue && !this.rootNode) {\n            this.rootNode = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\n            this.targetElement?.appendChild(this.rootNode as HTMLDivElement);\n          } else if (this.rootNode) {\n            this.renderer.removeChild(this.rootNode.parentElement, this.rootNode);\n            this.rootNode = null;\n          }\n\n          this._loading = newValue;\n          this.timerSubscription = null;\n        });\n    }, 0);\n  }\n\n  @Input('appLoadingTargetElement')\n  targetElement: HTMLElement | undefined;\n\n  @Input('appLoadingDelay')\n  delay = 0;\n\n  componentRef!: ComponentRef<LoadingComponent>;\n  rootNode: HTMLDivElement | null = null;\n  timerSubscription: Subscription | null = null;\n\n  constructor(\n    private elRef: ElementRef<HTMLElement>,\n    private vcRef: ViewContainerRef,\n    private cdRes: ComponentFactoryResolver,\n    private injector: Injector,\n    private renderer: Renderer2\n  ) {}\n\n  ngOnInit() {\n    if (!this.targetElement) {\n      const { offsetHeight, offsetWidth } = this.elRef.nativeElement;\n      if (!offsetHeight && !offsetWidth && this.elRef.nativeElement.children.length) {\n        this.targetElement = this.elRef.nativeElement.children[0] as HTMLElement;\n      } else {\n        this.targetElement = this.elRef.nativeElement;\n      }\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.timerSubscription) {\n      this.timerSubscription.unsubscribe();\n    }\n  }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, Directive, HostBinding, Inject, Input, OnDestroy } from '@angular/core';\nimport { ColumnMode, DatatableComponent, ScrollerComponent } from '@swimlane/ngx-datatable';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n  selector: 'ngx-datatable[default]',\n  exportAs: 'ngxDatatableDefault',\n})\nexport class NgxDatatableDefaultDirective implements AfterViewInit, OnDestroy {\n  private subscription = new Subscription();\n\n  private resizeDiff = 0;\n\n  @Input() class = 'material bordered';\n\n  @HostBinding('class')\n  get classes(): string {\n    return `ngx-datatable ${this.class}`;\n  }\n\n  constructor(private table: DatatableComponent, @Inject(DOCUMENT) private document: MockDocument) {\n    this.table.columnMode = ColumnMode.force;\n    this.table.footerHeight = 50;\n    this.table.headerHeight = 50;\n    this.table.rowHeight = 'auto';\n    this.table.scrollbarH = true;\n    this.table.virtualization = false;\n  }\n\n  private fixHorizontalGap(scroller: ScrollerComponent) {\n    const { body, documentElement } = this.document;\n\n    if (documentElement.scrollHeight !== documentElement.clientHeight) {\n      if (this.resizeDiff === 0) {\n        this.resizeDiff = window.innerWidth - body.offsetWidth;\n        scroller.scrollWidth -= this.resizeDiff;\n      }\n    } else {\n      scroller.scrollWidth += this.resizeDiff;\n      this.resizeDiff = 0;\n    }\n  }\n\n  private fixStyleOnWindowResize() {\n    const subscription = fromEvent(window, 'resize')\n      .pipe(debounceTime(500))\n      .subscribe(() => {\n        const { scroller } = this.table.bodyComponent;\n\n        if (!scroller) return;\n\n        this.fixHorizontalGap(scroller);\n      });\n\n    this.subscription.add(subscription);\n  }\n\n  ngAfterViewInit() {\n    this.fixStyleOnWindowResize();\n  }\n\n  ngOnDestroy() {\n    this.subscription.unsubscribe();\n  }\n}\n\ninterface MockDocument {\n  body: MockBody;\n  documentElement: MockDocumentElement;\n}\n\ninterface MockBody {\n  offsetWidth: number;\n}\n\ninterface MockDocumentElement {\n  clientHeight: number;\n  scrollHeight: number;\n}\n","import {\n  ChangeDetectorRef,\n  Directive,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  SimpleChanges,\n} from '@angular/core';\nimport { ListService, LocalizationService } from '@abp/ng.core';\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\nimport { Subscription } from 'rxjs';\nimport {\n  defaultNgxDatatableMessages,\n  NgxDatatableMessages,\n  NGX_DATATABLE_MESSAGES,\n} from '../tokens';\n\n@Directive({\n  selector: 'ngx-datatable[list]',\n  exportAs: 'ngxDatatableList',\n})\nexport class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit {\n  private subscription = new Subscription();\n  private querySubscription = new Subscription();\n\n  @Input() list!: ListService;\n\n  constructor(\n    private table: DatatableComponent,\n    private cdRef: ChangeDetectorRef,\n    private localizationService: LocalizationService,\n    @Optional() @Inject(NGX_DATATABLE_MESSAGES) private ngxDatatableMessages: NgxDatatableMessages\n  ) {\n    this.setInitialValues();\n  }\n\n  private setInitialValues() {\n    this.table.externalPaging = true;\n    this.table.externalSorting = true;\n\n    const { emptyMessage, selectedMessage, totalMessage } =\n      this.ngxDatatableMessages || defaultNgxDatatableMessages;\n\n    this.table.messages = {\n      emptyMessage: this.localizationService.instant(emptyMessage),\n      totalMessage: this.localizationService.instant(totalMessage),\n      selectedMessage: this.localizationService.instant(selectedMessage),\n    };\n  }\n\n  private subscribeToPage() {\n    const sub = this.table.page.subscribe(({ offset }) => {\n      this.list.page = offset;\n      this.table.offset = offset;\n    });\n    this.subscription.add(sub);\n  }\n\n  private subscribeToSort() {\n    const sub = this.table.sort.subscribe(({ sorts: [{ prop, dir }] }) => {\n      if (prop === this.list.sortKey && this.list.sortOrder === 'desc') {\n        this.list.sortKey = '';\n        this.list.sortOrder = '';\n        this.table.sorts = [];\n        this.cdRef.detectChanges();\n      } else {\n        this.list.sortKey = prop;\n        this.list.sortOrder = dir;\n      }\n    });\n    this.subscription.add(sub);\n  }\n\n  private subscribeToQuery() {\n    if (!this.querySubscription.closed) this.querySubscription.unsubscribe();\n\n    this.querySubscription = this.list.query$.subscribe(() => {\n      const offset = this.list.page;\n      if (this.table.offset !== offset) this.table.offset = offset;\n    });\n  }\n\n  ngOnChanges({ list }: SimpleChanges) {\n    this.subscribeToQuery();\n\n    if (!list.firstChange) return;\n\n    const { maxResultCount, page } = list.currentValue;\n    this.table.limit = maxResultCount;\n    this.table.offset = page;\n  }\n\n  ngOnDestroy() {\n    this.subscription.unsubscribe();\n    this.querySubscription.unsubscribe();\n  }\n\n  ngOnInit() {\n    this.subscribeToPage();\n    this.subscribeToSort();\n  }\n}\n","import { Directive, HostListener, Optional } from '@angular/core';\nimport { ModalComponent } from '../components';\n\n@Directive({ selector: '[modalClose]' })\nexport class ModalCloseDirective {\n  constructor(@Optional() private modal: ModalComponent) {\n    if (!modal) {\n      console.error('Please use modalClose within an app-modal');\n    }\n  }\n\n  @HostListener('click')\n  onClick() {\n    this.modal?.close();\n  }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { getLocaleDirection, LocalizationService } from '@abp/ng.core';\nimport { BehaviorSubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LocaleDirection } from '../models';\n\n@Injectable()\nexport class DocumentDirHandlerService {\n  private dir = new BehaviorSubject<LocaleDirection>('ltr');\n  dir$ = this.dir.asObservable();\n  constructor(protected injector: Injector) {\n    this.listenToLanguageChanges();\n  }\n\n  private listenToLanguageChanges() {\n    const l10n = this.injector.get(LocalizationService);\n    l10n.currentLang$.pipe(map(locale => getLocaleDirection(locale))).subscribe(dir => {\n      this.dir.next(dir);\n      this.setBodyDir(dir);\n    });\n  }\n\n  private setBodyDir(dir: LocaleDirection) {\n    document.body.dir = dir;\n    document.dir = dir;\n  }\n}\n","import {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  ComponentRef,\n  EmbeddedViewRef,\n  Injectable,\n  Injector,\n  RendererFactory2,\n} from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { NavigationError, ResolveEnd } from '@angular/router';\nimport {\n  AuthService,\n  HttpErrorReporterService,\n  LocalizationParam,\n  RouterEvents,\n} from '@abp/ng.core';\nimport { Observable, of, Subject, throwError } from 'rxjs';\nimport { catchError, filter, switchMap } from 'rxjs/operators';\nimport { HttpErrorWrapperComponent } from '../components';\nimport { ErrorScreenErrorCodes, HttpErrorConfig, Confirmation } from '../models';\nimport { ConfirmationService } from '../services';\nimport { HTTP_ERROR_HANDLER } from '../tokens';\n\nexport const DEFAULT_ERROR_MESSAGES = {\n  defaultError: {\n    title: 'An error has occurred!',\n    details: 'Error detail not sent by server.',\n  },\n  defaultError401: {\n    title: 'You are not authenticated!',\n    details: 'You should be authenticated (sign in) in order to perform this operation.',\n  },\n  defaultError403: {\n    title: 'You are not authorized!',\n    details: 'You are not allowed to perform this operation.',\n  },\n  defaultError404: {\n    title: 'Resource not found!',\n    details: 'The resource requested could not found on the server.',\n  },\n  defaultError500: {\n    title: 'Internal server error',\n    details: 'Error detail not sent by server.',\n  },\n};\n\nexport const DEFAULT_ERROR_LOCALIZATIONS = {\n  defaultError: {\n    title: 'AbpUi::DefaultErrorMessage',\n    details: 'AbpUi::DefaultErrorMessageDetail',\n  },\n  defaultError401: {\n    title: 'AbpUi::DefaultErrorMessage401',\n    details: 'AbpUi::DefaultErrorMessage401Detail',\n  },\n  defaultError403: {\n    title: 'AbpUi::DefaultErrorMessage403',\n    details: 'AbpUi::DefaultErrorMessage403Detail',\n  },\n  defaultError404: {\n    title: 'AbpUi::DefaultErrorMessage404',\n    details: 'AbpUi::DefaultErrorMessage404Detail',\n  },\n  defaultError500: {\n    title: 'AbpUi::500Message',\n    details: 'AbpUi::DefaultErrorMessage',\n  },\n};\n\n@Injectable({ providedIn: 'root' })\nexport class ErrorHandler {\n  componentRef: ComponentRef<HttpErrorWrapperComponent> | null = null;\n\n  protected httpErrorHandler = this.injector.get(HTTP_ERROR_HANDLER, (_, err: HttpErrorResponse) =>\n    throwError(err)\n  );\n\n  protected httpErrorReporter: HttpErrorReporterService;\n  protected routerEvents: RouterEvents;\n  protected confirmationService: ConfirmationService;\n  protected cfRes: ComponentFactoryResolver;\n  protected rendererFactory: RendererFactory2;\n  protected httpErrorConfig: HttpErrorConfig;\n\n  constructor(protected injector: Injector) {\n    this.httpErrorReporter = injector.get(HttpErrorReporterService);\n    this.routerEvents = injector.get(RouterEvents);\n    this.confirmationService = injector.get(ConfirmationService);\n    this.cfRes = injector.get(ComponentFactoryResolver);\n    this.rendererFactory = injector.get(RendererFactory2);\n    this.httpErrorConfig = injector.get('HTTP_ERROR_CONFIG');\n\n    this.listenToRestError();\n    this.listenToRouterError();\n    this.listenToRouterDataResolved();\n  }\n\n  protected listenToRouterError() {\n    this.routerEvents\n      .getNavigationEvents('Error')\n      .pipe(filter(this.filterRouteErrors))\n      .subscribe(() => this.show404Page());\n  }\n\n  protected listenToRouterDataResolved() {\n    this.routerEvents\n      .getEvents(ResolveEnd)\n      .pipe(filter(() => !!this.componentRef))\n      .subscribe(() => {\n        this.componentRef?.destroy();\n        this.componentRef = null;\n      });\n  }\n\n  protected listenToRestError() {\n    this.httpErrorReporter.reporter$\n      .pipe(filter(this.filterRestErrors), switchMap(this.executeErrorHandler))\n      .subscribe();\n  }\n\n  private executeErrorHandler = (error: any) => {\n    const returnValue = this.httpErrorHandler(this.injector, error);\n\n    return (returnValue instanceof Observable ? returnValue : of(null)).pipe(\n      catchError(err => {\n        this.handleError(err);\n        return of(null);\n      })\n    );\n  };\n\n  private handleError(err: any) {\n    const body = err?.error?.error || {\n      key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,\n      defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,\n    };\n\n    if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {\n      const confirmation$ = this.showErrorWithRequestBody(body);\n\n      if (err.status === 401) {\n        confirmation$.subscribe(() => {\n          this.navigateToLogin();\n        });\n      }\n    } else {\n      switch (err.status) {\n        case 401:\n          this.canCreateCustomError(401)\n            ? this.show401Page()\n            : this.showError(\n                {\n                  key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.title,\n                  defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.title,\n                },\n                {\n                  key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.details,\n                  defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.details,\n                }\n              ).subscribe(() => this.navigateToLogin());\n          break;\n        case 403:\n          this.createErrorComponent({\n            title: {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError403.title,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError403.title,\n            },\n            details: {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError403.details,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError403.details,\n            },\n            status: 403,\n          });\n          break;\n        case 404:\n          this.canCreateCustomError(404)\n            ? this.show404Page()\n            : this.showError(\n                {\n                  key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.details,\n                  defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.details,\n                },\n                {\n                  key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.title,\n                  defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title,\n                }\n              );\n          break;\n        case 500:\n          this.createErrorComponent({\n            title: {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError500.title,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError500.title,\n            },\n            details: {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError500.details,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError500.details,\n            },\n            status: 500,\n          });\n          break;\n        case 0:\n          if (err.statusText === 'Unknown Error') {\n            this.createErrorComponent({\n              title: {\n                key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,\n                defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,\n              },\n              details: err.message,\n              isHomeShow: false,\n            });\n          }\n          break;\n        default:\n          this.showError(\n            {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.details,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.details,\n            },\n            {\n              key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,\n              defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,\n            }\n          );\n          break;\n      }\n    }\n  }\n\n  protected show401Page() {\n    this.createErrorComponent({\n      title: {\n        key: DEFAULT_ERROR_LOCALIZATIONS.defaultError401.title,\n        defaultValue: DEFAULT_ERROR_MESSAGES.defaultError401.title,\n      },\n      status: 401,\n    });\n  }\n\n  protected show404Page() {\n    this.createErrorComponent({\n      title: {\n        key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.title,\n        defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title,\n      },\n      status: 404,\n    });\n  }\n\n  protected showErrorWithRequestBody(body: any) {\n    let message: LocalizationParam;\n    let title: LocalizationParam;\n\n    if (body.details) {\n      message = body.details;\n      title = body.message;\n    } else if (body.message) {\n      title = {\n        key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,\n        defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,\n      };\n      message = body.message;\n    } else {\n      message = body.message || {\n        key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,\n        defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,\n      };\n      title = '';\n    }\n\n    return this.showError(message, title);\n  }\n\n  protected showError(\n    message: LocalizationParam,\n    title: LocalizationParam\n  ): Observable<Confirmation.Status> {\n    return this.confirmationService.error(message, title, {\n      hideCancelBtn: true,\n      yesText: 'AbpAccount::Close',\n    });\n  }\n\n  private navigateToLogin() {\n    this.injector.get(AuthService).navigateToLogin();\n  }\n\n  createErrorComponent(instance: Partial<HttpErrorWrapperComponent>) {\n    const renderer = this.rendererFactory.createRenderer(null, null);\n    const host = renderer.selectRootElement(document.body, true);\n\n    this.componentRef = this.cfRes\n      .resolveComponentFactory(HttpErrorWrapperComponent)\n      .create(this.injector);\n\n    for (const key in instance) {\n      if (Object.prototype.hasOwnProperty.call(this.componentRef.instance, key)) {\n        (this.componentRef.instance as any)[key] = (instance as any)[key];\n      }\n    }\n\n    this.componentRef.instance.hideCloseIcon = !!this.httpErrorConfig.errorScreen?.hideCloseIcon;\n    const appRef = this.injector.get(ApplicationRef);\n\n    if (this.canCreateCustomError(instance.status as ErrorScreenErrorCodes)) {\n      this.componentRef.instance.cfRes = this.cfRes;\n      this.componentRef.instance.appRef = appRef;\n      this.componentRef.instance.injector = this.injector;\n      this.componentRef.instance.customComponent = this.httpErrorConfig.errorScreen?.component;\n    }\n\n    appRef.attachView(this.componentRef.hostView);\n    renderer.appendChild(host, (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n    const destroy$ = new Subject<void>();\n    this.componentRef.instance.destroy$ = destroy$;\n    destroy$.subscribe(() => {\n      this.componentRef?.destroy();\n      this.componentRef = null;\n    });\n  }\n\n  canCreateCustomError(status: ErrorScreenErrorCodes): boolean {\n    return !!(\n      this.httpErrorConfig?.errorScreen?.component &&\n      this.httpErrorConfig?.errorScreen?.forWhichErrors &&\n      this.httpErrorConfig?.errorScreen?.forWhichErrors.indexOf(status) > -1\n    );\n  }\n\n  protected filterRestErrors = ({ status }: HttpErrorResponse): boolean => {\n    if (typeof status !== 'number') return false;\n\n    return (\n      !!this.httpErrorConfig.skipHandledErrorCodes &&\n      this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === status) < 0\n    );\n  };\n\n  protected filterRouteErrors = (navigationError: NavigationError): boolean => {\n    return (\n      navigationError.error?.message?.indexOf('Cannot match') > -1 &&\n      !!this.httpErrorConfig.skipHandledErrorCodes &&\n      this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === 404) < 0\n    );\n  };\n}\n","import { APP_INITIALIZER } from '@angular/core';\nimport { NgbInputDatepickerConfig, NgbTypeaheadConfig } from '@ng-bootstrap/ng-bootstrap';\n\nexport const NG_BOOTSTRAP_CONFIG_PROVIDERS = [\n  {\n    provide: APP_INITIALIZER,\n    useFactory: configureNgBootstrap,\n    deps: [NgbInputDatepickerConfig, NgbTypeaheadConfig],\n    multi: true,\n  },\n];\n\nexport function configureNgBootstrap(\n  datepicker: NgbInputDatepickerConfig,\n  typeahead: NgbTypeaheadConfig,\n) {\n  return () => {\n    datepicker.container = 'body';\n    typeahead.container = 'body';\n  };\n}\n","import { Provider } from '@angular/core';\nimport { DefaultProfilePictureService, IProfilePictureStore } from '../services';\nimport { PROFILE_PICTURE_SERVICE, PROFILE_PICTURE_STORE } from '../tokens';\n\nexport const PROFILE_PICTURE_PROVIDERS: Provider[] = [\n  {\n    provide: PROFILE_PICTURE_SERVICE,\n    useClass: DefaultProfilePictureService,\n  },\n  {\n    provide: PROFILE_PICTURE_STORE,\n    useValue: <IProfilePictureStore>{\n      setPicture: (pP) => {},\n    },\n  },\n];\n","import { RoutesService } from '@abp/ng.core';\nimport { APP_INITIALIZER } from '@angular/core';\nimport { eThemeSharedRouteNames } from '../enums/route-names';\n\nexport const THEME_SHARED_ROUTE_PROVIDERS = [\n  { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },\n];\n\nexport function configureRoutes(routesService: RoutesService) {\n  return () => {\n    routesService.add([\n      {\n        path: undefined,\n        name: eThemeSharedRouteNames.Administration,\n        iconClass: 'fa fa-wrench',\n        order: 100,\n      },\n    ]);\n  };\n}\n","import { Provider } from '@angular/core';\nimport {\n  defaultMapErrorsFn,\n  Validation,\n  VALIDATION_BLUEPRINTS,\n  VALIDATION_ERROR_TEMPLATE,\n  VALIDATION_INVALID_CLASSES,\n  VALIDATION_MAP_ERRORS_FN,\n  VALIDATION_TARGET_SELECTOR,\n  VALIDATION_VALIDATE_ON_SUBMIT,\n} from '@ngx-validate/core';\nimport { ValidationErrorComponent } from '../components';\nimport { DEFAULT_VALIDATION_BLUEPRINTS } from '../constants/validation';\n\nexport const VALIDATION_PROVIDERS = (validation?: Partial<Validation.Config>): Provider[] => [\n  {\n    provide: VALIDATION_BLUEPRINTS,\n    useValue: {\n      ...DEFAULT_VALIDATION_BLUEPRINTS,\n      ...(validation.blueprints || {}),\n    },\n  },\n  {\n    provide: VALIDATION_MAP_ERRORS_FN,\n    useValue: validation.mapErrorsFn || defaultMapErrorsFn,\n  },\n  {\n    provide: VALIDATION_VALIDATE_ON_SUBMIT,\n    useValue: validation.validateOnSubmit,\n  },\n  {\n    provide: VALIDATION_ERROR_TEMPLATE,\n    useValue: ValidationErrorComponent,\n  },\n  {\n    provide: VALIDATION_TARGET_SELECTOR,\n    useValue: '.form-group',\n  },\n  {\n    provide: VALIDATION_INVALID_CLASSES,\n    useValue: 'is-invalid',\n  },\n];\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { ApplicationLocalizationConfigurationDto, ConfigStateService } from '@abp/ng.core';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\nfunction isNumber(value: any): boolean {\n  return !isNaN(toInteger(value));\n}\n\nfunction toInteger(value: any): number {\n  return parseInt(`${value}`, 10);\n}\n\n@Injectable()\nexport class DateParserFormatter extends NgbDateParserFormatter {\n  constructor(private configState: ConfigStateService, @Inject(LOCALE_ID) private locale: string) {\n    super();\n  }\n\n  parse(value: string): NgbDateStruct | null {\n    if (value) {\n      const dateParts = value.trim().split('-');\n\n      if (dateParts.length === 1 && isNumber(dateParts[0])) {\n        return { year: toInteger(dateParts[0]), month: -1, day: -1 };\n      } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n        return { year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: -1 };\n      } else if (\n        dateParts.length === 3 &&\n        isNumber(dateParts[0]) &&\n        isNumber(dateParts[1]) &&\n        isNumber(dateParts[2])\n      ) {\n        return {\n          year: toInteger(dateParts[0]),\n          month: toInteger(dateParts[1]),\n          day: toInteger(dateParts[2]),\n        };\n      }\n    }\n    return null;\n  }\n\n  format(date: NgbDateStruct): string {\n    if (!date) return '';\n\n    const localization: ApplicationLocalizationConfigurationDto =\n      this.configState.getOne('localization');\n\n    const dateFormat =\n      localization.currentCulture?.dateTimeFormat?.shortDatePattern || 'yyyy-MM-dd';\n\n    return formatDate(new Date(date.year, date.month - 1, date.day), dateFormat, this.locale);\n  }\n}\n","import { CurrentUserDto } from '@abp/ng.core';\nimport { defer, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { DEFAULT_PROFILE_PICTURE_SOURCE } from '../models';\nimport { IProfilePictureService } from '../services';\n\nexport const getProfilePictureSource = (\n  profilePictureService: IProfilePictureService,\n  user: CurrentUserDto\n) =>\n  defer(() =>\n    user.id\n      ? profilePictureService\n          .getProfilePicture(user.id)\n          .pipe(catchError(() => of(DEFAULT_PROFILE_PICTURE_SOURCE)))\n      : of(DEFAULT_PROFILE_PICTURE_SOURCE)\n  );\n","import { Injector } from '@angular/core';\nimport { AbstractControl, ValidatorFn, Validators } from '@angular/forms';\nimport { ABP, ConfigStateService } from '@abp/ng.core';\nimport { normalizeDiacritics, PasswordRules } from '@ngx-validate/core';\nimport { PasswordRule } from '../models';\n\nconst { minLength, maxLength } = Validators;\n\nexport function getPasswordValidators(injector: Injector): ValidatorFn[] {\n  const getRule = getRuleFn(injector);\n\n  const passwordRulesArr = [] as PasswordRules;\n  let requiredLength = 1;\n\n  if (getRule('RequireDigit') === 'true') {\n    passwordRulesArr.push('number');\n  }\n\n  if (getRule('RequireLowercase') === 'true') {\n    passwordRulesArr.push('small');\n  }\n\n  if (getRule('RequireUppercase') === 'true') {\n    passwordRulesArr.push('capital');\n  }\n\n  if (getRule('RequireNonAlphanumeric') === 'true') {\n    passwordRulesArr.push('special');\n  }\n\n  if (Number.isInteger(+getRule('RequiredLength'))) {\n    requiredLength = +getRule('RequiredLength');\n  }\n\n  const passwordValidators = passwordRulesArr.map(rule => validatePassword(rule));\n  return [...passwordValidators, minLength(requiredLength), maxLength(128)];\n}\n\nfunction getRuleFn(injector: Injector) {\n  const configState = injector.get(ConfigStateService);\n\n  return (key: string) => {\n    const passwordRules: ABP.Dictionary<string> = configState.getSettings('Identity.Password');\n\n    return (passwordRules[`Abp.Identity.Password.${key}`] || '').toLowerCase();\n  };\n}\nconst errorMessageMap = {\n  small: 'passwordRequiresLower',\n  capital: 'passwordRequiresUpper',\n  number: 'passwordRequiresDigit',\n  special: 'passwordRequiresNonAlphanumeric',\n};\n\nexport function validatePassword(shouldContain: PasswordRule): ValidatorFn {\n  return (control: AbstractControl) => {\n    if (!control.value) return null;\n\n    const value = normalizeDiacritics(control.value);\n\n    const regexMap = {\n      small: /.*[a-z].*/,\n      capital: /.*[A-Z].*/,\n      number: /.*[0-9].*/,\n      special: /.*[^0-9a-zA-Z].*/,\n    };\n    const regex = regexMap[shouldContain];\n\n    const isValid = regex.test(value);\n\n    if (isValid) {\n      return null;\n    }\n\n    const error = errorMessageMap[shouldContain];\n\n    return {\n      [error]: true,\n    };\n  };\n}\n","import { CoreModule, noop } from '@abp/ng.core';\nimport { DatePipe } from '@angular/common';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';\nimport {\n  defaultMapErrorsFn,\n  NgxValidateCoreModule,\n  VALIDATION_BLUEPRINTS,\n  VALIDATION_MAP_ERRORS_FN,\n  VALIDATION_VALIDATE_ON_SUBMIT,\n} from '@ngx-validate/core';\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport {\n  BreadcrumbComponent,\n  BreadcrumbItemsComponent,\n  ButtonComponent,\n  ConfirmationComponent,\n  HttpErrorWrapperComponent,\n  LoaderBarComponent,\n  LoadingComponent,\n  ModalComponent,\n  ToastComponent,\n  ToastContainerComponent,\n  ValidationErrorComponent,\n} from './components';\nimport { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation';\nimport {\n  EllipsisModule,\n  LoadingDirective,\n  ModalCloseDirective,\n  NgxDatatableDefaultDirective,\n  NgxDatatableListDirective,\n} from './directives';\nimport { DocumentDirHandlerService, ErrorHandler } from './handlers';\nimport { RootParams } from './models/common';\nimport {\n  NG_BOOTSTRAP_CONFIG_PROVIDERS,\n  PROFILE_PICTURE_PROVIDERS,\n  THEME_SHARED_ROUTE_PROVIDERS,\n  VALIDATION_PROVIDERS,\n} from './providers';\nimport {\n  CONFIRMATION_ICONS,\n  DEFAULT_CONFIRMATION_ICONS,\n  httpErrorConfigFactory,\n  HTTP_ERROR_CONFIG,\n  THEME_SHARED_APPEND_CONTENT,\n} from './tokens';\nimport { DateParserFormatter } from './utils';\n\nconst declarationsWithExports = [\n  BreadcrumbComponent,\n  BreadcrumbItemsComponent,\n  ButtonComponent,\n  ConfirmationComponent,\n  LoaderBarComponent,\n  LoadingComponent,\n  ModalComponent,\n  ToastComponent,\n  ToastContainerComponent,\n  ValidationErrorComponent,\n  NgxDatatableDefaultDirective,\n  NgxDatatableListDirective,\n  LoadingDirective,\n  ModalCloseDirective,\n];\n\n@NgModule({\n  imports: [\n    CoreModule,\n    NgxDatatableModule,\n    NgxValidateCoreModule,\n    NgbPaginationModule,\n    EllipsisModule,\n  ],\n  declarations: [...declarationsWithExports, HttpErrorWrapperComponent],\n  exports: [...declarationsWithExports, NgxDatatableModule, EllipsisModule],\n  providers: [DatePipe],\n})\nexport class BaseThemeSharedModule {}\n\n@NgModule({\n  imports: [BaseThemeSharedModule],\n  exports: [BaseThemeSharedModule],\n})\nexport class ThemeSharedModule {\n  static forRoot(\n    { httpErrorConfig, validation = {}, confirmationIcons = {} } = {} as RootParams\n  ): ModuleWithProviders<ThemeSharedModule> {\n    return {\n      ngModule: ThemeSharedModule,\n      providers: [\n        {\n          provide: APP_INITIALIZER,\n          multi: true,\n          deps: [ErrorHandler],\n          useFactory: noop,\n        },\n        THEME_SHARED_ROUTE_PROVIDERS,\n        {\n          provide: APP_INITIALIZER,\n          multi: true,\n          deps: [THEME_SHARED_APPEND_CONTENT],\n          useFactory: noop,\n        },\n        { provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },\n        {\n          provide: 'HTTP_ERROR_CONFIG',\n          useFactory: httpErrorConfigFactory,\n          deps: [HTTP_ERROR_CONFIG],\n        },\n        VALIDATION_PROVIDERS(validation),\n        { provide: NgbDateParserFormatter, useClass: DateParserFormatter },\n        NG_BOOTSTRAP_CONFIG_PROVIDERS,\n        {\n          provide: VALIDATION_BLUEPRINTS,\n          useValue: {\n            ...DEFAULT_VALIDATION_BLUEPRINTS,\n            ...(validation.blueprints || {}),\n          },\n        },\n        {\n          provide: VALIDATION_MAP_ERRORS_FN,\n          useValue: validation.mapErrorsFn || defaultMapErrorsFn,\n        },\n        {\n          provide: VALIDATION_VALIDATE_ON_SUBMIT,\n          useValue: validation.validateOnSubmit,\n        },\n        DocumentDirHandlerService,\n        {\n          provide: APP_INITIALIZER,\n          useFactory: noop,\n          multi: true,\n          deps: [DocumentDirHandlerService],\n        },\n        {\n          provide: CONFIRMATION_ICONS,\n          useValue: {\n            ...DEFAULT_CONFIRMATION_ICONS,\n            ...(confirmationIcons || {}),\n          },\n        },\n        PROFILE_PICTURE_PROVIDERS,\n      ],\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i3.BreadcrumbItemsComponent","i1.ToastComponent","i1.ModalRefService","i4","ErrorComponent","i1.ModalComponent"],"mappings":"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"}