{"version":3,"file":"laserfiche-lf-ui-components-internal-shared.mjs","sources":["../../../projects/ui-components/internal-shared/app-localization.service.ts","../../../projects/ui-components/internal-shared/lf-loader/lf-loader.component.ts","../../../projects/ui-components/internal-shared/lf-loader/lf-loader.component.html","../../../projects/ui-components/internal-shared/lf-modals/lf-popup-modal/lf-popup-modal.component.ts","../../../projects/ui-components/internal-shared/lf-modals/lf-popup-modal/lf-popup-modal.component.html","../../../projects/ui-components/internal-shared/validation-utils.ts","../../../projects/ui-components/internal-shared/filter-utils.ts","../../../projects/ui-components/internal-shared/general-dialog-layout/general-dialog-layout.component.ts","../../../projects/ui-components/internal-shared/general-dialog-layout/general-dialog-layout.component.html","../../../projects/ui-components/internal-shared/lf-toast-message/lf-toast-message.component.ts","../../../projects/ui-components/internal-shared/lf-toast-message/lf-toast-message.component.html","../../../projects/ui-components/internal-shared/lf-internal-shared-public-api.ts","../../../projects/ui-components/internal-shared/laserfiche-lf-ui-components-internal-shared.ts"],"sourcesContent":["// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { Injectable } from '@angular/core';\nimport { LfLocalizationService, StringUtils } from '@laserfiche/lf-js-utils';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { concatMap, map, startWith } from 'rxjs/operators';\nimport * as strings_ar from './strings/ar.json';\nimport * as strings_en from './strings/en.json';\nimport * as strings_es from './strings/es.json';\nimport * as strings_fr from './strings/fr.json';\nimport * as strings_frFR from './strings/fr-FR.json';\nimport * as strings_it from './strings/it.json';\nimport * as strings_id from './strings/id.json';\nimport * as strings_ptBR from './strings/pt-BR.json';\nimport * as strings_th from './strings/th.json';\nimport * as strings_cs from './strings/cs.json';\nimport * as strings_de from './strings/de.json';\nimport * as strings_el from './strings/el.json';\nimport * as strings_ja from './strings/ja.json';\nimport * as strings_ko from './strings/ko.json';\nimport * as strings_ms from './strings/ms.json';\nimport * as strings_nl from './strings/nl.json';\nimport * as strings_ro from './strings/ro.json';\nimport * as strings_sr_Latn from './strings/sr-Latn.json';\nimport * as strings_tr from './strings/tr.json';\nimport * as strings_vi from './strings/vi.json';\nimport * as strings_zhHans from './strings/zh-Hans.json';\nimport * as strings_zhHant from './strings/zh-Hant.json';\n\nimport * as strings_ar_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/ar-EG.json';\nimport * as strings_cs_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/cs-CZ.json';\nimport * as strings_de_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/de-DE.json';\nimport * as strings_el_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/el-GR.json';\nimport * as strings_id_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/id-ID.json';\nimport * as strings_ja_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/ja-JP.json';\nimport * as strings_ko_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/ko-KR.json';\nimport * as strings_ms_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/ms-MY.json';\nimport * as strings_nl_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/nl-NL.json';\nimport * as strings_ro_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/ro-RO.json';\nimport * as strings_srLatn_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/sr-Latn.json';\nimport * as strings_tr_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/tr-TR.json';\nimport * as strings_vi_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/vi-VN.json';\nimport * as strings_en_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/en-US.json';\nimport * as strings_es_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/es-MX.json';\nimport * as strings_fr_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/fr-CA.json';\nimport * as strings_frFR_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/fr-FR.json';\nimport * as strings_it_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/it-IT.json';\nimport * as strings_ptBR_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/pt-BR.json';\nimport * as strings_th_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/th-TH.json';\nimport * as strings_zhHans_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/zh-Hans.json';\nimport * as strings_zhHant_common from '@laserfiche/lf-resource-library/resources/laserfiche-base/zh-Hant.json';\n\n/** @internal */\n@Injectable({\n  providedIn: 'root',\n})\nexport class AppLocalizationService {\n  localResources: Map<string, object> = new Map<string, object>([\n    ['ar-EG', (strings_ar as any).default],\n    ['cs-CZ', (strings_cs as any).default],\n    ['de-DE', (strings_de as any).default],\n    ['el-GR', (strings_el as any).default],\n    ['en-US', (strings_en as any).default],\n    ['es-MX', (strings_es as any).default],\n    ['fr-CA', (strings_fr as any).default],\n    ['fr-FR', (strings_frFR as any).default],\n    ['id-ID', (strings_id as any).default],\n    ['it-IT', (strings_it as any).default],\n    ['ja-JP', (strings_ja as any).default],\n    ['ko-KR', (strings_ko as any).default],\n    ['ms-MY', (strings_ms as any).default],\n    ['nl-NL', (strings_nl as any).default],\n    ['pt-BR', (strings_ptBR as any).default],\n    ['ro-RO', (strings_ro as any).default],\n    ['sr-Latn', (strings_sr_Latn as any).default],\n    ['th-TH', (strings_th as any).default],\n    ['tr-TR', (strings_tr as any).default],\n    ['vi-VN', (strings_vi as any).default],\n    ['zh-Hans', (strings_zhHans as any).default],\n    ['zh-Hant', (strings_zhHant as any).default],\n  ]);\n\n  resourceLibraryResources: Map<string, object> = new Map<string, object>([\n    ['ar-EG', (strings_ar_common as any).default],\n    ['cs-CZ', (strings_cs_common as any).default],\n    ['de-DE', (strings_de_common as any).default],\n    ['el-GR', (strings_el_common as any).default],\n    ['en-US', (strings_en_common as any).default],\n    ['es-MX', (strings_es_common as any).default],\n    ['fr-CA', (strings_fr_common as any).default],\n    ['fr-FR', (strings_frFR_common as any).default],\n    ['id-ID', (strings_id_common as any).default],\n    ['it-IT', (strings_it_common as any).default],\n    ['ja-JP', (strings_ja_common as any).default],\n    ['ko-KR', (strings_ko_common as any).default],\n    ['ms-MY', (strings_ms_common as any).default],\n    ['nl-NL', (strings_nl_common as any).default],\n    ['pt-BR', (strings_ptBR_common as any).default],\n    ['ro-RO', (strings_ro_common as any).default],\n    ['sr-Latn', (strings_srLatn_common as any).default],\n    ['th-TH', (strings_th_common as any).default],\n    ['tr-TR', (strings_tr_common as any).default],\n    ['vi-VN', (strings_vi_common as any).default],\n    ['zh-Hans', (strings_zhHans_common as any).default],\n    ['zh-Hant', (strings_zhHant_common as any).default],\n  ]);\n  localLocalizationService = new LfLocalizationService(this.localResources);\n  lfCommonLocalizationService = new LfLocalizationService(this.resourceLibraryResources);\n  internalGetString: Subject<void> = new Subject<void>();\n\n  constructor() {\n    window.addEventListener('message', async (ev: MessageEvent) => {\n      if (ev.origin === window.origin) {\n        try {\n          const langData = ev.data;\n          const langObj = JSON.parse(langData);\n          if (langObj) {\n            const language = langObj['lf-localization-service-set-language'];\n            const debug = langObj['lf-localization-service-debug-mode'];\n            if (language) {\n              await this.setLanguageAsync(language);\n            }\n            if (debug !== undefined) {\n              this.lfCommonLocalizationService.debugMode = debug;\n              this.localLocalizationService.debugMode = debug;\n              this.internalGetString.next();\n            }\n          }\n        } catch (err: any) {\n          // Do not log, this will happen on most message events\n        }\n      }\n    });\n  }\n\n  async setLanguageAsync(language: string) {\n    this.lfCommonLocalizationService.setLanguage(language);\n    this.localLocalizationService.setLanguage(language);\n    this.internalGetString.next();\n  }\n\n  languageChanged(): Observable<string | undefined> {\n    const currentLanguage = this.lfCommonLocalizationService.currentResource?.language;\n    return this.internalGetString.pipe(\n      startWith(currentLanguage),\n      map(() => {\n        return this.lfCommonLocalizationService.currentResource?.language;\n      })\n    );\n  }\n\n  get currentLanguage(): string | undefined {\n    return this.lfCommonLocalizationService.currentResource?.language;\n  }\n\n  getStringLaserficheObservable(key: string, params?: string[]): Observable<string> {\n    const keyedString = this.getResourceStringLaserfiche(key, params);\n    return this.internalGetString.pipe(\n      startWith(keyedString),\n      map(() => {\n        const newString = this.getResourceStringLaserfiche(key, params);\n        return newString;\n      })\n    );\n  }\n\n  getStringComponentsObservable(key: string, params?: string[]): Observable<string> {\n    const keyedString = this.getResourceStringComponents(key, params);\n    return this.internalGetString.pipe(\n      startWith(keyedString),\n      map(() => {\n        const newString = this.getResourceStringComponents(key, params);\n        return newString;\n      })\n    );\n  }\n\n  getStringLaserficheWithObservableParams(key: string, params?: Observable<string>[]): Observable<string> {\n    const genericParams = params?.map((param, index) => {\n      return `{${index}}`;\n    });\n    const translatedString = this.getStringLaserficheObservable(key, genericParams);\n    const toReturn = this.addParamsToString(params, translatedString);\n    return toReturn;\n  }\n\n  getStringComponentsWithObservableParams(key: string, params?: Observable<string>[]): Observable<string> {\n    const genericParams = params?.map((param, index) => {\n      return `{${index}}`;\n    });\n    const translatedString = this.getStringComponentsObservable(key, genericParams);\n    const observableString = this.addParamsToString(params, translatedString);\n    return observableString;\n  }\n\n  getResourceStringLaserfiche(key: string, params?: string[]): string {\n    return this.lfCommonLocalizationService.getString(key, params);\n  }\n\n  getResourceStringComponents(key: string, params?: string[]): string {\n    return this.localLocalizationService.getString(key, params);\n  }\n\n  private addParamsToString(params: Observable<string>[] | undefined, translatedString: Observable<string>) {\n    let latestParamsObs: Observable<string[]> | undefined;\n    if (params) {\n      latestParamsObs = combineLatest(params);\n    }\n\n    const toReturn = translatedString.pipe(\n      concatMap((stringToFormat) => {\n        if (latestParamsObs) {\n          const formattedString = latestParamsObs.pipe(\n            map((latestParams) => {\n              try {\n                const newStringFormat = StringUtils.formatString(stringToFormat, latestParams);\n                return newStringFormat;\n              } catch (err: any) {\n                console.warn('Unable to format string', err.message);\n                return stringToFormat;\n              }\n            })\n          );\n          return formattedString;\n        }\n        return stringToFormat;\n      })\n    );\n    return toReturn;\n  }\n\n  getString(key: string, params?: string[]): string {\n    return this.lfCommonLocalizationService.getString(key, params);\n  }\n}\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { AppLocalizationService } from '../app-localization.service';\n\n/**\n * @internal\n * Not for public use\n */\n@Component({\n  selector: 'lf-loader-component',\n  templateUrl: './lf-loader.component.html',\n  styleUrls: ['./lf-loader.component.css'],\n  standalone: true,\n  imports: [CommonModule],\n})\nexport class LfLoaderComponent {\n  /** @internal */\n  private localizationService = inject(AppLocalizationService);\n\n  readonly LOADING: Observable<string> = this.localizationService.getStringLaserficheObservable('LOADING');\n}\n","<!--Copyright (c) Laserfiche.\nLicensed under the MIT License. See LICENSE in the project root for license information.-->\n\n<i class=\"loader\"></i>\n<span class=\"lf-loader-text\">{{ LOADING | async }}</span>\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable } from 'rxjs';\n\n/**\n * @internal\n * Not for public use\n */\n@Component({\n  selector: 'lf-popup-modal-component',\n  templateUrl: './lf-popup-modal.component.html',\n  styleUrls: ['./lf-popup-modal.component.css'],\n  standalone: true,\n  imports: [CommonModule],\n})\nexport class LfPopupModalComponent {\n  @Input() data!: PopupModalData;\n  @Output() buttonClick: EventEmitter<string> = new EventEmitter<string>();\n\n  /** @internal */\n  onConfirmClick(): void {\n    this.buttonClick.emit(PopupModalResult.CONFIRM);\n  }\n\n  /** @internal */\n  onCancelClick(): void {\n    this.buttonClick.emit(PopupModalResult.CANCEL);\n  }\n\n  /** @internal */\n  onNoClick(): void {\n    this.buttonClick.emit(PopupModalResult.NO);\n  }\n}\n\n/** @internal */\nexport interface PopupModalData {\n  popupTitle: Observable<string>;\n  popupMessage: Observable<string>;\n  confirmButtonText?: Observable<string>;\n  cancelButtonText?: Observable<string>;\n  noButtonText?: Observable<string>;\n  data?: any;\n}\n\n/** @internal */\nexport enum PopupModalResult {\n  CONFIRM = 'CONFIRM',\n  NO = 'NO',\n  CANCEL = 'CANCEL',\n}\n","<!--Copyright (c) Laserfiche.\nLicensed under the MIT License. See LICENSE in the project root for license information.-->\n\n@if (data) {\n  <div>\n    <span class=\"lf-dialog-title lf-popup-dialog-title\">{{ data.popupTitle | async }}</span>\n    <div class=\"lf-dialog-message\">\n      <p>{{ data.popupMessage | async }}</p>\n    </div>\n    <div class=\"lf-dialog-actions\">\n      @if (data.confirmButtonText) {\n        <button class=\"lf-button primary-button dialog-button\" (click)=\"onConfirmClick()\" cdkFocusInitial>\n          {{ data.confirmButtonText | async }}\n        </button>\n      }\n      @if (data.noButtonText) {\n        <button class=\"lf-button sec-button dialog-button\" (click)=\"onNoClick()\">\n          {{ data.noButtonText | async }}\n        </button>\n      }\n      @if (data.cancelButtonText) {\n        <button class=\"lf-button sec-button dialog-button\" (click)=\"onCancelClick()\">\n          {{ data.cancelButtonText | async }}\n        </button>\n      }\n    </div>\n  </div>\n}\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\nimport { LfMetadataValidationUtils } from '@laserfiche/lf-js-utils';\n\n/** @internal */\nexport enum ValidationRule {\n  LONG_INT = 'longint',\n  MAX_LENGTH = 'maxlength',\n  NUMBER = 'number',\n  PATTERN = 'pattern',\n  NUMERIC = 'numeric',\n  REQUIRED = 'required',\n  SHORT_INT = 'shortint',\n  TIME = 'time',\n  DATEPICKER_PARSE = 'datepickerParse',\n  DATETIME_PICKER_PARSE = 'datetimePickerParse',\n}\n\n// @dynamic\n/** @internal */\nexport class ValidationUtils {\n  /** Only one error will be displayed at a time (in this priority order) */\n  static validationRulesInPriorityOrder: ValidationRule[] = [\n    ValidationRule.DATEPICKER_PARSE,\n    ValidationRule.DATETIME_PICKER_PARSE,\n    ValidationRule.TIME,\n    ValidationRule.REQUIRED,\n    ValidationRule.MAX_LENGTH,\n    ValidationRule.PATTERN,\n    ValidationRule.NUMERIC,\n    ValidationRule.NUMBER,\n    ValidationRule.LONG_INT,\n    ValidationRule.SHORT_INT,\n  ];\n\n  static numericValidator(constraint: string): ValidatorFn {\n    const validatorFn: ValidatorFn = (control: AbstractControl): { [key: string]: any } | null => {\n      // Don't try to match regex if there is no value\n      if (control.value == null || control.value === '') {\n        return null;\n      }\n      const validationFailedExplanation = { numeric: { value: control.value } };\n      const matchesConstraint = LfMetadataValidationUtils.evaluateNumericValidationExpression(\n        control.value,\n        constraint\n      );\n      return matchesConstraint ? null : validationFailedExplanation;\n    };\n    return validatorFn;\n  }\n\n  static generalRegexValidator(regex: RegExp, ruleName?: string): ValidatorFn {\n    const validatorFn: ValidatorFn = (control: AbstractControl): { [key: string]: any } | null => {\n      // Don't try to match regex if there is no value\n      if (control.value == null || control.value === '') {\n        return null;\n      }\n      ruleName = ruleName ?? ValidationRule.PATTERN; // default regex validation key\n      const validationFailedExplanation = {\n        [ruleName]: { value: control.value },\n      };\n      const matchesRegex = regex.test(control.value);\n      return matchesRegex ? null : validationFailedExplanation;\n    };\n    return validatorFn;\n  }\n\n  static requiredValidator(): ValidatorFn {\n    const validatorFn: ValidatorFn = (control: AbstractControl): { [key: string]: any } | null => {\n      // Don't try to match regex if there is no value\n      const validationFailedExplanation = {\n        ['required']: { value: control.value },\n      };\n      if (control.value == null || control.value === '') {\n        return validationFailedExplanation;\n      }\n      const isEmptyString = LfMetadataValidationUtils.isNullOrEmpty(control.value.toString());\n      return isEmptyString ? validationFailedExplanation : null;\n    };\n    return validatorFn;\n  }\n\n  static createTimeValidator(): ValidatorFn {\n    const regexAMPM: string = `([0][0-9]|[1][0-2]):[0-5][0-9]:[0-5][0-9] ([AMP]){2}`;\n    const regex24Hour: string = `([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]`;\n    const regexNoSeconds: string = `([01]?[0-9]|2[0-3]):[0-5][0-9]`;\n    const timePattern = new RegExp(`${regexAMPM}|${regex24Hour}|${regexNoSeconds}`);\n    return ValidationUtils.generalRegexValidator(timePattern, 'time');\n  }\n}\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\ninterface ObjectWithName {\n  name: string;\n}\n\n/** @internal */\nexport function filterObjectsByName<T extends ObjectWithName>(\n  nodesToFilter?: T[],\n  filterText?: string\n): T[] | undefined {\n  if (!filterText) {\n    return nodesToFilter;\n  } else {\n    const lowercaseFilterText: string = filterText.toLowerCase();\n    return nodesToFilter?.filter((node) => {\n      if (node.name) {\n        const lowercaseName: string = node.name.toLowerCase();\n        return lowercaseName.includes(lowercaseFilterText);\n      }\n      return false;\n    });\n  }\n}\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { Component } from '@angular/core';\n/**\n * @internal\n * Not for public use\n */\n@Component({\n  selector: 'lf-general-dialog-layout',\n  templateUrl: './general-dialog-layout.component.html',\n  styleUrls: ['./general-dialog-layout.component.css'],\n  standalone: true,\n  imports: [],\n})\nexport class GeneralDialogLayoutComponent {}\n","<!--Copyright (c) Laserfiche.\nLicensed under the MIT License. See LICENSE in the project root for license information.-->\n\n<div class=\"wrapper\">\n  <div class=\"header\">\n    <ng-content select=\".dialog-header\"></ng-content>\n  </div>\n\n  <div class=\"content-box\">\n    <ng-content select=\".dialog-content\"></ng-content>\n  </div>\n\n  <div class=\"footer\">\n    <ng-content select=\".dialog-footer\"></ng-content>\n  </div>\n</div>\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nimport { ChangeDetectorRef, Component, Input, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/** @internal */\nexport enum LfMessageToastTypes {\n  Error = 'Error',\n  Warning = 'Warning',\n  Validation = 'Validation',\n  Informational = 'Informational',\n}\n\n/** @internal */\nexport interface LfToastMessage {\n  message: string;\n  timeToShow?: number;\n  type: LfMessageToastTypes;\n  noIcon: boolean;\n  hideMessage?: boolean;\n  id?: string;\n}\n\n/** @internal */\n@Component({\n  selector: 'lf-toast-message',\n  templateUrl: './lf-toast-message.component.html',\n  styleUrls: ['./lf-toast-message.component.css'],\n  standalone: true,\n  imports: [CommonModule],\n})\nexport class LfToastMessageComponent {\n  private ref = inject(ChangeDetectorRef);\n\n  @Input()\n  set messages(messages: LfToastMessage[]) {\n    if (typeof messages === 'undefined') {\n      return;\n    }\n    for (const message of messages) {\n      let messageId = message.id;\n      if (!messageId) {\n        messageId = message.id = Math.random().toString();\n      }\n\n      this.allMessages.push(message);\n      // Errors and Warnings will not auto dismiss\n      if (\n        (message.type === LfMessageToastTypes.Validation || message.type === LfMessageToastTypes.Informational) &&\n        message.timeToShow &&\n        message.timeToShow > 0\n      ) {\n        window.setTimeout(this._removeToast.bind(this, messageId), message.timeToShow);\n      }\n    }\n  }\n\n  allMessages: LfToastMessage[];\n\n  constructor() {\n    this.allMessages = [];\n  }\n\n  _computeTypeIcon(type: LfMessageToastTypes): string {\n    switch (type) {\n      case LfMessageToastTypes.Validation:\n        return 'check_circle_outline';\n      case LfMessageToastTypes.Warning:\n        return 'warning_amber';\n      case LfMessageToastTypes.Informational:\n        return 'info';\n      default:\n        return 'error_outline';\n    }\n  }\n\n  _closeToast(messageId?: string) {\n    if (!messageId) {\n      return;\n    }\n    this._removeToast(messageId);\n  }\n\n  _removeToast(messageId?: string) {\n    if (!messageId) {\n      return;\n    }\n    const idx = this.allMessages.findIndex((message) => message.id === messageId);\n    if (idx !== -1) {\n      this.allMessages.splice(idx, 1);\n      this.ref.markForCheck();\n    }\n  }\n\n  clearToasts(toastFilter?: LfMessageToastTypes) {\n    this.allMessages = toastFilter ? this.allMessages.filter((message) => message.type !== toastFilter) : [];\n    this.ref.markForCheck();\n  }\n}\n","<!--Copyright (c) Laserfiche.\nLicensed under the MIT License. See LICENSE in the project root for license information.-->\n\n@for (message of allMessages; track message; let idx = $index) {\n  <div\n    class=\"toast-message message-holder lf-flexbox-col\"\n    [ngClass]=\"{\n      error: message.type === 'Error',\n      warning: message.type === 'Warning',\n      validation: message.type === 'Validation',\n      informational: message.type === 'Informational',\n    }\"\n  >\n    <div class=\"lf-flexbox-row lf-flexbox-center both-axis\">\n      <span\n        class=\"material-icons-outlined\"\n        style=\"flex: 0 0 auto\"\n        [ngClass]=\"{\n          warningIcon: message.type === 'Warning',\n          'hide-icon': message.noIcon,\n        }\"\n        [attr.aria-label]=\"message.type\"\n      >\n        {{ _computeTypeIcon(message.type) }}\n      </span>\n      <div\n        class=\"message-text lf-flex-item lf-flexbox-row\"\n        [ngClass]=\"{\n          error: message.type === 'Error',\n          warning: message.type === 'Warning',\n          validation: message.type === 'Validation',\n          informational: message.type === 'Informational',\n          'no-left-padding': message.noIcon,\n        }\"\n      >\n        <div class=\"message-wrapper\">\n          {{ message.message }}\n        </div>\n      </div>\n      <button\n        id=\"close-btn\"\n        (click)=\"message.id ? _closeToast(message.id) : null\"\n        style=\"flex: 0 0 auto\"\n        [ngClass]=\"{\n          warningIcon: message.type === 'Warning',\n        }\"\n      >\n        <span class=\"material-icons-outlined\" aria-label=\"close\"> close </span>\n      </button>\n    </div>\n  </div>\n}\n","// Copyright (c) Laserfiche.\n// Licensed under the MIT License. See LICENSE in the project root for license information.\n\nexport { LfLoaderComponent } from './lf-loader/lf-loader.component';\n\nexport {\n  LfPopupModalComponent,\n  PopupModalData,\n  PopupModalResult,\n} from './lf-modals/lf-popup-modal/lf-popup-modal.component';\n\nexport { AppLocalizationService } from './app-localization.service';\n\nexport { ValidationRule, ValidationUtils } from './validation-utils';\n\nexport { filterObjectsByName } from './filter-utils';\n\nexport { GeneralDialogLayoutComponent } from './general-dialog-layout/general-dialog-layout.component';\n\nexport {\n  LfMessageToastTypes,\n  LfToastMessage,\n  LfToastMessageComponent,\n} from './lf-toast-message/lf-toast-message.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './lf-internal-shared-public-api';\n"],"names":["strings_ar.default","strings_cs.default","strings_de.default","strings_el.default","strings_en.default","strings_es.default","strings_fr.default","strings_frFR.default","strings_id.default","strings_it.default","strings_ja.default","strings_ko.default","strings_ms.default","strings_nl.default","strings_ptBR.default","strings_ro.default","strings_sr_Latn.default","strings_th.default","strings_tr.default","strings_vi.default","strings_zhHans.default","strings_zhHant.default"],"mappings":"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"}