{"version":3,"file":"guillotinaweb-pastanaga-angular.mjs","sources":["../../../projects/pastanaga-angular/src/lib/common.ts","../../../projects/pastanaga-angular/src/lib/icon/svg-loader.ts","../../../projects/pastanaga-angular/src/lib/icon/icon.component.ts","../../../projects/pastanaga-angular/src/lib/icon/icon.component.html","../../../projects/pastanaga-angular/src/lib/focusable/focusable.directive.ts","../../../projects/pastanaga-angular/src/lib/button/button.component.ts","../../../projects/pastanaga-angular/src/lib/button/button.component.html","../../../projects/pastanaga-angular/src/lib/icon/icon.module.ts","../../../projects/pastanaga-angular/src/lib/focusable/focusable.module.ts","../../../projects/pastanaga-angular/src/lib/button/button.module.ts","../../../projects/pastanaga-angular/src/lib/translate/i18n/en.ts","../../../projects/pastanaga-angular/src/lib/translate/translate.utils.ts","../../../projects/pastanaga-angular/src/lib/translate/translate.service.ts","../../../projects/pastanaga-angular/src/lib/translate/translate.directive.ts","../../../projects/pastanaga-angular/src/lib/translate/translate.pipe.ts","../../../projects/pastanaga-angular/src/lib/translate/translate.module.ts","../../../projects/pastanaga-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/pastanaga-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/pastanaga-angular/src/lib/accordion/accordion.component.ts","../../../projects/pastanaga-angular/src/lib/avatar/avatar.utils.ts","../../../projects/pastanaga-angular/src/lib/tooltip/tooltip.component.ts","../../../projects/pastanaga-angular/src/lib/tooltip/tooltip.component.html","../../../projects/pastanaga-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/pastanaga-angular/src/lib/avatar/avatar.component.ts","../../../projects/pastanaga-angular/src/lib/avatar/avatar.component.html","../../../projects/pastanaga-angular/src/lib/tooltip/ellipsis-tooltip.directive.ts","../../../projects/pastanaga-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/pastanaga-angular/src/lib/avatar/avatar.module.ts","../../../projects/pastanaga-angular/src/lib/popup/popup.service.ts","../../../projects/pastanaga-angular/src/lib/popup/popup.component.ts","../../../projects/pastanaga-angular/src/lib/popup/popup.component.html","../../../projects/pastanaga-angular/src/lib/popup/popover/popover.component.ts","../../../projects/pastanaga-angular/src/lib/popup/popover/popover.component.html","../../../projects/pastanaga-angular/src/lib/popup/popup.directive.ts","../../../projects/pastanaga-angular/src/lib/breakpoint-observer/breakpoint.observer.ts","../../../projects/pastanaga-angular/src/lib/popup/popover/popover.directive.ts","../../../projects/pastanaga-angular/src/lib/popup/popup.module.ts","../../../projects/pastanaga-angular/src/lib/dropdown/dropdown.component.ts","../../../projects/pastanaga-angular/src/lib/dropdown/dropdown.component.html","../../../projects/pastanaga-angular/src/lib/dropdown/option-header/option-header.component.ts","../../../projects/pastanaga-angular/src/lib/dropdown/option/option.component.ts","../../../projects/pastanaga-angular/src/lib/dropdown/option/option.component.html","../../../projects/pastanaga-angular/src/lib/avatar-pile/avatar-pile.component.ts","../../../projects/pastanaga-angular/src/lib/avatar-pile/avatar-pile.component.html","../../../projects/pastanaga-angular/src/lib/dropdown/separator/separator.component.ts","../../../projects/pastanaga-angular/src/lib/dropdown/dropdown.module.ts","../../../projects/pastanaga-angular/src/lib/avatar-pile/avatar-pile.module.ts","../../../projects/pastanaga-angular/src/lib/card/card.component.ts","../../../projects/pastanaga-angular/src/lib/card/card.component.html","../../../projects/pastanaga-angular/src/lib/card/card.module.ts","../../../projects/pastanaga-angular/src/lib/chips/base-chip.ts","../../../projects/pastanaga-angular/src/lib/chips/chip-closeable/chip-closeable.component.ts","../../../projects/pastanaga-angular/src/lib/chips/chip-closeable/chip-closeable.component.html","../../../projects/pastanaga-angular/src/lib/chips/chip-selectionable/chip-selectionable.component.ts","../../../projects/pastanaga-angular/src/lib/chips/chip-selectionable/chip-selectionable.component.html","../../../projects/pastanaga-angular/src/lib/chips/chip-expandable/chip-expandable.component.ts","../../../projects/pastanaga-angular/src/lib/chips/chip-expandable/chip-expandable.component.html","../../../projects/pastanaga-angular/src/lib/chips/chip/chip.component.ts","../../../projects/pastanaga-angular/src/lib/chips/chip/chip.component.html","../../../projects/pastanaga-angular/src/lib/chips/chips.module.ts","../../../projects/pastanaga-angular/src/lib/controls/control.model.ts","../../../projects/pastanaga-angular/src/lib/controls/form-field.model.ts","../../../projects/pastanaga-angular/src/lib/controls/form-field.utils.ts","../../../projects/pastanaga-angular/src/lib/controls/form-field/form-field-hint/form-field-hint.component.ts","../../../projects/pastanaga-angular/src/lib/controls/form-field/form-field-hint/form-field-hint.component.html","../../../projects/pastanaga-angular/src/lib/controls/form-field/pa-form-control.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/form-field/form-field.module.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/text-field.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/text-field-utility.service.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/native-text-field.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/input-formatter.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/input/input.component.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/input/input.component.html","../../../projects/pastanaga-angular/src/lib/controls/toggles/checkbox/checkbox.component.ts","../../../projects/pastanaga-angular/src/lib/controls/toggles/checkbox/checkbox.component.html","../../../projects/pastanaga-angular/src/lib/controls/textfield/select/select-options/select-options.component.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/select/select-options/select-options.component.html","../../../projects/pastanaga-angular/src/lib/controls/textfield/select/select.component.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/select/select.component.html","../../../projects/pastanaga-angular/src/lib/controls/textfield/textarea/pa-textarea-auto-height.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/textarea/textarea.component.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/textarea/textarea.component.html","../../../projects/pastanaga-angular/src/lib/controls/toggles/radio/radio.component.ts","../../../projects/pastanaga-angular/src/lib/controls/toggles/radio/radio.component.html","../../../projects/pastanaga-angular/src/lib/controls/toggles/radio/radio-group.directive.ts","../../../projects/pastanaga-angular/src/lib/controls/toggles/toggle/toggle.component.ts","../../../projects/pastanaga-angular/src/lib/controls/toggles/toggle/toggle.component.html","../../../projects/pastanaga-angular/src/lib/controls/toggles/toggles.module.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/typeahead-select/typeahead-select.component.ts","../../../projects/pastanaga-angular/src/lib/controls/textfield/typeahead-select/typeahead-select.component.html","../../../projects/pastanaga-angular/src/lib/controls/textfield/text-field.module.ts","../../../projects/pastanaga-angular/src/lib/controls/slider/slider.component.ts","../../../projects/pastanaga-angular/src/lib/controls/slider/slider.component.html","../../../projects/pastanaga-angular/src/lib/controls/slider/slider.module.ts","../../../projects/pastanaga-angular/src/lib/date-picker/date-picker.component.ts","../../../projects/pastanaga-angular/src/lib/date-picker/date-picker.component.html","../../../projects/pastanaga-angular/src/lib/date-picker/date-picker.module.ts","../../../projects/pastanaga-angular/src/lib/datetime/datetime.service.ts","../../../projects/pastanaga-angular/src/lib/datetime/datetime.component.ts","../../../projects/pastanaga-angular/src/lib/datetime/datetime.component.html","../../../projects/pastanaga-angular/src/lib/datetime/datetime.module.ts","../../../projects/pastanaga-angular/src/lib/expander/expander.directive.ts","../../../projects/pastanaga-angular/src/lib/expander/expander.component.ts","../../../projects/pastanaga-angular/src/lib/expander/expander.component.html","../../../projects/pastanaga-angular/src/lib/expander/expander.module.ts","../../../projects/pastanaga-angular/src/lib/modal/modal.model.ts","../../../projects/pastanaga-angular/src/lib/modal/base-modal.component.ts","../../../projects/pastanaga-angular/src/lib/modal/confirmation-dialog/confirmation-dialog.component.ts","../../../projects/pastanaga-angular/src/lib/modal/confirmation-dialog/confirmation-dialog.component.html","../../../projects/pastanaga-angular/src/lib/scroll/scrollabe-container.directive.ts","../../../projects/pastanaga-angular/src/lib/modal/modal-advanced/modal-advanced.component.ts","../../../projects/pastanaga-angular/src/lib/modal/modal-advanced/modal-advanced.component.html","../../../projects/pastanaga-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/pastanaga-angular/src/lib/modal/modal-dialog/modal-dialog.component.html","../../../projects/pastanaga-angular/src/lib/modal/modal.directive.ts","../../../projects/pastanaga-angular/src/lib/scroll/infinite-scroll/infinite-scroll.component.ts","../../../projects/pastanaga-angular/src/lib/scroll/infinite-scroll/infinite-scroll.component.html","../../../projects/pastanaga-angular/src/lib/scroll/scroll.module.ts","../../../projects/pastanaga-angular/src/lib/modal/modal.module.ts","../../../projects/pastanaga-angular/src/lib/modal/modal.service.ts","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav-item/side-nav-item.component.ts","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav-item/side-nav-item.component.html","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav.component.ts","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav.component.html","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav.directive.ts","../../../projects/pastanaga-angular/src/lib/side-nav/side-nav.module.ts","../../../projects/pastanaga-angular/src/lib/table/table.component.ts","../../../projects/pastanaga-angular/src/lib/table/table.component.html","../../../projects/pastanaga-angular/src/lib/table/table.directives.ts","../../../projects/pastanaga-angular/src/lib/table/table.models.ts","../../../projects/pastanaga-angular/src/lib/table/table-cell/table-cell.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-cell/table-cell.component.html","../../../projects/pastanaga-angular/src/lib/table/table-row/table-row.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-row/table-row.component.html","../../../projects/pastanaga-angular/src/lib/table/table-row-header/table-row-header.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-row-header/table-row-header.component.html","../../../projects/pastanaga-angular/src/lib/table/table-cell-menu/table-cell-menu.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-cell-menu/table-cell-menu.component.html","../../../projects/pastanaga-angular/src/lib/table/table-sortable-header-cell/table-sortable-header-cell.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-sortable-header-cell/table-sortable-header-cell.component.html","../../../projects/pastanaga-angular/src/lib/table/table-sortable-header/table-sortable-header.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-sortable-header/table-sortable-header.component.html","../../../projects/pastanaga-angular/src/lib/table/table-lead-cell-multi-line/table-lead-cell-multi-line.component.ts","../../../projects/pastanaga-angular/src/lib/table/table-lead-cell-multi-line/table-lead-cell-multi-line.component.html","../../../projects/pastanaga-angular/src/lib/table/table.module.ts","../../../projects/pastanaga-angular/src/lib/tabs/tab-item.component.ts","../../../projects/pastanaga-angular/src/lib/tabs/tab-item.component.html","../../../projects/pastanaga-angular/src/lib/tabs/tabs-list.component.ts","../../../projects/pastanaga-angular/src/lib/tabs/tabs-list.component.html","../../../projects/pastanaga-angular/src/lib/tabs/tabs.module.ts","../../../projects/pastanaga-angular/src/lib/toast/toast.component.ts","../../../projects/pastanaga-angular/src/lib/toast/toast.component.html","../../../projects/pastanaga-angular/src/lib/toast/toast.module.ts","../../../projects/pastanaga-angular/src/lib/toast/toast.service.ts","../../../projects/pastanaga-angular/src/public-api.ts","../../../projects/pastanaga-angular/src/guillotinaweb-pastanaga-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, ViewRef } from '@angular/core';\n\nexport function trimString(value: string | null | undefined) {\n  return value?.trim() ?? '';\n}\n\n/**\n * CSS transition duration as defined in CSS\n */\nexport const TRANSITION_DURATION = {\n  superfast: 160,\n  fast: 240,\n  moderate: 480,\n  slow: 800,\n};\n\nexport const Keys = {\n  enter: 'Enter',\n  space: ' ',\n  backspace: 'Backspace',\n  esc: 'Escape',\n  tab: 'Tab',\n  arrowRight: 'ArrowRight',\n  arrowLeft: 'ArrowLeft',\n};\n\nexport type Size = 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';\nexport type Aspect = 'solid' | 'basic';\nexport type Kind = 'primary' | 'secondary' | 'inverted' | 'destructive';\n\nexport class PositionStyle {\n  position?: string;\n  left?: string;\n  right?: string;\n  top?: string;\n  bottom?: string;\n  width?: string;\n  transform?: string;\n}\n\nexport const markForCheck = (cdr: ChangeDetectorRef) => {\n  if (!(cdr as ViewRef).destroyed) {\n    cdr.markForCheck();\n  }\n};\n\nexport const detectChanges = (cdr: ChangeDetectorRef) => {\n  if (!(cdr as ViewRef).destroyed) {\n    cdr.detectChanges();\n  }\n};\n\nexport const getPositionedParent = (element: HTMLElement): HTMLElement => {\n  if (element.tagName === 'BODY') {\n    return element;\n  }\n  const style = getComputedStyle(element);\n  if (style.position !== 'static') {\n    return element;\n  } else {\n    const parent = element.parentElement;\n    return parent ? getPositionedParent(parent) : element;\n  }\n};\n\nexport function getFixedRootParent(element: HTMLElement): HTMLElement {\n  if (element.tagName === 'BODY') {\n    return element;\n  }\n  // an element with `position: fixed` will be positioned relatively to the viewport\n  // unless one of the ancestor has a property `transform`, `filter`, `perspective`\n  const style = getComputedStyle(element);\n  if (style.transform !== 'none' || style.perspective !== 'none' || style.filter !== 'none') {\n    return element;\n  } else {\n    const parent = element.parentElement;\n    return parent ? getFixedRootParent(parent) : element;\n  }\n}\n\nexport function getFixedRootParentIfAny(element: HTMLElement): HTMLElement | undefined {\n  const fixedRoot = getFixedRootParent(element);\n  return fixedRoot.tagName === 'BODY' ? undefined : fixedRoot;\n}\n\nexport function hasPositionFixedParent(element: HTMLElement): boolean {\n  const fixedParent = getPositionedParent(element);\n  return fixedParent.tagName !== 'BODY';\n}\n\nexport function getScrollableParent(element: HTMLElement): HTMLElement {\n  if (element.tagName === 'BODY') {\n    return element;\n  }\n  const style = getComputedStyle(element);\n  if (style.overflowY === 'auto' && element.scrollHeight > element.clientHeight) {\n    return element;\n  } else {\n    const parent = element.parentElement;\n    return parent ? getScrollableParent(parent) : element;\n  }\n}\n\nexport const getRealPosition = (element: HTMLElement): { top: number; left: number } => {\n  let tmp: HTMLElement | null = element;\n  let tagName = tmp.tagName.toLowerCase();\n  let top = 0;\n  let left = 0;\n\n  while (!!tmp && tagName !== 'body') {\n    top += tmp.offsetTop;\n    left += tmp.offsetLeft;\n    tmp = tmp.offsetParent as HTMLElement;\n    tagName = tmp.tagName.toLowerCase();\n  }\n\n  return { top, left };\n};\n\nexport const getVirtualScrollParentPosition = (element: HTMLElement): { bottom: number; right: number } | null => {\n  let tmp: HTMLElement = element;\n\n  while (\n    !!tmp &&\n    tmp.tagName.toLowerCase() !== 'body' &&\n    tmp.tagName.toLowerCase() !== 'cdk-virtual-scroll-page-viewport'\n  ) {\n    tmp = tmp.offsetParent as HTMLElement;\n  }\n\n  if (!!tmp && tmp.tagName.toLowerCase() === 'cdk-virtual-scroll-page-viewport') {\n    const pos = getRealPosition(tmp);\n    return {\n      bottom: pos.top + tmp.clientHeight,\n      right: pos.left + tmp.clientWidth,\n    };\n  } else {\n    return null;\n  }\n};\nexport function cssAsNumber(css: string) {\n  const num = !!css ? Number(css.replace('px', '')) : NaN;\n  return isNaN(num) ? 0 : num;\n}\n\nexport function isVisibleInViewport(element?: HTMLElement): boolean {\n  if (!element) {\n    return false;\n  }\n  const position = element.getBoundingClientRect();\n  return (\n    position.top >= 0 &&\n    position.left >= 0 &&\n    position.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n    position.right <= (window.innerWidth || document.documentElement.clientWidth)\n  );\n}\n","import { Observable, of } from 'rxjs';\nimport { SvgLoaderInterface } from './svg-loader.interface';\nimport { Injectable, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class SvgLoader implements SvgLoaderInterface {\n  loadSvgFromSsr(iconPath: string, renderer: Renderer2): Observable<SVGElement> {\n    console.error('You must provide a SSR implementation');\n    return of({} as SVGElement);\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  inject,\n  Inject,\n  InjectionToken,\n  Input,\n  PLATFORM_ID,\n  Renderer2,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { SvgIconRegistryService } from 'angular-svg-icon';\nimport { SvgLoader } from './svg-loader';\nimport { markForCheck, Size } from '../common';\nimport { IconModel } from './icon.model';\n\nexport const SPRITE_CACHE_VERSION = new InjectionToken<string>('Cache version used when loading SVG sprite', {\n  providedIn: 'root',\n  factory: () => '',\n});\n\n@Component({\n  selector: 'pa-icon',\n  templateUrl: './icon.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class IconComponent {\n  private readonly cacheVersion = inject(SPRITE_CACHE_VERSION);\n\n  @Input() set icon(value: IconModel | null | undefined) {\n    if (!value) {\n      return;\n    }\n    if (value.name) {\n      this.name = value.name;\n    } else if (value.path) {\n      this.path = value.path;\n    }\n    this.size = value.size;\n    this.color = value.color;\n    this.background = value.background;\n  }\n\n  @Input() set name(value: string) {\n    if (!!value) {\n      this._name = value;\n      this._spritePath = `assets/glyphs-sprite.svg${this.cacheVersion ? '?' + this.cacheVersion : ''}#${this._name}`;\n      this.updateStyle();\n    }\n  }\n  @Input() set path(value: string) {\n    this._path = value;\n    this._accessibilityName = value.substring(value.lastIndexOf('/') + 1, value.indexOf('.svg'));\n    this.updateSvg();\n  }\n  @Input() set size(value: Size | undefined) {\n    if (!!value) {\n      this._size = value;\n      this.updateSvg();\n    }\n  }\n  @Input() set color(value: string | undefined) {\n    if (!!value) {\n      this._color = value;\n      this.updateSvg();\n    }\n  }\n  @Input() set background(value: string | undefined) {\n    if (!!value) {\n      this._background = value;\n      this.updateSvg();\n    }\n  }\n\n  _name = '';\n  _accessibilityName = '';\n  _spritePath = '';\n  _path = '';\n  _size: Size = 'medium';\n  _color = '';\n  _background = '';\n  _styles = '';\n  _classes = '';\n\n  constructor(\n    private element: ElementRef,\n    private renderer: Renderer2,\n    private service: SvgIconRegistryService,\n    private svgLoader: SvgLoader,\n    @Inject(PLATFORM_ID) protected platformId: Object,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  private updateSvg() {\n    if (!!this._path) {\n      if (isPlatformBrowser(this.platformId)) {\n        this.service.loadSvg(this._path)?.subscribe((svg) => {\n          if (svg) {\n            this.setSvg(svg.cloneNode(true) as SVGElement);\n          }\n        });\n      } else {\n        this.svgLoader.loadSvgFromSsr(this._path, this.renderer).subscribe((svg) => {\n          this.setSvg(svg);\n        });\n      }\n    } else {\n      this.updateStyle();\n    }\n  }\n\n  private setSvg(icon: SVGElement) {\n    this.updateStyle();\n    const accessibilityTitle = this.renderer.createElement('title');\n    this.renderer.appendChild(accessibilityTitle, this.renderer.createText(this._accessibilityName));\n    this.renderer.insertBefore(icon, accessibilityTitle, icon.firstChild);\n    this.renderer.setAttribute(icon, 'class', this._classes);\n    this.renderer.setAttribute(icon, 'style', this._styles);\n    const elem = this.element.nativeElement;\n    elem.innerHTML = '';\n    this.renderer.appendChild(elem, icon);\n  }\n\n  private updateStyle() {\n    const classes: string[] = [`pa-${this._size}`];\n    const styles: string[] = [];\n\n    if (this._color) {\n      styles.push(`fill: ${this._color};`);\n    }\n\n    if (this._background) {\n      styles.push(`background: ${this._background};`);\n    }\n    this._classes = classes.join(' ');\n    this._styles = styles.join(' ');\n    markForCheck(this.cdr);\n  }\n}\n","@if (!!_name) {\n  <svg\n    [attr.class]=\"_classes\"\n    [style]=\"_styles\">\n    <use [attr.xlink:href]=\"_spritePath\"></use>\n  </svg>\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n  selector: '[paFocusable]',\n  standalone: false,\n})\nexport class FocusableDirective implements AfterViewInit, OnDestroy {\n  @Input() set paFocusDisabled(disabled: boolean) {\n    this._canFocus = !disabled;\n    this.setTabindex();\n  }\n  private _canFocus = true;\n  private _monitorSubscription?: Subscription;\n\n  constructor(\n    private _elementRef: ElementRef<HTMLElement>,\n    private _focusMonitor: FocusMonitor,\n    private renderer: Renderer2,\n  ) {}\n\n  ngAfterViewInit() {\n    this.renderer.addClass(this._elementRef.nativeElement, 'pa-no-browser-accessibility-styling');\n\n    this.setTabindex();\n\n    this._monitorSubscription = this._focusMonitor\n      .monitor(this._elementRef, this._elementRef.nativeElement.hasAttribute('cdkMonitorSubtreeFocus'))\n      .subscribe((origin) => {\n        if (origin === 'keyboard') {\n          this.renderer.addClass(this._elementRef.nativeElement, 'pa-keyboard-focus');\n        } else {\n          this.renderer.removeClass(this._elementRef.nativeElement, 'pa-keyboard-focus');\n        }\n      });\n  }\n\n  ngOnDestroy() {\n    this._focusMonitor.stopMonitoring(this._elementRef);\n\n    if (this._monitorSubscription) {\n      this._monitorSubscription.unsubscribe();\n    }\n  }\n\n  private setTabindex() {\n    this._elementRef.nativeElement.setAttribute('tabindex', this._canFocus ? '0' : '-1');\n  }\n}\n","import {\n  AfterContentInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { Aspect, Kind, Size, trimString } from '../common';\n\n@Component({\n  selector: 'pa-button',\n  templateUrl: './button.component.html',\n  styleUrls: ['./button.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ButtonComponent implements AfterContentInit {\n  @Input() kind: Kind = 'secondary';\n  @Input() size: Size = 'medium';\n  @Input() aspect: Aspect = 'solid';\n  @Input() type: 'button' | 'submit' | 'reset' = 'button';\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) active = false;\n  @Input({ transform: booleanAttribute }) iconAndText = false;\n  @Input({ transform: trimString }) icon = '';\n  @Input() iconSize?: Size;\n\n  @ViewChild('textContainer') textContainer?: ElementRef;\n\n  // accessibility\n  ariaLabel = '';\n\n  constructor(protected cdr: ChangeDetectorRef) {}\n\n  ngAfterContentInit() {\n    setTimeout(() => {\n      if (!!this.textContainer) {\n        this.ariaLabel = this.textContainer.nativeElement.textContent.trim();\n        this.cdr.detectChanges();\n      }\n    }, 0);\n  }\n\n  onClick($event: MouseEvent) {\n    if (!!$event && this.type !== 'submit') {\n      $event.preventDefault();\n    }\n  }\n\n  clickOnWrapper($event: MouseEvent) {\n    if (this.disabled) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    }\n  }\n}\n","<button\n  class=\"pa-button pa-{{ kind }} pa-{{ aspect }} pa-{{ size }}\"\n  paFocusable\n  [class.pa-active]=\"active\"\n  [class.pa-button-icon]=\"!!icon && !iconAndText\"\n  [class.pa-button-icon-text]=\"!!icon && iconAndText\"\n  [disabled]=\"disabled\"\n  [type]=\"type\"\n  [attr.aria-label]=\"ariaLabel\"\n  (click)=\"onClick($event)\">\n  <span\n    class=\"pa-button-wrapper\"\n    tabindex=\"-1\"\n    (click)=\"clickOnWrapper($event)\">\n    @if (!!icon) {\n      <pa-icon\n        [name]=\"icon\"\n        [size]=\"iconSize || size\"\n        [class.pa-icon-text]=\"iconAndText\"></pa-icon>\n    }\n    <span\n      #textContainer\n      class=\"pa-button-label\"\n      [class.pa-sr-only]=\"!!icon && !iconAndText\">\n      <ng-content></ng-content>\n    </span>\n  </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from './icon.component';\nimport { AngularSvgIconModule } from 'angular-svg-icon';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\n\n@NgModule({\n  imports: [CommonModule, AngularSvgIconModule],\n  declarations: [IconComponent],\n  exports: [IconComponent],\n  providers: [provideHttpClient(withInterceptorsFromDi())],\n})\nexport class PaIconModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { FocusableDirective } from './focusable.directive';\n\n@NgModule({\n  imports: [CommonModule, A11yModule],\n  exports: [FocusableDirective],\n  declarations: [FocusableDirective],\n})\nexport class PaFocusableModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { PaIconModule } from '../icon';\nimport { PaFocusableModule } from '../focusable';\n\n@NgModule({\n  imports: [CommonModule, PaIconModule, PaFocusableModule],\n  declarations: [ButtonComponent],\n  exports: [ButtonComponent],\n})\nexport class PaButtonModule {}\n","import { TranslationEntries } from '../translate.model';\n\nexport const I18N_EN: TranslationEntries = {\n  pastanaga: {\n    calendar: {\n      months: 'Months',\n      years: 'Years',\n      'invalid-format': 'Invalid date format',\n    },\n    cancel: 'Cancel',\n    close: 'Close',\n    collapse: 'Collapse',\n    confirm: 'Confirm',\n    datetime: {\n      'a-few-seconds-ago': 'Just now',\n      minutesAgo: '{{minutes}} mins ago',\n      'one-minute-ago': '1 min ago',\n      yesterday: 'Yesterday',\n      at: 'at',\n    },\n    'date-picker': {\n      label: 'Pick a date',\n    },\n    expand: 'Expand',\n    more: 'More',\n    show: 'Show {{type}}',\n    'sort-by': 'Sort by',\n    total: '{{count}} total {{type}}',\n  },\n};\n","import { FlattenTranslationEntries, Translation, TranslationEntries } from './translate.model';\n\nfunction deepMerge(from: TranslationEntries, to: TranslationEntries): TranslationEntries {\n  return Object.entries(from).reduce((all, [key, translation]) => {\n    if (!all[key]) {\n      all[key] = translation;\n    } else if (typeof all[key] !== 'string' && typeof translation !== 'string') {\n      all[key] = deepMerge(translation, all[key] as TranslationEntries);\n    }\n    return all;\n  }, to);\n}\n\nexport const mergeTranslations = (existing: Translation, translations: Translation[]) => {\n  translations.forEach((translation) =>\n    Object.entries(translation).forEach(\n      ([lang, entries]) => (existing[lang] = deepMerge(entries, existing[lang] || {})),\n    ),\n  );\n};\n\nexport const formatTranslationEntries = (entries: TranslationEntries): FlattenTranslationEntries => {\n  return flattenEntry('', entries);\n};\n\nconst flattenEntry = (rootKey: string, entry: TranslationEntries): FlattenTranslationEntries => {\n  let flattenEntries: FlattenTranslationEntries = {};\n  Object.entries(entry).forEach(([key, value]) => {\n    const flattenKey = !!rootKey ? `${rootKey}.${key}` : key;\n    if (typeof value === 'string') {\n      flattenEntries[flattenKey] = value;\n    } else {\n      const flattenResult = flattenEntry(flattenKey, value);\n      flattenEntries = { ...flattenEntries, ...flattenResult };\n    }\n  });\n  return flattenEntries;\n};\n","import { EventEmitter, Inject, Injectable, InjectionToken } from '@angular/core';\nimport { FlattenTranslation, Translation, TranslationEntries } from './translate.model';\nimport { formatTranslationEntries, mergeTranslations } from './translate.utils';\n\nexport const PA_LANG = new InjectionToken<string>('pastanaga.lang', {\n  factory: () => '',\n});\n\nexport const PA_TRANSLATIONS = new InjectionToken<Translation>('pastanaga.translations', {\n  factory: () => ({}),\n});\n\nexport interface TranslationChangeEvent {\n  translations: any;\n  lang: string;\n}\n\nconst HTML_TAG_DELIMITERS = new RegExp(/[<>]/gim);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class TranslateService {\n  private _currentLang: string;\n  private readonly _flattenTranslations: FlattenTranslation = {};\n  private _onTranslationChange: EventEmitter<TranslationChangeEvent> = new EventEmitter<TranslationChangeEvent>();\n\n  defaultLang = 'en_US';\n\n  get onTranslationChange(): EventEmitter<TranslationChangeEvent> {\n    return this._onTranslationChange;\n  }\n\n  get flattenTranslations() {\n    return this._flattenTranslations;\n  }\n\n  set currentLang(language: string) {\n    this._currentLang = language;\n  }\n  get currentLang() {\n    return this._currentLang;\n  }\n\n  /**\n   * Keeping for backward compatibility\n   * @param language\n   */\n  set currentLanguage(language: string) {\n    this._currentLang = language;\n  }\n  get currentLanguage() {\n    return this._currentLang;\n  }\n\n  constructor(\n    @Inject(PA_LANG) private injectedLang: any,\n    @Inject(PA_TRANSLATIONS) private translations: Translation,\n  ) {\n    this._currentLang = injectedLang;\n\n    if (Object.keys(translations).length > 0) {\n      this._flattenTranslations = Object.entries(translations).reduce((langMap, [lang, entries]) => {\n        langMap[lang] = formatTranslationEntries(entries as Translation);\n        return langMap;\n      }, {} as FlattenTranslation);\n    }\n  }\n\n  initTranslationsAndUse(lang: string, translation: TranslationEntries) {\n    const flattenTranslations = formatTranslationEntries(translation);\n    mergeTranslations(this._flattenTranslations, [{ [lang]: flattenTranslations }]);\n    this.use(lang);\n  }\n\n  use(lang: string) {\n    this.currentLang = lang;\n    this.onTranslationChange.emit({ lang: this.currentLang, translations: this.flattenTranslations });\n  }\n\n  getValue(key: string, args?: any): string {\n    if (!!args && typeof args !== 'object') {\n      throw new Error('Translation parameter must be an object');\n    }\n    let value =\n      (this.flattenTranslations[this.currentLang] || {})[key] ||\n      (this.flattenTranslations[this.defaultLang] || {})[key];\n    if (!!value && !!args) {\n      Object.keys(args).forEach((param) => {\n        let paramValue = args[param];\n        if (typeof paramValue === 'string') {\n          paramValue = paramValue.replace(HTML_TAG_DELIMITERS, (c) => '&#' + c.charCodeAt(0) + ';');\n        }\n        value = value.replace(new RegExp(`{{${param}}}`, 'g'), paramValue);\n      });\n    }\n    return value || key;\n  }\n}\n","import { Directive, ElementRef, Input, AfterViewChecked, OnDestroy } from '@angular/core';\nimport { TranslateService, TranslationChangeEvent } from './translate.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n  selector: '[translate]',\n  standalone: false,\n})\nexport class TranslateDirective implements AfterViewChecked, OnDestroy {\n  key = '';\n  lastParams?: any;\n  currentParams?: any;\n  onTranslationChange?: Subscription;\n\n  @Input() set translate(key: string) {\n    if (key) {\n      this.key = key;\n      this.checkNodes();\n    }\n  }\n  @Input() set translateParams(params: any) {\n    if (!this.areEquals(this.currentParams, params)) {\n      this.currentParams = params;\n      this.checkNodes(true);\n    }\n  }\n\n  constructor(\n    private element: ElementRef,\n    private translateService: TranslateService,\n  ) {\n    if (!this.onTranslationChange) {\n      this.onTranslationChange = this.translateService.onTranslationChange.subscribe(\n        (event: TranslationChangeEvent) => {\n          if (event.lang === this.translateService.currentLang) {\n            this.checkNodes(true);\n          }\n        },\n      );\n    }\n  }\n\n  ngAfterViewChecked() {\n    this.checkNodes();\n  }\n\n  ngOnDestroy() {\n    this._cleanUpSubscriptions();\n  }\n\n  checkNodes(forceUpdate = false) {\n    let nodes: NodeList = this.element.nativeElement.childNodes;\n    // if the element is empty\n    if (!nodes.length) {\n      // we add the key as content\n      this.setContent(this.element.nativeElement, this.key);\n      nodes = this.element.nativeElement.childNodes;\n    }\n    for (let i = 0; i < nodes.length; ++i) {\n      const node: any = nodes[i];\n      // node type 3 is a text node\n      if (node.nodeType === 3) {\n        const key = this.getKeyAndUpdateNode(forceUpdate, node);\n        this.updateValue(key, node);\n      }\n    }\n  }\n\n  private getKeyAndUpdateNode(forceUpdate: boolean, node: any) {\n    let key = '';\n    if (this.key) {\n      key = this.key;\n      if (forceUpdate) {\n        node.lastKey = null;\n      }\n    } else {\n      const content = this.getContent(node);\n      const trimmedContent = content.trim();\n      if (trimmedContent.length) {\n        if (content !== node.currentValue) {\n          key = trimmedContent;\n          node.originalContent = this.getContent(node);\n        } else if (node.originalContent && forceUpdate) {\n          node.lastKey = null;\n          key = node.originalContent.trim();\n        }\n      }\n    }\n    return key;\n  }\n\n  updateValue(key: string, node: any) {\n    if (key) {\n      if (node.lastKey === key && !!this.lastParams && this.areEquals(this.lastParams, this.currentParams)) {\n        return;\n      }\n\n      this.lastParams = this.currentParams;\n\n      const translate = this.translateService.getValue(key, this.currentParams);\n      if (translate !== key) {\n        node.lastKey = key;\n      }\n      if (!node.originalContent) {\n        node.originalContent = this.getContent(node);\n      }\n      node.currentValue = !!translate ? translate : node.originalContent || key;\n      // we replace in the original content to preserve spaces that we might have trimmed\n      this.setContent(node, this.key ? node.currentValue : node.originalContent.replace(key, node.currentValue));\n    }\n  }\n\n  getContent(node: HTMLElement): string {\n    return node.textContent || '';\n  }\n\n  setContent(node: HTMLElement, content: string): void {\n    node.textContent = content;\n  }\n\n  areEquals(obj1: any, obj2: any): boolean {\n    return JSON.stringify(obj1) === JSON.stringify(obj2);\n  }\n\n  private _cleanUpSubscriptions() {\n    if (typeof this.onTranslationChange !== 'undefined') {\n      this.onTranslationChange.unsubscribe();\n      this.onTranslationChange = undefined;\n    }\n  }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService, TranslationChangeEvent } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { markForCheck } from '../common';\n\n@Pipe({\n  name: 'translate',\n  pure: false,\n  standalone: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n  lastKey?: string;\n  lastParams?: string;\n  value: string | undefined = '';\n\n  onTranslationChange?: Subscription;\n\n  constructor(\n    private translateService: TranslateService,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngOnDestroy() {\n    this._cleanUpSubscriptions();\n  }\n\n  transform(key?: string, args?: any): string {\n    if (!key) {\n      return '';\n    }\n    // if we ask another time for the same key, return the last value\n    if (key === this.lastKey && args === this.lastParams) {\n      return this.value as string;\n    }\n    this.lastKey = key;\n    this.lastParams = args;\n\n    this.updateValue(key, args);\n\n    // subscribe to onTranslationChange event, in case the translations change\n    if (!this.onTranslationChange) {\n      this.onTranslationChange = this.translateService.onTranslationChange.subscribe(\n        (event: TranslationChangeEvent) => {\n          if (this.lastKey && event.lang === this.translateService.currentLanguage) {\n            this.lastKey = undefined;\n            this.updateValue(key, args);\n          }\n        },\n      );\n    }\n\n    return this.value || '';\n  }\n\n  private updateValue(key: string, args: any) {\n    this.value = this.translateService.getValue(key, args);\n    if (!!this.value) {\n      markForCheck(this.cdr);\n    }\n  }\n\n  private _cleanUpSubscriptions(): void {\n    if (typeof this.onTranslationChange !== 'undefined') {\n      this.onTranslationChange.unsubscribe();\n      this.onTranslationChange = undefined;\n    }\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslateDirective } from './translate.directive';\nimport { Translation } from './translate.model';\nimport { mergeTranslations } from './translate.utils';\nimport { PA_TRANSLATIONS } from './translate.service';\n\nconst _TRANSLATIONS: Translation = {};\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [TranslatePipe, TranslateDirective],\n  declarations: [TranslatePipe, TranslateDirective],\n  providers: [TranslatePipe],\n})\nexport class PaTranslateModule {\n  static addTranslations(newTranslations: Translation[]): ModuleWithProviders<PaTranslateModule> {\n    mergeTranslations(_TRANSLATIONS, newTranslations);\n    return {\n      ngModule: PaTranslateModule,\n      providers: [\n        {\n          provide: PA_TRANSLATIONS,\n          useFactory: () => _TRANSLATIONS,\n        },\n      ],\n    };\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  inject,\n  Input,\n  Output,\n} from '@angular/core';\nimport { PaButtonModule } from '../../button';\nimport { PaTranslateModule } from '../../translate';\n\n@Directive({\n  selector: 'pa-accordion-item-body',\n  standalone: true,\n})\nexport class AccordionBodyDirective {}\n\n@Directive({\n  selector: 'pa-accordion-item-extra-description',\n  standalone: true,\n})\nexport class AccordionExtraDescriptionDirective {}\n\n@Component({\n  selector: 'pa-accordion-item',\n  standalone: true,\n  imports: [PaButtonModule, PaTranslateModule],\n  templateUrl: './accordion-item.component.html',\n  styleUrl: './accordion-item.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionItemComponent implements AfterViewInit {\n  private cdr = inject(ChangeDetectorRef);\n  private elementRef = inject(ElementRef);\n\n  @Input({ required: true }) id = '';\n  @Input({ required: true }) itemTitle = '';\n  @Input() description = '';\n  @Input({ transform: booleanAttribute }) expanded = false;\n  @Input({ transform: booleanAttribute }) noBorders = false;\n  @Input({ transform: booleanAttribute }) small = false;\n\n  @Output() expandedChange = new EventEmitter<boolean>();\n\n  @ContentChild(AccordionBodyDirective, { read: ElementRef }) itemContent?: ElementRef;\n  @HostBinding('class.pa-accordion-collapsed') get collapsed() {\n    return !this.expanded;\n  }\n  @HostBinding('class.pa-accordion-with-borders') get withBorders() {\n    return !this.noBorders;\n  }\n\n  ngAfterViewInit() {\n    this.updateContentHeight();\n  }\n\n  toggleAccordion() {\n    this.expandedChange.emit(!this.expanded);\n  }\n\n  updateContentHeight() {\n    setTimeout(() => {\n      this.elementRef.nativeElement.style.setProperty(\n        '--contentHeight',\n        `${this.itemContent?.nativeElement.getBoundingClientRect().height}px`,\n      );\n      this.cdr.detectChanges();\n    });\n  }\n}\n","<div\n  class=\"pa-accordion-item-header\"\n  (click)=\"toggleAccordion()\">\n  <pa-button\n    class=\"pa-accordion-button\"\n    [class.small]=\"small\"\n    icon=\"chevron-right\"\n    aspect=\"basic\"\n    iconSize=\"medium\"\n    [size]=\"small ? 'small' : 'medium'\"\n    (click)=\"$event.stopPropagation(); toggleAccordion()\">\n    {{ (expanded ? 'pastanaga.collapse' : 'pastanaga.expand') | translate }}\n  </pa-button>\n  <div class=\"pa-accordion-item-title\">\n    <div [class]=\"small ? 'title-xs' : 'title-m'\">{{ itemTitle }}</div>\n    <div\n      class=\"body-s\"\n      [innerHTML]=\"description\"></div>\n    <div>\n      <ng-content select=\"pa-accordion-item-extra-description\"></ng-content>\n    </div>\n  </div>\n</div>\n\n<div class=\"pa-accordion-item-body\">\n  <ng-content select=\"pa-accordion-item-body\"></ng-content>\n</div>\n","import {\n  AfterContentInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Component({\n  selector: 'pa-accordion',\n  standalone: true,\n  imports: [],\n  template: `\n    <ng-content></ng-content>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionComponent implements AfterContentInit, OnDestroy {\n  private unsubscribeAll = new Subject<void>();\n\n  @Input({ transform: booleanAttribute }) allowMultipleExpanded = false;\n  @Input({ transform: booleanAttribute }) noBorders = false;\n  @Input({ transform: booleanAttribute }) small = false;\n\n  @Output() toggleAccordion = new EventEmitter<void>();\n\n  @ContentChildren(AccordionItemComponent) items?: QueryList<AccordionItemComponent>;\n\n  ngAfterContentInit() {\n    this.accordionItemsUpdated();\n    this.items?.changes.subscribe(() => this.accordionItemsUpdated());\n  }\n\n  ngOnDestroy() {\n    this.unsubscribeAll.next();\n    this.unsubscribeAll.complete();\n  }\n\n  private accordionItemsUpdated() {\n    this.unsubscribeAll.next();\n    this.items?.forEach((item) => {\n      item.noBorders = this.noBorders;\n      item.small = this.small;\n      item.expandedChange.pipe(takeUntil(this.unsubscribeAll)).subscribe((expanded) => {\n        item.expanded = expanded;\n        this.toggleAccordion.emit();\n        if (!this.allowMultipleExpanded && expanded) {\n          this.items?.forEach((otherItem) => {\n            if (otherItem.id !== item.id) {\n              otherItem.expanded = false;\n            }\n          });\n        }\n      });\n    });\n  }\n}\n","const AVATAR_COLORS = ['primary', 'secondary', 'tertiary'];\n\nexport const getInitials = (username: string): string => {\n  let initials = '—';\n  if (!!username.trim()) {\n    const usernameWords: string[] = username\n      .trim()\n      .split(' ')\n      .map((word) => getValidLanguageText(word));\n    initials =\n      usernameWords.length >= 2\n        ? getValidLanguageText(usernameWords[0]).charAt(0) + getValidLanguageText(usernameWords[1]).charAt(0)\n        : getValidLanguageText(usernameWords[0]).substring(0, 2);\n  }\n  return initials;\n};\n\nexport const getValidLanguageText = (text: string): string => {\n  // tslint:disable-next-line:max-line-length\n  const regex =\n    /([\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]+)/g;\n  const match = text.match(regex);\n  return match !== null ? match[0] : '-';\n};\n\nexport const getAvatarColor = (id: string): string => {\n  const colorIndex = hash(id) % AVATAR_COLORS.length;\n  return AVATAR_COLORS[colorIndex];\n};\n\n/**\n * Code coming from https://github.com/darkskyapp/string-hash\n * This hashing function returns a number between 0 and 4294967295 (inclusive).\n */\nexport const hash = (str: string): number => {\n  let _hash = 5381;\n  let i = str.length;\n\n  while (i) {\n    // tslint:disable-next-line:no-bitwise\n    _hash = (_hash * 33) ^ str.charCodeAt(--i);\n  }\n\n  /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n   * integers. Since we want the results to be always positive, convert the\n   * signed int to an unsigned by doing an unsigned bitshift. */\n  // tslint:disable-next-line:no-bitwise\n  return _hash >>> 0;\n};\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { detectChanges, markForCheck } from '../common';\nimport { WINDOW } from '@ng-web-apis/common';\n\nconst ACTION_SPACING = 8;\nconst SYSTEM_SPACING = 16;\n\n@Component({\n  selector: 'pa-tooltip-element',\n  templateUrl: './tooltip.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TooltipComponent implements AfterViewInit {\n  @Input() text?: string;\n  @Input() id?: string;\n\n  isAction = false;\n  height = 0;\n  width = 0;\n  left = 0;\n  top = 0;\n  offset = 0;\n\n  @ViewChild('tooltipText') tooltipText?: ElementRef;\n\n  constructor(\n    public cdr: ChangeDetectorRef,\n    @Inject(WINDOW) private window: any, // we need `any` so the non-Ivy compilation do not break when building the lib bundle\n  ) {}\n\n  ngAfterViewInit() {\n    this.show();\n  }\n\n  show() {\n    if (!!this.tooltipText) {\n      this.tooltipText.nativeElement.style.left = this.getLeftPosition() + 'px';\n      this.tooltipText.nativeElement.style.top = this.getTopPosition() + 'px';\n      this.adjustPosition(); // once position set, check if too far horizontally or vertically\n      this.tooltipText.nativeElement.setAttribute('aria-expanded', true);\n      detectChanges(this.cdr);\n    }\n  }\n\n  hide() {\n    if (!!this.tooltipText) {\n      this.tooltipText.nativeElement.setAttribute('aria-expanded', false);\n      markForCheck(this.cdr);\n    }\n  }\n\n  private getLeftPosition(): number {\n    if (this.isAction && !!this.tooltipText) {\n      const tooltipWidth = this.tooltipText.nativeElement.offsetWidth;\n      return this.left + this.width / 2 - tooltipWidth / 2;\n    } else {\n      return this.left + SYSTEM_SPACING;\n    }\n  }\n\n  private getTopPosition(): number {\n    if (this.isAction) {\n      return this.top + this.height + ACTION_SPACING + this.offset - this.window.scrollY;\n    } else {\n      return this.top + SYSTEM_SPACING + this.offset - this.window.scrollY;\n    }\n  }\n\n  private adjustPosition() {\n    if (!!this.tooltipText) {\n      const rect = this.tooltipText.nativeElement.getBoundingClientRect();\n      let left: number = parseInt(this.tooltipText.nativeElement.style.left.replace('px', ''), 10);\n      const spacing = this.isAction ? ACTION_SPACING : SYSTEM_SPACING;\n      if (rect.right > this.window.innerWidth) {\n        left = left - (rect.right - this.window.innerWidth) - spacing;\n        this.tooltipText.nativeElement.style.left = `${left}px`;\n      }\n      if (rect.bottom > this.window.innerHeight) {\n        let top: number = parseInt(this.tooltipText.nativeElement.style.top.replace('px', ''), 10);\n        top = top - (rect.bottom - this.window.innerHeight) - spacing;\n        this.tooltipText.nativeElement.style.top = `${top}px`;\n        this.tooltipText.nativeElement.style.left = `${left + spacing + this.width / 2 + rect.width / 2}px`;\n      }\n    }\n  }\n}\n","@if (text) {\n  <small\n    #tooltipText\n    role=\"tooltip\"\n    class=\"pa-tooltip body-xs\"\n    [id]=\"id\"\n    [class.pa-tooltip-system]=\"!isAction\"\n    translate>\n    {{ text }}\n  </small>\n}\n","import {\n  ComponentRef,\n  Directive,\n  ElementRef,\n  HostListener,\n  Input,\n  numberAttribute,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\nimport { getFixedRootParent, markForCheck, trimString } from '../common';\nimport { BehaviorSubject } from 'rxjs';\n\nconst SYSTEM = 'system';\nconst ACTION = 'action';\n\nlet nextId = 0;\n\n@Directive({\n  selector: '[paTooltip]',\n  standalone: false,\n})\nexport class TooltipDirective {\n  @Input({ alias: 'paTooltip', transform: trimString }) text: string | undefined = '';\n  @Input({ alias: 'paTooltipType' }) type: 'system' | 'action' = ACTION;\n  @Input({ alias: 'paTooltipOffset', transform: numberAttribute }) offset = 0;\n\n  id = '';\n  isDisplayed = new BehaviorSubject(false);\n  rootParent?: HTMLElement;\n  private component?: ComponentRef<TooltipComponent>;\n\n  constructor(\n    private element: ElementRef,\n    private viewContainerRef: ViewContainerRef,\n    private renderer: Renderer2,\n  ) {}\n\n  @HostListener('focusin', ['$event'])\n  focus(event: MouseEvent | any) {\n    // do not show tooltip if focus has been triggered programmatically\n    if (event.sourceCapabilities) {\n      this.startDisplay(event);\n    }\n  }\n\n  @HostListener('mouseenter', ['$event'])\n  enter(event: MouseEvent) {\n    this.startDisplay(event);\n  }\n\n  @HostListener('mousemove', ['$event'])\n  move(event: MouseEvent) {\n    if (!!this.text && this.isDisplayed.value && this.type === SYSTEM) {\n      const position = this.getFixedPosition(event);\n      this.show(position[0], position[1]);\n    }\n  }\n\n  startDisplay(event: MouseEvent) {\n    if (!!this.text && !this.isDisplayed.value) {\n      const position = this.getFixedPosition(event);\n      if (!this.component) {\n        this.createTooltip(position[0], position[1], position[2], position[3]);\n      } else {\n        this.show(position[0], position[1]);\n      }\n      this.isDisplayed.next(true);\n    }\n  }\n\n  show(x: number, y: number) {\n    if (!!this.component) {\n      this.component.instance.left = x || 0;\n      this.component.instance.top = y || 0;\n      this.component.instance.text = this.text;\n      this.component.instance.show();\n    }\n  }\n\n  createTooltip(x: number, y: number, width: number, height: number) {\n    this.id = `pa-tooltip-${nextId++}`;\n    this.element.nativeElement.setAttribute('aria-describedby', this.id);\n\n    this.component = this.viewContainerRef.createComponent(TooltipComponent);\n    this.component.instance.id = this.id;\n    this.component.instance.text = this.text;\n    this.component.instance.isAction = this.type === ACTION;\n    this.component.instance.left = x || 0;\n    this.component.instance.top = y || 0;\n    this.component.instance.offset = this.offset || 0;\n    this.component.instance.width = width;\n    this.component.instance.height = height;\n\n    this.renderer.appendChild(this.viewContainerRef.element.nativeElement, this.component.location.nativeElement);\n    markForCheck(this.component.instance.cdr);\n  }\n\n  @HostListener('focusout')\n  @HostListener('mouseleave')\n  @HostListener('mousedown')\n  hide(): void {\n    if (!!this.component) {\n      this.component.instance.hide();\n    }\n    this.isDisplayed.next(false);\n  }\n\n  getFixedPosition(event: MouseEvent): [number, number, number, number] {\n    const rect = this.element.nativeElement.getBoundingClientRect();\n    let position: [number, number, number, number];\n    if (this.type === ACTION) {\n      position = [rect.left, rect.top, rect.width, rect.height];\n    } else if (event.type === 'focusin') {\n      position = [rect.right, rect.bottom, rect.width, rect.height];\n    } else {\n      position = [event.clientX, event.clientY, rect.width, rect.height];\n    }\n    if (!this.rootParent) {\n      this.rootParent = getFixedRootParent(this.element.nativeElement);\n    }\n    const rootRect = this.rootParent.getBoundingClientRect();\n    return [position[0] - rootRect.left, position[1] - rootRect.top, position[2], position[3]];\n  }\n}\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport { getAvatarColor, getInitials } from './avatar.utils';\nimport { Observable } from 'rxjs';\nimport { detectChanges, trimString } from '../common';\nimport { AvatarModel } from './avatar.model';\n\n@Component({\n  selector: 'pa-avatar',\n  templateUrl: './avatar.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class AvatarComponent implements OnChanges {\n  @Input() set avatar(value: AvatarModel | undefined | null) {\n    if (value?.userName) {\n      this.userName = value.userName;\n      this._initials = getInitials(value.userName);\n    }\n    if (value?.userId) {\n      this.userId = value.userId;\n    }\n    if (value?.imageSrc) {\n      this.imageSrc = value.imageSrc;\n    }\n    if (value?.size) {\n      this.size = value.size;\n    }\n    if (value?.image) {\n      this.image = value.image;\n    }\n    if (typeof value?.autoBackground === 'boolean') {\n      this.autoBackground = value?.autoBackground;\n      this.assignBackgroundColor();\n    }\n  }\n\n  @Input({ transform: trimString }) userId = '';\n  @Input({ transform: trimString }) userName = '';\n  @Input({ transform: booleanAttribute }) autoBackground = false;\n  @Input() size: 'tiny' | 'small' | 'medium' | 'huge' = 'medium';\n\n  @Input()\n  set image(value: Observable<Blob> | null | undefined) {\n    if (!!value) {\n      this.loadImage(value);\n    } else {\n      this._base64Image = undefined;\n    }\n  }\n\n  @Input()\n  set imageSrc(value: string | null | undefined) {\n    this._base64Image = value || undefined;\n  }\n\n  @Input()\n  set tooltip(value: string) {\n    this._tooltip = value || '';\n  }\n  get tooltip() {\n    return this._tooltip || this.userName || '';\n  }\n\n  get base64Image() {\n    return this._base64Image;\n  }\n  get backgroundColorClass() {\n    return this._backgroundColorClass;\n  }\n  get initials() {\n    return this._initials;\n  }\n\n  private _initials = '';\n  private _base64Image?: string;\n  private _backgroundColorClass?: string;\n  private _tooltip = '';\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['autoBackground'] || changes['userId'] || changes['userName']) {\n      this.assignBackgroundColor();\n    }\n    if (changes['userName']) {\n      const value = changes['userName'].currentValue;\n      this._initials = !!value ? getInitials(value) : '';\n    }\n  }\n\n  loadImage(obs: Observable<Blob>) {\n    obs.subscribe((blob: Blob) => {\n      if (blob.size > 0) {\n        const reader = new FileReader();\n        reader.addEventListener(\n          'load',\n          () => {\n            this._base64Image = reader.result as string;\n            detectChanges(this.cdr);\n          },\n          false,\n        );\n        reader.readAsDataURL(blob);\n      } else {\n        this._base64Image = '';\n        detectChanges(this.cdr);\n      }\n    });\n  }\n\n  private assignBackgroundColor() {\n    let backgroundColor = 'default';\n    if (this.autoBackground) {\n      let id: string;\n      if (this.userId) {\n        id = this.userId;\n      } else {\n        id = this.userName ? this.userName : this._initials;\n      }\n      backgroundColor = getAvatarColor(id);\n    }\n    this._backgroundColorClass = `pa-avatar-${backgroundColor}`;\n  }\n}\n","<span\n  class=\"pa-avatar pa-avatar-{{ size }}\"\n  [class.no-avatar]=\"!initials\"\n  [paTooltip]=\"tooltip\">\n  @if (base64Image) {\n    <img\n      [src]=\"base64Image\"\n      alt=\"avatar\"\n      class=\"pa-avatar-img\" />\n  } @else {\n    @if (!!initials || !!userId) {\n      <abbr class=\"pa-avatar-initials {{ backgroundColorClass }}\">\n        <span>{{ initials }}</span>\n      </abbr>\n    }\n  }\n</span>\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Host,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport { TooltipDirective } from './tooltip.directive';\n\n@Directive({\n  selector: '[paEllipsisTooltip]',\n  standalone: false,\n})\nexport class ExtendedTooltipDirective extends TooltipDirective {}\n\n@Directive({\n  selector: '[paEllipsisTooltip]',\n  standalone: false,\n})\nexport class EllipsisTooltipDirective implements AfterViewInit, OnChanges, OnDestroy {\n  @Input() paEllipsisContent?: string;\n  @Input({ transform: booleanAttribute }) noEllipsis?: string;\n\n  @Output() hasEllipsis: EventEmitter<boolean> = new EventEmitter();\n\n  private _hasEllipsis = false;\n\n  resizeObserver: ResizeObserver = new ResizeObserver(() => this.updateEllipsisTooltip());\n\n  constructor(\n    @Host() public tooltipDirective: ExtendedTooltipDirective,\n    private element: ElementRef,\n  ) {}\n\n  ngAfterViewInit() {\n    if (!this.noEllipsis) {\n      this.element.nativeElement.style.setProperty('overflow', 'hidden');\n      this.element.nativeElement.style.setProperty('text-overflow', 'ellipsis');\n      this.element.nativeElement.style.setProperty('white-space', 'nowrap');\n      if (this.element.nativeElement.offsetWidth === 0) {\n        this.resizeObserver.observe(this.element.nativeElement);\n      } else {\n        this.updateEllipsisTooltip();\n      }\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.noEllipsis) {\n      const currentValue = changes['paEllipsisContent']?.currentValue;\n      if (!!currentValue && !changes['paEllipsisContent'].firstChange) {\n        setTimeout(() => {\n          const previousValue = changes['paEllipsisContent']?.previousValue;\n          this.updateEllipsisTooltip(!!previousValue && currentValue !== previousValue);\n        }, 0);\n      }\n    }\n  }\n\n  ngOnDestroy() {\n    this.resizeObserver.disconnect();\n  }\n\n  updateEllipsisTooltip(textChanged = false) {\n    const hasEllipsis = this.element.nativeElement.offsetWidth < this.element.nativeElement.scrollWidth;\n    if (!this._hasEllipsis) {\n      this._hasEllipsis = hasEllipsis;\n\n      if (this._hasEllipsis) {\n        this.tooltipDirective.type = 'system';\n        this.tooltipDirective.text = this.element.nativeElement.innerText;\n      }\n      this.hasEllipsis.emit(this._hasEllipsis);\n    } else {\n      if (this.element.nativeElement.offsetWidth > 0 && !hasEllipsis) {\n        this._hasEllipsis = hasEllipsis;\n        this.hasEllipsis.emit(this._hasEllipsis);\n      }\n      if (textChanged) {\n        this.tooltipDirective.text = this.element.nativeElement.innerText;\n      }\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipComponent } from './tooltip.component';\nimport { PaTranslateModule } from '../translate';\nimport { TooltipDirective } from './tooltip.directive';\nimport { EllipsisTooltipDirective, ExtendedTooltipDirective } from './ellipsis-tooltip.directive';\n\n@NgModule({\n  declarations: [TooltipComponent, TooltipDirective, EllipsisTooltipDirective, ExtendedTooltipDirective],\n  exports: [TooltipComponent, TooltipDirective, EllipsisTooltipDirective, ExtendedTooltipDirective],\n  imports: [CommonModule, PaTranslateModule],\n})\nexport class PaTooltipModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvatarComponent } from './avatar.component';\nimport { PaTooltipModule } from '../tooltip';\n\n@NgModule({\n  declarations: [AvatarComponent],\n  exports: [AvatarComponent],\n  imports: [CommonModule, PaTooltipModule],\n})\nexport class PaAvatarModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { PositionStyle } from '../common';\n\n@Injectable({ providedIn: 'root' })\nexport class PopupService {\n  closeAllPopups: Subject<void> = new Subject<void>();\n  closeAllButId: Subject<string> = new Subject<string>();\n  closeAllSubMenu: Subject<void> = new Subject<void>();\n  lastPosition?: PositionStyle;\n}\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n} from '@angular/core';\nimport { PopupService } from './popup.service';\nimport { detectChanges, getVirtualScrollParentPosition, markForCheck, PositionStyle } from '../common';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nlet nextId = 0;\nexport const POPUP_OFFSET = 4;\n\n@Component({\n  selector: 'pa-popup',\n  templateUrl: './popup.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class PopupComponent implements OnInit, OnDestroy {\n  @Input() id?: string;\n  @Input() companionElement?: any;\n  @Input({ transform: booleanAttribute }) adjustHeight = false;\n  @Input({ transform: booleanAttribute }) dontAdjustPosition = false;\n  @Input({ transform: booleanAttribute }) keepOthersOpen = false;\n  @Input({ transform: booleanAttribute }) stayVisible = false;\n  // sameWidth is used in dropdowns to prevent adding a max-width when it's not needed\n  @Input({ transform: booleanAttribute }) sameWidth = false;\n\n  @Output() onClose: EventEmitter<boolean> = new EventEmitter();\n  @Output() onOpen: EventEmitter<void> = new EventEmitter();\n\n  popupType: 'popup' | 'dropdown' | 'menu' = 'popup';\n  isDisplayed = false;\n  style?: any;\n  popupHolder?: HTMLElement;\n\n  private _id = '';\n  private _handlers: (() => void)[] = [];\n  private _originalHeight = 0;\n  protected _terminator = new Subject<void>();\n\n  constructor(\n    protected popupService: PopupService,\n    protected renderer: Renderer2,\n    protected element: ElementRef,\n    protected cdr: ChangeDetectorRef,\n  ) {\n    this.popupService.closeAllPopups\n      .pipe(\n        filter(() => this.popupType === 'popup' || this.popupType === 'menu'),\n        takeUntil(this._terminator),\n      )\n      .subscribe(() => this.close());\n\n    this.popupService.closeAllButId\n      .pipe(\n        filter((id) => id !== this._id),\n        takeUntil(this._terminator),\n      )\n      .subscribe(() => this.close());\n  }\n\n  ngOnInit() {\n    this._id = !this.id ? `${this.popupType}-${nextId++}` : `${this.id}-${this.popupType}`;\n    this.isDisplayed = this.stayVisible;\n  }\n\n  ngOnDestroy() {\n    this.unListen();\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  show(style: PositionStyle) {\n    if (!this.keepOthersOpen && this._id) {\n      this.popupService.closeAllButId.next(this._id);\n    }\n    this.style = style;\n    this.isDisplayed = true;\n    this.onOpen.emit();\n    if (!this.stayVisible) {\n      this._handlers.push(this.renderer.listen('document', 'click', (event) => this.onOutsideClick(event)));\n      this._handlers.push(this.renderer.listen('document', 'keyup.esc', () => this.close()));\n    }\n\n    markForCheck(this.cdr);\n    this.adjustPosition();\n  }\n\n  updatePosition(style: PositionStyle) {\n    this.style = style;\n    markForCheck(this.cdr);\n  }\n\n  private adjustPosition() {\n    window.setTimeout(() => {\n      if ((!this.dontAdjustPosition || this.adjustHeight) && !this.adjust()) {\n        const interval = window.setInterval(() => {\n          if (this.adjust()) {\n            window.clearInterval(interval);\n          }\n        }, 200);\n      }\n    }, 0);\n  }\n\n  adjust(): boolean {\n    if (!this.element.nativeElement) {\n      return false;\n    }\n    let isAdjusted = false;\n    const element: HTMLElement = this.element.nativeElement.firstElementChild;\n    const rect = element.getBoundingClientRect();\n    if (rect.height <= 12) {\n      // menu is still empty\n      return false;\n    } else {\n      this._originalHeight = this._originalHeight || rect.height;\n    }\n    const { bottom, right } = getVirtualScrollParentPosition(element) || {\n      bottom: window.innerHeight,\n      right: window.innerWidth,\n    };\n    const diffX = rect.left + rect.width - right;\n    const diffY = rect.top + this._originalHeight - bottom;\n    if (!this.dontAdjustPosition) {\n      isAdjusted = this._adjustPosition(element, rect, diffX, diffY);\n    } else if (this.adjustHeight && diffY > 0) {\n      element.style.maxHeight = `${this._originalHeight - diffY - POPUP_OFFSET}px`;\n      isAdjusted = true;\n    }\n    if (isAdjusted) {\n      markForCheck(this.cdr);\n    }\n    return true;\n  }\n\n  private _adjustPosition(element: HTMLElement, rect: DOMRect, diffX: number, diffY: number): boolean {\n    if (diffX > 0) {\n      element.style.left = `calc(${element.style.left} - ${diffX}px)`;\n      return true;\n    } else if (rect.left < 0) {\n      element.style.left = `0px`;\n      return true;\n    }\n    if (diffY > 0) {\n      const currentTop = element.style.top || '';\n      const holderHeight = this.popupHolder?.clientHeight || 0;\n      if (currentTop.endsWith('px') && parseInt(currentTop.slice(0, -2), 10) > this._originalHeight + holderHeight) {\n        // enough space above, we display the dropdown on top\n        element.style.top = `calc(${currentTop} - ${this._originalHeight}px - ${holderHeight}px - ${POPUP_OFFSET * 2}px)`;\n        return true;\n      } else if (!!currentTop) {\n        // not enough space, we just align the dropdown bottom with the parent bottom\n        element.style.top = `calc(${currentTop} - ${diffY}px)`;\n        return true;\n      }\n    }\n    return false;\n  }\n\n  close(byClickingOutside?: boolean) {\n    if (!this.stayVisible && this.isDisplayed) {\n      this.isDisplayed = false;\n      this.unListen();\n      this.onClose.emit(byClickingOutside);\n      // detectChanges instead of markForCheck because this method can be called from an observable\n      detectChanges(this.cdr);\n    }\n  }\n\n  onOutsideClick(event: MouseEvent) {\n    if (\n      !this.element.nativeElement.contains(event.target) &&\n      (!this.companionElement || !this.companionElement.contains(event.target))\n    ) {\n      this.popupService.closeAllSubMenu.next();\n      this.close(true);\n    }\n  }\n\n  unListen() {\n    this._handlers.forEach((fn) => fn());\n    this._handlers = [];\n  }\n}\n","<div\n  class=\"pa-popup\"\n  [class.pa-hidden]=\"!isDisplayed\"\n  [ngStyle]=\"style\">\n  <div class=\"pa-popup-wrapper\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  OnInit,\n  Renderer2,\n} from '@angular/core';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { PopupComponent } from '../popup.component';\nimport { PopupService } from '../popup.service';\nimport { markForCheck } from '../../common';\n\nexport const spacer = 8;\n\n@Component({\n  selector: 'pa-popover',\n  templateUrl: './popover.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class PopoverComponent extends PopupComponent implements OnInit {\n  popoverHolder?: HTMLElement;\n\n  constructor(\n    public override popupService: PopupService,\n    public override renderer: Renderer2,\n    public override element: ElementRef,\n    public override cdr: ChangeDetectorRef,\n    @Inject(WINDOW) private window: any, // we need `any` so the non-Ivy compilation do not break when building the lib bundle\n  ) {\n    super(popupService, renderer, element, cdr);\n  }\n\n  override ngOnInit() {\n    super.ngOnInit();\n  }\n\n  override adjust() {\n    const popover = this.getPopoverElement();\n    const popoverRect = popover.getBoundingClientRect();\n    const holderRect: DOMRect =\n      this.popoverHolder?.getBoundingClientRect() ||\n      ({\n        top: 0,\n        bottom: 0,\n        right: 0,\n        left: 0,\n        height: 0,\n        width: 0,\n      } as DOMRect);\n\n    this.renderer.removeClass(popover, 'arrow-left');\n    this.renderer.removeClass(popover, 'arrow-right');\n    this.renderer.removeClass(popover, 'arrow-top');\n\n    const rightDiff = this.window.innerWidth - popoverRect.right;\n    if (this.window.innerHeight < popoverRect.bottom) {\n      if (rightDiff < popoverRect.width && popoverRect.left >= 0) {\n        this.moveToLeft(popover, holderRect);\n      } else {\n        this.moveToRight(popover, holderRect);\n      }\n    } else if (rightDiff < 0) {\n      this.moveToLeft(popover, holderRect);\n    } else if (popoverRect.left < 0) {\n      this.moveToRight(popover, holderRect);\n    } else {\n      this.renderer.addClass(popover, 'arrow-top');\n    }\n\n    this.renderer.addClass(popover, 'pa-visible');\n    markForCheck(this.cdr);\n    return true;\n  }\n\n  override close(byClickingOutside?: boolean) {\n    this.renderer.removeClass(this.getPopoverElement(), 'pa-visible');\n    super.close(byClickingOutside);\n  }\n\n  private moveToLeft(popup: any, holderRect: DOMRect) {\n    const translateX = `calc(-100% - ${spacer}px)`;\n    const translateY = `calc(-50% - ${holderRect.height}px/2)`;\n    this.style = {\n      ...this.style,\n      transform: `translateX(${translateX}) translateY(${translateY})`,\n    };\n    this.renderer.addClass(popup, 'arrow-right');\n  }\n\n  private moveToRight(popup: any, holderRect: DOMRect) {\n    const translateX = `${holderRect.width + spacer}px`;\n    const translateY = `calc(-50% - ${holderRect.height}px/2)`;\n    this.style = {\n      ...this.style,\n      transform: `translateX(${translateX}) translateY(${translateY})`,\n    };\n    this.renderer.addClass(popup, 'arrow-left');\n  }\n\n  private getPopoverElement() {\n    return this.element.nativeElement.firstElementChild;\n  }\n}\n","<div\n  class=\"pa-popup pa-popover\"\n  [hidden]=\"!isDisplayed\"\n  [ngStyle]=\"style\">\n  <div class=\"pa-popup-wrapper\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import {\n  booleanAttribute,\n  Directive,\n  ElementRef,\n  HostListener,\n  Input,\n  numberAttribute,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  SimpleChanges,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\nimport { getFixedRootParentIfAny, PositionStyle } from '../common';\nimport { POPUP_OFFSET, PopupComponent } from './popup.component';\n\n@Directive({\n  selector: '[paPopup]',\n  exportAs: 'paPopupRef',\n  standalone: false,\n})\nexport class PopupDirective implements OnInit, OnChanges, OnDestroy {\n  @Input()\n  set paPopup(popup: PopupComponent | undefined | null) {\n    if (popup) {\n      popup.popupHolder = this.element.nativeElement;\n    }\n    this._paPopup = popup;\n  }\n  get paPopup() {\n    return this._paPopup;\n  }\n  @Input() popupPosition?: PositionStyle;\n  @Input({ transform: numberAttribute }) popupVerticalOffset = POPUP_OFFSET;\n  @Input({ transform: booleanAttribute }) alignPopupOnLeft = false;\n  @Input({ transform: booleanAttribute }) popupOnTop = false;\n  @Input({ transform: booleanAttribute }) popupOnRight = false;\n  @Input({ transform: booleanAttribute }) sameWidth = false;\n  @Input({ transform: booleanAttribute }) popupDisabled = false;\n  @Input({ transform: booleanAttribute }) openOnly = false;\n\n  private _paPopup?: PopupComponent | null;\n  private _handlers: (() => void)[] = [];\n  private _scrollOrResize = new Subject<Event>();\n  private _terminator = new Subject<void>();\n  private _hasFixedRootParent?: boolean;\n  private _fixedRootParent?: HTMLElement;\n  private _fixedRootParentChecked = false;\n\n  constructor(\n    private element: ElementRef,\n    private renderer: Renderer2,\n  ) {}\n\n  ngOnInit() {\n    this.element.nativeElement.setAttribute('aria-haspopup', true);\n\n    this.paPopup?.onClose.pipe(takeUntil(this._terminator)).subscribe(() => {\n      this.removeActiveStateFromParentButton();\n      this.unListen();\n    });\n\n    this._scrollOrResize\n      .pipe(throttleTime(10), takeUntil(this._terminator))\n      .subscribe(() => this.paPopup?.updatePosition(this.getPosition()));\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (this.popupOnRight && this.alignPopupOnLeft) {\n      console.warn(\n        `Incompatible parameters: alignPopupOnLeft and popupOnRight cannot be used at the same time. alignPopupOnLeft is taking precedence.`,\n      );\n    }\n\n    if (changes['sameWidth'] && this.paPopup) {\n      this.paPopup.sameWidth = changes['sameWidth'].currentValue;\n    }\n  }\n\n  ngOnDestroy() {\n    this.unListen();\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  @HostListener('click', ['$event'])\n  onClick($event: MouseEvent) {\n    if (!this.popupDisabled) {\n      this.toggle();\n    }\n    if ($event instanceof MouseEvent) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    }\n  }\n\n  toggle() {\n    if (!!this.paPopup) {\n      if (this.paPopup.isDisplayed && !this.openOnly) {\n        this.paPopup.close();\n      } else {\n        const position: PositionStyle = !!this.popupPosition ? this.popupPosition : this.getPosition();\n        this.paPopup.show(position);\n        this._handlers.push(this.renderer.listen('document', 'scroll', (event) => this._scrollOrResize.next(event)));\n        this._handlers.push(this.renderer.listen('window', 'resize', (event) => this._scrollOrResize.next(event)));\n        this.addActiveStateOnParentButton();\n      }\n    }\n  }\n\n  getPosition(): PositionStyle {\n    const directiveElement: HTMLElement = this.element.nativeElement;\n    const directiveRect = directiveElement.getBoundingClientRect();\n\n    let top: number;\n    let bottom: number;\n    let containerRect: DOMRect | undefined;\n\n    const parentElement: HTMLElement | null = directiveElement.parentElement;\n    if (this._hasFixedRootParent === undefined && !this._fixedRootParentChecked) {\n      this._fixedRootParent = parentElement ? getFixedRootParentIfAny(parentElement) : undefined;\n      this._hasFixedRootParent = !!this._fixedRootParent;\n      this._fixedRootParentChecked = true;\n    }\n    if (this._hasFixedRootParent && !!this._fixedRootParent) {\n      // when a parent has a fixed position (or a property `transform`, `filter`, `perspective`),\n      // the `position: fixed` is relative to the container and not to the window anymore\n      containerRect = this._fixedRootParent.getBoundingClientRect();\n\n      const scrollTop = this._fixedRootParent.scrollTop;\n      top = directiveRect.top - containerRect.top + scrollTop + directiveRect.height + this.popupVerticalOffset;\n      // popup on top cannot be computed with container-size because it would require the popup height which is not set at this moment\n      // in this case we keep the popup below the directive\n      bottom = this.popupVerticalOffset * -1;\n    } else {\n      top = directiveRect.top + directiveRect.height + this.popupVerticalOffset;\n      bottom = window.innerHeight - directiveRect.top - window.scrollY + this.popupVerticalOffset;\n    }\n\n    const position: PositionStyle = {\n      position: 'fixed',\n      top: !this.popupOnTop ? `${top}px` : undefined,\n      bottom: this.popupOnTop ? `${bottom}px` : undefined,\n      width: this.sameWidth ? directiveRect.right - directiveRect.left + 'px' : undefined,\n    };\n\n    const bodyRect = document.body.getBoundingClientRect();\n    if (this.alignPopupOnLeft) {\n      position.left = !!containerRect ? `${directiveRect.left - containerRect.left}px` : `${directiveRect.left}px`;\n    } else if (this.popupOnRight) {\n      position.left = !!containerRect\n        ? `${directiveRect.left - containerRect.left + directiveRect.width}px`\n        : `${directiveRect.right}px`;\n    } else {\n      position.right = !!containerRect\n        ? `${containerRect.right - directiveRect.right}px`\n        : `${bodyRect.right - directiveRect.right}px`;\n    }\n\n    return position;\n  }\n\n  private unListen() {\n    this._handlers.forEach((fn) => fn());\n    this._handlers = [];\n  }\n\n  private addActiveStateOnParentButton() {\n    if (this.element.nativeElement.tagName.toLowerCase() === 'pa-button') {\n      this.renderer.addClass(this.element.nativeElement.children[0], 'pa-active');\n    }\n  }\n\n  private removeActiveStateFromParentButton() {\n    if (this.element.nativeElement.tagName.toLowerCase() === 'pa-button' && !this.elementIsSetToActive()) {\n      this.renderer.removeClass(this.element.nativeElement.children[0], 'pa-active');\n    }\n  }\n\n  /**\n   * Check if element (like pa-button) was set to active programmatically.\n   * @private\n   */\n  private elementIsSetToActive() {\n    const ngActive = this.element.nativeElement.getAttribute('ng-reflect-active');\n    return ngActive === 'true' || ngActive === '';\n  }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { fromEvent, Observable } from 'rxjs';\nimport { distinctUntilChanged, shareReplay, startWith, map } from 'rxjs/operators';\nimport { WINDOW } from '@ng-web-apis/common';\n\nexport enum ViewportSize {\n  small = 0,\n  medium = 600,\n  large = 1024,\n  xLarge = 1440,\n}\n\nexport namespace ViewportSize {\n  export function values(): ViewportSize[] {\n    return [ViewportSize.small, ViewportSize.medium, ViewportSize.large, ViewportSize.xLarge];\n  }\n}\n\nexport type ViewportMode = 'desktop' | 'tablet' | 'mobile';\n\n@Injectable({ providedIn: 'root' })\nexport class BreakpointObserver {\n  currentMode: Observable<ViewportMode>;\n  currentMinSize: Observable<ViewportSize>;\n  currentMaxSize: Observable<ViewportSize>;\n\n  constructor(\n    @Inject(WINDOW) private window: any, // we need `any` so the non-Ivy compilation do not break when building the lib bundle\n  ) {\n    this.currentMinSize = this.watchViewportSize(this.findMinSize.bind(this));\n    this.currentMaxSize = this.watchViewportSize(this.findMaxSize.bind(this));\n    this.currentMode = this.currentMinSize.pipe(\n      map((viewportSize) => {\n        switch (viewportSize) {\n          case ViewportSize.medium:\n            return 'tablet';\n          case ViewportSize.small:\n            return 'mobile';\n          default:\n            return 'desktop';\n        }\n      }),\n    );\n  }\n\n  private watchViewportSize(findSize: () => ViewportSize): Observable<ViewportSize> {\n    return fromEvent(this.window, 'resize').pipe(\n      startWith(findSize()),\n      map(() => findSize()),\n      distinctUntilChanged(),\n      shareReplay(1),\n    );\n  }\n\n  private findMinSize(): ViewportSize {\n    const matchingSizes: ViewportSize[] = ViewportSize.values().filter((size: ViewportSize) => {\n      const query = `(min-width: ${size}px)`;\n      return this.window.matchMedia(query).matches;\n    });\n    return matchingSizes[matchingSizes.length - 1] || ViewportSize.small;\n  }\n\n  private findMaxSize(): ViewportSize {\n    const matchingSizes: ViewportSize[] = ViewportSize.values().filter((size: ViewportSize) => {\n      const query = `(max-width: ${size - 1}px)`;\n      return this.window.matchMedia(query).matches;\n    });\n    return matchingSizes[0] || ViewportSize.xLarge;\n  }\n}\n","import { Directive, ElementRef, Host, HostListener, Inject, Input, OnDestroy } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, take, takeUntil } from 'rxjs/operators';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { PopoverComponent } from './popover.component';\nimport { PopupDirective } from '../popup.directive';\nimport { BreakpointObserver, ViewportMode } from '../../breakpoint-observer';\nimport { PositionStyle } from '../../common';\n\n@Directive({\n  selector: '[paPopover]',\n  standalone: false,\n})\nexport class ExtendedPopupDirective extends PopupDirective {}\n\n@Directive({\n  selector: '[paPopover]',\n  exportAs: 'paPopoverRef',\n  standalone: false,\n})\nexport class PopoverDirective implements OnDestroy {\n  @Input()\n  set paPopover(popover: PopoverComponent | undefined) {\n    if (popover) {\n      popover.popoverHolder = this.element.nativeElement;\n    }\n    this.popupDirective.paPopup = popover;\n  }\n\n  @Input()\n  set paPopoverOffset(value: string) {\n    if (value) {\n      this._offset = value;\n    }\n  }\n  get offset() {\n    return this._offset;\n  }\n\n  private _offset = '8px';\n  private _terminator = new Subject<void>();\n\n  isVisibleOnHover: Observable<boolean> = this.breakpoint.currentMode.pipe(\n    map((mode) => mode === 'desktop'),\n    takeUntil(this._terminator),\n  );\n  mode?: ViewportMode;\n\n  constructor(\n    @Host() public popupDirective: ExtendedPopupDirective,\n    private element: ElementRef,\n    private breakpoint: BreakpointObserver,\n    @Inject(WINDOW) private window: any, // we need `any` so the non-Ivy compilation do not break when building the lib bundle\n  ) {\n    breakpoint.currentMode.pipe(takeUntil(this._terminator)).subscribe((mode) => (this.mode = mode));\n  }\n\n  ngOnDestroy() {\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  toggle() {\n    if (!this.popupDirective.popupDisabled) {\n      if (!this.popupDirective.paPopup?.isDisplayed) {\n        this.popupDirective.paPopup?.show(this.getPosition());\n      } else {\n        this.popupDirective.paPopup.close();\n      }\n    }\n  }\n\n  @HostListener('click', ['$event'])\n  onClick($event: MouseEvent) {\n    $event.stopPropagation();\n    $event.preventDefault();\n    this.popupDirective.popupPosition = this.getPosition();\n  }\n\n  @HostListener('mouseenter')\n  onHover() {\n    this.isVisibleOnHover\n      .pipe(\n        filter((onHoverEnabled) => onHoverEnabled),\n        take(1),\n        takeUntil(this._terminator),\n      )\n      .subscribe(() => {\n        if (!this.popupDirective.popupDisabled && !this.popupDirective.paPopup?.isDisplayed) {\n          this.popupDirective.paPopup?.show(this.getPosition());\n        }\n      });\n  }\n\n  @HostListener('mouseleave')\n  onLeave() {\n    this.isVisibleOnHover\n      .pipe(\n        filter((onHoverEnabled) => onHoverEnabled),\n        take(1),\n        takeUntil(this._terminator),\n      )\n      .subscribe(() => {\n        if (!this.popupDirective.popupDisabled && !!this.popupDirective.paPopup?.isDisplayed) {\n          this.popupDirective.paPopup.close();\n        }\n      });\n  }\n\n  private getPosition(): PositionStyle {\n    const rectOrigin = this.element.nativeElement.getBoundingClientRect();\n    const top = rectOrigin.bottom;\n    const translateX = `calc(-50% + ${rectOrigin.width}px/2)`;\n    const translateY = this._offset;\n    return {\n      position: 'fixed',\n      top: `${top}px`,\n      left: `${rectOrigin.left}px`,\n      transform: `translateX(${translateX}) translateY(${translateY})`,\n    };\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopupDirective } from './popup.directive';\nimport { PopupComponent } from './popup.component';\nimport { PopoverComponent } from './popover/popover.component';\nimport { ExtendedPopupDirective, PopoverDirective } from './popover/popover.directive';\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [PopupComponent, PopupDirective, PopoverComponent, PopoverDirective, ExtendedPopupDirective],\n  declarations: [PopupComponent, PopupDirective, PopoverComponent, PopoverDirective, ExtendedPopupDirective],\n})\nexport class PaPopupModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n} from '@angular/core';\nimport { PopupComponent, PopupService } from '../popup';\nimport { getScrollableParent, hasPositionFixedParent } from '../common';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n  selector: 'pa-dropdown',\n  templateUrl: './dropdown.component.html',\n  styleUrls: ['./dropdown.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class DropdownComponent extends PopupComponent implements AfterViewInit, OnInit, OnDestroy {\n  @Input()\n  set role(value: 'listbox' | 'menu') {\n    this._role = value || 'menu';\n    this.popupType = value !== 'menu' ? 'dropdown' : 'menu';\n  }\n  get role(): 'listbox' | 'menu' {\n    return this._role;\n  }\n\n  private _role: 'listbox' | 'menu' = 'menu';\n\n  private _hasFixedRootParent?: boolean;\n  private _fixedRootParentChecked = false;\n  private _scrollableParent?: HTMLElement;\n\n  private readonly scrollEventListener;\n\n  constructor(\n    protected override popupService: PopupService,\n    protected override renderer: Renderer2,\n    protected override element: ElementRef,\n    protected override cdr: ChangeDetectorRef,\n  ) {\n    super(popupService, renderer, element, cdr);\n    this.popupType = 'menu';\n    this.scrollEventListener = this.onScroll.bind(this);\n  }\n\n  ngAfterViewInit() {\n    if (this._hasFixedRootParent === undefined && !this._fixedRootParentChecked) {\n      const parentElement: HTMLElement | null = this.element.nativeElement.parentElement;\n      this._hasFixedRootParent = !!parentElement && hasPositionFixedParent(parentElement);\n      this._fixedRootParentChecked = true;\n\n      if (parentElement && this._hasFixedRootParent) {\n        // Make sure we wait for the full template to be enabled before getting the scrollable parent\n        setTimeout(() => {\n          this._scrollableParent = getScrollableParent(parentElement);\n        }, 0);\n      }\n    }\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n    this.onOpen.pipe(takeUntil(this._terminator)).subscribe(() => {\n      if (this._scrollableParent) {\n        this._scrollableParent.addEventListener('scroll', this.scrollEventListener);\n      }\n    });\n    this.onClose.pipe(takeUntil(this._terminator)).subscribe(() => {\n      if (this._scrollableParent) {\n        this._scrollableParent.removeEventListener('scroll', this.scrollEventListener);\n      }\n    });\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n  }\n\n  private onScroll() {\n    if (this.isDisplayed) {\n      this.close();\n    }\n  }\n}\n","<div\n  class=\"pa-popup\"\n  [hidden]=\"!isDisplayed\"\n  [ngStyle]=\"style\">\n  <div\n    class=\"pa-popup-wrapper\"\n    [class.no-max-width]=\"sameWidth\">\n    <ul\n      class=\"pa-menu\"\n      [attr.role]=\"role\">\n      <ng-content></ng-content>\n    </ul>\n  </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'pa-option-header',\n  template: `\n    <li\n      class=\"pa-option-header\"\n      role=\"presentation\">\n      <ng-content></ng-content>\n    </li>\n  `,\n  styleUrls: ['./option-header.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class OptionHeaderComponent {}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n} from '@angular/core';\nimport { PopupService } from '../../popup';\nimport { trimString } from '../../common';\nimport { IconModel } from '../../icon';\nimport { AvatarModel } from '../../avatar';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nfunction iconAttribute(value: string | IconModel | null | undefined): IconModel | null | undefined {\n  if (typeof value === 'string') {\n    return !!value ? { name: value } : null;\n  } else {\n    return value;\n  }\n}\n\n@Component({\n  selector: 'pa-option',\n  templateUrl: './option.component.html',\n  styleUrls: ['./option.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class OptionComponent implements AfterViewInit {\n  @Input({ transform: booleanAttribute }) destructive = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) dontCloseOnSelect = false;\n  @Input({ transform: booleanAttribute }) iconOnRight = false;\n  @Input({ transform: booleanAttribute }) readonly = false;\n  @Input({ transform: trimString }) description = '';\n  @Input({ transform: trimString }) value = '';\n  @Input({ transform: iconAttribute }) icon?: IconModel;\n  @Input() avatar?: AvatarModel;\n\n  @Input()\n  set selected(value: any) {\n    this._selected = coerceBooleanProperty(value);\n    // when selected is triggered programmatically by a parent component\n    // change detection must be triggered manually\n    // (as of angular v17, cannot be done in a transform function nor in ngOnChanges)\n    this.cdr.markForCheck();\n  }\n  get selected(): boolean {\n    return this._selected;\n  }\n  private _selected = false;\n\n  @Output() selectOption: EventEmitter<MouseEvent | KeyboardEvent> = new EventEmitter<MouseEvent | KeyboardEvent>();\n\n  text = '';\n\n  constructor(\n    private element: ElementRef,\n    private popupService: PopupService,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterViewInit() {\n    this.text = this.element.nativeElement.textContent.trim();\n    this.cdr.markForCheck();\n  }\n\n  onSelectClick($event: MouseEvent) {\n    this.onSelect($event);\n  }\n  onSelectEnter($event: Event) {\n    this.onSelect($event as KeyboardEvent);\n  }\n\n  onSelect($event: MouseEvent | KeyboardEvent) {\n    if (!this.disabled && !this.readonly) {\n      this.selectOption.emit($event);\n\n      if (!this.dontCloseOnSelect) {\n        this.popupService.closeAllPopups.next();\n      }\n    } else {\n      $event.stopPropagation();\n      $event.preventDefault();\n    }\n  }\n}\n","<li\n  class=\"pa-option\"\n  role=\"menuitem\"\n  paFocusable\n  [paFocusDisabled]=\"disabled || readonly\"\n  [class.pa-option-destructive]=\"destructive\"\n  [class.pa-option-disabled]=\"disabled\"\n  [class.pa-option-readonly]=\"readonly\"\n  [class.pa-option-selected]=\"selected\"\n  [class.pa-option-with-description]=\"!!description\"\n  (click)=\"onSelectClick($event)\"\n  (keyup.enter)=\"onSelectEnter($event)\">\n  @if (!!icon && !iconOnRight) {\n    <pa-icon [icon]=\"icon\"></pa-icon>\n  }\n  @if (!!avatar) {\n    <pa-avatar\n      [avatar]=\"avatar\"\n      size=\"small\"></pa-avatar>\n  }\n\n  <div\n    class=\"pa-option-text-wrapper\"\n    [class.smaller-wrapper]=\"!!icon || !!avatar\">\n    <div\n      class=\"pa-option-content body-m\"\n      paEllipsisTooltip\n      [paEllipsisContent]=\"text\">\n      <ng-content></ng-content>\n    </div>\n    @if (!!description) {\n      <div\n        class=\"pa-option-description body-xs\"\n        paEllipsisTooltip>\n        {{ description | translate }}\n      </div>\n    }\n  </div>\n\n  @if (!!icon && iconOnRight) {\n    <pa-icon\n      [class.pa-option-right-icon]=\"iconOnRight\"\n      [icon]=\"icon\"></pa-icon>\n  }\n</li>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AvatarModel } from '../avatar';\nimport { TranslatePipe } from '../translate';\n\n@Component({\n  selector: 'pa-avatar-pile',\n  templateUrl: './avatar-pile.component.html',\n  styleUrls: ['./avatar-pile.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class AvatarPileComponent {\n  readonly max = 3;\n\n  @Input()\n  set avatars(value: AvatarModel[]) {\n    if (!!value) {\n      this._avatars = value;\n    }\n  }\n  get avatars() {\n    return this._avatars;\n  }\n\n  @Input({ transform: booleanAttribute }) customButton = false;\n  @Input({ transform: booleanAttribute }) buttonAlwaysVisible = false;\n\n  @Input()\n  set buttonTooltip(value: string) {\n    this._buttonTooltip = value;\n  }\n  get buttonTooltip() {\n    return this._buttonTooltip || this.translate.transform('pastanaga.show', { type: this.avatarCount + ' members' });\n  }\n\n  @Output() clickOnMore: EventEmitter<void> = new EventEmitter();\n\n  get visibleAvatars() {\n    return this._avatars.slice(0, this.max);\n  }\n  get avatarCount() {\n    return this._avatars.length;\n  }\n  get buttonPositionCount() {\n    return Math.min(this._avatars.length, this.max);\n  }\n\n  private _avatars: AvatarModel[] = [];\n  private _buttonTooltip = '';\n\n  constructor(private translate: TranslatePipe) {}\n\n  onClick() {\n    this.clickOnMore.emit();\n  }\n}\n","<div class=\"pa-avatar-pile\">\n  @for (avatar of visibleAvatars; track avatar; let first = $first; let last = $last) {\n    <pa-avatar\n      [class.pa-avatar-moved]=\"!first\"\n      [class.pa-avatar-clip]=\"!last || avatarCount > max || buttonAlwaysVisible\"\n      [avatar]=\"avatar\"\n      size=\"small\"></pa-avatar>\n  }\n\n  @if (avatarCount > max || buttonAlwaysVisible) {\n    <pa-button\n      icon=\"more-horizontal\"\n      size=\"small\"\n      qa=\"more-avatars-button\"\n      class=\"pa-avatar-pile-button-with-{{ buttonPositionCount }}\"\n      [paPopup]=\"customButton ? null : avatarList\"\n      [paTooltip]=\"buttonTooltip\"\n      (click)=\"onClick()\">\n      {{ 'pastanaga.more' | translate }}\n    </pa-button>\n\n    <pa-dropdown #avatarList>\n      <pa-option-header>{{ 'pastanaga.total' | translate: { count: avatarCount, type: 'members' } }}</pa-option-header>\n      @for (avatar of avatars; track avatar) {\n        <pa-option\n          readonly\n          [avatar]=\"avatar\"\n          [description]=\"avatar.userId\">\n          {{ avatar.userName }}\n        </pa-option>\n      }\n    </pa-dropdown>\n  }\n</div>\n\n<svg\n  class=\"pa-avatar-clip-mask\"\n  width=\"0\"\n  height=\"0\">\n  <clipPath id=\"avatar-mask\">\n    <path\n      d=\"M26.5835 4.00009C23.7627 1.51058 20.0576 0 16 0C7.16357 0 0 7.16344 0 16C0 24.8366 7.16357 32 16 32C20.0576 32 23.7627 30.4894 26.5835 27.9999C23.7334 24.8154 22 20.6101 22 16C22 11.3899 23.7334 7.18462 26.5835 4.00009Z\" />\n  </clipPath>\n</svg>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'pa-separator',\n  template: `\n    <li\n      class=\"pa-separator\"\n      role=\"separator\"></li>\n  `,\n  styleUrls: ['separator.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SeparatorComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaPopupModule } from '../popup';\nimport { PaIconModule } from '../icon';\n\nimport { DropdownComponent } from './dropdown.component';\nimport { OptionComponent } from './option/option.component';\nimport { SeparatorComponent } from './separator/separator.component';\nimport { OptionHeaderComponent } from './option-header/option-header.component';\nimport { PaFocusableModule } from '../focusable';\nimport { PaAvatarModule } from '../avatar';\nimport { PaTooltipModule } from '../tooltip';\nimport { PaTranslateModule } from '../translate';\n\nconst COMPONENTS = [DropdownComponent, OptionHeaderComponent, OptionComponent, SeparatorComponent];\n\n@NgModule({\n  imports: [\n    CommonModule,\n    PaIconModule,\n    PaPopupModule,\n    PaFocusableModule,\n    PaAvatarModule,\n    PaTooltipModule,\n    PaTranslateModule,\n  ],\n  declarations: COMPONENTS,\n  exports: COMPONENTS,\n})\nexport class PaDropdownModule {}\n","import { AvatarPileComponent } from './avatar-pile.component';\nimport { PaAvatarModule } from '../avatar';\nimport { PaButtonModule } from '../button';\nimport { PaDropdownModule } from '../dropdown';\nimport { PaPopupModule } from '../popup';\nimport { PaTooltipModule } from '../tooltip';\nimport { PaTranslateModule } from '../translate';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    PaAvatarModule,\n    PaButtonModule,\n    PaDropdownModule,\n    PaPopupModule,\n    PaTranslateModule,\n    PaTooltipModule,\n  ],\n  declarations: [AvatarPileComponent],\n  exports: [AvatarPileComponent],\n})\nexport class PaAvatarPileModule {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n  selector: 'pa-card',\n  templateUrl: './card.component.html',\n  styleUrls: ['./card.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class CardComponent {\n  @Input({ transform: booleanAttribute }) disabled = false;\n\n  @Output() cardClick: EventEmitter<MouseEvent | KeyboardEvent> = new EventEmitter<MouseEvent | KeyboardEvent>();\n\n  onEnter($event: Event) {\n    this.onClick($event as KeyboardEvent);\n  }\n\n  onClick($event: MouseEvent | KeyboardEvent) {\n    if (this.disabled) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.cardClick.emit($event);\n    }\n  }\n}\n","<div\n  class=\"pa-card-wrapper\"\n  paFocusable\n  [class.pa-disabled]=\"disabled\"\n  (click)=\"onClick($event)\"\n  (keyup.enter)=\"onEnter($event)\">\n  <div class=\"pa-card-content\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardComponent } from './card.component';\nimport { PaFocusableModule } from '../focusable';\n\n@NgModule({\n  declarations: [CardComponent],\n  exports: [CardComponent],\n  imports: [CommonModule, PaFocusableModule],\n})\nexport class PaCardModule {}\n","import { booleanAttribute, Directive, Input } from '@angular/core';\nimport { AvatarModel } from '../avatar';\nimport { IconModel } from '../icon';\nimport { trimString } from '../common';\n\n@Directive()\nexport class BaseChip {\n  @Input() avatar?: AvatarModel;\n  @Input() icon?: IconModel;\n\n  @Input() ariaRole = 'listitem';\n\n  @Input() value?: any;\n\n  @Input({ transform: trimString }) backgroundColor = '';\n  @Input({ transform: trimString }) textColor = '';\n  @Input({ transform: trimString }) borderColor = '';\n\n  @Input({ transform: booleanAttribute }) disabled = false;\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BaseChip } from '../base-chip';\n\n@Component({\n  selector: 'pa-chip-closeable',\n  templateUrl: './chip-closeable.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ChipCloseableComponent extends BaseChip {\n  @Input({ transform: booleanAttribute }) readonly = false;\n  @Output() closed = new EventEmitter();\n\n  close($event: Event) {\n    this.closed.emit({ event: $event, value: this.value });\n  }\n}\n","<div\n  class=\"pa-chip\"\n  [class.pa-with-button]=\"!readonly\"\n  [style.background-color]=\"!disabled ? backgroundColor : ''\"\n  [style.border-color]=\"!disabled ? borderColor : ''\"\n  [class.pa-with-avatar]=\"!!avatar\"\n  [attr.role]=\"ariaRole\">\n  @if (avatar; as avatar) {\n    <pa-avatar\n      size=\"tiny\"\n      [userId]=\"avatar.userId\"\n      [userName]=\"avatar.userName\"\n      [image]=\"avatar.image\"\n      [imageSrc]=\"avatar.imageSrc\"\n      [autoBackground]=\"avatar.autoBackground\"></pa-avatar>\n  }\n\n  @if (icon) {\n    <pa-icon\n      class=\"pa-chip-icon\"\n      [icon]=\"icon\"></pa-icon>\n  }\n\n  <span\n    class=\"pa-chip-content-wrapper body-s\"\n    [style.color]=\"!disabled ? textColor : ''\">\n    <ng-content></ng-content>\n  </span>\n\n  @if (!readonly) {\n    <pa-button\n      icon=\"cross\"\n      size=\"small\"\n      kind=\"secondary\"\n      aspect=\"basic\"\n      [disabled]=\"disabled\"\n      (click)=\"close($event)\"></pa-button>\n  }\n</div>\n","import { BaseChip } from '../base-chip';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n  selector: 'pa-chip-selectionable',\n  templateUrl: './chip-selectionable.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ChipSelectionableComponent extends BaseChip {\n  @Input() selected?: boolean;\n\n  @Output() select: EventEmitter<void> = new EventEmitter<void>();\n\n  triggerSelect() {\n    if (!this.disabled) {\n      this.select.emit();\n    }\n  }\n}\n","<div\n  class=\"pa-chip pa-selectionable\"\n  paFocusable\n  [style.background-color]=\"!disabled ? backgroundColor : ''\"\n  [style.border-color]=\"!disabled && selected ? borderColor : ''\"\n  [paFocusDisabled]=\"disabled\"\n  [class.pa-with-avatar]=\"!!avatar\"\n  [class.pa-disabled]=\"disabled\"\n  [class.pa-selected]=\"selected\"\n  [attr.role]=\"ariaRole\"\n  (click)=\"triggerSelect()\">\n  @if (avatar) {\n    <pa-avatar\n      size=\"tiny\"\n      [userId]=\"avatar.userId\"\n      [userName]=\"avatar.userName\"\n      [image]=\"avatar.image\"\n      [imageSrc]=\"avatar.imageSrc\"\n      [autoBackground]=\"avatar.autoBackground\"></pa-avatar>\n  }\n\n  @if (icon) {\n    <pa-icon\n      class=\"pa-chip-icon\"\n      [icon]=\"icon\"></pa-icon>\n  }\n\n  <span\n    class=\"pa-chip-content-wrapper body-s\"\n    [style.color]=\"!disabled ? textColor : ''\">\n    <ng-content></ng-content>\n  </span>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';\nimport { BaseChip } from '../base-chip';\n\n@Component({\n  selector: 'pa-chip-expandable',\n  templateUrl: './chip-expandable.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ChipExpandableComponent extends BaseChip {\n  @Output() expanded: EventEmitter<{ event: Event; value: any }> = new EventEmitter();\n\n  isExpanded = false;\n\n  expand($event: Event) {\n    if (!this.disabled) {\n      this.isExpanded = !this.isExpanded;\n      this.expanded.emit({ event: $event, value: this.value });\n    } else {\n      $event.stopPropagation();\n      $event.preventDefault();\n    }\n  }\n}\n","<div\n  class=\"pa-chip pa-with-button\"\n  [style.background-color]=\"!disabled ? backgroundColor : ''\"\n  [style.border-color]=\"!disabled ? borderColor : ''\"\n  [class.pa-with-avatar]=\"!!avatar\"\n  [attr.role]=\"ariaRole\">\n  @if (avatar) {\n    <pa-avatar\n      size=\"tiny\"\n      [userId]=\"avatar.userId\"\n      [userName]=\"avatar.userName\"\n      [image]=\"avatar.image\"\n      [imageSrc]=\"avatar.imageSrc\"\n      [autoBackground]=\"avatar.autoBackground\"></pa-avatar>\n  }\n\n  @if (icon) {\n    <pa-icon\n      class=\"pa-chip-icon\"\n      [icon]=\"icon\"></pa-icon>\n  }\n\n  <span\n    class=\"pa-chip-content-wrapper body-s\"\n    [style.color]=\"!disabled ? textColor : ''\">\n    <ng-content></ng-content>\n  </span>\n  <pa-button\n    [icon]=\"isExpanded ? 'chevron-up' : 'chevron-down'\"\n    size=\"small\"\n    kind=\"secondary\"\n    aspect=\"basic\"\n    [disabled]=\"disabled\"\n    (click)=\"expand($event)\"></pa-button>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseChip } from '../base-chip';\n\n@Component({\n  selector: 'pa-chip',\n  templateUrl: './chip.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ChipComponent extends BaseChip {}\n","<div\n  class=\"pa-chip\"\n  [style.background-color]=\"!disabled ? backgroundColor : ''\"\n  [style.border-color]=\"!disabled ? borderColor : ''\"\n  [class.pa-with-avatar]=\"!!avatar\"\n  [attr.role]=\"ariaRole\">\n  @if (avatar; as avatar) {\n    <pa-avatar\n      size=\"tiny\"\n      [userId]=\"avatar.userId\"\n      [userName]=\"avatar.userName\"\n      [image]=\"avatar.image\"\n      [imageSrc]=\"avatar.imageSrc\"\n      [autoBackground]=\"avatar.autoBackground\"></pa-avatar>\n  }\n\n  @if (icon) {\n    <pa-icon\n      class=\"pa-chip-icon\"\n      [icon]=\"icon\"></pa-icon>\n  }\n\n  <span\n    class=\"pa-chip-content-wrapper body-s\"\n    [style.color]=\"!disabled ? textColor : ''\">\n    <ng-content></ng-content>\n  </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaAvatarModule } from '../avatar';\nimport { PaButtonModule } from '../button';\nimport { PaIconModule } from '../icon';\nimport { PaFocusableModule } from '../focusable';\nimport { ChipCloseableComponent } from './chip-closeable/chip-closeable.component';\nimport { ChipSelectionableComponent } from './chip-selectionable/chip-selectionable.component';\nimport { ChipExpandableComponent } from './chip-expandable/chip-expandable.component';\nimport { ChipComponent } from './chip/chip.component';\n\n@NgModule({\n  imports: [CommonModule, PaAvatarModule, PaButtonModule, PaIconModule, PaFocusableModule],\n  declarations: [ChipComponent, ChipCloseableComponent, ChipSelectionableComponent, ChipExpandableComponent],\n  exports: [ChipComponent, ChipCloseableComponent, ChipSelectionableComponent, ChipExpandableComponent],\n})\nexport class PaChipsModule {}\n","import { IconModel } from '../icon';\n\nexport enum ControlType {\n  checkbox = 'checkbox',\n  radio = 'radio',\n  option = 'option',\n  header = 'header',\n  separator = 'separator',\n}\n\nexport interface IControlModel {\n  id: string;\n  type?: ControlType;\n  label: string;\n  value: string;\n  help?: string;\n  icon?: string;\n  selected?: boolean;\n  disabled?: boolean;\n  filtered?: boolean;\n}\n\nexport interface IOptionModel extends IControlModel {\n  destructive?: boolean;\n  dontCloseOnSelect?: boolean;\n  hasSeparator?: boolean;\n  iconModel?: IconModel;\n  iconOnRight?: boolean;\n}\n\nexport class BaseControlModel {\n  type: ControlType;\n\n  constructor(type: ControlType) {\n    this.type = type;\n  }\n}\n\nexport class ControlModel extends BaseControlModel {\n  id: string;\n  label: string;\n  value: string;\n  help?: string;\n  icon?: string;\n  selected: boolean;\n  disabled: boolean;\n  filtered: boolean;\n\n  constructor(data: IControlModel) {\n    super(data.type || ControlType.checkbox);\n    this.id = data.id;\n    this.label = data.label;\n    this.value = data.value;\n    this.help = data.help || '';\n    this.icon = data.icon || '';\n    this.selected = data.selected || false;\n    this.disabled = data.disabled || false;\n    this.filtered = data.filtered || false;\n  }\n}\n\nexport class OptionModel extends ControlModel {\n  destructive: boolean;\n  dontCloseOnSelect: boolean;\n  hasSeparator: boolean;\n  iconModel?: IconModel;\n  iconOnRight?: boolean;\n\n  constructor(data: IOptionModel) {\n    super({ ...data, type: ControlType.option });\n    this.destructive = data.destructive || false;\n    this.dontCloseOnSelect = data.dontCloseOnSelect || false;\n    this.hasSeparator = data.hasSeparator || false;\n    this.iconModel = data.iconModel;\n    this.iconOnRight = data.iconOnRight || false;\n  }\n}\n\nexport class OptionHeaderModel extends BaseControlModel {\n  id: string;\n  label: string;\n\n  constructor(data: { id: string; label: string }) {\n    super(ControlType.header);\n    this.id = data.id;\n    this.label = data.label;\n  }\n}\n\nexport class OptionSeparator extends BaseControlModel {\n  constructor() {\n    super(ControlType.separator);\n  }\n}\n","export const STANDALONE = 'standalone';\nexport const NG_MODEL = 'model';\nexport const FORM_CONTROL = 'formControl';\nexport const FORM_CONTROL_NAME = 'formControlName';\nexport declare type InternalMode = 'standalone' | 'model' | 'formControl' | 'formControlName';\nexport declare type TextInputType =\n  | 'text'\n  | 'number'\n  | 'password'\n  | 'email'\n  | 'date'\n  | 'datetime-local'\n  | 'month'\n  | 'search'\n  | 'tel'\n  | 'time'\n  | 'url'\n  | 'week';\n\n/**\n * name attributes for input, select and text-area form-fields\n * triggering an autofill suggestion from browsers and password managers\n * when the field is part of a form and has an id\n */\nexport enum AutoFilledInputNames {\n  name = 'name',\n  honorificPrefix = 'honorific-prefix',\n  givenName = 'given-name',\n  additionalName = 'additional-name',\n  familyName = 'family-name',\n  honorificSuffix = 'honorific-suffix',\n  nickname = 'nickname',\n  email = 'email',\n  username = 'username',\n  newPassword = 'new-password',\n  currentPassword = 'current-password',\n  oneTimeCode = 'one-time-code',\n  organizationTitle = 'organization-title',\n  organization = 'organization',\n  streetAddress = 'street-address',\n  addressLine1 = 'address-line1',\n  addressLine2 = 'address-line2',\n  addressLine3 = 'address-line3',\n  addressLevel4 = 'address-level4',\n  addressLevel3 = 'address-level3',\n  addressLevel2 = 'address-level2',\n  addressLevel1 = 'address-level1',\n  country = 'country',\n  countryName = 'country-name',\n  postalCode = 'postal-code',\n  ccName = 'cc-name',\n  ccGivenName = 'cc-given-name',\n  ccAdditionalName = 'cc-additional-name',\n  ccFamilyName = 'cc-family-name',\n  ccNumber = 'cc-number',\n  ccExp = 'cc-exp',\n  ccExpMonth = 'cc-exp-month',\n  ccExpYear = 'cc-exp-year',\n  ccCsc = 'cc-csc',\n  ccType = 'cc-type',\n  transactionCurrency = 'transaction-currency',\n  transactionAmount = 'transaction-amount',\n  language = 'language',\n  bday = 'bday',\n  bdayDay = 'bday-day',\n  bdayMonth = 'bday-month',\n  bdayYear = 'bday-year',\n  sex = 'sex',\n  tel = 'tel',\n  telCountryCode = 'tel-country-code',\n  telNational = 'tel-national',\n  telAreaCode = 'tel-area-code',\n  telLocal = 'tel-local',\n  telExtension = 'tel-extension',\n  impp = 'impp',\n  url = 'url',\n  photo = 'photo',\n}\n\nexport declare type UpdateOnStrategy = 'change' | 'blur' | 'submit';\n\nexport interface IErrorMessages {\n  required?: string;\n  pattern?: string;\n  min?: string;\n  max?: string;\n  passwordStrength?: string;\n  email?: string;\n  minlength?: string;\n  maxlength?: string;\n}\n","import {\n  FORM_CONTROL,\n  FORM_CONTROL_NAME,\n  IErrorMessages,\n  InternalMode,\n  NG_MODEL,\n  STANDALONE,\n} from './form-field.model';\nimport { ValidationErrors, ValidatorFn } from '@angular/forms';\n\nconst HTML_TAG = new RegExp(/.?<.+>/g);\nconst REPLACE_LT_GT = new RegExp(/[<>]/g);\n\nexport function isStandalone(internalMode: InternalMode): boolean {\n  return internalMode === STANDALONE;\n}\n\nexport function isNgModel(internalMode: InternalMode): boolean {\n  return internalMode === NG_MODEL;\n}\n\nexport function isFormControl(internalMode: InternalMode): boolean {\n  return internalMode === FORM_CONTROL;\n}\n\nexport function isFormControlName(internalMode: InternalMode): boolean {\n  return internalMode === FORM_CONTROL_NAME;\n}\n\nexport function concatAllErrorMessages(errors: ValidationErrors, errorMessages?: IErrorMessages | null): string {\n  const messages: any = errorMessages || {};\n  const displayedErrorMessage = Object.keys(errors)\n    .sort()\n    .reduce((agg: string[], key) => {\n      // precedence of validator's message over internal messages\n      if (typeof errors[key] === 'string') {\n        agg.push(errors[key]);\n      } else if (!!messages[key]) {\n        agg.push(messages[key]);\n      }\n      return agg;\n    }, []);\n  return displayedErrorMessage.length > 0 ? displayedErrorMessage.join(' ') : '';\n}\n\nexport function findFirstErrorMessage(errors: ValidationErrors, errorMessages?: IErrorMessages | null): string {\n  const messages: any = errorMessages || {};\n  const firstMessageKey = Object.keys(errors)\n    .sort()\n    .find((key) => typeof errors[key] === 'string' || !!messages[key]);\n  if (!firstMessageKey) {\n    return '';\n  }\n  return typeof errors[firstMessageKey] !== 'string' ? messages[firstMessageKey] : errors[firstMessageKey];\n}\n\nexport function buildAlwaysFalseValidator(message: string): ValidatorFn {\n  return (): { [key: string]: any } | null => {\n    return { customError: message };\n  };\n}\n\nexport function sanitizeStringValue(value: any) {\n  if (!!value && typeof value === 'string' && !!value.match(HTML_TAG)) {\n    return value.replace(REPLACE_LT_GT, '');\n  }\n  return value;\n}\n\nexport function sanitizeNumberValue(value: any) {\n  if (!!value && typeof value === 'string') {\n    const val = Number(value);\n    return isNaN(val) ? null : val;\n  }\n  return value;\n}\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { concatAllErrorMessages, findFirstErrorMessage } from '../../form-field.utils';\nimport { IErrorMessages } from '../../form-field.model';\n\nlet nextUniqueId = 0;\n\n@Component({\n  selector: 'pa-form-field-hint',\n  templateUrl: './form-field-hint.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class FormFieldHintComponent implements OnChanges {\n  /**\n   * A hint to display, helping the user when filling a form field.\n   */\n  @Input() help: string | undefined | null;\n\n  /**\n   * the ValidationErrors of a formControl\n   */\n  @Input() errors: ValidationErrors | undefined | null;\n\n  /**\n   * Activate the display of error messages (disable for example when formControl is pristine if you don't\n   * want to display errors at initial state)\n   */\n  @Input() showErrors = true;\n  /**\n   * Display all errors or only the first error encountered (errors being sorted by key)\n   */\n  @Input() showAllErrors = true;\n  /**\n   * Provides default messages to display for the possible error keys when none is present\n   * in the errors object. If a message (string) is provided for a given key, it\n   * will be displayed rather than the message provided in errorMessages.\n   */\n  @Input() errorMessages: IErrorMessages | undefined | null;\n\n  /**\n   * Id for the hint message, can be used for accessibility aria-describedby attribute in parent component\n   */\n  @Input()\n  set id(val: string | undefined) {\n    this._id = !!val ? val : this.autoId;\n  }\n  get id() {\n    return this._id;\n  }\n\n  readonly autoId: string;\n  private _id?: string;\n\n  hint: string | undefined | null;\n\n  constructor() {\n    nextUniqueId++;\n    this.autoId = `form-field-hint${nextUniqueId}`;\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    this.refreshMessage();\n  }\n\n  /**\n   * Concat all error messages, either from input messages or from the value provided by validators\n   */\n  buildErrorMessage(errors?: ValidationErrors | null) {\n    let errorMessage;\n    if (!!errors && this.showErrors) {\n      errorMessage = this.showAllErrors\n        ? concatAllErrorMessages(errors, this.errorMessages)\n        : findFirstErrorMessage(errors, this.errorMessages);\n    }\n    return errorMessage;\n  }\n\n  refreshMessage() {\n    const errorMessage = this.buildErrorMessage(this.errors);\n    this.hint = errorMessage || this.help;\n  }\n}\n","@if (hint) {\n  <small\n    class=\"pa-field-help\"\n    aria-live=\"polite\"\n    [id]=\"id\"\n    [class.pa-field-help-error]=\"!!errors && showErrors\"\n    [innerHTML]=\"hint | translate\"></small>\n}\n","import {\n  booleanAttribute,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Self,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  FormControlDirective,\n  FormControlName,\n  NgControl,\n  NgModel,\n  UntypedFormControl,\n} from '@angular/forms';\nimport {\n  FORM_CONTROL,\n  FORM_CONTROL_NAME,\n  IErrorMessages,\n  InternalMode,\n  NG_MODEL,\n  STANDALONE,\n} from '../form-field.model';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { markForCheck, trimString } from '../../common';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nlet nextId = 0;\n\n@Directive({\n  selector: '[paFormControl]',\n  standalone: false,\n})\nexport class PaFormControlDirective implements OnChanges, OnInit, OnDestroy, ControlValueAccessor {\n  @Input({ transform: booleanAttribute }) readonly = false;\n  @Input({ transform: trimString }) help = '';\n  @Input() errorMessages?: IErrorMessages;\n  @Input()\n  set id(value: string | undefined) {\n    if (value !== this.htmlId) {\n      this._id = value;\n    }\n  }\n  get id() {\n    return this._formattedId;\n  }\n\n  @Input()\n  set name(value: string) {\n    this._name = value;\n  }\n  get name() {\n    return this._formattedName;\n  }\n\n  @Input() set value(value: any) {\n    this.writeValue(value);\n  }\n\n  @Input()\n  set disabled(value: any) {\n    this.setDisabledState(coerceBooleanProperty(value));\n  }\n  get disabled() {\n    return this.control.disabled;\n  }\n\n  /**\n   * Manual error messaging\n   */\n  @Input() set errorMessage(message: string | undefined) {\n    if (!!message) {\n      this.control.setErrors({ customError: message });\n    } else if (this.control.errors && this.control.errors['customError']) {\n      this.control.setErrors(null);\n    }\n  }\n\n  get isActive() {\n    return !this.readonly && !this.control.disabled;\n  }\n\n  @Output() valueChange = new EventEmitter();\n  @Output() statusChange = new EventEmitter();\n\n  readonly autoId: number;\n  readonly htmlId: string | undefined;\n\n  control: UntypedFormControl = new UntypedFormControl();\n  internalMode: InternalMode = STANDALONE;\n\n  describedById?: string;\n\n  protected fieldType = 'field';\n  protected terminator$ = new Subject<void>();\n\n  private _formControlName: string | number | null = null;\n  private _id?: string;\n  private _formattedId?: string;\n  private _name?: string;\n  private _formattedName = '';\n\n  constructor(\n    protected element: ElementRef,\n    @Optional() @Self() protected parentControl: NgControl,\n    protected cdr: ChangeDetectorRef,\n  ) {\n    if (!!this.parentControl) {\n      this.parentControl.valueAccessor = this;\n    }\n\n    nextId++;\n    this.autoId = nextId;\n    this.htmlId = this.element.nativeElement.attributes.id?.value || undefined;\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if ((changes['errorMessages'] || changes['showAllErrors']) && this.control.dirty) {\n      this.control.updateValueAndValidity();\n    }\n    if (changes['id'] || changes['name']) {\n      this._setupIdentifiers();\n    }\n    if (changes['disabled']) {\n    }\n  }\n\n  ngOnInit() {\n    this._initFormControl();\n    this._setupIdentifiers();\n    markForCheck(this.cdr);\n  }\n\n  ngOnDestroy() {\n    this.terminator$.next();\n    this.terminator$.complete();\n  }\n\n  // implementation when parent does not handle CVA\n  onChange(val: any) {\n    if (!this.readonly && !this.control.disabled) {\n      this.control.patchValue(val);\n    }\n  }\n\n  // parents takes control of CVA\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  // implementation when parent does not handle CVA\n  onTouched() {\n    this.control.markAsTouched();\n  }\n\n  // parents takes control of CVA\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  /**\n   * because the value may be set locally\n   * write value could be triggered even when the change was already applied\n   * processing is skipped in this case\n   */\n  writeValue(value: any): void {\n    if (value === undefined) {\n      this.control.setValue(null, { emitEvent: false });\n    }\n    // standalone specific:\n    else if (value !== this.control.value) {\n      this.control.setValue(value);\n    }\n  }\n\n  /**\n   * id received as input is used whenever possible (avoiding duplicate identifier).\n   * when no id is provided, a generated id is built.\n   */\n  private _setupIdentifiers() {\n    if (!!this._id && this._id !== this.htmlId) {\n      this._formattedId = this._id;\n    } else if (!!this.htmlId) {\n      this._formattedId = `${this.htmlId}-${this.fieldType}`;\n    } else {\n      this._formattedId = `${this.fieldType}-${this.autoId}`;\n    }\n    if (!!this._formControlName) {\n      this._formattedName = `${this._formControlName}`;\n    } else {\n      this._formattedName = this._name || this._formattedId;\n    }\n  }\n\n  private _initFormControl() {\n    if (this.parentControl instanceof FormControlDirective) {\n      this.internalMode = FORM_CONTROL;\n      this.control = this.parentControl.form;\n    } else if (this.parentControl instanceof FormControlName) {\n      this.control = this.parentControl.control;\n      this._formControlName = this.parentControl.name;\n      this.internalMode = FORM_CONTROL_NAME;\n    } else if (this.parentControl && this.parentControl instanceof NgModel) {\n      this.control = this.parentControl.control;\n      this.internalMode = NG_MODEL;\n    }\n\n    this.control.valueChanges.pipe(distinctUntilChanged(), takeUntil(this.terminator$)).subscribe((val) => {\n      this.valueChange.emit(val);\n      if (this.internalMode === NG_MODEL && this.control.value !== (this.parentControl as NgModel).model) {\n        this.parentControl.viewToModelUpdate(val);\n      }\n      this.updateHtmlValue(val);\n    });\n    this.control.statusChanges.pipe(takeUntil(this.terminator$)).subscribe((status) => {\n      this.statusChange.emit(status);\n      this.cdr.markForCheck();\n    });\n  }\n\n  private updateHtmlValue(val: any) {\n    this.element.nativeElement.value = val;\n  }\n\n  setDisabledState(isDisabled: boolean) {\n    if (isDisabled === this.control.disabled) {\n      return;\n    }\n    if (isDisabled) {\n      // when setting the control to disable, we also call blur on the corresponding field\n      // otherwise the field keeps the focus state when it is enabled again\n      this.element.nativeElement.querySelector('.pa-field-control')?.blur();\n      this.control.disable();\n    } else {\n      this.control.enable();\n    }\n    this.cdr.markForCheck();\n  }\n\n  protected _checkDescribedBy() {\n    if ((!this.describedById && this.help) || this.control.errors) {\n      this.describedById = `${this.id}-hint`;\n    } else if (!this.help && this.control.errors === null) {\n      this.describedById = undefined;\n      markForCheck(this.cdr);\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormFieldHintComponent } from './form-field-hint/form-field-hint.component';\nimport { PaFormControlDirective } from './pa-form-control.directive';\nimport { PaTranslateModule } from '../../translate';\n\n@NgModule({\n  declarations: [FormFieldHintComponent, PaFormControlDirective],\n  exports: [FormFieldHintComponent, PaFormControlDirective],\n  imports: [CommonModule, PaTranslateModule],\n})\nexport class PaFormFieldModule {}\n","import { PaFormControlDirective } from '../form-field';\nimport { AfterViewInit, booleanAttribute, Directive, Input } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n  selector: '[paTextField]',\n  standalone: false,\n})\nexport class TextFieldDirective extends PaFormControlDirective implements AfterViewInit {\n  @Input({ transform: booleanAttribute }) externalLabel = false;\n  @Input()\n  set hasFocus(value: any) {\n    this._hasFocus = coerceBooleanProperty(value);\n    this.focusInput();\n  }\n  get hasFocus() {\n    return this._hasFocus;\n  }\n  private _hasFocus = false;\n\n  private _labelWidth?: number;\n\n  get labelWidth() {\n    return `${this._labelWidth}px`;\n  }\n  get noLabel() {\n    return this.externalLabel || this.labelWidth === '0px';\n  }\n\n  ngAfterViewInit() {\n    setTimeout(() => {\n      const label = this.element.nativeElement.querySelector('.pa-field-label');\n      if (label) {\n        this._labelWidth = label.getBoundingClientRect().width || 0;\n        this.cdr.markForCheck();\n      }\n    }, 300);\n  }\n\n  onFocus(event: any) {\n    this._hasFocus = true;\n  }\n\n  onBlur() {\n    this._hasFocus = false;\n  }\n\n  focusInput() {\n    // To be overridden\n  }\n}\n","import { ElementRef, Injectable, NgZone } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { AutofillMonitor } from '@angular/cdk/text-field';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { UntypedFormControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class TextFieldUtilityService {\n  constructor(\n    private platform: Platform,\n    private ngZone: NgZone,\n    private autofillMonitor: AutofillMonitor,\n  ) {}\n\n  public handleBrowserAutoFill(\n    htmlElement: HTMLInputElement,\n    control: UntypedFormControl,\n    stopMonitoring: Subject<any>,\n  ) {\n    if (this.platform.isBrowser && !!htmlElement) {\n      this.autofillMonitor\n        .monitor(htmlElement)\n        .pipe(takeUntil(stopMonitoring))\n        .subscribe((event) => {\n          if (htmlElement.value && event.isAutofilled) {\n            control.markAsDirty();\n            control.patchValue(htmlElement.value);\n          }\n        });\n      stopMonitoring.pipe(take(1)).subscribe(() => {\n        this.autofillMonitor.stopMonitoring(htmlElement);\n      });\n    }\n  }\n\n  public handleIosCaretPosition(htmlElement: HTMLInputElement) {\n    if (this.platform.IOS && !!htmlElement) {\n      this.ngZone.runOutsideAngular(() => {\n        htmlElement.addEventListener('keyup', (event: Event) => {\n          const element = event.target as HTMLInputElement;\n          if (!element.value && !element.selectionStart && !element.selectionEnd) {\n            // Note: Just setting `0, 0` doesn't fix the issue. Setting\n            // `1, 1` fixes it for the first time that you type text and\n            // then hold delete. Toggling to `1, 1` and then back to\n            // `0, 0` seems to completely fix it.\n            element.setSelectionRange(1, 1);\n            element.setSelectionRange(0, 0);\n          }\n        });\n      });\n    }\n  }\n\n  computeCharWidth(htmlElementRef: ElementRef | undefined) {\n    if (!!htmlElementRef) {\n      const font = window.getComputedStyle(htmlElementRef.nativeElement).getPropertyValue('font');\n      const canvas = document.createElement('canvas');\n      const context = canvas.getContext('2d');\n      if (context && !!font) {\n        context.font = font;\n        return context.measureText('_').width;\n      }\n    }\n    return 0;\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  numberAttribute,\n  OnDestroy,\n  Optional,\n  Output,\n  Renderer2,\n  Self,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { TextFieldUtilityService } from './text-field-utility.service';\nimport { Subject } from 'rxjs';\nimport { isVisibleInViewport, Keys, markForCheck, trimString } from '../../common';\nimport { sanitizeStringValue } from '../form-field.utils';\nimport { takeUntil } from 'rxjs/operators';\nimport { TextFieldDirective } from './text-field.directive';\n\n@Directive({\n  selector: '[paNativeTextField]',\n  standalone: false,\n})\nexport class NativeTextFieldDirective extends TextFieldDirective implements AfterViewInit, OnDestroy {\n  @Input({ transform: numberAttribute }) maxlength?: number;\n  @Input({ transform: booleanAttribute }) noAutoComplete = false;\n  @Input({ transform: booleanAttribute }) showAllErrors = false;\n  @Input({ transform: trimString }) placeholder = '';\n  @Input({ transform: booleanAttribute }) acceptHtmlTags = false;\n\n  @ViewChild('htmlInput') htmlInputRef?: ElementRef;\n\n  @Output() keyUp: EventEmitter<any> = new EventEmitter();\n  @Output() enter: EventEmitter<{ event: KeyboardEvent; value: any }> = new EventEmitter();\n  @Output() focusing: EventEmitter<FocusEvent> = new EventEmitter();\n  @Output() blurring: EventEmitter<string | number> = new EventEmitter();\n\n  isFilled = false;\n  sanitizeHtmlTags: (val: any) => any = sanitizeStringValue;\n\n  private _stopAutoCompleteMonitor = new Subject<void>();\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n    protected textFieldUtility: TextFieldUtilityService,\n    protected renderer: Renderer2,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    if (this.htmlInputRef) {\n      this._updateAutoComplete();\n      this.textFieldUtility.handleIosCaretPosition(this.htmlInputRef.nativeElement);\n      this._checkIsFilled();\n    }\n    this.control.valueChanges.pipe(takeUntil(this.terminator$)).subscribe(() => {\n      this._checkIsFilled();\n      markForCheck(this.cdr);\n    });\n    this.control.statusChanges.pipe(takeUntil(this.terminator$)).subscribe(() => {\n      this._checkDescribedBy();\n      markForCheck(this.cdr);\n    });\n    this.setDisabledState(this.control.disabled);\n    this.focusInput();\n  }\n\n  override ngOnChanges(changes: SimpleChanges) {\n    super.ngOnChanges(changes);\n    if (changes['acceptHtmlTags']) {\n      if (changes['acceptHtmlTags'].currentValue) {\n        this.sanitizeHtmlTags = (val) => val;\n      } else {\n        this.sanitizeHtmlTags = sanitizeStringValue;\n      }\n    }\n    if (changes['noAutoComplete']) {\n      if (changes['noAutoComplete'].currentValue !== this.noAutoComplete) {\n        this._updateAutoComplete();\n      }\n    }\n  }\n\n  override ngOnDestroy() {\n    this._stopAutoCompleteMonitor.next();\n    this._stopAutoCompleteMonitor.complete();\n    super.ngOnDestroy();\n  }\n\n  override setDisabledState(isDisabled: boolean): void {\n    super.setDisabledState(isDisabled);\n    if (this.htmlInputRef) {\n      this.renderer.setProperty(this.htmlInputRef?.nativeElement, 'disabled', isDisabled);\n    }\n  }\n\n  override onFocus(event: any) {\n    super.onFocus(event);\n    this.onTouched();\n\n    if (this.isActive) {\n      this.focusing.emit(event);\n    }\n  }\n\n  override onBlur() {\n    super.onBlur();\n\n    // if the fromControl uses { updateOn: 'blur' } or { updateOn: 'submit' }\n    // we emit the element value as this.control.value might not be updated yet\n    const value = this.control.updateOn !== 'change' ? this.htmlInputRef?.nativeElement?.value : this.control.value;\n    this.blurring.emit(value);\n    this._checkIsFilled();\n    if (this.control.updateOn !== 'change') {\n      this.control.markAsTouched();\n      // with updateOn 'blur' strategy, the first change might not triggered within this cycle\n      // and therefore, potential validation errors may not be displayed\n      if (this.control.pristine && (this.control.value || value) && this.control.value !== value) {\n        this.control.markAsDirty();\n      }\n      this.control.setValue(value);\n      this.control.updateValueAndValidity({ emitEvent: true });\n    }\n  }\n\n  onKeyUp(event: any) {\n    // we emit the element value as this.control.value might not be updated yet\n    // if the fromControl uses { updateOn: 'blur' } or  { updateOn: 'submit' }\n    if (this.isActive && event.key !== Keys.tab && !!event.target) {\n      this.keyUp.emit(this.htmlInputRef?.nativeElement?.value);\n\n      if (event.key === Keys.enter) {\n        this.enter.emit({ event, value: this.htmlInputRef?.nativeElement?.value });\n      }\n    }\n  }\n\n  override focusInput() {\n    if (this.hasFocus && !!this.htmlInputRef && this.isActive) {\n      this.htmlInputRef.nativeElement.focus();\n      if (!isVisibleInViewport(this.htmlInputRef.nativeElement)) {\n        this.htmlInputRef.nativeElement.scrollIntoView();\n      }\n    }\n  }\n\n  private _updateAutoComplete() {\n    if (!this.noAutoComplete) {\n      this.textFieldUtility.handleBrowserAutoFill(\n        this.htmlInputRef?.nativeElement,\n        this.control,\n        this._stopAutoCompleteMonitor,\n      );\n    } else {\n      this._stopAutoCompleteMonitor.next();\n    }\n  }\n\n  protected _checkIsFilled() {\n    // NB: depending on updateOn formHook, the input can be filled but the formControlValue not updated yet\n    const value = this.control.value || this.htmlInputRef?.nativeElement.value;\n    this.isFilled = !!value || value === 0;\n  }\n}\n","import { booleanAttribute, Directive, ElementRef, forwardRef, HostListener, Input, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst FORMATTER_CONTROL_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => InputFormatterDirective),\n  multi: true,\n};\n\n@Directive({\n  selector: '[paInputFormatter]',\n  providers: [FORMATTER_CONTROL_VALUE_ACCESSOR],\n  standalone: false,\n})\nexport class InputFormatterDirective implements ControlValueAccessor {\n  @Input() paInputFormatter!: (value: any) => any;\n  @Input({ transform: booleanAttribute }) paInputFormatterUpdateInput = true;\n  @Input({ transform: booleanAttribute }) paInputFormatterSkip = false;\n\n  private _writeToFormControl: (value: any) => void = () => {\n    // Will be instantiated by registerOnChange\n  };\n\n  @HostListener('input') onKeyup() {\n    const val = this.formatValue(this.el.nativeElement.value);\n    if (this.paInputFormatterUpdateInput && val !== this.el.nativeElement.value) {\n      this.el.nativeElement.value = val;\n    }\n    this._writeToFormControl(val);\n  }\n\n  constructor(public el: ElementRef) {}\n\n  registerOnChange(fn: (value: any) => void) {\n    this._writeToFormControl = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    // nothing to do\n  }\n\n  writeValue(value: any) {\n    this.el.nativeElement.value = this.formatValue(value);\n  }\n\n  formatValue(value: any) {\n    return this.paInputFormatterSkip || !this.paInputFormatter ? value : this.paInputFormatter(value);\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  numberAttribute,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  Self,\n  SimpleChanges,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { TextInputType } from '../../form-field.model';\nimport { TextFieldUtilityService } from '../text-field-utility.service';\nimport { NativeTextFieldDirective } from '../native-text-field.directive';\nimport { sanitizeNumberValue } from '../../form-field.utils';\nimport { trimString } from '../../../common';\n\n@Component({\n  selector: 'pa-input',\n  templateUrl: './input.component.html',\n  styleUrls: ['./input.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class InputComponent extends NativeTextFieldDirective implements OnChanges, OnInit, AfterViewInit, OnDestroy {\n  @Input()\n  set type(value: TextInputType | undefined | null) {\n    this._type = value || 'text';\n    this._updateInputType();\n  }\n  get type() {\n    return this._type;\n  }\n\n  @Input({ transform: trimString }) icon = '';\n  @Input({ transform: numberAttribute }) min?: number;\n  @Input({ transform: numberAttribute }) max?: number;\n  @Input({ transform: numberAttribute }) step?: number;\n  @Input({ transform: booleanAttribute }) iconOnRight = false;\n  @Input({ transform: trimString }) autocapitalize = '';\n\n  override fieldType = 'input';\n\n  private _type: TextInputType = 'text';\n  private _wasNumber = false;\n\n  constructor(\n    override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n    protected override textFieldUtility: TextFieldUtilityService,\n    protected override renderer: Renderer2,\n  ) {\n    super(element, parentControl, cdr, textFieldUtility, renderer);\n  }\n\n  override ngOnChanges(changes: SimpleChanges) {\n    super.ngOnChanges(changes);\n    this._checkIsFilled();\n    this._checkDescribedBy();\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n  }\n\n  override ngAfterViewInit(): void {\n    this._updateInputType();\n    super.ngAfterViewInit();\n  }\n\n  override ngOnDestroy() {\n    this._unTrackNumberInputClick();\n    super.ngOnDestroy();\n  }\n\n  private _updateInputType() {\n    // When using Angular inputs, developers are no longer able to set the properties on the native\n    // input element. To ensure that bindings for `type` work, we need to sync the setter\n    // with the native property.\n    if (!!this.htmlInputRef) {\n      this.htmlInputRef.nativeElement.type = this._type;\n    }\n    this._checkNumberInputEvent();\n  }\n\n  private _checkNumberInputEvent() {\n    if (!!this.htmlInputRef && this._type === 'number') {\n      this._wasNumber = true;\n      this.htmlInputRef.nativeElement.addEventListener('mouseup', this._numberInputClicked);\n      this.sanitizeHtmlTags = sanitizeNumberValue;\n    } else {\n      this._unTrackNumberInputClick();\n    }\n  }\n\n  private _numberInputClicked = () => {\n    if (this.control.untouched) {\n      this.control.markAsTouched();\n    }\n    if (this.control.pristine) {\n      this.control.markAsDirty();\n    }\n    if (this.htmlInputRef?.nativeElement.value !== this.control.value) {\n      const val = Number(this.htmlInputRef?.nativeElement.value);\n      this.control.patchValue(isNaN(val) ? null : val);\n    }\n  };\n\n  private _unTrackNumberInputClick() {\n    if (!!this.htmlInputRef && this._wasNumber) {\n      this.htmlInputRef.nativeElement.removeEventListener('mouseup', this._numberInputClicked);\n    }\n  }\n}\n","<div\n  class=\"pa-field\"\n  [style.--label-width]=\"labelWidth\">\n  <div\n    class=\"pa-field-container\"\n    [class.no-internal-label]=\"noLabel\"\n    [class.pa-focus]=\"hasFocus\"\n    [class.pa-disabled]=\"disabled || readonly\"\n    [class.pa-readonly]=\"readonly\"\n    [class.pa-field-error]=\"control.dirty && control.invalid\">\n    <input\n      #htmlInput\n      class=\"pa-field-control\"\n      [class.pa-field-control-filled]=\"isFilled\"\n      [class.pa-field-control-icon]=\"!!icon\"\n      [class.pa-icon-on-right]=\"iconOnRight\"\n      [formControl]=\"control\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [type]=\"type\"\n      [attr.maxlength]=\"maxlength\"\n      [attr.aria-describedby]=\"describedById\"\n      [attr.placeholder]=\"placeholder\"\n      [attr.autocomplete]=\"noAutoComplete ? 'off' : undefined\"\n      [attr.autocapitalize]=\"autocapitalize || undefined\"\n      [min]=\"min\"\n      [max]=\"max\"\n      [step]=\"step\"\n      [readonly]=\"readonly\"\n      [paInputFormatter]=\"sanitizeHtmlTags\"\n      [paInputFormatterUpdateInput]=\"type !== 'number'\"\n      (focus)=\"onFocus($event)\"\n      (blur)=\"onBlur()\"\n      (keyup)=\"onKeyUp($event)\" />\n\n    <label\n      class=\"pa-field-label\"\n      [class.pa-field-label-icon]=\"!!icon\"\n      [class.pa-icon-on-right]=\"iconOnRight\"\n      [for]=\"id\">\n      <ng-content></ng-content>\n    </label>\n  </div>\n\n  @if (!!icon) {\n    <pa-icon\n      [name]=\"icon\"\n      [class.pa-icon-on-right]=\"iconOnRight\"\n      class=\"pa-field-icon\"></pa-icon>\n  }\n\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [showAllErrors]=\"showAllErrors\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n</div>\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Optional,\n  Output,\n  Renderer2,\n  Self,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { PaFormControlDirective } from '../../form-field';\nimport { takeUntil } from 'rxjs/operators';\nimport { detectChanges } from '../../../common';\n\n@Component({\n  selector: 'pa-checkbox',\n  templateUrl: './checkbox.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class CheckboxComponent extends PaFormControlDirective implements OnChanges, AfterViewInit {\n  @Input({ transform: booleanAttribute }) noEllipsis = false;\n  @Input() set indeterminate(value: boolean) {\n    this.isIndeterminate = value;\n    if (value) {\n      this.control.patchValue(false);\n    }\n  }\n\n  @Output() indeterminateChange = new EventEmitter<boolean>();\n  @ViewChild('htmlElement') htmlElementRef?: ElementRef;\n\n  override fieldType = 'checkbox';\n  isChecked = false;\n  isIndeterminate = false;\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  override ngOnChanges(changes: SimpleChanges) {\n    super.ngOnChanges(changes);\n  }\n\n  ngAfterViewInit() {\n    this.control.valueChanges.pipe(takeUntil(this.terminator$)).subscribe((val) => {\n      this.isChecked = val;\n      if (val) {\n        this.isIndeterminate = false;\n        this.indeterminateChange.emit(false);\n      }\n      detectChanges(this.cdr);\n    });\n    this.control.statusChanges.pipe(takeUntil(this.terminator$)).subscribe((status) => {\n      this.describedById = status === 'INVALID' ? `${this.id}-hint` : undefined;\n      detectChanges(this.cdr);\n    });\n  }\n\n  override setDisabledState(isDisabled: boolean): void {\n    super.setDisabledState(isDisabled);\n    if (this.htmlElementRef) {\n      this.renderer.setProperty(this.htmlElementRef?.nativeElement, 'disabled', isDisabled);\n    }\n  }\n}\n","<div\n  class=\"pa-toggle\"\n  [class.pa-indeterminate]=\"isIndeterminate\"\n  [class.pa-disabled]=\"control.disabled\"\n  [class.pa-field-error]=\"control.dirty && control.invalid\">\n  <div class=\"pa-checkbox-wrapper\">\n    <input\n      #htmlElement\n      type=\"checkbox\"\n      class=\"pa-toggle-control\"\n      paFocusable\n      [formControl]=\"control\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.aria-checked]=\"isIndeterminate ? 'mixed' : isChecked\"\n      [attr.aria-describedby]=\"describedById\" />\n    <label\n      class=\"pa-toggle-label\"\n      [for]=\"id\"\n      [class.no-ellipsis]=\"noEllipsis\"\n      paEllipsisTooltip\n      [noEllipsis]=\"noEllipsis\">\n      <ng-content></ng-content>\n    </label>\n  </div>\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n</div>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { OptionHeaderModel, OptionModel, OptionSeparator } from '../../../control.model';\n\nlet optionId = 0;\n\n@Component({\n  selector: 'pa-select-options',\n  templateUrl: './select-options.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SelectOptionsComponent {\n  @Input({ transform: booleanAttribute }) multiple = false;\n  @Input() set options(values: (OptionModel | OptionSeparator | OptionHeaderModel)[]) {\n    this.typedOptions = (values || []).map((value) => {\n      switch (value.type) {\n        case 'header':\n          return { id: optionId++, type: 'header', header: value as OptionHeaderModel };\n        case 'option':\n          return { id: optionId++, type: 'option', option: value as OptionModel };\n        case 'separator':\n          return { id: optionId++, type: 'separator', separator: value as OptionSeparator };\n        default:\n          return { id: optionId++, type: 'null' };\n      }\n    });\n  }\n  @Output() optionSelected = new EventEmitter<OptionModel>();\n\n  typedOptions: {\n    id: number;\n    type: 'header' | 'separator' | 'option' | 'null';\n    option?: OptionModel;\n    header?: OptionHeaderModel;\n    separator?: OptionSeparator;\n  }[] = [];\n\n  selectOption(option: OptionModel) {\n    this.optionSelected.emit(option);\n  }\n\n  clickOnCheck(event: MouseEvent | KeyboardEvent, option: OptionModel) {\n    // Prevent side effect of bubbling event\n    event.stopPropagation();\n    if ((event.target as HTMLElement).tagName === 'LABEL') {\n      event.preventDefault();\n    }\n\n    this.selectOption(option);\n  }\n}\n","@for (typedOption of typedOptions; track typedOption.id) {\n  @if (typedOption.type === 'header' && !!typedOption.header) {\n    <pa-option-header>\n      {{ typedOption.header.label }}\n    </pa-option-header>\n  }\n  @if (typedOption.type === 'separator') {\n    <pa-separator></pa-separator>\n  }\n  @if (typedOption.type === 'option' && !!typedOption.option && !typedOption.option.filtered) {\n    <pa-option\n      [id]=\"typedOption.option.id\"\n      [disabled]=\"typedOption.option.disabled\"\n      [selected]=\"typedOption.option.selected\"\n      [destructive]=\"typedOption.option.destructive\"\n      [dontCloseOnSelect]=\"typedOption.option.dontCloseOnSelect\"\n      [icon]=\"typedOption.option.iconModel || typedOption.option.icon\"\n      [iconOnRight]=\"typedOption.option.iconOnRight || multiple\"\n      [value]=\"typedOption.option.value\"\n      [description]=\"typedOption.option.help\"\n      (selectOption)=\"selectOption(typedOption.option)\">\n      @if (multiple) {\n        <pa-checkbox\n          [value]=\"typedOption.option.selected\"\n          (click)=\"clickOnCheck($event, typedOption.option)\">\n          {{ typedOption.option.label }}\n        </pa-checkbox>\n      } @else {\n        {{ typedOption.option.label }}\n      }\n    </pa-option>\n  }\n}\n","import { FocusOrigin } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Optional,\n  Output,\n  QueryList,\n  Self,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { fromEvent, Subject } from 'rxjs';\nimport { delay, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { detectChanges, isVisibleInViewport, markForCheck, trimString } from '../../../common';\nimport { DropdownComponent, OptionComponent } from '../../../dropdown';\nimport { ControlType, OptionHeaderModel, OptionModel, OptionSeparator } from '../../control.model';\nimport { TextFieldDirective } from '../text-field.directive';\n\nexport type OptionType = OptionModel | OptionSeparator | OptionHeaderModel;\n\n@Component({\n  selector: 'pa-select',\n  templateUrl: './select.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SelectComponent extends TextFieldDirective implements OnChanges, AfterViewInit, OnDestroy {\n  @Input({ transform: trimString }) label = '';\n  @Input({ transform: trimString }) placeholder = '';\n  @Input({ transform: booleanAttribute }) adjustHeight = false;\n  @Input({ transform: booleanAttribute }) showAllErrors = false;\n  @Input({ transform: booleanAttribute }) dim = false;\n  @Input({ transform: booleanAttribute }) multiple = false;\n\n  @Input() set options(values: OptionType[] | null) {\n    this.dropdownOptions = !!values ? values : [];\n    if (values) {\n      this._initDisplayAndSelection();\n    } else {\n      this._updateDisplayedValue(this.control.value);\n    }\n  }\n\n  @Output() expanded: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  @ViewChild('selectInput') selectInput?: ElementRef;\n  @ViewChild('optionsDropdown') optionsDropdown?: DropdownComponent;\n  @ContentChildren(OptionComponent, { descendants: true }) ngContent?: QueryList<OptionComponent>;\n\n  get hasValue() {\n    return !!this.control.value;\n  }\n\n  mouseDown = false;\n\n  dropdownOptions: OptionType[] = [];\n  selectedOption?: OptionModel;\n  isOpened = false;\n  override fieldType = 'select';\n\n  private selectedOptions: OptionModel[] = [];\n\n  /**\n   * either the selected option label, either the placeholder\n   */\n  displayedValue?: string;\n  private optionsClosed$ = new Subject<void>();\n  private contentOptionsChanged$ = new Subject<void>();\n\n  protected _terminator = new Subject<void>();\n  protected platform: Platform = inject(Platform);\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    public override cdr: ChangeDetectorRef,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  override ngOnChanges(changes: SimpleChanges) {\n    super.ngOnChanges(changes);\n    this._checkDescribedBy();\n    if (this.selectInput) {\n      fromEvent(this.selectInput.nativeElement, 'blur')\n        .pipe(delay(0), takeUntil(this.terminator$))\n        .subscribe(() => {\n          if (this.isOpened) {\n            this.optionsClosed$.next();\n            this.isOpened = false;\n            this.expanded.emit(false);\n          }\n        });\n    }\n  }\n\n  override ngAfterViewInit(): void {\n    super.ngAfterViewInit();\n\n    this._handleNgContent();\n    this._checkDescribedBy();\n    this.focusInput();\n    this._initDisplayAndSelection();\n\n    // valueChanges may be triggered by an update value and validity...\n    // we don't want to recompute the displayed option label in that case\n    this.control.valueChanges.pipe(distinctUntilChanged(), takeUntil(this.terminator$)).subscribe((val) => {\n      if (!this.multiple) {\n        this._updateDisplayedValue(val);\n        this._markOptionAsSelected();\n        detectChanges(this.cdr);\n      } else {\n        this._updateDisplayMultipleValues(val);\n      }\n    });\n    this.control.statusChanges\n      .pipe(distinctUntilChanged(), takeUntil(this.terminator$))\n      .subscribe(() => markForCheck(this.cdr));\n  }\n\n  override ngOnDestroy() {\n    this.optionsClosed$.next();\n    this.optionsClosed$.complete();\n    this.contentOptionsChanged$.complete();\n    this._terminator.next();\n    this._terminator.complete();\n    super.ngOnDestroy();\n  }\n\n  toggleDropdown() {\n    if (this.control.disabled || this.readonly) {\n      return;\n    }\n    if (!!this.optionsDropdown && this.optionsDropdown.isDisplayed) {\n      // will trigger onClose event\n      this.optionsDropdown.close();\n    } else {\n      this._openOptionDropDown();\n    }\n  }\n\n  dropDownOpened() {\n    this.isOpened = true;\n    this.expanded.emit(true);\n  }\n\n  dropDownClosed() {\n    if (!this.control.touched) {\n      this.control.markAsTouched({});\n    }\n    // if user opened the dropdown but did not select a value\n    // we consider this as an action leading to formControl validation\n    if (this.control.pristine) {\n      this.control.markAsDirty();\n      this.control.updateValueAndValidity();\n    }\n\n    this.optionsClosed$.next();\n    this.isOpened = false;\n    this.expanded.emit(false);\n  }\n\n  onControlFocused(event: FocusOrigin) {\n    if (!this.isOpened && event === 'keyboard') {\n      this._openOptionDropDown();\n    }\n  }\n\n  selectOption(option: OptionModel | OptionComponent) {\n    if (!option.disabled && this.isActive && option.value !== this.control.value) {\n      this.control.patchValue(option.value);\n      this.optionsDropdown?.close();\n      this.isOpened = false;\n      this.cdr.detectChanges();\n    }\n  }\n\n  selectMultipleOptions(option: OptionModel) {\n    if (!option.disabled && this.isActive) {\n      if (!option.selected) {\n        option.selected = true;\n        this.selectedOptions.push(option);\n      } else {\n        option.selected = false;\n        const index = this.selectedOptions.findIndex((selectedOption) => selectedOption.id === option.id);\n        if (index >= 0) {\n          this.selectedOptions.splice(index, 1);\n        }\n      }\n      const value = this.selectedOptions.map((option) => option.value).join(',');\n      this.control.patchValue(value);\n      this.cdr.detectChanges();\n    }\n  }\n\n  override focusInput() {\n    if (this.hasFocus && this.isActive) {\n      this._openOptionDropDown();\n      if (!isVisibleInViewport(this.selectInput?.nativeElement)) {\n        this.selectInput?.nativeElement.scrollIntoView();\n      }\n    }\n  }\n\n  /**\n   * click on select input triggers paPopup toggle and display the options.\n   * paPopup will listen to click and close itself immediately if we dont wait for a tick\n   */\n  private _openOptionDropDown() {\n    setTimeout(() => {\n      if (!!this.selectInput) {\n        this.selectInput.nativeElement.click();\n      }\n    });\n  }\n\n  private _initDisplayAndSelection() {\n    if (this.multiple) {\n      this._updateDisplayMultipleValues(this.control.value);\n      if (this.control.value) {\n        this._initSelectedOptionsForMultipleValue();\n        this._markOptionAsSelected();\n      }\n    } else {\n      this._updateDisplayedValue(this.control.value);\n    }\n  }\n\n  protected _updateDisplayedValue(val?: string) {\n    const selectedOptionLabel = this._findLabelByValue(val);\n    this.displayedValue = selectedOptionLabel || this.placeholder;\n    detectChanges(this.cdr);\n  }\n\n  private _updateDisplayMultipleValues(val?: string) {\n    const values = val?.split(',') || [];\n    const labels = values.map((value) => this._findLabelByValue(value)).join(', ');\n    this.displayedValue = labels || this.placeholder;\n    detectChanges(this.cdr);\n  }\n\n  private _initSelectedOptionsForMultipleValue() {\n    const selectedValues = this.control.value.split(',');\n    (this.dropdownOptions || []).forEach((dropdownOption) => {\n      if (dropdownOption.type === ControlType.option) {\n        const option = dropdownOption as OptionModel;\n        if (selectedValues.includes(option.value)) {\n          this.selectedOptions.push(option);\n        }\n      }\n    });\n  }\n\n  private _findLabelByValue(value?: string): string | undefined {\n    let label: string | undefined;\n\n    // precedence of drop options provided in input over options provided as ngContent\n    if (this.dropdownOptions.length) {\n      const selectedOption = this.dropdownOptions.find((option) => (option as OptionModel).value === value);\n      label = !!selectedOption ? (selectedOption as OptionModel).label : undefined;\n      this.selectedOption = selectedOption instanceof OptionModel ? selectedOption : undefined;\n    }\n    if (!label && !!this.ngContent && this.ngContent.length) {\n      const selectedOption = this.ngContent.find((option) => option.value === this.control.value);\n      label = !!selectedOption ? selectedOption.text : undefined;\n    }\n    return label;\n  }\n\n  private _handleNgContent() {\n    this._markOptionAsSelected();\n    this._trackNgContentOptionSelected();\n\n    if (!!this.ngContent) {\n      this.ngContent.changes.pipe(takeUntil(this.terminator$)).subscribe(() => {\n        this.contentOptionsChanged$.next();\n        this._markOptionAsSelected();\n        this._trackNgContentOptionSelected();\n      });\n    }\n  }\n\n  private _trackNgContentOptionSelected() {\n    if (!!this.ngContent) {\n      // subscribe to option selection\n      this.ngContent.forEach((option) =>\n        option.selectOption.pipe(takeUntil(this.terminator$)).subscribe(() => this.selectOption(option)),\n      );\n    }\n  }\n\n  private _markOptionAsSelected() {\n    if (this.dropdownOptions.length) {\n      this.dropdownOptions.forEach((option: OptionType) => {\n        if (option.type === ControlType.option) {\n          this._toggleSelectedOption(option as OptionModel);\n        }\n      });\n      // refresh array reference to trigger change detection in child component\n      this.dropdownOptions = this.dropdownOptions.slice();\n    }\n    if (!!this.ngContent) {\n      this.ngContent.toArray().forEach((option) => this._toggleSelectedOption(option));\n    }\n  }\n\n  private _toggleSelectedOption(option: OptionComponent | OptionModel) {\n    if (this.multiple) {\n      const selectedValues = this.control.value.split(',');\n      if (option.selected && !selectedValues.includes(option.value)) {\n        option.selected = false;\n      } else if (!option.selected && selectedValues.includes(option.value)) {\n        option.selected = true;\n      }\n    } else {\n      if (option.selected && option.value !== this.control.value) {\n        option.selected = false;\n      } else if (!option.selected && option.value === this.control.value) {\n        option.selected = true;\n      }\n    }\n  }\n\n  onMouseDown() {\n    this.mouseDown = true;\n  }\n\n  onMouseUp() {\n    this.mouseDown = false;\n  }\n}\n","<div\n  class=\"pa-field pa-select\"\n  [style.--label-width]=\"labelWidth\">\n  <div\n    class=\"pa-field-container\"\n    [class.no-internal-label]=\"noLabel\"\n    [class.pa-dim]=\"dim\"\n    [class.pa-focus]=\"isOpened || mouseDown\"\n    [class.pa-readonly]=\"readonly\"\n    [class.pa-disabled]=\"control.disabled\"\n    [class.pa-field-error]=\"control.dirty && control.invalid\">\n    <div\n      #selectInput\n      class=\"pa-field-control\"\n      tabindex=\"0\"\n      cdkMonitorElementFocus\n      sameWidth\n      [class.pa-field-control-filled]=\"hasValue || isOpened\"\n      [class.read-only]=\"readonly\"\n      [class.disabled]=\"control.disabled\"\n      [class.expanded]=\"isOpened\"\n      [class.pa-select-with-help]=\"selectedOption && selectedOption.help\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.aria-label]=\"label\"\n      [attr.aria-describedby]=\"describedById\"\n      [paPopup]=\"optionsDropdown\"\n      [popupVerticalOffset]=\"2\"\n      [popupDisabled]=\"control.disabled || readonly\"\n      (mousedown)=\"onMouseDown()\"\n      (mouseup)=\"onMouseUp()\"\n      (cdkFocusChange)=\"onControlFocused($event)\">\n      <div class=\"pa-select-value-container\">\n        <span\n          class=\"pa-select-value\"\n          paEllipsisTooltip\n          [paEllipsisContent]=\"displayedValue\"\n          [class.placeholder]=\"!hasValue\"\n          [class.active]=\"isOpened\">\n          {{ displayedValue }}\n        </span>\n        @if (selectedOption && selectedOption.help) {\n          <span\n            class=\"pa-selected-help body-xs\"\n            paEllipsisTooltip\n            [paEllipsisContent]=\"selectedOption.help\">\n            {{ selectedOption.help }}\n          </span>\n        }\n      </div>\n    </div>\n\n    <label\n      class=\"pa-field-label\"\n      [class.pa-sr-only]=\"dim && (hasValue || isOpened)\"\n      [for]=\"id\">\n      {{ label }}\n    </label>\n\n    <pa-icon\n      class=\"pa-select-chevron\"\n      name=\"chevron-down\"\n      [class.opened]=\"isOpened\"\n      (click)=\"toggleDropdown()\"></pa-icon>\n  </div>\n\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [showAllErrors]=\"showAllErrors\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n\n  <pa-dropdown\n    #optionsDropdown\n    role=\"listbox\"\n    [adjustHeight]=\"adjustHeight\"\n    [companionElement]=\"selectInput\"\n    (onClose)=\"dropDownClosed()\"\n    (onOpen)=\"dropDownOpened()\">\n    @if (dropdownOptions.length) {\n      <pa-select-options\n        [options]=\"dropdownOptions\"\n        [multiple]=\"multiple\"\n        (optionSelected)=\"multiple ? selectMultipleOptions($event) : selectOption($event)\"></pa-select-options>\n    } @else {\n      <ng-content></ng-content>\n    }\n  </pa-dropdown>\n</div>\n","import { AfterViewInit, Directive, ElementRef, Input, NgZone, OnDestroy, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { fromEvent, Subject } from 'rxjs';\nimport { auditTime, filter, takeUntil } from 'rxjs/operators';\nimport { UntypedFormControl } from '@angular/forms';\n\n/**\n * Highly inspired by CdkTextareaAutosize\n * this directive allows to automatically adjust a paTextarea height according to its content.\n */\n@Directive({\n  selector: '[paTextareaAutoHeight]',\n  standalone: false,\n})\nexport class PaTextareaAutoHeightDirective implements AfterViewInit, OnDestroy {\n  @Input('paTextareaAutoHeight')\n  set enabled(value: any) {\n    value = coerceBooleanProperty(value);\n    // Only act if the actual value changed.\n    if (this._enabled !== value) {\n      this._enabled = value;\n      this._toggleAutoHeight();\n    }\n  }\n  get enabled(): boolean {\n    return this._enabled;\n  }\n\n  @Input('paTextareaMaxHeight')\n  set maxHeight(value: number | null | undefined) {\n    this._maxHeight = value;\n    if (this._enabled) {\n      this.resizeToFitContent();\n    }\n  }\n\n  @Input() formControl?: UntypedFormControl;\n\n  /** Class that should be applied to the textarea while it's being measured. */\n  readonly _measuringClass: string;\n  readonly _textarea: HTMLTextAreaElement;\n  readonly _heightSafetynet = 4;\n  private _previousHeight = 0;\n  private _previousValue?: string;\n\n  private _maxHeight: number | null | undefined;\n  private _enabled = true;\n  private _autoSizingChanged$ = new Subject<void>();\n\n  constructor(\n    private _elementRef: ElementRef<HTMLElement>,\n    private _platform: Platform,\n    private _ngZone: NgZone,\n    private renderer: Renderer2,\n  ) {\n    this._textarea = this._elementRef.nativeElement as HTMLTextAreaElement;\n    this._measuringClass = this._platform.FIREFOX\n      ? 'pa-textarea-autosize-measuring-firefox'\n      : 'pa-textarea-autosize-measuring';\n  }\n\n  ngAfterViewInit() {\n    this._toggleAutoHeight();\n  }\n\n  ngOnDestroy() {\n    this._autoSizingChanged$.next();\n    this._autoSizingChanged$.complete();\n  }\n\n  /**\n   * Resize the textarea to fit its content.\n   */\n  resizeToFitContent() {\n    let nextHeight = this._measureAutoHeight();\n    if (this._maxHeight && nextHeight > this._maxHeight) {\n      nextHeight = this._maxHeight;\n    }\n    if (nextHeight !== this._previousHeight) {\n      this.renderer.setStyle(this._textarea, 'height', `${nextHeight}px`);\n      this._previousHeight = nextHeight;\n    }\n  }\n\n  private _measureAutoHeight() {\n    // Reset the textarea height to auto using the measuring class.\n    // Also, temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n    // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n    // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n    // need to be removed temporarily.\n    const placeholderCache = this._textarea.placeholder;\n    this.renderer.addClass(this._textarea, this._measuringClass);\n    this._textarea.placeholder = '';\n\n    // Use the scrollHeight to know how big the textarea *would* be if fit its entire value.\n    // make sure textarea won't be scrollable afterward adding an offset of 4px;\n    const height = this._textarea.scrollHeight + this._heightSafetynet;\n    this.renderer.removeClass(this._textarea, this._measuringClass);\n    this._textarea.placeholder = placeholderCache;\n    return height;\n  }\n\n  private _toggleAutoHeight() {\n    if (this._enabled) {\n      this.resizeToFitContent();\n      this._trackChanges();\n    } else {\n      this._autoSizingChanged$.next();\n      this.renderer.removeStyle(this._textarea, 'height');\n    }\n  }\n\n  private _trackChanges() {\n    this._ngZone.runOutsideAngular(() => {\n      // resize events\n      fromEvent(window, 'resize')\n        .pipe(auditTime(16), takeUntil(this._autoSizingChanged$))\n        .subscribe(() => this.resizeToFitContent());\n      // input\n      fromEvent(this._textarea, 'input')\n        .pipe(takeUntil(this._autoSizingChanged$))\n        .subscribe(() => {\n          const value = this._textarea.value;\n          if (value !== this._previousValue) {\n            this.resizeToFitContent();\n            this._previousValue = value;\n          }\n        });\n      // value changed without input event\n      if (this.formControl) {\n        this.formControl.valueChanges\n          .pipe(\n            filter((val) => val !== this._previousValue),\n            takeUntil(this._autoSizingChanged$),\n          )\n          .subscribe(() => {\n            this.resizeToFitContent();\n            this._previousValue = this._textarea.value;\n          });\n      }\n    });\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  numberAttribute,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  Self,\n  SimpleChanges,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { TextFieldUtilityService } from '../text-field-utility.service';\nimport { NativeTextFieldDirective } from '../native-text-field.directive';\nimport { cssAsNumber } from '../../../common';\n\n@Component({\n  selector: 'pa-textarea',\n  templateUrl: './textarea.component.html',\n  styleUrls: ['./textarea.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TextareaComponent extends NativeTextFieldDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n  @Input({ transform: booleanAttribute }) autoHeight = false;\n  @Input({ transform: booleanAttribute }) resizable = false;\n  @Input({ transform: numberAttribute }) rows = 1;\n\n  @Output() resizing = new EventEmitter<DOMRect>();\n\n  @Input() set maxRows(max: number) {\n    this._maxRows = max;\n    if (!!max && !this._maxHeight) {\n      this._computeMaxHeight();\n    } else if (!max && !this.maxHeight) {\n      this.autoMaxHeight = null;\n    }\n  }\n  private _maxRows?: number;\n\n  @Input() set maxHeight(max: number | null | undefined) {\n    // maxHeight can be set internally using maxRows\n    // therefore we need to apply the change only when there's an actual change\n    this._maxHeight = max;\n    if (!!this._maxHeight) {\n      this.autoMaxHeight = max;\n    } else if (!this._maxRows) {\n      this.autoMaxHeight = null;\n    } else {\n      this._computeMaxHeight();\n    }\n  }\n  get maxHeight() {\n    return this._maxHeight;\n  }\n  private _maxHeight?: number | null;\n\n  autoMaxHeight: number | null | undefined = null;\n  override fieldType = 'textarea';\n\n  private _lineHeight = 0;\n  private _verticalPadding = 0;\n  private resizeObserver = new ResizeObserver((entries) => {\n    this.resizing.next(entries[0].target.getBoundingClientRect());\n  });\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n    protected override textFieldUtility: TextFieldUtilityService,\n    protected override renderer: Renderer2,\n  ) {\n    super(element, parentControl, cdr, textFieldUtility, renderer);\n  }\n\n  override ngOnChanges(changes: SimpleChanges) {\n    super.ngOnChanges(changes);\n    this._checkIsFilled();\n    this._checkDescribedBy();\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n  }\n\n  override ngAfterViewInit() {\n    this._computeMaxHeight();\n    super.ngAfterViewInit();\n    if (this.resizable && this.htmlInputRef) {\n      this.resizeObserver.observe(this.htmlInputRef.nativeElement);\n    }\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    if (this.htmlInputRef) {\n      this.resizeObserver.unobserve(this.htmlInputRef.nativeElement);\n      this.resizeObserver.disconnect();\n    }\n  }\n\n  override setDisabledState(isDisabled: boolean): void {\n    super.setDisabledState(isDisabled);\n    if (this.htmlInputRef) {\n      this.renderer.setProperty(this.htmlInputRef?.nativeElement, 'disabled', isDisabled);\n    }\n  }\n\n  _computeMaxHeight() {\n    if (!this._maxHeight && this.htmlInputRef) {\n      if (!this._lineHeight) {\n        this._cacheElementStyle();\n      }\n      if (this._maxRows && this._lineHeight) {\n        this.autoMaxHeight = this._maxRows * this._lineHeight + this._verticalPadding;\n      }\n    }\n  }\n\n  private _cacheElementStyle() {\n    const style = window.getComputedStyle(this.htmlInputRef?.nativeElement);\n    this._lineHeight = cssAsNumber(style.lineHeight);\n    this._verticalPadding = cssAsNumber(style.paddingTop) + cssAsNumber(style.paddingBottom);\n  }\n}\n","<div\n  class=\"pa-field\"\n  [style.--label-width]=\"labelWidth\">\n  <div\n    class=\"pa-field-container\"\n    [class.no-internal-label]=\"noLabel\"\n    [class.pa-focus]=\"hasFocus\"\n    [class.pa-disabled]=\"disabled || readonly\"\n    [class.pa-readonly]=\"readonly\"\n    [class.pa-field-error]=\"control.dirty && control.invalid\">\n    <textarea\n      #htmlInput\n      class=\"pa-field-control pa-field-textarea\"\n      [class.pa-field-control-filled]=\"isFilled\"\n      [class.pa-text-area-resizable]=\"resizable\"\n      [formControl]=\"control\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.autocomplete]=\"noAutoComplete ? 'off' : undefined\"\n      [attr.placeholder]=\"placeholder\"\n      [attr.maxlength]=\"maxlength\"\n      [attr.aria-describedby]=\"describedById\"\n      [readonly]=\"readonly\"\n      [paTextareaAutoHeight]=\"autoHeight\"\n      [paTextareaMaxHeight]=\"autoMaxHeight\"\n      [attr.rows]=\"rows\"\n      [paInputFormatter]=\"sanitizeHtmlTags\"\n      (blur)=\"onBlur()\"\n      (keyup)=\"onKeyUp($event)\"\n      (focus)=\"onFocus($event)\"\n      (mousedown)=\"hasFocus = true\"></textarea>\n    <label\n      class=\"pa-field-label\"\n      [for]=\"id\"\n      aria-hidden=\"true\">\n      <ng-content></ng-content>\n    </label>\n  </div>\n\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [showAllErrors]=\"showAllErrors\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n</div>\n","import {\n  AfterContentInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { markForCheck, trimString } from '../../../common';\n\nlet nextId = 0;\n\n@Component({\n  selector: 'pa-radio',\n  templateUrl: './radio.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class RadioComponent implements AfterContentInit, OnChanges {\n  @Input({ transform: trimString }) id = `pa-radio-${nextId++}`;\n  @Input({ transform: trimString }) name = '';\n  @Input({ transform: trimString }) value = '';\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: trimString }) ariaLabel = '';\n  @Input({ transform: trimString }) help = '';\n  @Input({ transform: trimString }) popoverHelp = '';\n  @Input({ transform: booleanAttribute }) noEllipsis = false;\n\n  @Output() change: EventEmitter<{ value: string; checked: boolean }> = new EventEmitter();\n\n  @ViewChild('label', { read: ElementRef, static: true }) label?: ElementRef;\n\n  @HostBinding('class.pa-disabled') get disabledRadio() {\n    return this.disabled;\n  }\n\n  checked = false;\n  hasLabel = false;\n  describedById = `${this.id}-hint`;\n\n  constructor(\n    private element: ElementRef,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterContentInit() {\n    this.hasLabel = this.label?.nativeElement.innerHTML.length > 0;\n    this.ariaLabel = this.hasLabel ? this.label?.nativeElement.innerHTML : this.ariaLabel || this.value;\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['id']) {\n      this.describedById = `${this.id}-hint`;\n    }\n  }\n\n  /**\n   * Marks the radio button as needing checking for change detection.\n   * This method is exposed because the parent radio group will directly\n   * update bound properties of the radio button.\n   */\n  _markForCheck() {\n    markForCheck(this.cdr);\n  }\n\n  _onInputChange() {\n    if (!this.disabled) {\n      if (!this.checked) {\n        this.checked = true;\n      }\n      this.change.emit({ value: this.value, checked: this.checked });\n      this.cdr.markForCheck();\n    }\n  }\n\n  /**\n   * Select this radio from the radio-group, allowing to set the value coming from a form.\n   */\n  select() {\n    this.element.nativeElement.querySelector('.pa-toggle-control').checked = true;\n    this._onInputChange();\n  }\n\n  /**\n   * Unselect this radio from the radio-group when another radio is selected.\n   */\n  unselect() {\n    this.element.nativeElement.querySelector('.pa-toggle-control').checked = false;\n    this.checked = false;\n    this.cdr.markForCheck();\n  }\n}\n","<div\n  class=\"pa-toggle\"\n  [class.pa-disabled]=\"disabled\">\n  <div class=\"pa-checkbox-wrapper\">\n    <input\n      type=\"radio\"\n      class=\"pa-toggle-control\"\n      paFocusable\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.aria-label]=\"ariaLabel\"\n      [attr.aria-checked]=\"checked\"\n      [attr.aria-describedby]=\"help ? describedById : undefined\"\n      [disabled]=\"disabled\"\n      (change)=\"_onInputChange()\" />\n    <label\n      [for]=\"id\"\n      #label\n      class=\"pa-toggle-label\"\n      [class.no-ellipsis]=\"noEllipsis\"\n      [hidden]=\"!hasLabel\">\n      <ng-content></ng-content>\n    </label>\n    @if (popoverHelp) {\n      <pa-icon\n        name=\"info\"\n        [paPopover]=\"help\"></pa-icon>\n      <pa-popover #help>{{ popoverHelp }}</pa-popover>\n    }\n  </div>\n\n  @if (help) {\n    <pa-form-field-hint\n      [id]=\"describedById\"\n      [help]=\"help\"></pa-form-field-hint>\n  }\n</div>\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  forwardRef,\n  HostBinding,\n  Input,\n  OnDestroy,\n  Optional,\n  QueryList,\n  Self,\n} from '@angular/core';\nimport { PaFormControlDirective } from '../../form-field';\nimport { RadioComponent } from './radio.component';\nimport { NgControl } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n  selector: 'pa-radio-group',\n  exportAs: 'paRadioGroup',\n  host: {\n    role: 'radiogroup',\n    class: 'pa-radio-group',\n  },\n  standalone: false,\n})\nexport class RadioGroupDirective extends PaFormControlDirective implements AfterViewInit, OnDestroy {\n  @Input({ transform: booleanAttribute }) noBackground = false;\n\n  @ContentChildren(forwardRef(() => RadioComponent), { descendants: true }) _radios?: QueryList<RadioComponent>;\n\n  override fieldType = 'radiogroup';\n  private checkedRadio?: RadioComponent;\n  private initialSetDisabledState = true;\n  radioCount = 0;\n\n  @HostBinding('class.background-striped') get alternateBackgrounds() {\n    return this.radioCount > 2 && !this.noBackground;\n  }\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  ngAfterViewInit() {\n    this.waitForRadios(() => {\n      this._radios?.forEach((radio) => {\n        radio.name = this.name;\n        radio.change.pipe(takeUntil(this.terminator$)).subscribe((res) => {\n          if (res.checked) {\n            this.writeValue(res.value);\n          }\n          if (this.control.pristine) {\n            this.control.markAsDirty();\n          }\n        });\n        radio._markForCheck();\n      });\n      this.radioCount = this._radios?.length || 0;\n    });\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n  }\n\n  override setDisabledState(value: boolean) {\n    // we skip the first call to `setDisabledState` if `disabled` is `false`,\n    // to prevent overriding the 'disable' property of individual pa-radio components,\n    if (!this.initialSetDisabledState || value === true) {\n      super.setDisabledState(value);\n\n      this.waitForRadios(() => {\n        this._radios?.forEach((radio) => {\n          radio.disabled = this.disabled;\n          radio._markForCheck();\n        });\n      });\n    }\n    this.initialSetDisabledState = false;\n  }\n\n  override writeValue(value: any) {\n    super.writeValue(value);\n    if (value) {\n      this.waitForRadios(() => {\n        if (this.checkedRadio && this.checkedRadio.value !== value) {\n          this.checkedRadio.unselect();\n        }\n        const radio = this._radios?.find((r) => r.value === value);\n        this.checkedRadio = radio;\n        if (radio && !radio.checked) {\n          radio.select();\n        }\n      });\n    }\n  }\n\n  /**\n   * Check if the radios are already in the DOM before running the callback.\n   * If they are not, try every 200ms for 4s.\n   *\n   * @param callback\n   * @private\n   */\n  private waitForRadios(callback: () => void) {\n    setTimeout(() => {\n      if (this._radios && this._radios.length > 0) {\n        callback();\n      } else {\n        let radioCheckCounter = 0;\n\n        const waitForRadios = window.setInterval(() => {\n          if (this._radios && this._radios.length > 0) {\n            callback();\n            clearInterval(waitForRadios);\n          } else if (radioCheckCounter === 20) {\n            clearInterval(waitForRadios);\n          } else {\n            radioCheckCounter++;\n          }\n        }, 200);\n      }\n    });\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  Self,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { detectChanges, markForCheck } from '../../../common';\nimport { PaFormControlDirective } from '../../form-field';\n\n@Component({\n  selector: 'pa-toggle',\n  templateUrl: './toggle.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ToggleComponent extends PaFormControlDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n  @Input({ transform: booleanAttribute }) labelOnRight = false;\n  @Input({ transform: booleanAttribute }) hasFocus = false;\n  @Input({ transform: booleanAttribute }) withBackground = false;\n  @Input({ transform: booleanAttribute }) spaceBetweenLabelAndToggle = false;\n\n  @ViewChild('inputElement') input?: ElementRef;\n  @ViewChild('label') labelElement?: ElementRef;\n\n  label = '';\n  hasLabel = true;\n  isChecked = false;\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    protected override cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  override ngOnChanges(changes: SimpleChanges): void {\n    super.ngOnChanges(changes);\n    if (changes['hasFocus'] && !!this.input) {\n      if (changes['hasFocus'].currentValue) {\n        this.input.nativeElement.focus();\n      } else {\n        this.input.nativeElement.blur();\n      }\n    }\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n    this.isChecked = this.control.value;\n  }\n\n  ngAfterViewInit() {\n    this.control.valueChanges.pipe(takeUntil(this.terminator$)).subscribe((val) => {\n      this.isChecked = val;\n      detectChanges(this.cdr);\n    });\n    this.control.statusChanges.pipe(takeUntil(this.terminator$)).subscribe((status) => {\n      this.describedById = status === 'INVALID' ? `${this.id}-hint` : undefined;\n      detectChanges(this.cdr);\n    });\n    if (this.hasFocus && !!this.input) {\n      this.input.nativeElement.focus();\n    }\n    if (!!this.labelElement) {\n      this.label = this.labelElement.nativeElement.textContent.trim();\n      // avoid expressionChanged after it was checked since _hasLabel is true by default\n      setTimeout(() => {\n        this.updateLabelDisplay();\n      });\n    }\n  }\n\n  override ngOnDestroy(): void {\n    super.ngOnDestroy();\n  }\n\n  updateState(event: boolean) {\n    if (!this.control.disabled) {\n      this.control.setValue(event);\n      this.control.markAsDirty();\n    }\n  }\n\n  updateLabelDisplay() {\n    this.hasLabel = this.label.length > 0;\n    markForCheck(this.cdr);\n  }\n\n  onFocus() {\n    this.hasFocus = true;\n  }\n\n  onBlur() {\n    this.hasFocus = false;\n  }\n\n  override setDisabledState(isDisabled: boolean): void {\n    super.setDisabledState(isDisabled);\n    if (this.input) {\n      this.renderer.setProperty(this.input?.nativeElement, 'disabled', isDisabled);\n    }\n  }\n}\n","<div\n  class=\"pa-field\"\n  [class.pa-with-background]=\"withBackground\"\n  [class.pa-has-help]=\"!!help\"\n  [class.pa-disable]=\"control.disabled\"\n  [class.pa-field-error]=\"control.dirty && control.invalid\"\n  (click)=\"updateState(!isChecked)\">\n  <div\n    class=\"pa-toggle-context\"\n    [class.pa-label-on-right]=\"labelOnRight\"\n    [class.pa-space-between]=\"spaceBetweenLabelAndToggle\">\n    @if (hasLabel) {\n      <div\n        class=\"pa-toggle-label-container\"\n        tabindex=\"-1\">\n        <label\n          #label\n          [for]=\"id\"\n          class=\"pa-field-label\"\n          aria-hidden=\"true\"\n          (click)=\"updateState(!isChecked)\">\n          <ng-content></ng-content>\n        </label>\n        <pa-form-field-hint\n          [id]=\"describedById\"\n          [help]=\"help\"\n          [errors]=\"control.errors\"\n          [showErrors]=\"control.dirty\"\n          [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n      </div>\n    }\n    <div\n      class=\"pa-toggle-container\"\n      [class.pa-checked]=\"isChecked\"\n      [class.pa-disable]=\"control.disabled\"\n      [class.pa-focus]=\"hasFocus\">\n      <input\n        #inputElement\n        type=\"checkbox\"\n        class=\"toggle-checkbox\"\n        [id]=\"id\"\n        [name]=\"name\"\n        [formControl]=\"control\"\n        [attr.aria-label]=\"label\"\n        [attr.aria-disabled]=\"control.disabled\"\n        [attr.aria-checked]=\"isChecked\"\n        [attr.aria-describedby]=\"describedById\"\n        (blur)=\"onBlur()\"\n        (focus)=\"onFocus()\" />\n      <span class=\"pa-toggle-slider\"></span>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { PaFocusableModule } from '../../focusable';\nimport { PaFormFieldModule } from '../form-field';\nimport { ToggleComponent } from './toggle/toggle.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { RadioGroupDirective } from './radio/radio-group.directive';\nimport { PaTooltipModule } from '../../tooltip';\nimport { PaIconModule } from '../../icon';\nimport { PaPopupModule } from '../../popup';\n\n@NgModule({\n  declarations: [CheckboxComponent, ToggleComponent, RadioComponent, RadioGroupDirective],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    PaFocusableModule,\n    PaFormFieldModule,\n    PaTooltipModule,\n    PaIconModule,\n    PaPopupModule,\n  ],\n  exports: [CheckboxComponent, ToggleComponent, RadioComponent, RadioGroupDirective],\n})\nexport class PaTogglesModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Optional,\n  Self,\n} from '@angular/core';\nimport { OptionType, SelectComponent } from '../select';\nimport { NgControl } from '@angular/forms';\nimport { ControlType, OptionModel } from '../../control.model';\n\n@Component({\n  selector: 'pa-typeahead-select',\n  templateUrl: './typeahead-select.component.html',\n  styleUrls: ['./typeahead-select.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TypeaheadSelectComponent extends SelectComponent implements OnChanges, AfterViewInit, OnDestroy {\n  @Input() override set options(values: OptionType[] | null) {\n    super.options = values;\n    this._dropdownOptionsBackup = [...this.dropdownOptions];\n  }\n\n  get allOptions(): OptionModel[] {\n    if (this._dropdownOptionsBackup.length > 0) {\n      return this._dropdownOptionsBackup.filter((option) => option.type === ControlType.option) as OptionModel[];\n    } else {\n      return (this.ngContent?.toArray() || []).map(\n        (content) => new OptionModel({ id: content.value, value: content.value, label: content.text }),\n      );\n    }\n  }\n\n  private _dropdownOptionsBackup: OptionType[] = [];\n\n  constructor(\n    protected override element: ElementRef,\n    @Optional() @Self() protected override parentControl: NgControl,\n    public override cdr: ChangeDetectorRef,\n  ) {\n    super(element, parentControl, cdr);\n  }\n\n  filterOptions() {\n    const value: string = this.selectInput?.nativeElement.value || '';\n    const lowerCaseValue = value.toLocaleLowerCase();\n\n    if (!value) {\n      this.resetOptions();\n    } else {\n      this.dropdownOptions = [\n        ...this.allOptions.filter((option) => option.label.toLocaleLowerCase().includes(lowerCaseValue)),\n      ];\n    }\n  }\n\n  override dropDownClosed() {\n    super.dropDownClosed();\n    this.resetOptions();\n  }\n\n  override onBlur() {\n    super.onBlur();\n    if (this.selectInput) {\n      if (!this.control.value) {\n        this.displayedValue = '';\n        this.selectInput.nativeElement.value = '';\n      } else {\n        this._updateDisplayedValue(this.control.value);\n        this.selectInput.nativeElement.value = this.displayedValue;\n      }\n    }\n  }\n\n  private resetOptions() {\n    this.dropdownOptions = [...this._dropdownOptionsBackup];\n  }\n}\n","<div\n  class=\"pa-field pa-select\"\n  [style.--label-width]=\"labelWidth\">\n  <div\n    class=\"pa-field-container\"\n    [class.no-internal-label]=\"noLabel\"\n    [class.pa-dim]=\"dim\"\n    [class.pa-focus]=\"isOpened || mouseDown\"\n    [class.pa-readonly]=\"readonly\"\n    [class.pa-disabled]=\"control.disabled\"\n    [class.pa-field-error]=\"control.dirty && control.invalid\">\n    <input\n      #selectInput\n      class=\"pa-field-control\"\n      tabindex=\"0\"\n      cdkMonitorElementFocus\n      sameWidth\n      [class.pa-field-control-filled]=\"hasValue || isOpened\"\n      [class.read-only]=\"readonly\"\n      [class.disabled]=\"control.disabled\"\n      [class.expanded]=\"isOpened\"\n      [readonly]=\"readonly\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.aria-label]=\"label\"\n      [attr.aria-describedby]=\"describedById\"\n      [paPopup]=\"optionsDropdown\"\n      [popupVerticalOffset]=\"0\"\n      [popupDisabled]=\"control.disabled || readonly\"\n      [value]=\"displayedValue || ''\"\n      (keyup)=\"filterOptions()\"\n      (mousedown)=\"onMouseDown()\"\n      (mouseup)=\"onMouseUp()\"\n      (blur)=\"onBlur()\"\n      (cdkFocusChange)=\"onControlFocused($event)\" />\n\n    <label\n      class=\"pa-field-label\"\n      [class.pa-sr-only]=\"dim && (hasValue || isOpened)\"\n      [for]=\"id\">\n      {{ label }}\n    </label>\n\n    <pa-icon\n      class=\"pa-select-chevron\"\n      name=\"chevron-down\"\n      [class.opened]=\"isOpened\"\n      (click)=\"toggleDropdown()\"></pa-icon>\n  </div>\n\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [showAllErrors]=\"showAllErrors\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n\n  <pa-dropdown\n    #optionsDropdown\n    role=\"listbox\"\n    [adjustHeight]=\"adjustHeight\"\n    [companionElement]=\"selectInput\"\n    (onClose)=\"dropDownClosed()\"\n    (onOpen)=\"dropDownOpened()\">\n    @if (dropdownOptions.length) {\n      <pa-select-options\n        [options]=\"dropdownOptions\"\n        (optionSelected)=\"selectOption($event)\"></pa-select-options>\n    } @else {\n      <ng-content></ng-content>\n    }\n  </pa-dropdown>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OptionComponent, OptionHeaderComponent, PaDropdownModule, SeparatorComponent } from '../../dropdown';\nimport { PaFocusableModule } from '../../focusable';\nimport { PaIconModule } from '../../icon';\nimport { PaPopupModule } from '../../popup';\nimport { PaTooltipModule } from '../../tooltip';\nimport { PaFormFieldModule } from '../form-field';\nimport { PaTogglesModule } from '../toggles';\nimport { InputFormatterDirective } from './input-formatter.directive';\nimport { InputComponent } from './input/input.component';\nimport { NativeTextFieldDirective } from './native-text-field.directive';\nimport { SelectComponent, SelectOptionsComponent } from './select';\nimport { TextFieldDirective } from './text-field.directive';\nimport { PaTextareaAutoHeightDirective, TextareaComponent } from './textarea';\nimport { TypeaheadSelectComponent } from './typeahead-select/typeahead-select.component';\n\n@NgModule({\n  declarations: [\n    InputComponent,\n    SelectComponent,\n    InputFormatterDirective,\n    SelectOptionsComponent,\n    TextareaComponent,\n    NativeTextFieldDirective,\n    PaTextareaAutoHeightDirective,\n    TextFieldDirective,\n    TypeaheadSelectComponent,\n  ],\n  imports: [\n    CommonModule,\n    A11yModule,\n    PaIconModule,\n    PaDropdownModule,\n    PaPopupModule,\n    FormsModule,\n    ReactiveFormsModule,\n    PaFocusableModule,\n    PaFormFieldModule,\n    PaTooltipModule,\n    PaTogglesModule,\n  ],\n  exports: [\n    InputComponent,\n    SelectComponent,\n    InputFormatterDirective,\n    TextareaComponent,\n    NativeTextFieldDirective,\n    PaTextareaAutoHeightDirective,\n    OptionComponent,\n    OptionHeaderComponent,\n    SeparatorComponent,\n    TypeaheadSelectComponent,\n  ],\n})\nexport class PaTextFieldModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  numberAttribute,\n  OnInit,\n  ViewChild,\n} from '@angular/core';\nimport { PaFormControlDirective } from '../form-field';\n\n@Component({\n  selector: 'pa-slider',\n  templateUrl: './slider.component.html',\n  styleUrls: ['./slider.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SliderComponent extends PaFormControlDirective implements AfterViewInit, OnInit {\n  @Input({ transform: numberAttribute }) min = 0;\n  @Input({ transform: numberAttribute }) max = 100;\n  @Input({ transform: numberAttribute }) step = 1;\n\n  get outputMinWidth() {\n    return `${(this.max.toString().length + 1.5) * 8}px`;\n  }\n\n  @ViewChild('label', { read: ElementRef }) label?: ElementRef;\n  hasLabel = false;\n\n  ngAfterViewInit(): void {\n    this.hasLabel = !!this.label && this.label.nativeElement.textContent.length > 0;\n    this.cdr.markForCheck();\n  }\n\n  override ngOnInit() {\n    super.ngOnInit();\n    // Set value as the minimum one by default\n    if (!this.control.value) {\n      this.control.patchValue(this.min);\n    }\n  }\n}\n","<div\n  class=\"pa-field pa-field-slider\"\n  [class.pa-disabled]=\"disabled\"\n  [class.pa-field-error]=\"control.dirty && control.invalid\">\n  <div class=\"pa-field-slider-wrapper\">\n    <label\n      #label\n      class=\"pa-field-label\"\n      [class.no-label]=\"!hasLabel\"\n      [for]=\"id\"\n      translate>\n      <ng-content></ng-content>\n    </label>\n    <output\n      class=\"pa-field-control-output\"\n      [style.min-width]=\"outputMinWidth\"\n      [for]=\"id\">\n      {{ control.value }}\n    </output>\n    <input\n      type=\"range\"\n      class=\"pa-field-control pa-field-control-range\"\n      [id]=\"id\"\n      [attr.name]=\"name\"\n      [attr.aria-describedby]=\"describedById\"\n      [formControl]=\"control\"\n      [min]=\"min\"\n      [max]=\"max\"\n      [step]=\"step\" />\n  </div>\n\n  <pa-form-field-hint\n    [id]=\"describedById\"\n    [help]=\"help\"\n    [errors]=\"control.errors\"\n    [showErrors]=\"control.dirty\"\n    [errorMessages]=\"errorMessages\"></pa-form-field-hint>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SliderComponent } from './slider.component';\nimport { PaFormFieldModule } from '../form-field';\nimport { PaFocusableModule } from '../../focusable';\n\n@NgModule({\n  declarations: [SliderComponent],\n  imports: [CommonModule, FormsModule, PaFormFieldModule, ReactiveFormsModule, PaFocusableModule],\n  exports: [SliderComponent],\n})\nexport class PaSliderModule {}\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  LOCALE_ID,\n  Optional,\n  Self,\n  ViewChild,\n} from '@angular/core';\nimport {\n  add,\n  addMonths,\n  getDate,\n  getDay,\n  getDaysInMonth,\n  getMonth,\n  getYear,\n  isEqual,\n  isMatch,\n  lastDayOfMonth,\n  parse,\n  set,\n  setMonth,\n  setYear,\n  startOfDay,\n  subMonths,\n} from 'date-fns';\nimport { PopupComponent, PopupDirective } from '../popup';\nimport { AbstractControl, FormControl, NgControl, ValidatorFn } from '@angular/forms';\nimport { debounceTime, filter, map, startWith } from 'rxjs/operators';\nimport { formatDate } from '@angular/common';\nimport { InputComponent, PaFormControlDirective } from '../controls';\nimport { markForCheck, TRANSITION_DURATION, trimString } from '../common';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport interface Day {\n  otherMonth: boolean;\n  number: number;\n  date: Date;\n  selected: boolean;\n}\n\ninterface Month {\n  name: string;\n  selected: boolean;\n}\n\ninterface Year {\n  number: number;\n  selected: boolean;\n}\n\nconst DATE_FORMATS = [\"MMMM d',' yyyy\", \"MMMM d',' yy\"];\n\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n  const valuesArray = Array(length);\n  for (let i = 0; i < length; i++) {\n    valuesArray[i] = valueFunction(i);\n  }\n  return valuesArray;\n}\n\nfunction DateValidator(): ValidatorFn {\n  return (control: AbstractControl) => {\n    if (control.value && !DATE_FORMATS.some((format) => isMatch(control.value, format))) {\n      return {\n        invalidFormat: 'pastanaga.calendar.invalid-format',\n      };\n    }\n    return null;\n  };\n}\n\n@Component({\n  selector: 'pa-date-picker',\n  templateUrl: './date-picker.component.html',\n  styleUrls: ['./date-picker.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class DatePickerComponent extends PaFormControlDirective {\n  @Input({ transform: booleanAttribute }) externalLabel = false;\n  @Input({ transform: booleanAttribute }) isInPopup = false;\n  @Input({ transform: trimString }) label?: string;\n  @Input()\n  override set disabled(value: any) {\n    this.setDisabledState(coerceBooleanProperty(value));\n  }\n  override get disabled() {\n    return this.inputControl.disabled;\n  }\n\n  @ViewChild('popupRef') popupDirective?: PopupDirective;\n  @ViewChild('popup') popup?: PopupComponent;\n  @ViewChild('input') input?: InputComponent;\n\n  private _selectedDate?: Date;\n  trackedDate: Date;\n  inputControl: FormControl<string | null> = new FormControl<string | null>(null, {\n    validators: [DateValidator()],\n  });\n\n  mode: 'weeks' | 'months' | 'years' = 'weeks';\n\n  readonly days: string[] = range(7, (i) => formatDate(new Date(2017, 0, i + 1), 'EEEEE', this.locale));\n  weeks: Day[][] = [];\n  years: Year[] | undefined;\n  months: Month[] | undefined;\n\n  constructor(\n    @Inject(LOCALE_ID) private locale: string,\n    element: ElementRef,\n    @Optional() @Self() parentControl: NgControl,\n    cdr: ChangeDetectorRef,\n  ) {\n    super(element, parentControl, cdr);\n    this.trackedDate = new Date();\n    // @ts-ignore\n    this.valueCompare = <D extends Date>(a: D, b: D) => isEqual(a, b);\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n\n    // whenever date value changes make sure it is reflected in the input\n    this.control.valueChanges\n      .pipe(\n        startWith(this.control.value),\n        filter((value) => !!value),\n      )\n      .subscribe((value: string) => {\n        const date = formatDate(value, 'longDate', this.locale);\n\n        this.inputControl.setValue(date);\n        this._selectedDate = startOfDay(new Date(value));\n        this.trackedDate = this._selectedDate || new Date();\n      });\n\n    // honor text entry\n    this.inputControl.valueChanges\n      .pipe(\n        debounceTime(TRANSITION_DURATION.moderate),\n        map((v) => {\n          return {\n            value: v,\n            format: DATE_FORMATS.find((format) => (v ? isMatch(v, format) : false)) || null,\n          };\n        }),\n        map(({ value, format }) => {\n          let date: Date | undefined = undefined;\n\n          if (!format) {\n            if (!value) {\n              this.trackedDate = new Date();\n            }\n          } else if (value) {\n            // this maintains the user's format for now\n            date = parse(value, format, this.trackedDate);\n          }\n          return date;\n        }),\n        filter((date) => {\n          return !date || !this._selectedDate || !isEqual(date, this._selectedDate);\n        }),\n      )\n      .subscribe((date) => {\n        this.setDate(date);\n        this.generateWeeks();\n        markForCheck(this.cdr);\n      });\n  }\n\n  private generateWeeks(): void {\n    this.weeks = [];\n\n    const monthStartDate = startOfDay(set(this.trackedDate, { date: 1 }));\n    const monthFirstDay = getDay(monthStartDate);\n    const monthLastDay = getDay(lastDayOfMonth(this.trackedDate));\n    const monthNumDays = getDaysInMonth(monthStartDate);\n\n    const offsetBefore = -monthFirstDay;\n    const offsetAfter = monthNumDays + (6 - monthLastDay);\n\n    for (let i = offsetBefore, days = 0; i < offsetAfter; i++, days++) {\n      // determine week number in month for day\n      const weekNum = Math.floor(days / 7);\n\n      // get/create current week\n      this.weeks[weekNum] = this.weeks[weekNum] || [];\n      const week = this.weeks[weekNum];\n\n      // create date for day\n      const date = add(monthStartDate, { days: i });\n\n      // add day to week\n      week.push({\n        otherMonth: i < 0 || i > monthNumDays - 1,\n        number: getDate(date),\n        date,\n        selected: isEqual(date, this._selectedDate || 0),\n      });\n    }\n  }\n\n  private generateMonths(): void {\n    this.months = range(12, (i) => {\n      return {\n        name: formatDate(new Date(2017, i, 1), 'LLLL', this.locale),\n        selected: false,\n      };\n    });\n\n    const trackedMonth = getMonth(this.trackedDate);\n    this.months.forEach((month, i) => (month.selected = i === trackedMonth));\n  }\n\n  private generateYears(): void {\n    const year: number = getYear(this.trackedDate);\n\n    this.years = [];\n    const start = Math.max(getYear(new Date()), year);\n    const end = Math.min(2000, year);\n\n    // add years in descending order\n    for (let y = start; y >= end; y--) {\n      this.years.push({ number: y, selected: y === year });\n    }\n  }\n\n  handleInputClick(event: MouseEvent) {\n    if (this.popup?.isDisplayed || this.disabled || this.readonly) {\n      // using companionElement doesn't behave correctly; intercepting the click before\n      // it bubbles up to the popup directive to keep open\n      event.stopPropagation();\n      event.preventDefault();\n    }\n\n    // mark as touched\n    if (!this.disabled && !this.readonly && this.onTouched) {\n      this.onTouched();\n    }\n  }\n\n  handlePopupClose() {\n    this.trackedDate = this._selectedDate || new Date();\n  }\n\n  openWeeks(event?: Event): void {\n    event?.stopPropagation();\n    this.generateWeeks();\n    this.mode = 'weeks';\n  }\n\n  openYears(event: Event): void {\n    event.stopPropagation();\n    this.generateYears();\n    this.mode = 'years';\n  }\n\n  openMonths(event: Event): void {\n    event.stopPropagation();\n    this.generateMonths();\n    this.mode = 'months';\n  }\n\n  previousMonth(): void {\n    this.trackedDate = subMonths(this.trackedDate, 1);\n    this.generateWeeks();\n  }\n\n  nextMonth(): void {\n    this.trackedDate = addMonths(this.trackedDate, 1);\n    this.generateWeeks();\n  }\n\n  selectYear(event: Event, year: number) {\n    this.trackedDate = setYear(this.trackedDate, year);\n    this.openWeeks(event);\n  }\n\n  selectMonth(event: Event, month: number) {\n    this.trackedDate = setMonth(this.trackedDate, month);\n    this.openWeeks(event);\n  }\n\n  selectDay(day: Day) {\n    // close pop up\n    this.popupDirective?.toggle();\n\n    // change date\n    this.setDate(day.date);\n\n    this.input?.htmlInputRef?.nativeElement.focus();\n  }\n\n  private setDate(date: Date | undefined) {\n    this._selectedDate = date;\n\n    this.trackedDate = this._selectedDate || new Date();\n    // Patch this.control value (which is meant to be a timestamp, ie an ISO string representation of a Date)\n    this.onChange(this._selectedDate?.toISOString());\n  }\n\n  override setDisabledState(isDisabled: boolean) {\n    if (isDisabled === this.inputControl.disabled) {\n      return;\n    }\n    if (isDisabled) {\n      this.inputControl.disable();\n    } else {\n      this.inputControl.enable();\n    }\n  }\n}\n","<div\n  [paPopup]=\"popup\"\n  alignPopupOnLeft=\"true\"\n  #popupRef=\"paPopupRef\">\n  <pa-input\n    #input\n    size=\"small\"\n    icon=\"calendar\"\n    iconOnRight=\"\"\n    [externalLabel]=\"externalLabel\"\n    [readonly]=\"readonly\"\n    [formControl]=\"inputControl\"\n    (click)=\"handleInputClick($event)\">\n    {{ externalLabel ? '' : (label || 'pastanaga.date-picker.label' | translate) }}\n  </pa-input>\n</div>\n<pa-popup\n  #popup\n  (onOpen)=\"openWeeks()\"\n  (onClose)=\"handlePopupClose()\"\n  [keepOthersOpen]=\"isInPopup\"\n  class=\"calendar-popup\">\n  @switch (mode) {\n    @case ('weeks') {\n      <div class=\"calendar-header\">\n        <button (click)=\"openYears($event)\">\n          {{ trackedDate | date: 'yyyy' }}\n          <pa-icon name=\"chevron-down\"></pa-icon>\n        </button>\n        <button (click)=\"openMonths($event)\">\n          {{ trackedDate | date: 'LLLL' }}\n          <pa-icon name=\"chevron-down\"></pa-icon>\n        </button>\n        <div class=\"spacer\"></div>\n        <pa-button\n          (click)=\"previousMonth()\"\n          kind=\"secondary\"\n          aspect=\"basic\"\n          size=\"small\"\n          icon=\"chevron-left\"></pa-button>\n        <pa-button\n          (click)=\"nextMonth()\"\n          kind=\"secondary\"\n          aspect=\"basic\"\n          size=\"small\"\n          icon=\"chevron-right\"></pa-button>\n      </div>\n      <div class=\"calendar-weekdays\">\n        @for (day of days; track day) {\n          <div>{{ day }}</div>\n        }\n      </div>\n      @for (week of weeks; track week) {\n        <div class=\"calendar-row\">\n          @for (day of week; track day) {\n            <pa-button\n              (click)=\"selectDay(day)\"\n              size=\"small\"\n              aspect=\"basic\"\n              [class.other-month]=\"day.otherMonth\"\n              [class.selected]=\"day.selected\">\n              {{ day.number }}\n            </pa-button>\n          }\n        </div>\n      }\n    }\n    @case ('years') {\n      <div class=\"calendar-list-header overline\">\n        <div class=\"label\">{{ 'pastanaga.calendar.years' | translate }}</div>\n        <pa-button\n          (click)=\"openWeeks($event)\"\n          kind=\"secondary\"\n          aspect=\"basic\"\n          size=\"small\"\n          icon=\"chevron-left\"></pa-button>\n      </div>\n      <div class=\"calendar-list\">\n        @for (year of years; track year) {\n          <div\n            (click)=\"selectYear($event, year.number)\"\n            class=\"calendar-list-item\"\n            [class.selected]=\"year.selected\">\n            {{ year.number }}\n          </div>\n        }\n      </div>\n    }\n    @case ('months') {\n      <div class=\"calendar-list-header overline\">\n        <div class=\"label\">{{ 'pastanaga.calendar.months' | translate }}</div>\n        <pa-button\n          (click)=\"openWeeks($event)\"\n          kind=\"secondary\"\n          aspect=\"basic\"\n          size=\"small\"\n          icon=\"chevron-left\"></pa-button>\n      </div>\n      <div class=\"calendar-list\">\n        @for (month of months; track month; let i = $index) {\n          <div\n            (click)=\"selectMonth($event, i)\"\n            class=\"calendar-list-item\"\n            [class.selected]=\"month.selected\">\n            {{ month.name }}\n          </div>\n        }\n      </div>\n    }\n  }\n</pa-popup>\n","import { NgModule } from '@angular/core';\nimport { DatePickerComponent } from './date-picker.component';\nimport { PaButtonModule } from '../button';\nimport { CommonModule } from '@angular/common';\nimport { PaTextFieldModule } from '../controls';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PaIconModule } from '../icon';\nimport { PaPopupModule } from '../popup';\nimport { PaTranslateModule } from '../translate';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    PaButtonModule,\n    PaIconModule,\n    PaPopupModule,\n    PaTextFieldModule,\n    PaTranslateModule,\n  ],\n  exports: [DatePickerComponent],\n  declarations: [DatePickerComponent],\n})\nexport class PaDatePickerModule {}\n","import { DatePipe, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { isToday, isYesterday, isThisMinute, differenceInMinutes, isThisYear } from 'date-fns';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TranslatePipe } from '../translate';\n\n/**\n * Date and time spec: https://docs.google.com/document/d/1VNtaS9_jmbcWRqYi3EkCk925rvTP1kczD73cD732-KM\n *\n * DATE_FORMAT:\n *  - human:\n *      - format few seconds/minutes ago as relative time like 'Just now' or '10 minutes ago'\n *      - format today/yesterday as human date like 'Today, 8:13AM'\n *      - format date before yesterday like 'Dec 31, 2017'\n *  - numerical:\n *      - format date as numerical date like '12/31/2017'\n */\nexport type DateFormat = 'human' | 'numerical';\n\nexport class StringMap {\n  yesterday: { key: string; value: string };\n  fewSecondsAgo: { key: string; value: string };\n  oneMinuteAgo: { key: string; value: string };\n  minutesAgo: { key: string; value: string };\n  at: { key: string; value: string };\n\n  constructor(translateMap?: { [key: string]: string }) {\n    this.yesterday = { key: 'pastanaga.datetime.yesterday', value: '' };\n    this.fewSecondsAgo = { key: 'pastanaga.datetime.a-few-seconds-ago', value: '' };\n    this.oneMinuteAgo = { key: 'pastanaga.datetime.one-minute-ago', value: '' };\n    this.minutesAgo = { key: 'pastanaga.datetime.minutesAgo', value: '' };\n    this.at = { key: 'pastanaga.datetime.at', value: '' };\n\n    if (translateMap) {\n      this.yesterday.value = translateMap[this.yesterday.key];\n      this.fewSecondsAgo.value = translateMap[this.fewSecondsAgo.key];\n      this.oneMinuteAgo.value = translateMap[this.oneMinuteAgo.key];\n      this.minutesAgo.value = translateMap[this.minutesAgo.key];\n      this.at.value = translateMap[this.at.key];\n    }\n  }\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DateTimeService {\n  strings: ReplaySubject<StringMap> = new ReplaySubject(1);\n  localeDatePipe: DatePipe;\n  cache: { [key: string]: string | null } = {};\n  numericalFormat: string;\n\n  constructor(\n    private translate: TranslatePipe,\n    @Inject(LOCALE_ID) private locale: string,\n  ) {\n    const stringMap = new StringMap();\n    const stringKeys: string[] = Object.values(stringMap).map((item) => item.key);\n    const values = stringKeys.reduce((acc: { [key: string]: string }, key) => {\n      acc[key] = this.translate.transform(key);\n      return acc;\n    }, {});\n    this.strings.next(new StringMap(values));\n    this.localeDatePipe = new DatePipe(this.locale || 'en');\n    this.numericalFormat = getLocaleDateFormat(this.locale, FormatWidth.Short);\n  }\n\n  /**\n   * Returns an observable containing the formatted date as a string.\n   * @param timestamp: string representation of a date which can be used with `new Date(timestamp)`\n   * (timestamp coming directly from backend can be used). All timestamp should have a timezone set so final date is correct.\n   * @param format: format to use.\n   * @param dateOnly: false by default\n   * @param displaySeconds: false by default\n   */\n  getFormattedDate(\n    timestamp: string,\n    format: DateFormat,\n    dateOnly = false,\n    displaySeconds = false,\n  ): Observable<string | null> {\n    if (format !== 'human' && format !== 'numerical') {\n      throw new Error(`Unknown date/time format: ${format}`);\n    } else {\n      if (format === 'numerical') {\n        return of(this.getNumericalDate(timestamp, dateOnly, displaySeconds));\n      } else {\n        return this.getHumanDate(timestamp, dateOnly, displaySeconds);\n      }\n    }\n  }\n\n  private getNumericalDate(timestamp: string, dateOnly: boolean, displaySeconds: boolean): string | null {\n    let pattern = `d/MM/yyyy`;\n\n    if (this.locale === 'en-US' || this.locale === 'en') {\n      pattern = `M/d/yyyy`;\n    }\n\n    if (!dateOnly) {\n      const formattedTime = this.getFormattedTime(timestamp, displaySeconds);\n      pattern += `, '${formattedTime}'`;\n    }\n\n    return this.transform(timestamp, pattern);\n  }\n\n  private getHumanDate(timestamp: string, dateOnly: boolean, displaySeconds: boolean): Observable<string | null> {\n    const date = new Date(timestamp);\n    const now = new Date();\n    return this.strings.pipe(\n      map((strings) => {\n        const diff = differenceInMinutes(now, date);\n        if (isThisMinute(date)) {\n          return strings.fewSecondsAgo.value;\n        } else if (diff >= 0 && diff <= 1) {\n          return strings.oneMinuteAgo.value;\n        } else if (diff >= 0 && diff <= 15) {\n          return strings.minutesAgo.value.replace('{{minutes}}', `${diff}`);\n        } else if (isToday(date)) {\n          return this.getFormattedTime(timestamp, displaySeconds);\n        } else if (isYesterday(date)) {\n          return `${strings.yesterday.value}, ${this.getFormattedTime(timestamp, displaySeconds)}`;\n        } else if (isThisYear(date)) {\n          const formatted = this.transform(timestamp, 'MMM d');\n          return dateOnly ? formatted : `${formatted}, ${this.getFormattedTime(timestamp, displaySeconds)}`;\n        } else {\n          const formatted = this.transform(timestamp, 'MMM d, y');\n          return dateOnly\n            ? formatted\n            : `${formatted} ${strings.at.value} ${this.getFormattedTime(timestamp, displaySeconds)}`;\n        }\n      }),\n    );\n  }\n\n  private getFormattedTime(timestamp: string, displaySeconds?: boolean): string | null {\n    let pattern = displaySeconds ? `h:mm:ss a` : `h:mm a`;\n    if (this.locale !== 'en-US' && this.locale !== 'en') {\n      pattern = displaySeconds ? 'H:mm:ss' : 'H:mm';\n    }\n\n    return this.transform(timestamp, pattern);\n  }\n\n  private transform(timestamp: string, pattern: string): string | null {\n    const cacheKey = 'LOCAL-' + timestamp + pattern;\n    if (!this.cache[cacheKey]) {\n      this.cache[cacheKey] = this.localeDatePipe.transform(timestamp, pattern);\n    }\n    return this.cache[cacheKey];\n  }\n}\n","import {\n  booleanAttribute,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnChanges,\n  OnDestroy,\n  SimpleChanges,\n} from '@angular/core';\nimport { DateFormat, DateTimeService } from './datetime.service';\nimport { filter, map, switchMap, takeUntil, takeWhile } from 'rxjs/operators';\nimport { differenceInMinutes } from 'date-fns';\nimport { Observable, Subject, timer } from 'rxjs';\nimport { markForCheck, trimString } from '../common';\n\nconst formats = ['human', 'numerical'];\n\n@Component({\n  selector: 'pa-datetime',\n  templateUrl: './datetime.component.html',\n  standalone: false,\n})\nexport class DateTimeComponent implements OnChanges, OnDestroy {\n  @Input({ transform: booleanAttribute }) dateOnly = false;\n  @Input({ transform: booleanAttribute }) displaySeconds = false;\n  @Input({ transform: trimString }) datetime = '';\n  @Input() format: DateFormat = 'human';\n\n  private _terminator = new Subject<void>();\n  formattedTime = '';\n\n  constructor(\n    private service: DateTimeService,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['format'] && changes['format'].currentValue && formats.indexOf(changes['format'].currentValue) === -1) {\n      console.warn(`Invalid format \"${this.format}\", using \"human\" by default`);\n      this.format = 'human';\n    }\n\n    if (!!changes['datetime']?.currentValue) {\n      if (this.format === 'numerical') {\n        this.updateFormattedTime(changes['datetime'].currentValue).subscribe((formattedDate: string) => {\n          this.formattedTime = formattedDate;\n          markForCheck(this.cdr);\n        });\n      } else {\n        this.updateHumanFormattedTime(changes['datetime'].currentValue).subscribe((formattedDate: string) => {\n          this.formattedTime = formattedDate;\n          markForCheck(this.cdr);\n        });\n      }\n    }\n  }\n\n  ngOnDestroy() {\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  private updateFormattedTime(datetime: string): Observable<string> {\n    return this.service.getFormattedDate(datetime, this.format, this.dateOnly, this.displaySeconds).pipe(\n      filter((formattedDate) => !!formattedDate),\n      map((formattedDate) => formattedDate as string),\n    );\n  }\n\n  private updateHumanFormattedTime(timestamp: string): Observable<string> {\n    const limit = 15;\n    let minutesFromNow = differenceInMinutes(new Date(), new Date(timestamp));\n    return minutesFromNow > limit\n      ? this.updateFormattedTime(timestamp)\n      : timer(0, 1000 * 60).pipe(\n          switchMap(() => this.updateFormattedTime(timestamp)),\n          takeWhile(() => {\n            minutesFromNow++;\n            return minutesFromNow <= limit + 2;\n          }),\n          takeUntil(this._terminator),\n        );\n  }\n}\n","<span [innerHtml]=\"!formattedTime ? '–' : formattedTime\"></span>\n","import { NgModule } from '@angular/core';\n\nimport { DateTimeComponent } from './datetime.component';\n\n@NgModule({\n  imports: [],\n  exports: [DateTimeComponent],\n  declarations: [DateTimeComponent],\n})\nexport class PaDateTimeModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'pa-expander-header',\n  standalone: false,\n})\nexport class ExpanderHeaderDirective {}\n\n@Directive({\n  selector: 'pa-expander-header-side-block',\n  standalone: false,\n})\nexport class ExpanderHeaderSideBlockDirective {}\n\n@Directive({\n  selector: 'pa-expander-body',\n  standalone: false,\n})\nexport class ExpanderBodyDirective {}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { ExpanderBodyDirective } from './expander.directive';\nimport { markForCheck } from '../common';\nimport { Subject } from 'rxjs';\n\nexport const transitionDuration = 160;\n\n@Component({\n  selector: 'pa-expander',\n  templateUrl: './expander.component.html',\n  styleUrls: ['./expander.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ExpanderComponent implements AfterViewInit, OnChanges, OnDestroy {\n  @Input({ transform: booleanAttribute }) buttonOnlyToggle = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) emitOnly = false;\n  @Input({ transform: booleanAttribute }) expanded = true;\n  @Input({ transform: booleanAttribute }) card = false;\n  @Input() set contentLoaded(value: any) {\n    this.updateContentHeight();\n  }\n\n  @Output() toggleExpander: EventEmitter<void> = new EventEmitter();\n\n  @ContentChild(ExpanderBodyDirective, { read: ElementRef }) expanderContent?: ElementRef;\n  @ViewChild('sideBlock', { read: ElementRef }) sideBlock?: ElementRef;\n\n  terminator = new Subject<void>();\n  contentHidden = false;\n  hasSideBlock = false;\n\n  constructor(\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterViewInit() {\n    this.hasSideBlock = !!this.sideBlock && this.sideBlock.nativeElement.children.length > 0;\n    this.updateContentHeight();\n    this.cdr.markForCheck();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['expanded']) {\n      if (changes['expanded'].currentValue) {\n        this.expand();\n      } else {\n        this.collapse();\n      }\n    }\n    if (changes['card']?.currentValue && !changes['expanded']?.currentValue) {\n      this.expanded = false;\n      this.contentHidden = true;\n    }\n  }\n\n  ngOnDestroy() {\n    this.terminator.next();\n    this.terminator.complete();\n  }\n\n  onTitleClick() {\n    if (!this.buttonOnlyToggle) {\n      this.toggleExpand();\n    }\n  }\n\n  toggleExpand() {\n    if (!this.emitOnly) {\n      if (this.expanded) {\n        this.collapse();\n      } else {\n        this.expand();\n      }\n    }\n    this.toggleExpander.emit();\n  }\n\n  private collapse() {\n    // when expanded, we collapse directly and hide content after the transition delay\n    this.expanded = false;\n    setTimeout(() => {\n      this.contentHidden = true;\n      markForCheck(this.cdr);\n    }, transitionDuration);\n  }\n\n  private expand() {\n    // when collapsed, we remove \"display: none\" before expanding the panel so the animation is visible\n    this.contentHidden = false;\n    this.updateContentHeight();\n    setTimeout(() => {\n      this.expanded = true;\n      markForCheck(this.cdr);\n    }, 0);\n  }\n\n  private updateContentHeight() {\n    setTimeout(() => {\n      this.elementRef.nativeElement.style.setProperty(\n        '--contentHeight',\n        `${this.expanderContent?.nativeElement.getBoundingClientRect().height}px`,\n      );\n    });\n  }\n}\n","<div\n  class=\"pa-expander\"\n  [class.pa-expander-card]=\"card\"\n  [class.pa-collapsed]=\"!expanded\"\n  [attr.aria-expanded]=\"expanded\">\n  <div class=\"pa-expander-header\">\n    <pa-button\n      qa=\"expand-button\"\n      size=\"small\"\n      iconSize=\"medium\"\n      aspect=\"basic\"\n      [icon]=\"card ? 'chevron-up' : 'chevron-down'\"\n      class=\"pa-expander-button\"\n      [disabled]=\"disabled\"\n      (click)=\"toggleExpand()\">\n      {{ (expanded ? 'pastanaga.collapse' : 'pastanaga.expand') | translate }}\n    </pa-button>\n\n    <div\n      class=\"pa-expander-title\"\n      [class.pa-button-only]=\"buttonOnlyToggle\"\n      qa=\"expand-title\"\n      (click)=\"onTitleClick()\">\n      <ng-content select=\"pa-expander-header\"></ng-content>\n    </div>\n    <div\n      #sideBlock\n      class=\"pa-expander-header-extra\"\n      [hidden]=\"!hasSideBlock\">\n      <ng-content select=\"pa-expander-header-side-block\"></ng-content>\n    </div>\n  </div>\n\n  <div\n    class=\"pa-expander-body\"\n    [hidden]=\"contentHidden\">\n    <ng-content select=\"pa-expander-body\"></ng-content>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaButtonModule } from '../button';\nimport { PaTranslateModule } from '../translate';\nimport { ExpanderBodyDirective, ExpanderHeaderDirective, ExpanderHeaderSideBlockDirective } from './expander.directive';\nimport { ExpanderComponent } from './expander.component';\n\nconst COMPONENTS = [\n  ExpanderComponent,\n  ExpanderHeaderDirective,\n  ExpanderBodyDirective,\n  ExpanderHeaderSideBlockDirective,\n];\n\n@NgModule({\n  imports: [CommonModule, PaButtonModule, PaTranslateModule],\n  declarations: COMPONENTS,\n  exports: COMPONENTS,\n})\nexport class PaExpanderModule {}\n","import { Observable, Subject } from 'rxjs';\nimport { Aspect } from '../common';\n\nexport interface ConfirmationData {\n  title: string;\n\n  cancelAspect?: Aspect;\n  cancelLabel?: string;\n  confirmLabel?: string;\n  description?: string;\n  isDestructive?: boolean;\n  onlyConfirm?: boolean;\n}\n\nexport interface IModalConfig<D = any> {\n  dismissable?: boolean;\n  data?: D;\n}\n\nexport class ModalConfig<D = any> {\n  dismissable: boolean;\n  readonly data?: Readonly<D>;\n\n  constructor(config?: IModalConfig<D>) {\n    this.dismissable = !!config && typeof config.dismissable === 'boolean' ? config.dismissable : true;\n    this.data = config?.data;\n  }\n}\n\nexport class ModalRef<D = any, R = any> {\n  private _onClose: Subject<R | undefined>;\n  private _onDismiss: Subject<R | undefined>;\n\n  id: number;\n  isLast: boolean;\n  config: ModalConfig<D>;\n\n  constructor(data: { id: number; config?: ModalConfig<D> }) {\n    this.id = data.id;\n    this.isLast = true;\n    this.config = data.config || new ModalConfig();\n    this._onClose = new Subject();\n    this._onDismiss = new Subject();\n  }\n\n  get onClose(): Observable<R | undefined> {\n    return this._onClose.asObservable();\n  }\n  get onDismiss(): Observable<R | undefined> {\n    return this._onDismiss.asObservable();\n  }\n\n  close(result?: R) {\n    this._onClose.next(result);\n    this._onClose.complete();\n  }\n\n  dismiss(result?: R) {\n    this._onDismiss.next(result);\n    this._onDismiss.complete();\n  }\n}\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  OnDestroy,\n  Output,\n  ViewChild,\n} from '@angular/core';\nimport { ModalConfig, ModalRef } from './modal.model';\nimport { detectChanges, Keys, TRANSITION_DURATION } from '../common';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Directive()\n// tslint:disable-next-line:directive-class-suffix\nexport class BaseModalComponent implements AfterViewInit, OnDestroy {\n  @Output() enterPressed: EventEmitter<void> = new EventEmitter();\n\n  @ViewChild('modalContainer') modalContainer?: ElementRef;\n  @ViewChild('content') modalContent?: ElementRef;\n\n  closing = false;\n  off = false;\n  id = 0;\n  config = new ModalConfig();\n  hasScrollbar = false;\n  contentResizeObserver: ResizeObserver = new ResizeObserver(() => this.updateHasScrollbar());\n\n  protected _onKeyDown = this.onKeyDown.bind(this);\n\n  protected _terminator = new Subject<void>();\n\n  constructor(\n    public ref: ModalRef,\n    protected cdr: ChangeDetectorRef,\n  ) {\n    this.ref.onClose.pipe(takeUntil(this._terminator)).subscribe(() => this.close());\n  }\n\n  ngAfterViewInit() {\n    if (!!this.ref) {\n      this.id = this.ref.id;\n      this.config = this.ref.config;\n    }\n    document.addEventListener('keydown', this._onKeyDown);\n    if (this.modalContent?.nativeElement) {\n      this.contentResizeObserver.observe(this.modalContent?.nativeElement);\n    }\n  }\n\n  private updateHasScrollbar() {\n    this.hasScrollbar =\n      !!this.modalContent &&\n      this.modalContent.nativeElement.offsetHeight < this.modalContent.nativeElement.scrollHeight;\n    this.cdr.markForCheck();\n  }\n\n  ngOnDestroy() {\n    this._terminator.next();\n    this._terminator.complete();\n    this.contentResizeObserver.disconnect();\n  }\n\n  close(data?: any) {\n    if (!this.closing) {\n      this.closing = true;\n      document.removeEventListener('keydown', this._onKeyDown);\n      detectChanges(this.cdr);\n      setTimeout(() => {\n        this.off = true;\n        detectChanges(this.cdr);\n        if (!!this.ref) {\n          this.ref.dismiss(data);\n          this.closing = false;\n        }\n      }, TRANSITION_DURATION.moderate);\n    }\n  }\n\n  outsideClick($event: MouseEvent) {\n    if (($event.target as HTMLElement).outerHTML.includes('pa-modal-backdrop')) {\n      $event.preventDefault();\n      if (this.config.dismissable) {\n        this.close(false);\n      }\n    }\n  }\n\n  setFocus() {\n    if (!!this.modalContainer) {\n      this.modalContainer.nativeElement.focus();\n    }\n  }\n\n  refresh() {\n    detectChanges(this.cdr);\n  }\n\n  protected onKeyDown($event: KeyboardEvent) {\n    if ($event.key === Keys.enter) {\n      $event.stopPropagation();\n      this.enterPressed.emit();\n    } else if ($event.key === Keys.esc && this.ref?.isLast && this.config.dismissable) {\n      this.close(false);\n      $event.stopPropagation();\n    }\n  }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseModalComponent } from '../base-modal.component';\n\n@Component({\n  selector: 'pa-confirmation-dialog',\n  templateUrl: './confirmation-dialog.component.html',\n  styleUrls: ['./confirmation-dialog.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ConfirmationDialogComponent extends BaseModalComponent implements AfterViewInit {\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    this.setFocus();\n    this.refresh();\n  }\n}\n","<div\n  class=\"pa-modal-backdrop\"\n  tabindex=\"0\"\n  #modalContainer\n  (click)=\"outsideClick($event)\">\n  <dialog\n    class=\"pa-modal pa-confirmation-dialog\"\n    role=\"dialog\"\n    [class.in]=\"!closing\"\n    [class.out]=\"closing\"\n    [attr.aria-labelledby]=\"'dialog-' + id + '-title'\"\n    [attr.aria-describedby]=\"'dialog-' + id + '-description'\">\n    <header class=\"pa-modal-header\">\n      <h4\n        qa=\"confirmation-title\"\n        [id]=\"'dialog-' + id + '-title'\">\n        {{ ref.config.data?.['title'] | translate }}\n      </h4>\n    </header>\n\n    <div\n      class=\"pa-modal-description body-s\"\n      qa=\"confirmation-description\"\n      [id]=\"'dialog-' + id + '-description'\"\n      [innerHTML]=\"ref.config.data?.['description'] | translate\"></div>\n\n    <footer\n      class=\"pa-modal-footer\"\n      [class.pa-dual-buttons]=\"!ref.config.data?.['onlyConfirm']\">\n      @if (!ref.config.data?.['onlyConfirm']) {\n        <pa-button\n          kind=\"secondary\"\n          qa=\"confirmation-dialog-cancel-button\"\n          [aspect]=\"ref.config.data?.['cancelAspect']\"\n          (click)=\"ref.close(false)\">\n          {{ ref.config.data?.['cancelLabel'] || 'pastanaga.cancel' | translate }}\n        </pa-button>\n      }\n      <pa-button\n        [kind]=\"ref.config.data?.['isDestructive'] ? 'destructive' : 'primary'\"\n        qa=\"confirmation-dialog-confirm-button\"\n        (click)=\"ref.close(true)\">\n        {{ ref.config.data?.['confirmLabel'] || 'pastanaga.confirm' | translate }}\n      </pa-button>\n    </footer>\n  </dialog>\n</div>\n","import {\n  AfterContentInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n} from '@angular/core';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { debounceTime, mapTo, takeUntil, tap, throttleTime } from 'rxjs/operators';\nimport { markForCheck, TRANSITION_DURATION } from '../common';\nimport { DOCUMENT } from '@angular/common';\nimport { PopupService } from '../popup/popup.service';\n\nexport const SCROLL_INACTIVE_HIDING_THRESHOLD = 3000;\n\n@Directive({\n  selector: '[paScrollableContainer]',\n  standalone: false,\n})\nexport class ScrollableContainerDirective implements OnInit, AfterContentInit, OnDestroy {\n  @Output() resize: EventEmitter<void> = new EventEmitter();\n\n  private _terminator = new Subject<void>();\n  private _scrollActive = false;\n\n  constructor(\n    @Inject(DOCUMENT) private document: any,\n    private element: ElementRef,\n    private renderer: Renderer2,\n    private ngZone: NgZone,\n    private cdr: ChangeDetectorRef,\n    private popupService: PopupService,\n  ) {}\n\n  ngOnInit() {\n    this.ngZone.runOutsideAngular(() => {\n      fromEvent(window, 'resize')\n        .pipe(throttleTime(TRANSITION_DURATION.fast), takeUntil(this._terminator))\n        .subscribe(() => {\n          this.resize.emit();\n        });\n\n      const scroll$ = fromEvent(this.element.nativeElement, 'scroll').pipe(\n        tap(() => this.popupService.closeAllPopups.next()),\n        takeUntil(this._terminator),\n      );\n\n      const showScrollbar$ = scroll$.pipe(\n        throttleTime(TRANSITION_DURATION.fast),\n        mapTo('show'),\n        takeUntil(this._terminator),\n      );\n\n      const hideScrollbar$ = scroll$.pipe(\n        debounceTime(SCROLL_INACTIVE_HIDING_THRESHOLD),\n        mapTo('hide'),\n        takeUntil(this._terminator),\n      );\n      merge(showScrollbar$, hideScrollbar$).subscribe((action) => {\n        switch (action) {\n          case 'show':\n            this.showScrollbar();\n            break;\n          case 'hide':\n            this.hideScrollbar();\n            break;\n        }\n      });\n    });\n  }\n\n  ngAfterContentInit() {\n    this.renderer.addClass(this.element.nativeElement, 'pa-scrollable-container');\n\n    if (this.document.getElementsByClassName('pa-scrollable').length === 0) {\n      setTimeout(() => {\n        // hide scrollbar by default\n        this.renderer.addClass(this.element.nativeElement, 'pa-scrollable');\n        markForCheck(this.cdr);\n      });\n    }\n  }\n\n  ngOnDestroy() {\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  showScrollbar() {\n    if (!this._scrollActive) {\n      this.renderer.addClass(this.element.nativeElement, 'pa-scrolling');\n      this._scrollActive = true;\n      markForCheck(this.cdr);\n    }\n  }\n\n  hideScrollbar() {\n    if (this._scrollActive) {\n      this.renderer.removeClass(this.element.nativeElement, 'pa-scrolling');\n      this._scrollActive = false;\n      markForCheck(this.cdr);\n    }\n  }\n}\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { BaseModalComponent } from '../base-modal.component';\n\n@Component({\n  selector: 'pa-modal-advanced',\n  templateUrl: './modal-advanced.component.html',\n  styleUrls: ['./modal-advanced.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class ModalAdvancedComponent extends BaseModalComponent implements AfterViewInit {\n  @Input({ transform: booleanAttribute }) fitContent = false;\n  @Input({ transform: booleanAttribute }) fitContentHeight = false;\n\n  @ViewChild('footer', { read: ElementRef }) footer?: ElementRef;\n\n  hasFooter = false;\n  footerWithOneButton = false;\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    this.hasFooter = !!this.footer && this.footer.nativeElement.children.length > 0;\n    this.footerWithOneButton = this.hasFooter && this.footer?.nativeElement.children[0].children.length === 1;\n\n    this.setFocus();\n    this.refresh();\n  }\n}\n","<div\n  class=\"pa-modal-backdrop\"\n  [class.out]=\"closing\"\n  tabindex=\"0\"\n  #modalContainer\n  (click)=\"outsideClick($event)\">\n  <dialog\n    class=\"pa-modal pa-modal-advanced pa-modal-fullscreen-on-small\"\n    role=\"alertdialog\"\n    [class.with-footer]=\"hasFooter\"\n    [class.fit-content]=\"fitContent\"\n    [class.pa-take-available-height]=\"!fitContentHeight\"\n    [class.in]=\"!closing\"\n    [class.out]=\"closing\"\n    [attr.aria-labelledby]=\"'modal-' + id + '-title'\"\n    [attr.aria-describedby]=\"'modal-' + id + '-description'\">\n    <header class=\"pa-modal-header\">\n      <div\n        class=\"title-m\"\n        [id]=\"'modal-' + id + '-title'\">\n        <ng-content select=\"pa-modal-title\"></ng-content>\n      </div>\n      <pa-button\n        class=\"pa-close-button\"\n        icon=\"cross\"\n        aspect=\"basic\"\n        (click)=\"close(false)\">\n        {{ 'pastanaga.close' | translate }}\n      </pa-button>\n    </header>\n\n    <div\n      #content\n      class=\"pa-modal-content\"\n      paScrollableContainer>\n      <ng-content select=\"pa-modal-content\"></ng-content>\n    </div>\n\n    <div\n      #footer\n      class=\"pa-footer-container\"\n      [class.scrolling-content]=\"hasScrollbar\"\n      [class.pa-modal-footer-one-button]=\"footerWithOneButton\">\n      <ng-content select=\"pa-modal-footer\"></ng-content>\n    </div>\n  </dialog>\n</div>\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { BaseModalComponent } from '../base-modal.component';\nimport { ModalRef } from '../modal.model';\nimport { TRANSITION_DURATION } from '../../common';\nimport { BreakpointObserver } from '../../breakpoint-observer';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n  selector: 'pa-modal-dialog',\n  templateUrl: './modal-dialog.component.html',\n  styleUrls: ['./modal-dialog.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class ModalDialogComponent extends BaseModalComponent implements AfterViewInit {\n  @ViewChild('header', { read: ElementRef }) header?: ElementRef;\n  @ViewChild('image', { read: ElementRef }) image?: ElementRef;\n  @ViewChild('description', { read: ElementRef }) description?: ElementRef;\n  @ViewChild('footer', { read: ElementRef }) footer?: ElementRef;\n\n  hasImage = false;\n  hasDescription = false;\n  hasFooter = false;\n\n  private _headerHeightSettingDelay = TRANSITION_DURATION.moderate;\n\n  constructor(\n    public override ref: ModalRef,\n    protected override cdr: ChangeDetectorRef,\n    private element: ElementRef,\n    private breakpoint: BreakpointObserver,\n  ) {\n    super(ref, cdr);\n    this.breakpoint.currentMode\n      .pipe(takeUntil(this._terminator))\n      .subscribe(\n        (mode) =>\n          (this._headerHeightSettingDelay =\n            mode === 'mobile' ? TRANSITION_DURATION.slow : TRANSITION_DURATION.moderate),\n      );\n  }\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    this.hasImage = !!this.image && this.image.nativeElement.children.length > 0;\n    this.hasDescription = !!this.description && this.description.nativeElement.children.length > 0;\n    this.hasFooter = !!this.footer && this.footer.nativeElement.children.length > 0;\n\n    this.setFocus();\n    this.refresh();\n\n    setTimeout(() => {\n      this.element.nativeElement.style.setProperty(\n        '--headerHeight',\n        `${Math.ceil(this.header?.nativeElement.getBoundingClientRect().height)}px`,\n      );\n    }, this._headerHeightSettingDelay);\n  }\n}\n","<div\n  class=\"pa-modal-backdrop\"\n  tabindex=\"0\"\n  #modalContainer\n  (click)=\"outsideClick($event)\">\n  <dialog\n    class=\"pa-modal pa-modal-dialog pa-modal-fullscreen-on-small\"\n    role=\"alertdialog\"\n    [class.with-footer]=\"hasFooter\"\n    [class.in]=\"!closing\"\n    [class.out]=\"closing\"\n    [attr.aria-labelledby]=\"'dialog-' + id + '-title'\"\n    [attr.aria-describedby]=\"'dialog-' + id + '-description'\">\n    <header\n      #header\n      class=\"pa-modal-header\"\n      [class.pa-modal-header-centered]=\"hasImage\">\n      <div\n        #image\n        role=\"presentation\"\n        [hidden]=\"!hasImage\">\n        <ng-content select=\"pa-modal-image\"></ng-content>\n      </div>\n\n      <div\n        class=\"title-m\"\n        [id]=\"'dialog-' + id + '-title'\">\n        <ng-content select=\"pa-modal-title\"></ng-content>\n      </div>\n\n      <div\n        #description\n        class=\"pa-modal-description body-s\"\n        [class.pa-modal-description-centered]=\"hasImage\"\n        [id]=\"'dialog-' + id + '-description'\"\n        [hidden]=\"!hasDescription\">\n        <ng-content select=\"pa-modal-description\"></ng-content>\n      </div>\n    </header>\n\n    <div\n      #content\n      class=\"pa-modal-content\"\n      paScrollableContainer>\n      <ng-content select=\"pa-modal-content\"></ng-content>\n    </div>\n\n    <div\n      #footer\n      [class.scrolling-content]=\"hasScrollbar\">\n      <ng-content select=\"pa-modal-footer\"></ng-content>\n    </div>\n  </dialog>\n</div>\n","/* tslint:disable:directive-selector */\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'pa-modal-title',\n  standalone: false,\n})\nexport class ModalTitleDirective {}\n\n@Directive({\n  selector: 'pa-modal-description',\n  standalone: false,\n})\nexport class ModalDescriptionDirective {}\n\n@Directive({\n  selector: 'pa-modal-content',\n  standalone: false,\n})\nexport class ModalContentDirective {}\n\n@Directive({\n  selector: 'pa-modal-image',\n  standalone: false,\n})\nexport class ModalImageDirective {}\n\n@Directive({\n  selector: 'pa-modal-footer',\n  standalone: false,\n})\nexport class ModalFooterDirective {}\n","import {\n  AfterViewInit,\n  EventEmitter,\n  OnDestroy,\n  Component,\n  ChangeDetectionStrategy,\n  ElementRef,\n  ViewChild,\n  Output,\n} from '@angular/core';\n\n@Component({\n  selector: 'pa-infinite-scroll',\n  templateUrl: './infinite-scroll.component.html',\n  styleUrls: ['./infinite-scroll.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class InfiniteScrollComponent implements AfterViewInit, OnDestroy {\n  @Output() reachAnchor = new EventEmitter();\n\n  @ViewChild('mid') mid?: ElementRef<HTMLElement>;\n  @ViewChild('bottom') bottom?: ElementRef<HTMLElement>;\n\n  get element() {\n    return this.host.nativeElement;\n  }\n\n  private _observer?: IntersectionObserver;\n\n  constructor(private host: ElementRef) {}\n\n  ngAfterViewInit() {\n    const options = {\n      root: this.isHostScrollable() ? this.element : null,\n    };\n    if (!!this.bottom && !!this.mid) {\n      this._observer = new IntersectionObserver(([entry]) => {\n        if (entry.isIntersecting) {\n          this.reachAnchor.emit();\n        }\n      }, options);\n      this._observer.observe(this.mid.nativeElement);\n      this._observer.observe(this.bottom.nativeElement);\n    }\n  }\n\n  ngOnDestroy() {\n    this._observer?.disconnect();\n  }\n\n  private isHostScrollable() {\n    const style = window.getComputedStyle(this.element);\n\n    return style.getPropertyValue('overflow') === 'auto' || style.getPropertyValue('overflow-y') === 'scroll';\n  }\n}\n","<ng-content></ng-content>\n<div\n  #mid\n  class=\"pa-infinite-scroll-mid-anchor\"\n  qa=\"mid-anchor\"></div>\n<div\n  #bottom\n  qa=\"bottom-anchor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfiniteScrollComponent } from './infinite-scroll/infinite-scroll.component';\nimport { ScrollableContainerDirective } from './scrollabe-container.directive';\n\n@NgModule({\n  declarations: [InfiniteScrollComponent, ScrollableContainerDirective],\n  exports: [InfiniteScrollComponent, ScrollableContainerDirective],\n  imports: [CommonModule],\n})\nexport class PaScrollModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n  ModalContentDirective,\n  ModalDescriptionDirective,\n  ModalFooterDirective,\n  ModalImageDirective,\n  ModalTitleDirective,\n} from './modal.directive';\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\nimport { ModalAdvancedComponent } from './modal-advanced/modal-advanced.component';\nimport { PaButtonModule } from '../button';\nimport { ConfirmationDialogComponent } from './confirmation-dialog/confirmation-dialog.component';\nimport { PaTranslateModule } from '../translate';\nimport { PaScrollModule } from '../scroll';\n\nconst COMPONENTS_AND_DIRECTIVES = [\n  ConfirmationDialogComponent,\n  ModalDialogComponent,\n  ModalAdvancedComponent,\n  ModalTitleDirective,\n  ModalDescriptionDirective,\n  ModalContentDirective,\n  ModalImageDirective,\n  ModalFooterDirective,\n];\n\n@NgModule({\n  imports: [CommonModule, PaButtonModule, PaTranslateModule, PaScrollModule],\n  declarations: COMPONENTS_AND_DIRECTIVES,\n  exports: COMPONENTS_AND_DIRECTIVES,\n})\nexport class PaModalModule {}\n","import {\n  ApplicationRef,\n  ComponentRef,\n  createComponent,\n  createEnvironmentInjector,\n  Injectable,\n  NgZone,\n  Type,\n} from '@angular/core';\nimport { ConfirmationData, ModalConfig, ModalRef } from './modal.model';\nimport { ConfirmationDialogComponent } from './confirmation-dialog/confirmation-dialog.component';\n\nlet counter = 0;\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ModalService {\n  hasModalOpened = false;\n\n  modals: ComponentRef<any>[] = [];\n\n  constructor(\n    private appRef: ApplicationRef,\n    private zone: NgZone,\n  ) {}\n\n  openConfirm(data: ConfirmationData): ModalRef {\n    return this.openModal(ConfirmationDialogComponent, new ModalConfig<ConfirmationData>({ data }));\n  }\n\n  openModal(component: Type<any>, config?: ModalConfig): ModalRef {\n    // create the modal reference\n    const ref = new ModalRef({ id: counter++, config });\n    ref.onDismiss.subscribe(() => this.closeModal(ref));\n\n    // instantiate injector\n    const injector = createEnvironmentInjector(\n      [\n        {\n          provide: ModalRef,\n          useValue: ref,\n        },\n      ],\n      this.appRef.injector,\n    );\n\n    // instantiate modal component\n    const modalComponentRef = createComponent(component, { environmentInjector: injector });\n    this.appRef.attachView(modalComponentRef.hostView);\n    document.body.appendChild(modalComponentRef.location.nativeElement);\n\n    if (modalComponentRef.instance?.refresh) {\n      modalComponentRef.instance.refresh();\n    }\n\n    // freeze background\n    this.freezeBackground(true);\n\n    // Store the modal and manage the others if any\n    if (this.modals.length > 0) {\n      this.getModalInstance(this.modals[this.modals.length - 1]).isLast = false;\n    }\n    this.modals.push(modalComponentRef);\n    this.hasModalOpened = true;\n    return ref;\n  }\n\n  private closeModal(ref: ModalRef) {\n    const index = this.modals.findIndex((modal) => this.getModalInstance(modal).id === ref.id);\n    if (index > -1) {\n      this.zone.run(() => {\n        const componentRef = this.modals[index];\n        document.body.removeChild(componentRef.location.nativeElement);\n        componentRef.destroy();\n        this.modals.splice(index, 1);\n        if (this.modals.length > 0) {\n          this.getModalInstance(this.modals[this.modals.length - 1]).isLast = true;\n        }\n      });\n    }\n    if (this.modals.length === 0) {\n      this.freezeBackground(false);\n      this.hasModalOpened = false;\n    }\n  }\n\n  private getModalInstance(componentRef: ComponentRef<any>): ModalRef {\n    return !!componentRef.instance.modal ? componentRef.instance.modal : componentRef.instance;\n  }\n\n  private freezeBackground(freeze: boolean) {\n    document.body.style.overflow = freeze ? 'hidden' : 'inherit';\n  }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { trimString } from '../../common';\n\n@Component({\n  selector: 'pa-side-nav-item',\n  templateUrl: './side-nav-item.component.html',\n  styleUrls: ['./side-nav-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SideNavItemComponent {\n  @Input({ transform: booleanAttribute }) active = false;\n  @Input({ transform: booleanAttribute }) header = false;\n  @Input({ transform: trimString }) label = '';\n}\n","<li\n  class=\"pa-side-nav-item\"\n  paFocusable\n  [paFocusDisabled]=\"header\"\n  [class.active]=\"active\"\n  [class.header]=\"header\">\n  @if (header) {\n    <h2 class=\"title-xs\">\n      {{ label }}\n    </h2>\n  }\n  @if (!header) {\n    <span class=\"title-xs\">{{ label }}</span>\n  }\n</li>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  Renderer2,\n  ViewChild,\n} from '@angular/core';\nimport { detectChanges, markForCheck, TRANSITION_DURATION } from '../common';\nimport { SideNavItemComponent } from './side-nav-item/side-nav-item.component';\nimport { ViewportMode } from '../breakpoint-observer';\n\n@Component({\n  selector: 'pa-side-nav',\n  templateUrl: './side-nav.component.html',\n  styleUrls: ['./side-nav.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SideNavComponent implements AfterViewInit {\n  @Input() mode: ViewportMode = 'desktop';\n  @Input()\n  set visible(value: any) {\n    const visible = coerceBooleanProperty(value);\n    if (this.mode !== 'desktop') {\n      this.triggerAnimation(visible);\n    } else {\n      this._visible = visible;\n    }\n  }\n  get visible(): boolean {\n    return this._visible;\n  }\n\n  @Output() close: EventEmitter<void> = new EventEmitter<void>();\n\n  @ViewChild('header', { read: ElementRef }) header?: ElementRef;\n  @ViewChild('footer', { read: ElementRef }) footer?: ElementRef;\n  @ViewChild('navBar', { read: ElementRef }) navBar?: ElementRef;\n  @ViewChild('tabletOverlay', { read: ElementRef }) tabletOverlay?: ElementRef;\n  @ContentChildren(SideNavItemComponent, { descendants: true }) contentChild!: QueryList<SideNavItemComponent>;\n\n  private _visible = true;\n  hasHeader = false;\n  hasFooterContent = false;\n\n  readonly closeNavBarDuration = TRANSITION_DURATION.slow;\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n  ) {}\n\n  ngAfterViewInit() {\n    this.updateFlags();\n  }\n\n  private updateFlags() {\n    this.hasHeader = !!this.header && this.header.nativeElement.children.length > 0;\n    this.hasFooterContent = !!this.footer && this.footer.nativeElement.children.length > 0;\n    detectChanges(this.cdr);\n  }\n\n  triggerAnimation(isOpen: boolean) {\n    if (isOpen) {\n      this._visible = isOpen;\n      markForCheck(this.cdr);\n      // wait for ViewChildren rendering\n      setTimeout(() => {\n        this.addClass(this.navBar, 'animated');\n        this.addClass(this.tabletOverlay, 'opened');\n        this.updateFlags();\n      });\n    } else {\n      this.addClass(this.tabletOverlay, 'closed');\n      this.addClass(this.navBar, 'closed');\n      // wait for animation ends\n      setTimeout(() => {\n        this._visible = isOpen;\n        markForCheck(this.cdr);\n      }, this.closeNavBarDuration);\n    }\n  }\n\n  closeSideNav() {\n    this.close.emit();\n  }\n\n  addClass(element: ElementRef | undefined, cssClass: string) {\n    if (!!element?.nativeElement) {\n      this.renderer.addClass(element.nativeElement, cssClass);\n    }\n  }\n}\n","@if (visible || mode === 'desktop') {\n  @if (mode !== 'desktop') {\n    <div\n      #tabletOverlay\n      class=\"pa-side-nav-tablet-overlay\"\n      (click)=\"closeSideNav()\"></div>\n  }\n\n  <div\n    #navBar\n    class=\"pa-side-nav\">\n    <div\n      #header\n      [hidden]=\"!hasHeader\">\n      <ng-content select=\"pa-side-nav-header\"></ng-content>\n\n      @if (mode !== 'desktop' && !hasHeader) {\n        <pa-button\n          class=\"pa-close-side-nav-button\"\n          icon=\"cross\"\n          aspect=\"basic\"\n          (click)=\"closeSideNav()\"></pa-button>\n      }\n    </div>\n\n    <div class=\"pa-side-nav-content\">\n      <ng-content select=\"pa-side-nav-content\"></ng-content>\n    </div>\n  </div>\n}\n","/* tslint:disable:directive-selector */\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'pa-side-nav-content',\n  standalone: false,\n})\nexport class SideNavContentDirective {}\n\n@Directive({\n  selector: 'pa-side-nav-header',\n  standalone: false,\n})\nexport class SideNavHeaderDirective {}\n\n@Directive({\n  selector: 'pa-side-nav-footer',\n  standalone: false,\n})\nexport class SideNavFooterDirective {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SideNavComponent } from './side-nav.component';\nimport { SideNavItemComponent } from './side-nav-item/side-nav-item.component';\nimport { SideNavContentDirective, SideNavFooterDirective, SideNavHeaderDirective } from './side-nav.directive';\nimport { PaButtonModule } from '../button';\nimport { PaFocusableModule } from '../focusable';\nimport { PaIconModule } from '../icon';\n\n@NgModule({\n  imports: [CommonModule, PaButtonModule, PaFocusableModule, PaIconModule],\n  declarations: [\n    SideNavComponent,\n    SideNavItemComponent,\n    SideNavHeaderDirective,\n    SideNavFooterDirective,\n    SideNavContentDirective,\n  ],\n  exports: [\n    SideNavComponent,\n    SideNavItemComponent,\n    SideNavHeaderDirective,\n    SideNavFooterDirective,\n    SideNavContentDirective,\n  ],\n})\nexport class PaSideNavModule {}\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { trimString } from '../common';\n\n@Component({\n  selector: 'pa-table',\n  templateUrl: 'table.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class TableComponent implements OnChanges {\n  @Input({ transform: booleanAttribute }) noHeader = false;\n  @Input({ transform: booleanAttribute }) noAutoColumnStyle = false;\n  @Input({ transform: booleanAttribute }) border = false;\n  @Input({ transform: trimString }) columns = 'auto';\n\n  columnsStyle = this.sanitizer.bypassSecurityTrustStyle(this.columns);\n\n  constructor(private sanitizer: DomSanitizer) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['columns']) {\n      this.columnsStyle = this.sanitizer.bypassSecurityTrustStyle(this.columns);\n    }\n  }\n}\n","<div\n  class=\"pa-table-grid\"\n  [class.with-border]=\"border\"\n  [style.grid-template-columns]=\"!noAutoColumnStyle ? columnsStyle : ''\">\n  @if (!noHeader) {\n    <div class=\"pa-table-grid--head\">\n      <div class=\"pa-table-grid--row\">\n        <ng-content select=\"pa-table-sortable-header\"></ng-content>\n        <ng-content select=\"pa-table-header\"></ng-content>\n      </div>\n    </div>\n  }\n  <div class=\"pa-table-grid--body\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { booleanAttribute, Directive, HostBinding, Input } from '@angular/core';\n\n// tslint:disable-next-line:directive-selector\n@Directive({\n  selector: 'pa-table-header',\n  standalone: false,\n})\nexport class TableHeaderDirective {\n  @Input({ transform: booleanAttribute }) noBackground = false;\n\n  @HostBinding('class.no-background') get headerWithoutBackground() {\n    return this.noBackground;\n  }\n}\n\n@Directive({\n  selector: 'pa-table-lead-image',\n  standalone: false,\n})\nexport class TableLeadImage {}\n\n@Directive({\n  selector: 'pa-table-lead-title',\n  standalone: false,\n})\nexport class TableLeadTitle {}\n\n@Directive({\n  selector: 'pa-table-lead-description',\n  standalone: false,\n})\nexport class TableLeadDescription {}\n","export interface IHeaderCell {\n  id: string;\n  label: string;\n  active?: boolean;\n  sortable?: boolean;\n  descending?: boolean;\n  centered?: boolean;\n}\n\nexport class HeaderCell {\n  id: string;\n  label: string;\n  sortable: boolean;\n  active: boolean;\n  descending: boolean;\n  centered: boolean;\n\n  constructor(data: IHeaderCell) {\n    this.id = data.id;\n    this.label = data.label;\n    this.sortable = data.sortable || false;\n    this.active = data.active || false;\n    this.descending = data.descending || false;\n    this.centered = data.centered || false;\n  }\n}\n\nexport class SortableHeaderCell extends HeaderCell {\n  constructor(data: IHeaderCell) {\n    super({ ...data, sortable: true });\n  }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'pa-table-cell',\n  templateUrl: 'table-cell.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class TableCellComponent {\n  @Input({ transform: booleanAttribute }) clickable = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) header = false;\n  @Input({ transform: booleanAttribute }) noWrap = false;\n  @Input({ transform: booleanAttribute }) center = false;\n  @Input({ transform: booleanAttribute }) borderRight = false;\n}\n","<div\n  [class.pa-table-grid--cell]=\"!header\"\n  [class.pa-table-grid--header]=\"header\"\n  [class.pa-clickable]=\"clickable\"\n  [class.pa-disabled]=\"disabled\"\n  [class.pa-no-wrap]=\"noWrap\"\n  [class.pa-center]=\"center\"\n  [class.pa-border-right]=\"borderRight\"\n  paFocusable\n  [paFocusDisabled]=\"!clickable\">\n  <ng-content></ng-content>\n</div>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'pa-table-row',\n  templateUrl: 'table-row.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class TableRowComponent {\n  @Input({ transform: booleanAttribute }) clickable = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) hoverable = false;\n}\n","<div\n  class=\"pa-table-grid--row\"\n  paFocusable\n  [class.pa-hoverable]=\"hoverable\"\n  [class.pa-clickable]=\"clickable\"\n  [class.pa-disabled]=\"disabled\"\n  [paFocusDisabled]=\"!hoverable\">\n  <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'pa-table-row-header',\n  templateUrl: 'table-row-header.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class TableRowHeaderComponent {}\n","<div class=\"pa-table-grid--row\">\n  <div class=\"pa-table-grid--row-header\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { TableCellComponent } from '../table-cell/table-cell.component';\n\n@Component({\n  selector: 'pa-table-cell-menu',\n  templateUrl: './table-cell-menu.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TableCellMenuComponent extends TableCellComponent {}\n","<div\n  class=\"pa-table-grid--menu-cell\"\n  [class.pa-table-grid--cell]=\"!header\"\n  [class.pa-table-grid--header]=\"header\"\n  [class.pa-clickable]=\"clickable\"\n  [class.pa-disabled]=\"disabled\"\n  paFocusable\n  [paFocusDisabled]=\"!clickable\">\n  <ng-content></ng-content>\n</div>\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { BreakpointObserver } from '../../breakpoint-observer';\nimport { markForCheck } from '../../common';\nimport { take } from 'rxjs/operators';\n\nexport const SORTABLE_ICON = 'chevron-down';\nexport const SORTED_ASCENDING_ICON = 'arrow-down';\nexport const SORTED_DESCENDING_ICON = 'arrow-up';\n\n@Component({\n  selector: 'pa-table-sortable-header-cell',\n  templateUrl: './table-sortable-header-cell.component.html',\n  styleUrls: ['./table-sortable-header-cell.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TableSortableHeaderCellComponent implements OnChanges {\n  @Input({ transform: booleanAttribute }) enabled = false;\n  @Input({ transform: booleanAttribute }) active = false;\n  @Input({ transform: booleanAttribute }) isDescending = false;\n  @Input({ transform: booleanAttribute }) center = false;\n\n  @Output() sort = new EventEmitter();\n\n  @ViewChild('cell', { read: ElementRef }) cellElement?: ElementRef;\n\n  icon?: string;\n\n  constructor(\n    private breakpointObserver: BreakpointObserver,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['active'] || changes['isDescending'] || changes['enabled']) {\n      this.updateIcon();\n    }\n  }\n\n  private updateIcon() {\n    this.breakpointObserver.currentMode.pipe(take(1)).subscribe((mode) => {\n      if (mode === 'mobile') {\n        this.icon = SORTABLE_ICON;\n      } else {\n        if (!this.enabled) {\n          this.icon = SORTABLE_ICON;\n        } else {\n          this.icon = this.isDescending ? SORTED_DESCENDING_ICON : SORTED_ASCENDING_ICON;\n        }\n      }\n      markForCheck(this.cdr);\n    });\n  }\n}\n","<div\n  #cell\n  class=\"pa-table-grid--header clickable\"\n  [class.pa-center]=\"center\"\n  (click)=\"sort.emit()\"\n  paFocusable>\n  <button\n    type=\"button\"\n    [class.pa-enabled]=\"enabled\"\n    [class.pa-active]=\"active\"\n    paFocusable>\n    <ng-content></ng-content>\n    @if (icon; as iconName) {\n      <pa-icon\n        [name]=\"iconName\"\n        size=\"small\"></pa-icon>\n    }\n  </button>\n</div>\n","import {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  ViewChild,\n} from '@angular/core';\nimport { HeaderCell } from '../table.models';\nimport { ViewportMode } from '../../breakpoint-observer';\nimport { PositionStyle } from '../../common';\nimport { TableSortableHeaderCellComponent } from '../table-sortable-header-cell/table-sortable-header-cell.component';\n\n@Component({\n  selector: 'pa-table-sortable-header',\n  templateUrl: './table-sortable-header.component.html',\n  styleUrls: ['table-sortable-header.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TableSortableHeaderComponent implements AfterViewInit {\n  @Input({ transform: booleanAttribute }) menuColumn = false;\n  @Input() mode: ViewportMode = 'desktop';\n  @Input()\n  set cells(value: HeaderCell[] | null) {\n    if (!!value) {\n      this._cells = value.map((v) => ({ ...v }));\n      this.mobileCell = this._cells.find((cell) => cell.active);\n      this.sortableCells = this._cells.filter((cell) => cell.sortable);\n      if (!this.mobileCell) {\n        this.mobileCell = this._cells[0];\n      }\n    }\n  }\n  get cells() {\n    return this._cells;\n  }\n  @Input({ transform: booleanAttribute }) noBackground = false;\n\n  @HostBinding('class.no-background') get headerWithoutBackground() {\n    return this.noBackground;\n  }\n\n  @Output() sort: EventEmitter<HeaderCell> = new EventEmitter<HeaderCell>();\n\n  @ViewChild('mobileCellContainer') mobileCellContainer?: TableSortableHeaderCellComponent;\n\n  private _cells: HeaderCell[] = [];\n  mobileCell?: HeaderCell;\n  sortableCells: HeaderCell[] = [];\n  sortMenuOpen = false;\n  sortMenuPosition?: PositionStyle;\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      const elementRect = this.mobileCellContainer?.cellElement?.nativeElement.getBoundingClientRect();\n      if (!!elementRect) {\n        this.sortMenuPosition = {\n          position: 'absolute',\n          top: elementRect.top + elementRect.height,\n        };\n      }\n    });\n  }\n\n  sortBy(id: string) {\n    const currentActive = this.cells?.find((cell) => cell.active);\n    let newActive: HeaderCell | undefined;\n    if (!!currentActive) {\n      if (currentActive.id === id) {\n        currentActive.descending = !currentActive.descending;\n        newActive = currentActive;\n      } else {\n        currentActive.active = false;\n        currentActive.descending = false;\n      }\n    }\n    if (!newActive) {\n      newActive = this.cells?.find((cell) => cell.id === id) as HeaderCell;\n      newActive.active = true;\n    }\n    this.mobileCell = newActive;\n    this.sort.emit(newActive);\n  }\n}\n","<ng-content></ng-content>\n@if (mode !== 'mobile') {\n  @for (cell of cells; track cell.id) {\n    @if (cell.sortable) {\n      <pa-table-sortable-header-cell\n        [enabled]=\"cell.active\"\n        [isDescending]=\"cell.descending\"\n        [center]=\"cell.centered\"\n        (sort)=\"sortBy(cell.id)\">\n        {{ cell.label | translate }}\n      </pa-table-sortable-header-cell>\n    } @else {\n      <pa-table-cell\n        header\n        [center]=\"cell.centered\">\n        {{ cell.label | translate }}\n      </pa-table-cell>\n    }\n  }\n} @else {\n  @if (mobileCell?.sortable) {\n    <pa-table-sortable-header-cell\n      #mobileCellContainer\n      [active]=\"sortMenuOpen\"\n      [paPopup]=\"sortMenu\"\n      [popupPosition]=\"sortMenuPosition\">\n      {{ mobileCell?.label | translate }}\n    </pa-table-sortable-header-cell>\n  } @else {\n    <pa-table-cell\n      header\n      [center]=\"mobileCell?.centered\">\n      {{ mobileCell?.label | translate }}\n    </pa-table-cell>\n  }\n\n  <pa-dropdown\n    #sortMenu\n    (onOpen)=\"sortMenuOpen = true\"\n    (onClose)=\"sortMenuOpen = false\">\n    <pa-option-header>{{ 'pastanaga.sort-by' | translate }}</pa-option-header>\n    @for (cell of sortableCells; track cell.id) {\n      <pa-option\n        [icon]=\"!cell.active ? 'no-icon' : cell.descending ? 'arrow-up' : 'arrow-down'\"\n        [selected]=\"cell.active\"\n        (selectOption)=\"sortBy(cell.id)\">\n        {{ cell.label | translate }}\n      </pa-option>\n    }\n  </pa-dropdown>\n}\n\n@if (menuColumn) {\n  <pa-table-cell-menu header></pa-table-cell-menu>\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'pa-table-lead-cell-multi-line',\n  templateUrl: './table-lead-cell-multi-line.component.html',\n  styleUrls: ['./table-lead-cell-multi-line.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class TableLeadCellMultiLineComponent {\n  @Input({ transform: booleanAttribute }) clickable = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n}\n","<div\n  class=\"pa-table-grid--cell\"\n  [class.pa-clickable]=\"clickable\"\n  [class.pa-disabled]=\"disabled\"\n  paFocusable\n  [paFocusDisabled]=\"!clickable\">\n  <ng-content select=\"pa-table-lead-image\"></ng-content>\n  <div class=\"pa-lead-text\">\n    <div class=\"pa-lead-title\"><ng-content select=\"pa-table-lead-title\"></ng-content></div>\n    <div class=\"pa-lead-description\"><ng-content select=\"pa-table-lead-description\"></ng-content></div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TableCellComponent } from './table-cell/table-cell.component';\nimport { TableComponent } from './table.component';\nimport { TableHeaderDirective, TableLeadDescription, TableLeadImage, TableLeadTitle } from './table.directives';\nimport { TableRowComponent } from './table-row/table-row.component';\nimport { TableRowHeaderComponent } from './table-row-header/table-row-header.component';\nimport { TableCellMenuComponent } from './table-cell-menu/table-cell-menu.component';\nimport { PaFocusableModule } from '../focusable/focusable.module';\nimport { TableSortableHeaderCellComponent } from './table-sortable-header-cell/table-sortable-header-cell.component';\nimport { PaTranslateModule } from '../translate/translate.module';\nimport { PaIconModule } from '../icon/icon.module';\nimport { TableSortableHeaderComponent } from './table-sortable-header/table-sortable-header.component';\nimport { PaDropdownModule } from '../dropdown/dropdown.module';\nimport { PaPopupModule } from '../popup/popup.module';\nimport { TableLeadCellMultiLineComponent } from './table-lead-cell-multi-line/table-lead-cell-multi-line.component';\n\nconst components = [\n  TableComponent,\n  TableRowComponent,\n  TableCellComponent,\n  TableRowHeaderComponent,\n  TableHeaderDirective,\n  TableCellMenuComponent,\n  TableLeadCellMultiLineComponent,\n  TableSortableHeaderComponent,\n  TableSortableHeaderCellComponent,\n  TableLeadImage,\n  TableLeadTitle,\n  TableLeadDescription,\n];\n\n@NgModule({\n  imports: [CommonModule, PaFocusableModule, PaTranslateModule, PaIconModule, PaDropdownModule, PaPopupModule],\n  exports: components,\n  declarations: components,\n})\nexport class PaTableModule {}\n","import { Component, ChangeDetectionStrategy, Input, HostBinding, ElementRef } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'pa-tab',\n  templateUrl: 'tab-item.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TabItemComponent {\n  @Input()\n  get active(): boolean {\n    return this._active;\n  }\n  set active(isActive: boolean) {\n    this._active = isActive;\n    if (this._active) {\n      this.selected.next();\n    }\n  }\n\n  private _active = false;\n  selected = new Subject<void>();\n\n  @HostBinding('class.active') get valid() {\n    return this.active;\n  }\n\n  constructor(private ref: ElementRef) {}\n\n  getTabRect() {\n    return this.ref.nativeElement.getBoundingClientRect();\n  }\n}\n","<li\n  role=\"presentation\"\n  class=\"pa-tab-item\"\n  [class.active]=\"active\">\n  <button\n    class=\"pa-tabs-link\"\n    role=\"tab\"\n    paFocusable\n    [attr.aria-expanded]=\"active\">\n    <span\n      class=\"pa-tabs-link-wrapper\"\n      tabindex=\"-1\">\n      <ng-content></ng-content>\n    </span>\n  </button>\n</li>\n","import {\n  AfterContentInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  QueryList,\n  SimpleChanges,\n} from '@angular/core';\nimport { TabItemComponent } from './tab-item.component';\nimport { fromEvent, Subject } from 'rxjs';\nimport { detectChanges } from '../common';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\n\n@Component({\n  selector: 'pa-tabs',\n  templateUrl: 'tabs-list.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class TabsListComponent implements AfterContentInit, OnDestroy, OnChanges {\n  @Input({ transform: booleanAttribute }) noSlider = false;\n  @Input({ transform: booleanAttribute }) notFullWidth = false;\n\n  @ContentChildren(TabItemComponent) tabItems!: QueryList<TabItemComponent>;\n\n  sliderStyle = '';\n\n  private _xPosition = 0;\n  private _terminator = new Subject<void>();\n\n  constructor(\n    private ref: ElementRef,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterContentInit(): void {\n    // wait for tabList to be rendered\n    setTimeout(() => {\n      this._xPosition = this.ref.nativeElement.getBoundingClientRect().x;\n      this.trackTabSelection();\n      if (!this.noSlider) {\n        this.updateSlider();\n      }\n    });\n\n    this.tabItems.changes.subscribe(() => {\n      this.trackTabSelection();\n      if (!this.noSlider) {\n        this.updateSlider();\n      }\n    });\n\n    fromEvent(window, 'resize')\n      .pipe(throttleTime(150), takeUntil(this._terminator))\n      .subscribe(() => {\n        if (!this.noSlider) {\n          this._xPosition = this.ref.nativeElement.getBoundingClientRect().x;\n          this.updateSlider();\n        }\n      });\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['notFullWidth'] && !this.noSlider) {\n      this.updateSlider();\n    }\n  }\n\n  ngOnDestroy() {\n    this._terminator.next();\n    this._terminator.complete();\n  }\n\n  private trackTabSelection() {\n    this.tabItems.forEach((tabItem) => {\n      tabItem.selected.subscribe(() => {\n        if (!this.noSlider) {\n          this.updateSlider(tabItem);\n        }\n      });\n    });\n  }\n\n  private updateSlider(item?: TabItemComponent) {\n    if (!item && !!this.tabItems) {\n      item = this.tabItems.find((tabItem) => tabItem.active);\n    }\n    if (!!item) {\n      // wait for tab item to be rendered\n      setTimeout(() => {\n        const tabRect = item?.getTabRect();\n        this.sliderStyle = `left: ${tabRect.x - this._xPosition}px; width: ${tabRect.width}px`;\n        detectChanges(this.cdr);\n      });\n    }\n  }\n}\n","<ul\n  class=\"pa-tabs-list\"\n  role=\"tablist\"\n  [class.no-slider]=\"noSlider\"\n  [class.pa-full-width-tabs]=\"!notFullWidth\">\n  <ng-content></ng-content>\n\n  @if (!noSlider) {\n    <div\n      class=\"pa-tabs-slider\"\n      role=\"presentation\"\n      style=\"{{ sliderStyle }}\"></div>\n  }\n</ul>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TabItemComponent } from './tab-item.component';\nimport { TabsListComponent } from './tabs-list.component';\nimport { PaIconModule } from '../icon';\nimport { PaFocusableModule } from '../focusable';\n\n@NgModule({\n  imports: [CommonModule, PaIconModule, PaFocusableModule],\n  exports: [TabsListComponent, TabItemComponent],\n  declarations: [TabsListComponent, TabItemComponent],\n  providers: [],\n})\nexport class PaTabsModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnInit,\n  Output,\n  Renderer2,\n  RendererFactory2,\n  ViewChild,\n} from '@angular/core';\nimport { timer } from 'rxjs';\nimport { take, tap, switchMap } from 'rxjs/operators';\nimport { ToastConfig, ToastType } from './toast.model';\n\nconst TOAST_DEFAULT = 3000;\nconst TOAST_BUTTON = 5000;\nconst TOAST_ANIMATE_OUT = 400;\n\n@Component({\n  selector: 'pa-toast',\n  templateUrl: './toast.component.html',\n  styleUrls: ['./toast.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class ToastComponent implements OnInit, AfterViewInit {\n  @ViewChild('toastWrapper', { read: ElementRef }) toastWrapper?: ElementRef;\n\n  private renderer: Renderer2;\n\n  @Input()\n  set id(value: string) {\n    this._id = value;\n  }\n  get id() {\n    return this._id;\n  }\n\n  @Input() message = '';\n\n  @Input() set type(value: ToastType) {\n    this._toastClass = `pa-toast-${value}`;\n  }\n\n  @Input()\n  set config(conf: ToastConfig) {\n    if (!!conf) {\n      this._config = conf;\n      this.translateParams = conf.translateParams;\n    }\n  }\n  get config() {\n    return this._config;\n  }\n\n  @Output() dismiss = new EventEmitter<string>();\n\n  get toastClass() {\n    return this._toastClass;\n  }\n  private _id = '';\n  private _config: ToastConfig = {};\n  private _toastClass = '';\n  translateParams?: { [key: string]: string | number };\n\n  constructor(private rendererFactory: RendererFactory2) {\n    this.renderer = rendererFactory.createRenderer(null, null);\n  }\n\n  ngOnInit(): void {\n    this.setupAutoClause();\n  }\n\n  ngAfterViewInit() {\n    this.addClass(`${this.toastClass}-wrapper`, this.toastWrapper);\n  }\n\n  setupAutoClause() {\n    // Do not auto close by default when there is a button\n    if (this.config.button && !this.config.autoClose) {\n      return;\n    }\n    const DELAY = !this.config.button ? TOAST_DEFAULT : TOAST_BUTTON;\n    timer(DELAY)\n      .pipe(\n        take(1),\n        tap(() => {\n          this.addClass('pa-toast-animate-out', this.toastWrapper);\n        }),\n        switchMap(() => timer(TOAST_ANIMATE_OUT)),\n      )\n      .subscribe(() => this.dismiss.emit(this.id));\n  }\n\n  clickOnToastButton() {\n    if (this.config.button) {\n      this.config.button.action();\n    }\n    this.dismiss.emit(this.id);\n  }\n\n  private addClass(cssClass: string, element?: ElementRef) {\n    if (!!element) {\n      this.renderer.addClass(element.nativeElement, cssClass);\n    }\n  }\n}\n","<div\n  #toastWrapper\n  class=\"pa-toast-wrapper\"\n  [class.pa-toast-with-button]=\"!!config.button\"\n  [class.pa-toast-composed]=\"!!config.icon || !!config.title || !!config.button\">\n  <div class=\"pa-toast-message-wrapper\">\n    @if (config.icon) {\n      <pa-icon\n        class=\"pa-toast-icon\"\n        [name]=\"config.icon\"></pa-icon>\n    }\n\n    <div class=\"pa-toast-message-container\">\n      @if (config.title) {\n        <div\n          class=\"title-xxs\"\n          [innerHTML]=\"config.title | translate: translateParams\"></div>\n      }\n      <div\n        [class]=\"toastClass\"\n        [class.body-s]=\"!!config.title\"\n        [innerHTML]=\"message | translate: translateParams\"></div>\n    </div>\n  </div>\n\n  @if (config.button) {\n    <pa-button\n      aspect=\"basic\"\n      size=\"small\"\n      class=\"pa-toast-button\"\n      [icon]=\"config.button.icon\"\n      (click)=\"clickOnToastButton()\">\n      {{ config.button.label | translate: translateParams }}\n    </pa-button>\n  }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastComponent } from './toast.component';\nimport { PaButtonModule } from '../button';\nimport { PaIconModule } from '../icon';\nimport { PaTranslateModule } from '../translate';\n\n@NgModule({\n  declarations: [ToastComponent],\n  imports: [CommonModule, PaButtonModule, PaIconModule, PaTranslateModule],\n})\nexport class PaToastModule {}\n","import { ApplicationRef, ComponentRef, createComponent, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { ToastComponent } from './toast.component';\nimport { ToastConfig, ToastType } from './toast.model';\nimport { Keys } from '../common';\n\nlet nextId = 0;\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n  private readonly _renderer: Renderer2;\n  private _toastContainer?: HTMLElement;\n  private _toastMap: Map<\n    string,\n    {\n      component: ComponentRef<ToastComponent>;\n      unListeners: (() => void)[];\n    }\n  > = new Map();\n\n  get toastContainer(): HTMLElement {\n    if (!this._toastContainer) {\n      this._toastContainer = this.createContainer();\n    }\n    return this._toastContainer;\n  }\n\n  get renderer(): Renderer2 {\n    return this._renderer;\n  }\n\n  constructor(\n    private rendererFactory: RendererFactory2,\n    private appRef: ApplicationRef,\n  ) {\n    this._renderer = rendererFactory.createRenderer(null, null);\n  }\n\n  openInfo(message: string, config?: ToastConfig) {\n    this.open(message, 'info', config);\n  }\n\n  openSuccess(message: string, config?: ToastConfig) {\n    this.open(message, 'success', config);\n  }\n\n  openWarning(message: string, config?: ToastConfig) {\n    this.open(message, 'warning', config);\n  }\n\n  openError(message: string, config?: ToastConfig) {\n    this.open(message, 'error', config);\n  }\n\n  open(message: string, type: ToastType, config?: ToastConfig): ComponentRef<ToastComponent> {\n    const id = `pa-toast-${nextId++}`;\n    const toast: ComponentRef<ToastComponent> = this.createToast(id, message, type, config);\n    const toastRefs = {\n      component: toast,\n      unListeners: [\n        this._renderer.listen(document, 'keyup', (event: KeyboardEvent) => {\n          if (event.key === Keys.esc) {\n            this.removeToast(id);\n          }\n        }),\n      ],\n    };\n\n    this.appRef.attachView(toast.hostView);\n    this._toastMap.set(id, toastRefs);\n\n    this._renderer.setAttribute(toast.location.nativeElement, 'role', 'alert');\n    this._renderer.appendChild(this.toastContainer, toast.location.nativeElement);\n\n    return toast;\n  }\n\n  private createToast(id: string, message: string, type: ToastType, config?: ToastConfig) {\n    const componentRef = createComponent(ToastComponent, { environmentInjector: this.appRef.injector });\n    componentRef.instance.id = id;\n    componentRef.instance.message = message;\n    componentRef.instance.type = type;\n    if (!!config) {\n      componentRef.instance.config = config;\n    }\n    componentRef.instance.dismiss.subscribe((_id: string) => {\n      this.removeToast(_id);\n    });\n    return componentRef;\n  }\n\n  private createContainer(): HTMLElement {\n    const container = document.createElement('div');\n    container.className = 'pa-toast-container';\n    this._renderer.appendChild(document.body, container);\n    return container;\n  }\n\n  private removeToast(id: string) {\n    const ref = this._toastMap.get(id);\n    if (!ref) {\n      return;\n    }\n    ref.unListeners.forEach((unListen) => unListen());\n    this.appRef.detachView(ref.component.hostView);\n    ref.component.destroy();\n    this._toastMap.delete(id);\n    if (!this._toastMap.size) {\n      this.removeContainer();\n    }\n  }\n\n  private removeContainer() {\n    this._renderer.removeChild(document.body, this._toastContainer);\n    this._toastContainer = undefined;\n  }\n}\n","/*\n * Public API Surface of pastanaga-angular\n */\nexport * from './lib/accordion';\nexport * from './lib/avatar';\nexport * from './lib/avatar-pile';\nexport * from './lib/breakpoint-observer';\nexport * from './lib/button';\nexport * from './lib/card';\nexport * from './lib/chips';\nexport * from './lib/common';\nexport * from './lib/controls';\nexport * from './lib/date-picker';\nexport * from './lib/datetime';\nexport * from './lib/dropdown';\nexport * from './lib/expander';\nexport * from './lib/focusable';\nexport * from './lib/icon';\nexport * from './lib/modal';\nexport * from './lib/popup';\nexport * from './lib/scroll';\nexport * from './lib/side-nav';\nexport * from './lib/table';\nexport * from './lib/tabs';\nexport * from './lib/toast';\nexport * from './lib/tooltip';\nexport * from './lib/translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.IconComponent","i2.FocusableDirective","i1.TranslateService","i2.TranslatePipe","i1.TranslateDirective","nextId","i1.TooltipDirective","i1.PopupService","i2.IconComponent","i3.FocusableDirective","i4.AvatarComponent","i5.EllipsisTooltipDirective","i5.ExtendedTooltipDirective","i6.TranslatePipe","i1.TranslatePipe","i2.AvatarComponent","i3.ButtonComponent","i4.DropdownComponent","i5.OptionHeaderComponent","i6.OptionComponent","i7.PopupDirective","i8.TooltipDirective","i9.TranslatePipe","COMPONENTS","i1.FocusableDirective","i1.AvatarComponent","i2.ButtonComponent","i3.IconComponent","i2","i2.TextFieldUtilityService","i4.FormFieldHintComponent","i5.InputFormatterDirective","i3.FormFieldHintComponent","i4.EllipsisTooltipDirective","i4.ExtendedTooltipDirective","i1.OptionHeaderComponent","i2.OptionComponent","i3.SeparatorComponent","i4.CheckboxComponent","i5.PopupDirective","i6.FormFieldHintComponent","i7.EllipsisTooltipDirective","i7.ExtendedTooltipDirective","i8.SelectOptionsComponent","i4.InputFormatterDirective","i5.PaTextareaAutoHeightDirective","i2.FormFieldHintComponent","i4.PopoverComponent","i5.PopoverDirective","i5.ExtendedPopupDirective","i7.SelectOptionsComponent","i4.PopupComponent","i6.InputComponent","i7","i8.TranslatePipe","i1.DateTimeService","i1.ButtonComponent","i1.ModalRef","i2.ScrollableContainerDirective","i3.TranslatePipe","i2.BreakpointObserver","i3.ScrollableContainerDirective","i1.BreakpointObserver","i1.DropdownComponent","i2.OptionHeaderComponent","i3.OptionComponent","i4.PopupDirective","i5.TableCellComponent","i6.TableCellMenuComponent","i7.TableSortableHeaderCellComponent"],"mappings":"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"}