{"version":3,"file":"alauda-ui.mjs","sources":["../../src/accordion/accordion.component.ts","../../src/accordion/accordion.component.html","../../src/internal/utils/async.ts","../../src/internal/utils/bem.ts","../../src/internal/utils/coercion.ts","../../src/internal/utils/fn.ts","../../src/internal/utils/observe-dom.ts","../../src/internal/utils/operators.ts","../../src/internal/utils/scroll-into-view.ts","../../src/internal/utils/styles-renderer.ts","../../src/internal/utils/watch-content-exist.ts","../../src/theme/utils.ts","../../src/theme/theme.service.ts","../../src/theme/theme.pipe.ts","../../src/icon/icons.ts","../../src/icon/utils.ts","../../src/icon/icon-register.service.ts","../../src/icon/icon.component.ts","../../src/icon/icon.component.html","../../src/internal/types/index.ts","../../src/button/button.types.ts","../../src/button/button.component.ts","../../src/button/button.component.html","../../src/theme/theme.module.ts","../../src/icon/icon.module.ts","../../src/button/button-group/button-group.component.ts","../../src/button/button-group/button-group.component.html","../../src/button/button.module.ts","../../src/accordion/accordion-item/accordion-item.component.ts","../../src/accordion/accordion-item/accordion-item.component.html","../../src/accordion/accordion.module.ts","../../src/anchor/anchor.directive.ts","../../src/anchor/utils.ts","../../src/anchor/anchor.component.ts","../../src/anchor/anchor-tree.component.html","../../src/anchor/anchor.component.html","../../src/anchor/anchor.module.ts","../../src/autocomplete/autocomplete-placeholder.component.ts","../../src/autocomplete/suggestion/suggestion.component.ts","../../src/autocomplete/suggestion/suggestion.component.html","../../src/autocomplete/autocomplete.component.ts","../../src/autocomplete/autocomplete.component.html","../../src/core/animation/animation-consts.ts","../../src/tooltip/animations.ts","../../src/tooltip/tooltip.types.ts","../../src/tooltip/tooltip.component.ts","../../src/tooltip/tooltip.component.html","../../src/tooltip/utils/index.ts","../../src/tooltip/base-tooltip.ts","../../src/tooltip/tooltip.directive.ts","../../src/tooltip/tooltip-active.directive.ts","../../src/tooltip/tooltip-intl.ts","../../src/tooltip/tooltip-copy.directive.ts","../../src/tooltip/tooltip.module.ts","../../src/autocomplete/autocomplete.directive.ts","../../src/autocomplete/helper-directives.ts","../../src/autocomplete/suggestion-group/suggestion-group.component.ts","../../src/autocomplete/suggestion-group/suggestion-group.component.html","../../src/autocomplete/autocomplete.module.ts","../../src/back-top/back-top.component.ts","../../src/back-top/back-top.component.html","../../src/back-top/back-top.module.ts","../../src/breadcrumb/breadcrumb-item.component.ts","../../src/breadcrumb/breadcrumb-item.component.html","../../src/breadcrumb/breadcrumb.component.ts","../../src/breadcrumb/breadcrumb.component.html","../../src/breadcrumb/breadcrumb.module.ts","../../src/card/card.component.ts","../../src/card/card.component.html","../../src/card/helper-directives.ts","../../src/card/section.component.ts","../../src/card/section.component.html","../../src/card/card.module.ts","../../src/form/common-form.ts","../../src/form/form.types.ts","../../src/form/form.directive.ts","../../src/form/helper-directives.ts","../../src/form/form-item/form-item.component.ts","../../src/form/form-item/form-item.component.html","../../src/form/form.module.ts","../../src/checkbox/checkbox-group/checkbox-group.component.ts","../../src/checkbox/checkbox-group/checkbox-group.component.html","../../src/checkbox/checkbox.component.ts","../../src/checkbox/checkbox.component.html","../../src/checkbox/checkbox.module.ts","../../src/color-picker/color-picker.component.ts","../../src/color-picker/color-picker.component.html","../../src/color-picker/color-picker.module.ts","../../src/date-picker/date-picker.type.ts","../../src/date-picker/calendar/constant.ts","../../src/i18n/language/en.ts","../../src/i18n/i18n.type.ts","../../src/i18n/i18n.service.ts","../../src/i18n/i18n.pipe.ts","../../src/date-picker/calendar/util.ts","../../src/input/helper-directives.ts","../../src/input/input.component.ts","../../src/input/input-group/input-group.component.ts","../../src/input/input-group/input-group.component.html","../../src/time-picker/constant.ts","../../src/time-picker/time-picker.type.ts","../../src/time-picker/panel/panel.component.ts","../../src/time-picker/panel/panel.template.html","../../src/time-picker/component.ts","../../src/time-picker/template.html","../../src/i18n/i18n.module.ts","../../src/i18n/language/zh.ts","../../src/input/utils/index.ts","../../src/input/autosize.directive.ts","../../src/shared/click-outside.directive.ts","../../src/shared/shared.module.ts","../../src/tag/tag.types.ts","../../src/tag/check-tag/check-tag.component.ts","../../src/tag/check-tag/check-tag.component.html","../../src/tag/tag.component.ts","../../src/tag/tag.component.html","../../src/tag/tag.module.ts","../../src/input/number-input/number-input.component.ts","../../src/input/number-input/number-input.component.html","../../src/input/search/search.component.ts","../../src/input/search/search.component.html","../../src/input/tags-input/with-max-row-count.ts","../../src/input/tags-input/tags-input.component.ts","../../src/input/tags-input/tags-input.component.html","../../src/input/input.module.ts","../../src/time-picker/time-picker.module.ts","../../src/date-picker/calendar/footer/component.ts","../../src/date-picker/calendar/footer/template.html","../../src/date-picker/calendar/header/component.ts","../../src/date-picker/calendar/header/template.html","../../src/date-picker/calendar/panel/picker-panel.ts","../../src/date-picker/calendar/panel/picker-panel.template.html","../../src/date-picker/calendar/date-picker-panel/component.ts","../../src/date-picker/calendar/date-picker-panel/template.html","../../src/date-picker/calendar/range-picker-panel/component.ts","../../src/date-picker/calendar/range-picker-panel/template.html","../../src/date-picker/trigger/trigger.component.ts","../../src/date-picker/trigger/trigger.template.html","../../src/date-picker/date-picker/date-picker.component.ts","../../src/date-picker/date-picker/date-picker.template.html","../../src/date-picker/range-picker/range-picker.component.ts","../../src/date-picker/range-picker/range-picker.template.html","../../src/date-picker/date-picker.module.ts","../../src/dialog/dialog.types.ts","../../src/dialog/dialog-config.ts","../../src/dialog/confirm-dialog/confirm-dialog-config.ts","../../src/internal/utils/animations.ts","../../src/dialog/dialog-animations.ts","../../src/dialog/utils/errors.ts","../../src/dialog/utils/index.ts","../../src/dialog/dialog.component.ts","../../src/dialog/dialog.component.html","../../src/dialog/dialog-ref.ts","../../src/dialog/confirm-dialog/confirm-dialog.component.ts","../../src/dialog/confirm-dialog/confirm-dialog.component.html","../../src/dialog/dialog-container.component.ts","../../src/dialog/dialog.service.ts","../../src/dialog/dialog-content/dialog-close.directive.ts","../../src/dialog/dialog-content/dialog-content.component.ts","../../src/dialog/dialog-content/dialog-content.component.html","../../src/dialog/dialog-content/dialog-footer.component.ts","../../src/dialog/dialog-content/dialog-footer.component.html","../../src/dialog/dialog-content/dialog-header.component.ts","../../src/dialog/dialog-content/dialog-header.component.html","../../src/dialog/dialog.module.ts","../../src/drawer/types.ts","../../src/drawer/component/internal/internal.component.ts","../../src/drawer/component/internal/internal.component.html","../../src/drawer/drawer-ref.ts","../../src/drawer/drawer.service.ts","../../src/drawer/helper-directives.ts","../../src/drawer/component/drawer.component.ts","../../src/drawer/drawer.module.ts","../../src/dropdown/dropdown-active.directive.ts","../../src/dropdown/dropdown.directive.ts","../../src/dropdown/dropdown.types.ts","../../src/dropdown/menu-item/menu-item.component.ts","../../src/dropdown/menu-item/menu-item.component.html","../../src/dropdown/dropdown-button/dropdown-button.component.ts","../../src/dropdown/dropdown-button/dropdown-button.component.html","../../src/dropdown/helper-directives.ts","../../src/dropdown/menu/menu.component.ts","../../src/dropdown/menu/menu.component.html","../../src/dropdown/menu-group/menu-group.component.ts","../../src/dropdown/menu-group/menu-group.component.html","../../src/dropdown/submenu/submenu.component.ts","../../src/dropdown/submenu/submenu.component.html","../../src/dropdown/dropdown.module.ts","../../src/inline-alert/helper-directives.ts","../../src/inline-alert/inline-alert.types.ts","../../src/inline-alert/inline-alert.component.ts","../../src/inline-alert/inline-alert.component.html","../../src/inline-alert/inline-alert.module.ts","../../src/message/message.config.ts","../../src/message/message-wrapper.component.ts","../../src/message/message-animations.ts","../../src/message/message.component.ts","../../src/message/message.component.html","../../src/message/message.module.ts","../../src/message/base-message.ts","../../src/message/message.service.ts","../../src/notification/notification.component.ts","../../src/notification/notification.component.html","../../src/notification/notification.config.ts","../../src/notification/notification-wrapper.component.ts","../../src/notification/notification.module.ts","../../src/notification/notification.service.ts","../../src/select/helper-directives.ts","../../src/select/base-select.ts","../../src/select/option/option.component.ts","../../src/select/option/option.component.html","../../src/select/select.component.ts","../../src/select/select.component.html","../../src/paginator/paginator-intl.ts","../../src/paginator/paginator.component.ts","../../src/paginator/paginator.component.html","../../src/select/select.types.ts","../../src/select/multi-select/multi-select.component.ts","../../src/select/multi-select/multi-select.component.html","../../src/select/option-group/option-group.component.ts","../../src/select/option-group/option-group.component.html","../../src/select/option-placeholder.component.ts","../../src/select/validators.ts","../../src/select/select.module.ts","../../src/paginator/paginator.module.ts","../../src/radio/radio.types.ts","../../src/radio/radio-group/radio-group.component.ts","../../src/radio/radio-group/radio-group.component.html","../../src/radio/base-radio.ts","../../src/radio/radio.component.ts","../../src/radio/radio.component.html","../../src/radio/radio-button/radio-button.component.ts","../../src/radio/radio-button/radio-button.component.html","../../src/radio/radio.module.ts","../../src/table/table-placeholder.directive.ts","../../src/table/table.component.ts","../../src/table/table-cell-def.directive.ts","../../src/table/table-cell.component.ts","../../src/table/table-cell.directive.ts","../../src/table/table-column-def.directive.ts","../../src/table/table-column-resizable.directive.ts","../../src/table/table-header-cell-def.directive.ts","../../src/table/table-header-cell.directive.ts","../../src/table/table-header-row-def.directive.ts","../../src/table/table-header-row.component.ts","../../src/table/table-row-def.directive.ts","../../src/table/table-row.component.ts","../../src/table/table-scroll.directive.ts","../../src/table/table.module.ts","../../src/scrolling/fixed-size-table-virtual-scroll-strategy.ts","../../src/scrolling/fixed-size-table-virtual-scroll.directive.ts","../../src/scrolling/fixed-size-virtual-scroll.directive.ts","../../src/scrolling/virtual-for-of.directive.ts","../../src/scrolling/virtual-scroll-viewport.component.ts","../../src/scrolling/virtual-scroll-viewport.component.html","../../src/scrolling/scrolling.module.ts","../../src/sort/sort-errors.ts","../../src/sort/sort.directive.ts","../../src/sort/sort-header.component.ts","../../src/sort/sort-header.component.html","../../src/sort/sort.module.ts","../../src/status-bar/status-bar.types.ts","../../src/status-bar/status-bar.component.ts","../../src/status-bar/status-bar.component.html","../../src/status-bar/status-bar.module.ts","../../src/steps/types.ts","../../src/steps/steps.component.ts","../../src/steps/steps.component.html","../../src/steps/steps.module.ts","../../src/switch/switch.component.ts","../../src/switch/switch.component.html","../../src/switch/switch.module.ts","../../src/table-of-contents/toc-container.directive.ts","../../src/table-of-contents/toc-content.directive.ts","../../src/table-of-contents/toc-link.directive.ts","../../src/table-of-contents/table-of-contents.module.ts","../../src/tabs/tab-body.component.ts","../../src/tabs/tab-body.component.html","../../src/tabs/tab-context.service.ts","../../src/tabs/tab.component.ts","../../src/tabs/tab.component.html","../../src/tabs/tabs.types.ts","../../src/tabs/tab-header-active-indicator.component.ts","../../src/tabs/tab-header-active-indicator.component.html","../../src/tabs/tab-header.component.ts","../../src/tabs/tab-header.component.html","../../src/tabs/tab-group.component.ts","../../src/tabs/tab-group.component.html","../../src/tabs/tabs.module.ts","../../src/tree-select/tree-node-placeholder.component.ts","../../src/tree-select/tree-select.component.ts","../../src/tree-select/tree-select.component.html","../../src/tree-select/tree-node.component.html","../../src/tree-select/tree-select.module.ts","../../src/alauda-ui.ts"],"sourcesContent":["import { CdkAccordion } from '@angular/cdk/accordion';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  HostBinding,\n  Input,\n  Optional,\n  SkipSelf,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-accordion',\n  templateUrl: './accordion.component.html',\n  styleUrls: ['./accordion.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class AccordionComponent extends CdkAccordion {\n  @Input()\n  background = true;\n\n  @HostBinding('attr.accordion-depth')\n  depth: number;\n\n  constructor(\n    @SkipSelf()\n    @Optional()\n    public parent: AccordionComponent,\n  ) {\n    super();\n    this.depth = parent ? parent.depth + 1 : 0;\n  }\n}\n","<div\n  class=\"aui-accordion\"\n  [class.hasBg]=\"background\"\n>\n  <ng-content></ng-content>\n</div>\n","export function sleep(ms = 0) {\n  return new Promise(resolve => {\n    setTimeout(resolve, ms);\n  });\n}\n","// Experimental bem classname helper\nexport class Bem {\n  constructor(private readonly namespace: string) {}\n\n  block(...modifiers: Array<string | { [name: string]: boolean }>) {\n    const activatedModifiers = getActivatedModifiers(modifiers);\n    if (activatedModifiers.length > 0) {\n      return `${this.namespace} ${activatedModifiers\n        .map(modifier => this.namespace + '--' + modifier)\n        .join(' ')}`;\n    }\n    return this.namespace;\n  }\n\n  modifier(name: string) {\n    return `${this.namespace}--${name}`;\n  }\n\n  element(\n    name: string,\n    ...modifiers: Array<string | { [name: string]: boolean | '' }>\n  ) {\n    const activatedModifiers = getActivatedModifiers(modifiers);\n\n    if (activatedModifiers.length > 0) {\n      return `${this.namespace}__${name} ${activatedModifiers\n        .map(modifier => this.namespace + '__' + name + '--' + modifier)\n        .join(' ')}`;\n    }\n\n    return `${this.namespace}__${name}`;\n  }\n}\n\nfunction getActivatedModifiers(\n  modifiers: Array<string | { [name: string]: boolean | '' }>,\n) {\n  return modifiers.reduce<string[]>((acc, modifier) => {\n    if (!modifier) {\n      return acc;\n    }\n    return acc.concat(\n      typeof modifier === 'string'\n        ? [modifier]\n        : getActivatedModifiersFromObject(modifier),\n    );\n  }, []);\n}\n\nfunction getActivatedModifiersFromObject(modifiers: {\n  [name: string]: boolean | '';\n}) {\n  return Object.keys(modifiers).filter(key => modifiers[key]);\n}\n\nexport function buildBem(namespace: string) {\n  return new Bem(namespace);\n}\n","import { booleanAttribute } from '@angular/core';\n\nexport const coerceString = (val: unknown) => (val == null ? '' : String(val));\n\n// https://github.com/angular/angular/issues/51190#issuecomment-1655566332\nexport type AttrBoolean = boolean | '';\n\nexport const coerceAttrBoolean: (val: AttrBoolean) => boolean =\n  booleanAttribute;\n\n// https://github.com/angular/angular/blob/1c553ee915b500820e11c53bffc582b65bb6b7ac/packages/core/src/util/coercion.ts#L39\nexport const isNumberValue = (val: unknown) =>\n  !isNaN(parseFloat(val as any)) && !isNaN(Number(val));\n","import { TemplateRef } from '@angular/core';\n\nexport const last = <T>(values: T[]) => values?.[values.length - 1];\n\nexport const isTemplateRef = (label: any): label is TemplateRef<unknown> =>\n  label instanceof TemplateRef;\n\nexport const isString = (label: any): label is string =>\n  typeof label === 'string';\n\nexport const handlePixel = (value: number | string) =>\n  Number.isNaN(+value) ? (value as string) : value + 'px';\n\nexport function getElementOffset(elem: HTMLElement): {\n  top: number;\n  left: number;\n} {\n  if (!elem.getClientRects().length) {\n    return { top: 0, left: 0 };\n  }\n\n  const rect = elem.getBoundingClientRect();\n  return {\n    top: rect.top,\n    left: rect.left,\n  };\n}\n","import { Observable } from 'rxjs';\n\nexport const observeResizeOn = <T extends Element>(\n  target: T,\n  options?: ResizeObserverOptions,\n) =>\n  new Observable<T>(observer => {\n    const resizeObserver = new ResizeObserver(entries => {\n      for (const entry of entries) {\n        observer.next(entry.target as T);\n      }\n    });\n    resizeObserver.observe(target, options);\n    return () => {\n      resizeObserver.unobserve(target);\n      resizeObserver.disconnect();\n    };\n  });\n\nexport const observeMutationOn = <T extends Node>(\n  target: T,\n  options?: MutationObserverInit,\n) =>\n  new Observable<MutationRecord>(observer => {\n    const mutationObserver = new MutationObserver(mutations => {\n      for (const mutation of mutations) {\n        observer.next(mutation);\n      }\n    });\n    mutationObserver.observe(target, options);\n    return () => mutationObserver.disconnect();\n  });\n","import { ReplaySubject, share, TimestampProvider } from 'rxjs';\n\nexport type PublishRefConfig<T> =\n  | number\n  | (import('rxjs/internal/operators/share').ShareConfig<T> & {\n      bufferSize?: number;\n      windowTime?: number;\n      timestampProvider?: TimestampProvider;\n    });\n\nexport const publishRef = <T>(bufferSizeOrConfig: PublishRefConfig<T> = {}) => {\n  const {\n    bufferSize = 1,\n    windowTime,\n    timestampProvider,\n    connector = () =>\n      new ReplaySubject(bufferSize, windowTime, timestampProvider),\n    resetOnError = false,\n    resetOnComplete = false,\n    resetOnRefCountZero = true,\n  } = typeof bufferSizeOrConfig === 'number'\n    ? ({\n        bufferSize: bufferSizeOrConfig,\n      } as Exclude<PublishRefConfig<T>, number>)\n    : bufferSizeOrConfig;\n  return share<T>({\n    connector,\n    resetOnError,\n    resetOnComplete,\n    resetOnRefCountZero,\n  });\n};\n","export function scrollIntoView(container: HTMLElement, selected: HTMLElement) {\n  if (!selected) {\n    container.scrollTop = 0;\n    return;\n  }\n\n  const top = selected.offsetTop;\n  const bottom = selected.offsetTop + selected.offsetHeight;\n  const viewRectTop = container.scrollTop;\n  const viewRectBottom = viewRectTop + container.clientHeight;\n\n  if (viewRectTop > top) {\n    container.scrollTop = top;\n  } else if (viewRectBottom < bottom) {\n    container.scrollTop = bottom - container.clientHeight;\n  }\n}\n","export function getCompatibleStylesRenderer() {\n  if ('CSSStyleSheet' in self && 'adoptedStyleSheets' in document) {\n    return new CSSStyleSheetRenderer();\n  }\n  return new StylesRenderer();\n}\n\nexport class StylesRenderer implements Renderer {\n  private styleElement: HTMLStyleElement;\n\n  render(styles: string): void {\n    if (!this.styleElement) {\n      this.styleElement = document.createElement('style');\n      document.head.append(this.styleElement);\n    }\n    this.styleElement.innerHTML = styles;\n  }\n\n  cleanup(): void {\n    this.styleElement?.remove();\n  }\n}\n\nexport class CSSStyleSheetRenderer implements Renderer {\n  private styleSheet: CSSStyleSheet;\n\n  constructor(private readonly options?: CSSStyleSheetInit) {}\n\n  render(styles: string): void {\n    if (!this.styleSheet) {\n      this.styleSheet = new CSSStyleSheet(this.options);\n      document.adoptedStyleSheets.push(this.styleSheet);\n    }\n    this.styleSheet.replaceSync(styles);\n  }\n\n  cleanup(): void {\n    if (!this.styleSheet) {\n      return;\n    }\n\n    const i = document.adoptedStyleSheets.indexOf(this.styleSheet);\n    if (i >= 0) {\n      document.adoptedStyleSheets.splice(i, 1);\n    }\n  }\n}\n\ninterface Renderer {\n  render(styles: string): void;\n  cleanup(): void;\n}\n","import { QueryList } from '@angular/core';\nimport { map, startWith } from 'rxjs';\n\nimport { publishRef } from './operators';\n\nexport function watchContentExist(queryList: QueryList<unknown>) {\n  return queryList.changes.pipe(\n    startWith(queryList),\n    map((list: QueryList<unknown>) => !!list.length),\n    publishRef(),\n  );\n}\n","export function rgbColor(color: string): string {\n  return `rgb(var(--aui-color-${color}))`;\n}\n\nexport function rgbaColor([color, opacity]: [string, number]) {\n  return `rgba(var(--aui-color-${color}), ${opacity})`;\n}\n\nexport function cssVar(value: string) {\n  return `var(--aui-${value})`;\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject, distinctUntilChanged } from 'rxjs';\n\nimport { Theme, ThemeMode } from './theme.types';\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeService {\n  private readonly htmlEl: HTMLHtmlElement;\n  private browserTheme: Theme;\n  private themeMode: ThemeMode;\n\n  private readonly currentAppTheme$$ = new ReplaySubject<Theme>(1);\n\n  readonly currentTheme$ = this.currentAppTheme$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  constructor() {\n    this.htmlEl = document.querySelector('html')!;\n\n    switch (this.htmlEl.getAttribute('aui-theme-mode')) {\n      case 'dark': {\n        this.themeMode = 'dark';\n        break;\n      }\n      case 'light': {\n        this.themeMode = 'light';\n        break;\n      }\n      case 'system': {\n        this.themeMode = 'system';\n        break;\n      }\n      default: {\n        this.themeMode = 'light';\n      }\n    }\n\n    const darkModeQuery = window.matchMedia('(prefers-color-scheme: dark)');\n    this.browserTheme = darkModeQuery.matches ? 'dark' : 'light';\n\n    darkModeQuery.addEventListener('change', ({ matches }) => {\n      this.browserTheme = matches ? 'dark' : 'light';\n      if (this.themeMode === 'system') {\n        this.themeChanged();\n      }\n    });\n\n    this.themeChanged();\n  }\n\n  setThemeMode(mode: ThemeMode) {\n    this.htmlEl.setAttribute('aui-theme-mode', mode);\n    this.themeMode = mode;\n    this.themeChanged();\n  }\n\n  currentTheme() {\n    return this.themeMode === 'system' ? this.browserTheme : this.themeMode;\n  }\n\n  private themeChanged() {\n    this.currentAppTheme$$.next(this.currentTheme());\n  }\n}\n","import {\n  ChangeDetectorRef,\n  OnDestroy,\n  Pipe,\n  PipeTransform,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { ThemeService } from './theme.service';\nimport { Theme, ThemeSet } from './theme.types';\nimport { cssVar, rgbColor, rgbaColor } from './utils';\n\n@Pipe({\n  name: 'auiRgbColor',\n  pure: true,\n  standalone: true,\n})\nexport class RgbColorPipe implements PipeTransform {\n  transform: (color: string) => string = rgbColor;\n}\n\n@Pipe({\n  name: 'auiRgbaColor',\n  pure: true,\n  standalone: true,\n})\nexport class RgbaColorPipe implements PipeTransform {\n  transform: ([color, opacity]: [string, number]) => string = rgbaColor;\n}\n\n@Pipe({\n  name: 'auiCssVar',\n  pure: true,\n  standalone: true,\n})\nexport class CssVarPipe implements PipeTransform {\n  transform: (value: string) => string = cssVar;\n}\n\n@Pipe({\n  name: 'auiThemePicker',\n  pure: false,\n  standalone: true,\n})\nexport class ThemePickerPipe<T> implements PipeTransform, OnDestroy {\n  private currentTheme: Theme;\n  private readonly destroy$$ = new Subject<void>();\n\n  constructor(themeService: ThemeService, cdr: ChangeDetectorRef) {\n    themeService.currentTheme$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(theme => {\n        this.currentTheme = theme;\n        cdr.markForCheck();\n      });\n  }\n\n  transform(v: ThemeSet<T>) {\n    if (v instanceof Function) {\n      return v(this.currentTheme);\n    }\n    if (Array.isArray(v)) {\n      return v[this.currentTheme === 'light' ? 0 : 1];\n    }\n    return v[this.currentTheme];\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n}\n","export const auiIcons =\n  '<svg><symbol id=\"aui-icon-upload_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0zM275.712 482.56H204.8a12.8 12.8 0 0 0-12.8 12.8l0.128 259.84c0 7.04 5.76 12.8 12.8 12.8h634.24a12.8 12.8 0 0 0 12.8-12.8V495.552a12.8 12.8 0 0 0-12.8-12.8h-70.848a12.8 12.8 0 0 0-12.8 12.8v175.936H288.448V495.36a12.8 12.8 0 0 0-12.8-12.8zM521.28 192L453.12 260.224l0.704 0.704-125.888 125.952a12.8 12.8 0 0 0 0 18.112l50.112 50.112a12.8 12.8 0 0 0 18.112 0l77.056-77.12v188.672c0 7.04 5.76 12.8 12.8 12.8h70.912a12.8 12.8 0 0 0 12.8-12.8V376.832l77.76 77.696a12.8 12.8 0 0 0 18.048 0l50.176-50.112a12.8 12.8 0 0 0 0-18.112L590.4 260.8 521.28 192z\"  ></path></symbol><symbol id=\"aui-icon-plus_square\" viewBox=\"0 0 1024 1024\"><path d=\"M883.2 64A76.8 76.8 0 0 1 960 140.8v742.4a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V140.8A76.8 76.8 0 0 1 140.8 64h742.4z m0 76.8H140.8v742.4h742.4V140.8z\"  ></path><path d=\"M256 473.6h512v76.8H256z\"  ></path><path d=\"M473.6 256h76.8v512H473.6z\"  ></path></symbol><symbol id=\"aui-icon-minus_square\" viewBox=\"0 0 1024 1024\"><path d=\"M883.2 64A76.8 76.8 0 0 1 960 140.8v742.4a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V140.8A76.8 76.8 0 0 1 140.8 64h742.4z m0 76.8H140.8v742.4h742.4V140.8z\"  ></path><path d=\"M256 473.6h512v76.8H256z\"  ></path></symbol><symbol id=\"aui-icon-lang_en\" viewBox=\"0 0 1024 1024\"><path d=\"M883.2 64A76.8 76.8 0 0 1 960 140.8v742.4a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V140.8A76.8 76.8 0 0 1 140.8 64h742.4z m0 76.8H140.8v742.4h742.4V140.8zM480 313.6v76.8H300.8v83.2h179.2v76.8H300.8v83.2h179.2v76.8h-256V313.6h256z m115.2 76.8v15.36a140.8 140.8 0 0 1 204.8 125.44v179.2h-76.8V531.2a64 64 0 0 0-62.208-64H659.2a64 64 0 0 0-64 62.208V710.4H518.4v-320h76.8z\"  ></path></symbol><symbol id=\"aui-icon-xmark_small\" viewBox=\"0 0 1024 1024\"><path d=\"M768 320L573.568 512 768 704l-58.304 57.6-194.432-192L314.24 768 256 710.4 456.96 512 256 313.6l58.304-57.6 200.96 198.4 194.432-192z\"  ></path></symbol><symbol id=\"aui-icon-stop_s\" viewBox=\"0 0 1024 1024\"><path d=\"M204.8 128h614.4A76.8 76.8 0 0 1 896 204.8v614.4a76.8 76.8 0 0 1-76.8 76.8H204.8A76.8 76.8 0 0 1 128 819.2V204.8A76.8 76.8 0 0 1 204.8 128z\"  ></path></symbol><symbol id=\"aui-icon-plus_pannel\" viewBox=\"0 0 1024 1024\"><path d=\"M646.4 300.8a76.8 76.8 0 0 1 76.8 76.8v505.6a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V377.6a76.8 76.8 0 0 1 76.8-76.8h505.6z m0 76.8H140.8v505.6h505.6V377.6zM435.2 460.8v134.4h128v76.8h-128v128H358.4v-128H224V595.2h134.4V460.8h76.8z m448-396.8A76.8 76.8 0 0 1 960 140.8v505.6a76.8 76.8 0 0 1-76.8 76.8h-83.2v-76.8h83.2V140.8H377.6v83.2H300.8V140.8A76.8 76.8 0 0 1 377.6 64h505.6z\"  ></path></symbol><symbol id=\"aui-icon-siren\" viewBox=\"0 0 1024 1024\"><path d=\"M512 224c180.288 0 326.4 152.192 326.4 340.032v379.968H960V1024H64v-80h121.6V563.968C185.6 376.192 331.712 224 512 224z m0 76.8c-136.448 0-247.36 115.2-249.6 258.24V947.2h499.2V563.392c0-143.552-109.504-260.224-245.504-262.528L512 300.8z m45.632 160L535.68 630.016h123.52L466.368 870.4l21.952-169.216H364.8L557.632 460.8zM108.672 190.464l110.592 63.488L180.992 320 70.4 256.448l38.272-65.984z m806.656-1.152L953.6 255.36l-110.592 63.488-38.272-65.984 110.592-63.552zM719.616 46.592l65.664 39.232-65.728 108.928-65.664-39.296L719.616 46.592zM296.192 46.08l67.648 107.776-64.96 40.384-67.648-107.712L296.192 46.08zM549.376 0v127.04H472.768V0h76.608z\"  ></path></symbol><symbol id=\"aui-icon-check\" viewBox=\"0 0 1024 1024\"><path d=\"M418.496 625.216L833.92 211.2l81.28 81.024L418.496 787.2 102.4 472.192l81.28-81.024z\"  ></path></symbol><symbol id=\"aui-icon-check_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 66.048a445.952 445.952 0 1 0 0 891.904A445.952 445.952 0 0 0 512 66.048z m220.544 285.76l62.272 62.336-303.616 303.616L273.216 499.84l62.272-62.272 155.712 155.712 241.344-241.408z\"  ></path></symbol><symbol id=\"aui-icon-play_s\" viewBox=\"0 0 1024 1024\"><path d=\"M760.256 560.384l-443.52 315.712a38.4 38.4 0 0 1-60.736-31.36V166.464a38.528 38.528 0 0 1 60.992-31.232l443.648 320.704a64.256 64.256 0 0 1-0.384 104.384z\"  ></path></symbol><symbol id=\"aui-icon-volume\" viewBox=\"0 0 1024 1024\"><path d=\"M665.152 64h1.472a38.4 38.4 0 0 1 37.376 38.272v883.456a38.336 38.336 0 0 1-36.992 38.272H665.6a38.464 38.464 0 0 1-21.376-6.464L320 800.768H76.8c-42.432 0-76.8-34.304-76.8-76.608v-360.32c0-42.304 34.368-76.608 76.8-76.608H320l324.224-216.768a38.272 38.272 0 0 1 19.456-6.4L665.152 64z m189.312 686.976l166.272 95.68-44.8 77.312-166.272-95.68 44.8-77.312zM614.4 889.856V198.144L347.2 376.832H89.6v334.336h257.6L614.4 889.792zM1024 499.264v89.344h-192V499.328h192z m-48.064-335.36l44.8 77.376-166.272 95.68-44.8-77.312 166.272-95.744z\"  ></path></symbol><symbol id=\"aui-icon-minus_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 71.424a440.576 440.576 0 1 0 0 881.152A440.576 440.576 0 0 0 512 71.424z m238.08 392.96v95.232H273.92V464.384h476.16z\"  ></path></symbol><symbol id=\"aui-icon-xmark_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 71.424a440.576 440.576 0 1 0 0 881.152A440.576 440.576 0 0 0 512 71.424z m134.72 238.528l67.328 67.328L579.328 512l134.72 134.72-67.328 67.328L512 579.328l-134.72 134.72-67.328-67.328L444.672 512 309.952 377.28l67.328-67.328L512 444.672l134.72-134.72z\"  ></path></symbol><symbol id=\"aui-icon-gear\" viewBox=\"0 0 1024 1024\"><path d=\"M581.31584 0c30.528 0 56.832 21.568 62.848 51.456l20.224 100.992c16.896 7.872 33.152 16.96 48.64 27.008l96.128-33.728c29.12-10.24 61.376 1.664 76.8 28.352l89.792 155.2a63.936 63.936 0 0 1-13.248 80.064l-71.04 62.272a400.704 400.704 0 0 1 1.216 67.072l70.528 60.416a63.936 63.936 0 0 1 13.824 80.64l-89.792 155.136c-15.296 26.432-47.104 38.4-76.096 28.608l-84.224-28.416a397.376 397.376 0 0 1-63.68 37.056l-16.384 86.848a64.064 64.064 0 0 1-62.976 52.224H404.29184c-30.528 0-56.832-21.568-62.848-51.456l-18.048-90.24a397.44 397.44 0 0 1-58.88-34.944l-88.064 30.912a64.192 64.192 0 0 1-76.8-28.352L9.85984 681.92a63.936 63.936 0 0 1 13.248-80.064l76.032-66.688a402.304 402.304 0 0 1 0.704-56.768L22.40384 412.16a63.936 63.936 0 0 1-13.824-80.64l89.792-155.136c15.296-26.432 47.104-38.4 76.096-28.608l100.992 34.112c13.952-9.344 28.544-17.792 43.648-25.28l19.648-104.32C344.32384 21.952 370.88384 0 401.73184 0h179.584z m-10.56 76.8H412.41984l-24.704 131.456-34.304 17.024c-10.432 5.184-20.544 10.88-30.336 17.216l-4.864 3.2-31.488 20.992-126.976-42.88-79.168 136.896 99.2 84.992-3.2 39.168a324.672 324.672 0 0 0-0.896 39.68l0.256 6.208 2.176 37.376-96.32 84.48 79.168 136.896 115.84-40.64 32.512 23.296c13.504 9.728 27.712 18.304 42.56 25.792l4.928 2.432 34.56 16.64 23.488 117.376h158.336l21.76-115.328 35.84-16.64c16.384-7.552 32.064-16.512 46.912-26.752l4.48-3.136 32-22.848 111.68 37.76 79.168-136.96-91.712-78.528 2.56-38.4a325.312 325.312 0 0 0-0.32-47.744l-0.64-6.464-3.904-39.36 92.8-81.408-79.168-136.96-121.92 42.88-31.744-20.736a320.192 320.192 0 0 0-34.176-19.328l-5.056-2.432-35.2-16.448L570.75584 76.8zM502.40384 320a198.592 198.592 0 0 1 198.784 198.4c0 109.568-88.96 198.4-198.784 198.4a198.592 198.592 0 0 1-198.784-198.4C303.61984 408.832 392.64384 320 502.40384 320z m0 76.8c-67.264 0-121.792 54.4-121.792 121.6 0 67.2 54.528 121.6 121.792 121.6 67.328 0 121.856-54.4 121.856-121.6 0-67.2-54.528-121.6-121.856-121.6z\"  ></path></symbol><symbol id=\"aui-icon-caret_down_s\" viewBox=\"0 0 1024 1024\"><path d=\"M498.304 688L176 336h640z\"  ></path></symbol><symbol id=\"aui-icon-grid\" viewBox=\"0 0 1024 1024\"><path d=\"M384 563.2A76.8 76.8 0 0 1 460.8 640v243.2A76.8 76.8 0 0 1 384 960H140.8A76.8 76.8 0 0 1 64 883.2V640a76.8 76.8 0 0 1 76.8-76.8H384z m499.2 0A76.8 76.8 0 0 1 960 640v243.2a76.8 76.8 0 0 1-76.8 76.8H640a76.8 76.8 0 0 1-76.8-76.8V640A76.8 76.8 0 0 1 640 563.2h243.2zM384 640H140.8v243.2H384V640z m499.2 0H640v243.2h243.2V640zM384 64a76.8 76.8 0 0 1 76.8 76.8V384A76.8 76.8 0 0 1 384 460.8H140.8A76.8 76.8 0 0 1 64 384V140.8A76.8 76.8 0 0 1 140.8 64H384z m499.2 0A76.8 76.8 0 0 1 960 140.8V384a76.8 76.8 0 0 1-76.8 76.8H640A76.8 76.8 0 0 1 563.2 384V140.8A76.8 76.8 0 0 1 640 64h243.2zM384 140.8H140.8V384H384V140.8z m499.2 0H640V384h243.2V140.8z\"  ></path></symbol><symbol id=\"aui-icon-list\" viewBox=\"0 0 1024 1024\"><path d=\"M76.8 742.4a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z m947.2 38.4v76.8H281.6v-76.8H1024zM76.8 435.2a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z m947.2 38.4v76.8H281.6V473.6H1024zM76.8 128a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6z m947.2 38.4v76.8H281.6V166.4H1024z\"  ></path></symbol><symbol id=\"aui-icon-arrow_right_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m54.272 243.2L493.696 314.944l145.536 144H185.6v101.44h458.368L493.696 709.12 566.272 780.8l199.168-196.992 0.384 0.32L838.4 512.384 838.016 512l0.384-0.384-72.576-71.744-0.384 0.32L566.272 243.2z\"  ></path></symbol><symbol id=\"aui-icon-check_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m230.784 325.76L462.272 606.4l-181.12-180.992-72.32 72.448 253.44 253.44 352.96-353.024-72.448-72.384z\"  ></path></symbol><symbol id=\"aui-icon-exclamation_triangle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M546.39872 33.792c14.72 7.424 26.56 19.328 33.92 34.048l435.712 819.456a76.8 76.8 0 0 1-33.92 102.912c-10.624 5.376-22.4 8.192-34.24 8.192H76.44672a76.48 76.48 0 0 1-68.16-111.104L443.99872 67.84a76.16 76.16 0 0 1 102.4-34.048zM512.15872 729.6a70.4 70.4 0 1 0 0 140.8 70.4 70.4 0 0 0 0-140.8z m76.8-384H435.35872l19.2 294.4h115.2l19.2-294.4z\"  ></path></symbol><symbol id=\"aui-icon-exclamation_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 646.4a70.4 70.4 0 1 0 0 140.8 70.4 70.4 0 0 0 0-140.8z m83.2-409.6H428.8l25.6 320h115.2l25.6-320z\"  ></path></symbol><symbol id=\"aui-icon-exclamation_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 768a102.4 102.4 0 1 1 0 204.8A102.4 102.4 0 0 1 512 768zM659.2 51.2l-57.6 640H422.4L364.8 51.2h294.4z\"  ></path></symbol><symbol id=\"aui-icon-expand\" viewBox=\"0 0 1024 1024\"><path d=\"M960 640v243.2a76.8 76.8 0 0 1-74.88 76.8H640v-76.8h243.2V640H960zM387.264 576l54.336 54.336-250.624 250.624h195.264v76.8h-320v-320h76.8v182.464L387.264 576zM960 64v320h-76.8V201.472L638.976 445.76l-54.336-54.336L835.264 140.8H640V64h320zM384 64v76.8H140.8V384H64V140.8A76.8 76.8 0 0 1 138.88 64H384z\"  ></path></symbol><symbol id=\"aui-icon-file_export\" viewBox=\"0 0 1024 1024\"><path d=\"M723.2 64h1.92a76.8 76.8 0 0 1 74.88 74.88V307.2h-76.8V140.8H384V384H140.8v499.2h582.4v-64h76.8v65.92A76.8 76.8 0 0 1 725.12 960H138.88a76.8 76.8 0 0 1-73.472-62.08L65.088 896H64V307.2L307.2 64h416z m57.6 320L960 563.2l-179.2 179.2-54.336-54.272L812.992 601.6H460.8V524.8h352.192L726.4 438.4 780.8 384zM313.6 172.608L172.608 313.6H313.6V172.608z\"  ></path></symbol><symbol id=\"aui-icon-file_import\" viewBox=\"0 0 1024 1024\"><path d=\"M723.2 64h1.92a76.8 76.8 0 0 1 74.88 74.88V307.2h-76.8V140.8H384V384H140.8v499.2h582.4v-64h76.8v65.92A76.8 76.8 0 0 1 725.12 960H138.88a76.8 76.8 0 0 1-73.472-62.08L65.088 896H64V307.2L307.2 64h416zM640 384l54.336 54.336L607.808 524.8H960v76.8H607.808l86.528 86.528L640 742.4 460.8 563.2 640 384zM313.6 172.608L172.608 313.6H313.6V172.608z\"  ></path></symbol><symbol id=\"aui-icon-help_doc\" viewBox=\"0 0 1024 1024\"><path d=\"M710.4 236.8a76.8 76.8 0 0 1 76.8 76.8v614.4a76.8 76.8 0 0 1-76.8 76.8H96a76.8 76.8 0 0 1-76.8-76.8V313.6a76.8 76.8 0 0 1 76.8-76.8h614.4z m0 76.8H96v614.4h614.4V313.6z m-294.4 435.2a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4zM934.4 12.8a76.8 76.8 0 0 1 76.8 76.8V704a76.8 76.8 0 0 1-76.8 76.8h-71.872v-74.304h74.368V87.04H317.44v74.368H243.2V89.6A76.8 76.8 0 0 1 320 12.8h614.4zM416 364.8c77.888 0 140.8 63.872 140.8 142.4 0 40.448-23.04 76.928-64.896 109.888l-2.56 1.984a89.6 89.6 0 0 0-34.944 68.672v22.656H377.6v-20.288a166.4 166.4 0 0 1 62.656-130.112l2.24-1.792c26.432-20.352 37.504-37.504 37.504-51.008 0-36.352-28.8-65.6-64-65.6-34.624 0-63.04 28.288-64 63.744v1.856H275.2c0-78.528 62.912-142.4 140.8-142.4z\"  ></path></symbol><symbol id=\"aui-icon-info_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m57.6 435.2H454.4v384h115.2v-384zM512 204.8a70.4 70.4 0 1 0 0 140.8 70.4 70.4 0 0 0 0-140.8z\"  ></path></symbol><symbol id=\"aui-icon-magnifier\" viewBox=\"0 0 1024 1024\"><path d=\"M499.2 70.4a428.8 428.8 0 0 1 335.296 696.128L1011.2 943.36 943.36 1011.2l-176.832-176.704A428.8 428.8 0 1 1 499.2 70.4z m0 96a332.8 332.8 0 1 0 0 665.6 332.8 332.8 0 0 0 0-665.6z\"  ></path></symbol><symbol id=\"aui-icon-info_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8z m57.6 384v332.8H454.4V460.8h115.2zM512 230.4a70.4 70.4 0 1 1 0 140.8 70.4 70.4 0 0 1 0-140.8z\"  ></path></symbol><symbol id=\"aui-icon-pause_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0zM435.2 288H332.8v448h102.4v-448z m256 0H588.8v448h102.4v-448z\"  ></path></symbol><symbol id=\"aui-icon-minus_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m288 460.8h-576v102.4h576V460.8z\"  ></path></symbol><symbol id=\"aui-icon-jump\" viewBox=\"0 0 1024 1024\"><path d=\"M449.856 153.6v89.6H153.6v627.2h627.2V597.248h89.6V883.2a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V230.4a76.8 76.8 0 0 1 76.8-76.8h309.056zM960 64v384h-89.6V216.96L545.152 542.208l-63.36-63.36L807.04 153.6H576V64h384z\"  ></path></symbol><symbol id=\"aui-icon-pause_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8zM448 294.4v435.2H345.6V294.4H448z m230.4 0v435.2H576V294.4h102.4z\"  ></path></symbol><symbol id=\"aui-icon-play_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0zM371.84 256v512l358.4-254.016L371.84 256z\"  ></path></symbol><symbol id=\"aui-icon-plus\" viewBox=\"0 0 1024 1024\"><path d=\"M64 454.4h896v115.2H64z\"  ></path><path d=\"M454.4 64h115.2v896H454.4z\"  ></path></symbol><symbol id=\"aui-icon-play_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 89.6a422.4 422.4 0 1 0 0 844.8A422.4 422.4 0 0 0 512 89.6zM371.84 256l358.4 257.984L371.84 768V256z\"  ></path></symbol><symbol id=\"aui-icon-plus_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m51.2 224H460.8v236.8H224v102.4h236.8v236.8h102.4V563.2h236.8V460.8H563.2V224z\"  ></path></symbol><symbol id=\"aui-icon-plus_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8zM563.2 256v204.736L768 460.8v102.4H563.2V768H460.8l-0.064-204.8H256V460.8l204.736-0.064L460.8 256h102.4z\"  ></path></symbol><symbol id=\"aui-icon-question_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 697.6a64 64 0 1 0 0 128 64 64 0 0 0 0-128z m0-512a185.6 185.6 0 0 0-185.6 185.6h89.6v-1.984a96 96 0 0 1 192 1.984c0 22.976-20.16 51.2-66.56 83.392A172.8 172.8 0 0 0 467.2 596.608v49.792h89.6v-52.096a83.2 83.2 0 0 1 35.776-66.112C660.608 481.024 697.6 429.184 697.6 371.2A185.6 185.6 0 0 0 512 185.6z\"  ></path></symbol><symbol id=\"aui-icon-question_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8z m0 620.8a64 64 0 1 1 0 128 64 64 0 0 1 0-128z m0-512a185.6 185.6 0 0 1 185.6 185.6c0 57.984-36.992 109.824-105.024 156.992A83.2 83.2 0 0 0 556.8 594.304V646.4H467.2v-49.792a172.8 172.8 0 0 1 74.24-142.016C587.904 422.464 608 394.24 608 371.2a96 96 0 0 0-192-1.984V371.2H326.4A185.6 185.6 0 0 1 512 185.6z\"  ></path></symbol><symbol id=\"aui-icon-sort_positive\" viewBox=\"0 0 1024 1024\"><path d=\"M737.536 300.8l219.2 219.136-54.336 54.336-126.464-126.464V960h-76.8V447.808L572.8 574.272 518.4 519.936 737.536 300.8zM294.4 774.4v76.8H64v-76.8h230.4z m102.4-236.8v76.8H64V537.6h332.8zM512 300.8v76.8H64V300.8h448zM960 64v76.8H64V64h896z\"  ></path></symbol><symbol id=\"aui-icon-minus\" viewBox=\"0 0 1024 1024\"><path d=\"M64 454.4h896v115.2H64z\"  ></path></symbol><symbol id=\"aui-icon-stop_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m192 320H320v384h384V320z\"  ></path></symbol><symbol id=\"aui-icon-user\" viewBox=\"0 0 1024 1024\"><path d=\"M512 12.8a281.6 281.6 0 0 1 130.368 531.264 448.192 448.192 0 0 1 317.568 422.4h-80.256a367.744 367.744 0 0 0-735.36 0H64v-1.088a448.256 448.256 0 0 1 317.568-421.312A281.6 281.6 0 0 1 512 12.8z m0 76.8a204.8 204.8 0 1 0 0 409.6 204.8 204.8 0 0 0 0-409.6z\"  ></path></symbol><symbol id=\"aui-icon-users\" viewBox=\"0 0 1024 1024\"><path d=\"M396.8 70.4a281.6 281.6 0 0 1 127.296 532.864 396.928 396.928 0 0 1 269.44 369.344l0.064 6.592h-76.8a320 320 0 0 0-640-5.312v5.312H0a396.992 396.992 0 0 1 269.504-375.936A281.6 281.6 0 0 1 396.8 70.4zM627.2 44.8a281.6 281.6 0 0 1 202.176 477.632 396.928 396.928 0 0 1 194.56 336.448l0.064 5.12h-76.8a320.128 320.128 0 0 0-214.08-302.08l-3.84-1.28-3.968-54.4a204.8 204.8 0 0 0-94.72-384.64H627.2V44.8zM396.8 147.2a204.8 204.8 0 1 0 0 409.6 204.8 204.8 0 0 0 0-409.6z\"  ></path></symbol><symbol id=\"aui-icon-trash\" viewBox=\"0 0 1024 1024\"><path d=\"M261.76 326.4v620.8h500.48V326.4h76.16v620.8a76.8 76.8 0 0 1-76.8 76.8H262.4a76.8 76.8 0 0 1-76.8-76.8V326.4h76.16zM460.8 416v384H384v-384h76.8z m179.2 0v384H563.2v-384H640zM512 0a166.4 166.4 0 0 1 163.328 134.4H972.8v76.8H51.2V134.4h297.472A166.4 166.4 0 0 1 512 0z m0 76.8a89.6 89.6 0 0 0-83.712 57.6h167.424A89.6 89.6 0 0 0 512 76.8z\"  ></path></symbol><symbol id=\"aui-icon-sort_reverse\" viewBox=\"0 0 1024 1024\"><path d=\"M775.936 300.8v512.192l126.464-126.464 54.336 54.336L737.536 960 518.4 740.864l54.336-54.336 126.4 126.464V300.8h76.8zM294.4 774.4v76.8H64v-76.8h230.4z m102.4-236.8v76.8H64V537.6h332.8zM512 300.8v76.8H64V300.8h448zM960 64v76.8H64V64h896z\"  ></path></symbol><symbol id=\"aui-icon-xmark_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m167.424 272.128L512 439.68 344.576 272.128 272.128 344.576 439.68 512l-167.488 167.424 72.448 72.448L512 584.32l167.424 167.488 72.448-72.448L584.32 512l167.488-167.424-72.448-72.448z\"  ></path></symbol><symbol id=\"aui-icon-xmark\" viewBox=\"0 0 1024 1024\"><path d=\"M870.4 243.2L598.208 512l272.192 268.8-81.664 80.64-272.192-268.8-281.28 277.76L153.6 789.76 434.88 512 153.6 234.24 235.264 153.6 516.48 431.36l272.192-268.8z\"  ></path></symbol><symbol id=\"aui-icon-circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 89.6a422.4 422.4 0 1 0 0 844.8A422.4 422.4 0 0 0 512 89.6z\"  ></path></symbol><symbol id=\"aui-icon-link_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m22.656 407.936A76.8 76.8 0 0 0 427.52 406.4l-1.536 1.472L254.08 579.84a76.8 76.8 0 0 0-1.472 107.072l1.472 1.536 81.472 81.472a76.8 76.8 0 0 0 107.136 1.472l1.472-1.472 81.472-81.472-54.272-54.336-81.472 81.472-81.472-81.472 171.968-171.968 49.792 49.792 54.272-54.336-49.728-49.728z m153.856-153.92a76.8 76.8 0 0 0-107.136-1.472l-1.472 1.472-81.472 81.472 54.272 54.336L634.24 308.352l81.472 81.472-171.968 171.968L493.888 512l-54.272 54.336 49.728 49.728a76.8 76.8 0 0 0 107.136 1.472l1.536-1.472L769.92 444.16a76.8 76.8 0 0 0 1.472-107.072l-1.472-1.536-81.472-81.472z\"  ></path></symbol><symbol id=\"aui-icon-angles_right\" viewBox=\"0 0 1024 1024\"><path d=\"M514.24 893.12l-63.36-63.36 316.8-316.8-316.8-316.8 63.36-63.36 380.16 380.16-380.16 380.16z m-275.2 0l-63.36-63.36 316.8-316.8-316.8-316.8 63.36-63.36 380.16 380.16-380.16 380.16z\"  ></path></symbol><symbol id=\"aui-icon-angles_up\" viewBox=\"0 0 1024 1024\"><path d=\"M893.12 540.16l-63.36 63.36-316.8-316.8-316.8 316.8-63.36-63.36 380.16-380.16 380.16 380.16z m0 275.2l-63.36 63.36-316.8-316.8-316.8 316.8-63.36-63.36 380.16-380.16 380.16 380.16z\"  ></path></symbol><symbol id=\"aui-icon-angles_left\" viewBox=\"0 0 1024 1024\"><path d=\"M509.76 893.12l63.36-63.36-316.8-316.8 316.8-316.8-63.36-63.36-380.16 380.16 380.16 380.16z m275.2 0l63.36-63.36-316.8-316.8 316.8-316.8-63.36-63.36-380.16 380.16 380.16 380.16z\"  ></path></symbol><symbol id=\"aui-icon-ban_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8z m251.776 237.696a320 320 0 0 1-449.28 449.28l449.28-449.28zM512 192c74.56 0 143.104 25.472 197.504 68.224l-449.28 449.28A320 320 0 0 1 512 192z\"  ></path></symbol><symbol id=\"aui-icon-lock_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 192a128 128 0 0 0-128 125.824V384h-51.2A76.8 76.8 0 0 0 256 458.88v264.32a76.8 76.8 0 0 0 74.88 76.8h360.32a76.8 76.8 0 0 0 76.8-74.88V460.8A76.8 76.8 0 0 0 693.12 384H640V320a128 128 0 0 0-125.824-128H512z m0 352a38.4 38.4 0 0 1 38.4 38.4v83.2a38.4 38.4 0 0 1-76.8 0V582.4a38.4 38.4 0 0 1 38.4-38.4z m0-275.2h1.6a51.2 51.2 0 0 1 49.6 49.6V384H460.8V318.4A51.2 51.2 0 0 1 512 268.8z\"  ></path></symbol><symbol id=\"aui-icon-trash_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0zM352 409.6h-64v328.384A96 96 0 0 0 384 832h257.984a96 96 0 0 0 94.016-96V409.6h-64v327.808A32 32 0 0 1 640 768H382.592a32 32 0 0 1-30.592-32V409.6z m128 64h-64v224h64V473.6z m128 0h-64v224h64V473.6zM512 185.6a108.8 108.8 0 0 0-108.416 99.392L403.2 294.4 224 294.4v64h576v-64l-179.264-0.064v-1.984A108.8 108.8 0 0 0 512 185.6z m0 64a44.8 44.8 0 0 1 44.416 38.72l0.32 6.016H467.2v-1.472A44.8 44.8 0 0 1 512 249.6z\"  ></path></symbol><symbol id=\"aui-icon-rotate\" viewBox=\"0 0 1024 1024\"><path d=\"M437.632 588.8l-87.296 86.272 2.368 2.368C396.928 720 448.64 742.4 515.2 742.4c103.808 0 186.24-52.096 221.696-141.248l4.48-12.352H832l-1.088 4.16C794.688 730.56 665.408 832 515.2 832a323.84 323.84 0 0 1-217.344-83.136l-11.2-10.56L192 832V588.8h245.632zM832 192v243.2H586.368l87.296-86.272-2.368-2.368C627.072 304 575.36 281.6 508.8 281.6c-103.808 0-186.24 52.096-221.696 141.248l-4.48 12.352H192l1.088-4.16C229.312 293.504 358.592 192 508.8 192a323.84 323.84 0 0 1 217.344 83.136l11.2 10.624L832 192z\"  ></path></symbol><symbol id=\"aui-icon-actual_size\" viewBox=\"0 0 1024 1024\"><path d=\"M32 192h198.4l-0.064 563.136L352 755.2V832h-320v-76.8l121.6-0.064V268.8H32V192z m838.4 563.136l121.6 0.064V832h-320v-76.8l121.536-0.064V268.8H672V192h198.4v563.136zM563.2 576v102.4H460.8V576h102.4z m0-230.4V448H460.8V345.6h102.4z\"  ></path></symbol><symbol id=\"aui-icon-ellipsis_s\" viewBox=\"0 0 1024 1024\"><path d=\"M230.4 512A115.2 115.2 0 1 1 0 512a115.2 115.2 0 0 1 230.4 0z m396.8 0a115.2 115.2 0 1 1-230.4 0 115.2 115.2 0 0 1 230.4 0z m281.6 115.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4z\"  ></path></symbol><symbol id=\"aui-icon-calendar\" viewBox=\"0 0 1024 1024\"><path d=\"M352 64v128h320V64H768v128h115.2A76.8 76.8 0 0 1 960 268.8v614.4a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V268.8A76.8 76.8 0 0 1 140.8 192H256V64h96z m531.2 396.8H140.8v422.4h742.4V460.8zM768 576v96h-96V576H768z m115.2-307.2H140.8V384h742.4V268.8z\"  ></path></symbol><symbol id=\"aui-icon-clock\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8z m51.2 140.8v384h-320V512h230.4V217.6h89.6z\"  ></path></symbol><symbol id=\"aui-icon-ellipsis_v_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 793.6A115.2 115.2 0 1 1 512 1024a115.2 115.2 0 0 1 0-230.4z m0-396.8a115.2 115.2 0 1 1 0 230.4 115.2 115.2 0 0 1 0-230.4z m115.2-281.6a115.2 115.2 0 1 0-230.4 0 115.2 115.2 0 0 0 230.4 0z\"  ></path></symbol><symbol id=\"aui-icon-computer\" viewBox=\"0 0 1024 1024\"><path d=\"M883.2 102.4A76.8 76.8 0 0 1 960 179.2v486.4a76.8 76.8 0 0 1-76.8 76.8H550.4v102.4H473.6v-102.4H140.8A76.8 76.8 0 0 1 64 665.6V179.2a76.8 76.8 0 0 1 76.8-76.8h742.4z m0 76.8H140.8v486.4h742.4V179.2zM256 844.8h512v76.8H256v-76.8z\"  ></path></symbol><symbol id=\"aui-icon-copy\" viewBox=\"0 0 1024 1024\"><path d=\"M524.8 192L768 435.2v512a76.8 76.8 0 0 1-74.88 76.8H140.8A76.8 76.8 0 0 1 64 947.2V266.88A76.8 76.8 0 0 1 138.88 192H524.8zM448 435.2V268.8H140.8v678.4h550.4V512H524.8A76.8 76.8 0 0 1 448 435.2zM716.8 0L960 243.2v513.92A76.8 76.8 0 0 1 885.12 832h-40.32v-76.8h38.4V275.008L684.992 76.8H332.8v38.4H256v-40.32A76.8 76.8 0 0 1 330.88 0h385.92z m-192 300.608V435.2h134.592L524.8 300.608z\"  ></path></symbol><symbol id=\"aui-icon-file_magnifier\" viewBox=\"0 0 1024 1024\"><path d=\"M585.6 0L896 313.6V576h-76.8V352H531.2V76.8H204.8v870.4h313.6V1024H204.8A76.8 76.8 0 0 1 128 947.2V76.8A76.8 76.8 0 0 1 204.8 0h380.8z m280.768 700.928c53.12 53.12 61.12 134.336 23.872 195.84l71.168 71.168-54.272 54.272-71.168-71.104a160.064 160.064 0 1 1 30.4-250.24z m-171.968 54.272a83.2 83.2 0 1 0 117.696 117.696A83.2 83.2 0 0 0 694.4 755.2zM576 588.8v76.8H320V588.8h256zM704 448v76.8H320V448h384zM608 137.536V275.2h137.728L608 137.536z\"  ></path></symbol><symbol id=\"aui-icon-file\" viewBox=\"0 0 1024 1024\"><path d=\"M585.6 0L896 313.6v633.6a76.8 76.8 0 0 1-76.8 76.8H204.8A76.8 76.8 0 0 1 128 947.2V76.8A76.8 76.8 0 0 1 204.8 0h380.8zM531.2 76.8H204.8v870.4h614.4V352H531.2V76.8zM704 729.6v76.8H320v-76.8h384z m0-140.8v76.8H320V588.8h384zM576 448v76.8H320V448h256z m32-310.464V275.2h137.728L608 137.536z\"  ></path></symbol><symbol id=\"aui-icon-folder\" viewBox=\"0 0 1024 1024\"><path d=\"M1024 883.2a76.8 76.8 0 0 1-76.8 76.8H76.8A76.8 76.8 0 0 1 0 883.2V140.8A76.8 76.8 0 0 1 76.8 64H512a76.8 76.8 0 0 1 61.44 30.72L646.4 192h300.8A76.8 76.8 0 0 1 1024 268.8v614.4zM947.2 448H76.8v435.2h870.4V448zM512 140.8H76.8v230.4h870.4V268.8H608L512 140.8z\"  ></path></symbol><symbol id=\"aui-icon-full_size\" viewBox=\"0 0 1024 1024\"><path d=\"M140.8 768v115.2H256V960H140.8A76.8 76.8 0 0 1 64 883.2V768h76.8zM960 768v115.2a76.8 76.8 0 0 1-76.8 76.8H768v-76.8h115.2V768H960z m-128-512v512H192V256h640z m-76.8 76.8H268.8v358.4h486.4V332.8zM256 64v76.8H140.8V256H64V140.8A76.8 76.8 0 0 1 140.8 64H256z m627.2 0A76.8 76.8 0 0 1 960 138.88V256h-76.8V140.8H768V64h115.2z\"  ></path></symbol><symbol id=\"aui-icon-hourglass_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m256 256H256v64l37.568 0.064c26.368 108.8 80.32 172.8 161.856 192-76.032 18.432-128.32 76.8-156.992 175.104l-4.608 16.768L256 704v64h512v-64l-37.824-0.064c-27.52-108.416-81.344-172.416-161.6-191.808 77.44-18.304 129.984-76.992 157.696-176.064l4.16-16L768 320V256zM508.544 556.8c57.92 0 100.096 22.272 126.464 66.88l5.44 9.92h-259.2l4.864-9.92C409.792 579.072 450.56 556.8 508.544 556.8zM672 320a153.6 153.6 0 0 1-11.328 43.008c-4.864 12.288-10.368 23.04-16.384 32.448l-6.208 8.896-252.8 0.128c-5.44-3.712-12.16-15.616-20.224-35.648-6.4-16-10.496-29.632-12.224-40.832L352 320h320z\"  ></path></symbol><symbol id=\"aui-icon-folder_open\" viewBox=\"0 0 1024 1024\"><path d=\"M945.15264 448a76.8 76.8 0 0 1 74.624 95.168l-88.32 358.4a76.8 76.8 0 0 1-74.56 58.432H78.84864a76.8 76.8 0 0 1-71.68-48.96l-0.64-1.92A82.944 82.944 0 0 1 0.00064 876.8V140.8A76.8 76.8 0 0 1 76.80064 64h346.432c18.048 0 35.52 6.4 49.408 17.92L603.77664 192H825.60064a76.8 76.8 0 0 1 76.8 76.8V448h42.752z m0 76.8H167.10464l-88.32 358.4H856.96064l88.32-358.4z m-119.552-256H575.80864l-152.576-128H76.80064v429.568l15.744-64A76.8 76.8 0 0 1 167.10464 448H825.60064V268.8z\"  ></path></symbol><symbol id=\"aui-icon-home_s\" viewBox=\"0 0 1024 1024\"><path d=\"M464.704 80.256a76.8 76.8 0 0 1 92.928-1.28l1.664 1.28 371.2 290.176c18.048 14.08 28.8 35.456 29.44 58.24l0.064 2.304V883.2a76.8 76.8 0 0 1-74.88 76.8H704v-256a192 192 0 0 0-384-3.2V960H140.8A76.8 76.8 0 0 1 64 885.12V430.976c0-22.912 10.24-44.544 27.712-59.072l1.792-1.472 371.2-290.176z\"  ></path></symbol><symbol id=\"aui-icon-eye_slash_s\" viewBox=\"0 0 1024 1024\"><path d=\"M808.832 160.64l53.632 54.4L227.84 857.6l-53.632-54.336 58.624-59.264c-26.624-16-52.928-33.984-78.848-53.76A978.752 978.752 0 0 1 48.192 596.224l-8-8.256-20.928-22.848-10.688-12.544a38.784 38.784 0 0 1-4.864-40.832l3.136-5.504 1.6-2.24 14.08-18.944 15.232-19.2 8.448-10.368A1046.656 1046.656 0 0 1 151.68 345.984C265.152 244.352 386.56 182.784 512 182.784c73.728 0 146.048 21.248 216.192 59.392l80.64-81.472z m43.008 167.488a1046.656 1046.656 0 0 1 126.016 127.488l13.76 16.896 6.272 8 15.552 20.608 3.712 5.184a38.784 38.784 0 0 1 1.856 41.152l-4.096 5.888-12.672 14.72-10.944 12.032c-4.864 5.12-9.984 10.624-15.488 16.192-31.232 32-66.624 64-105.728 93.888-113.28 86.592-233.984 138.944-358.08 138.944-45.44 0-90.496-7.04-134.912-20.16l62.784-63.68c24.064 4.672 48.128 7.04 72.128 7.04 104.96 0 211.136-46.016 312.32-123.456 36.032-27.52 68.736-56.96 97.536-86.528l15.168-16-17.216-21.248c-23.04-27.712-48.64-55.424-76.48-81.92l-24.896-22.912-7.296-6.4-13.248-11.136 53.952-54.592z m-493.952-31.36l-5.12 2.368a622.72 622.72 0 0 0-120.192 78.144l-19.712 16.576-10.944 9.6a971.072 971.072 0 0 0-97.728 101.632l-17.28 21.248 15.232 16c28.8 29.504 61.504 59.072 97.472 86.528 29.184 22.4 58.816 42.048 88.64 58.816l84.736-85.76A218.24 218.24 0 0 1 303.424 441.6c0-55.616 20.608-106.304 54.464-144.768z m167.232 362.304l207.872-210.688 0.256-6.784c0 117.888-92.608 213.888-208.128 217.472zM546.752 281.6c-109.12 0-180.16 83.328-180.16 188.8 0 17.664 14.144 32 31.616 32a31.808 31.808 0 0 0 31.616-32c0-72 44.992-124.8 116.928-124.8a31.808 31.808 0 0 0 31.616-32c0-17.664-14.144-32-31.616-32z\"  ></path></symbol><symbol id=\"aui-icon-lang_zh\" viewBox=\"0 0 1024 1024\"><path d=\"M883.2 64A76.8 76.8 0 0 1 960 140.8v742.4a76.8 76.8 0 0 1-76.8 76.8H140.8A76.8 76.8 0 0 1 64 883.2V140.8A76.8 76.8 0 0 1 140.8 64h742.4z m0 76.8H140.8v742.4h742.4V140.8zM550.4 230.4V320h230.4v320H550.4v166.4H473.6V640H243.2V320h230.4V230.4h76.8zM473.6 396.8H320v166.4h153.6V396.8z m230.4 0H550.4v166.4H704V396.8z\"  ></path></symbol><symbol id=\"aui-icon-menu_dot_s\" viewBox=\"0 0 1024 1024\"><path d=\"M160 768a96 96 0 1 1 0 192 96 96 0 0 1 0-192zM512 768a96 96 0 1 1 0 192 96 96 0 0 1 0-192z m352 0a96 96 0 1 1 0 192 96 96 0 0 1 0-192z m-704-352a96 96 0 1 1 0 192 96 96 0 0 1 0-192z m352 0a96 96 0 1 1 0 192 96 96 0 0 1 0-192z m352 0a96 96 0 1 1 0 192 96 96 0 0 1 0-192zM160 64a96 96 0 1 1 0 192 96 96 0 0 1 0-192zM512 64a96 96 0 1 1 0 192 96 96 0 0 1 0-192z m352 0a96 96 0 1 1 0 192 96 96 0 0 1 0-192z\"  ></path></symbol><symbol id=\"aui-icon-bell_on\" viewBox=\"0 0 1024 1024\"><path d=\"M64 838.336v-76.8l89.6-0.064V511.744c0-159.616 104.96-297.6 253.248-343.04l4.48-1.28 1.216-0.32 0.192-0.96a102.464 102.464 0 0 1 94.976-76.992l2.304-0.064H512a102.4 102.4 0 0 1 98.688 74.944l0.576 2.112 0.192 1.024 1.408 0.384a358.464 358.464 0 0 1 257.408 334.336l0.064 4.736 0.064 5.12v249.728H960v76.8H64zM512 165.888a25.6 25.6 0 0 0-25.6 24.32v0.64l1.92 38.144-32.384 6.528A281.856 281.856 0 0 0 230.4 507.712V761.472h563.2V511.68a281.6 281.6 0 0 0-217.728-274.432l-3.84-0.832-3.968-0.832-32.384-6.592 1.92-38.144v-0.64a25.6 25.6 0 0 0-23.04-24.192l-1.28-0.064H512zM337.28 63.04l22.08 60.032a442.624 442.624 0 0 0-190.336 136.32l-2.88 3.648-50.112-39.872a506.752 506.752 0 0 1 216.512-158.4L337.28 63.04z m351.296 0l4.608 1.728a506.688 506.688 0 0 1 213.44 154.56l3.136 3.84-50.112 39.872-2.944-3.648a442.752 442.752 0 0 0-185.792-134.656l-4.48-1.664 22.144-60.032zM416 876.736h192V953.6h-192v-76.8z\"  ></path></symbol><symbol id=\"aui-icon-sun\" viewBox=\"0 0 1024 1024\"><path d=\"M556.8 870.4V1024H467.2v-153.6h89.6z m-329.92-136.64l63.36 63.36-108.608 108.608-63.36-63.36 108.608-108.608z m570.24 0l108.608 108.608-63.36 63.36-108.608-108.608 63.36-63.36zM512 230.4a281.6 281.6 0 1 1 0 563.2 281.6 281.6 0 0 1 0-563.2z m0 96a185.6 185.6 0 1 0 0 371.2 185.6 185.6 0 0 0 0-371.2z m512 140.8v89.6h-153.6V467.2H1024z m-870.4 0v89.6H0V467.2h153.6z m688.768-348.928l63.36 63.36-108.608 108.608-63.36-63.36 108.608-108.608z m-660.736 0l108.608 108.608-63.36 63.36-108.608-108.608 63.36-63.36zM556.8 0v153.6H467.2V0h89.6z\"  ></path></symbol><symbol id=\"aui-icon-eye_s\" viewBox=\"0 0 1088 1024\"><path d=\"M518.9344 185.6c127.04 0 249.92 61.632 364.8 163.2a1052.48 1052.48 0 0 1 127.168 134.528l8.832 11.392 10.688 14.464a38.4 38.4 0 0 1 1.856 41.088l-3.648 5.248-7.872 9.28-17.216 18.88-14.976 15.488c-31.616 32-67.52 64-107.072 93.888C766.8704 779.648 644.5664 832 518.9344 832s-247.936-52.352-362.56-138.944a983.04 983.04 0 0 1-87.552-74.688L45.3344 595.072l-17.472-18.304-10.752-11.968-7.872-9.28a38.4 38.4 0 0 1-4.992-40.832l3.2-5.504 7.168-9.728 12.352-16.128 13.184-16.256a1052.48 1052.48 0 0 1 113.92-118.208C269.0144 247.168 391.8944 185.6 518.9344 185.6zM358.8704 301.44l-15.424 7.68c-46.72 24.192-93.056 57.088-138.496 97.28-36.48 32.256-69.76 66.88-98.944 101.568l-17.472 21.248 15.424 16c29.12 29.504 62.272 59.008 98.688 86.528C305.1744 709.184 412.5664 755.2 518.9344 755.2c106.304 0 213.76-46.08 316.288-123.456a906.88 906.88 0 0 0 80.704-68.864l17.92-17.664 15.424-16-17.408-21.248a976.512 976.512 0 0 0-98.944-101.568 700.288 700.288 0 0 0-132.608-94.208 217.6 217.6 0 1 1-341.44-10.688zM554.1344 281.6C443.6704 281.6 371.7344 364.928 371.7344 470.4a32 32 0 0 0 63.488 5.76l0.512-5.76v-2.304C436.6944 397.248 482.0704 345.6 554.1344 345.6a32 32 0 1 0 0-64z\"  ></path></symbol><symbol id=\"aui-icon-timer\" viewBox=\"0 0 1024 1024\"><path d=\"M512.019841 0a511.973121 511.973121 0 1 1-359.469127 147.384262l54.397144 54.205155a435.177153 435.177153 0 1 0 343.533964-123.129536L550.417826 204.789249H473.621857v-191.989921l0.639967-0.063997-0.895953-11.327405C486.165199 0.511973 498.964527 0 512.019841 0zM306.782616 267.889936l154.87187 154.871869a102.394624 102.394624 0 1 1-43.197733 47.357514L261.600988 313.199557l45.245625-45.245625z\"  ></path></symbol><symbol id=\"aui-icon-moon\" viewBox=\"0 0 1024 1024\"><path d=\"M470.4 64a60.16 60.16 0 0 1 25.216 5.76c8.448 3.904 14.72 9.344 18.944 16.384 4.928 9.152 6.528 17.92 4.736 26.432a74.24 74.24 0 0 1-8.96 23.168 268.096 268.096 0 0 0-46.336 98.176 272.64 272.64 0 0 0 31.616 200.512c18.24 30.272 42.496 56.64 72.64 79.168a262.528 262.528 0 0 0 160.064 54.848c28.096 0 55.808-4.544 83.2-13.696a248.768 248.768 0 0 0 75.84-41.152 38.592 38.592 0 0 1 25.28-10.048 41.152 41.152 0 0 1 22.784 4.928l1.408 0.896c7.04 4.224 12.608 10.368 16.832 18.432 4.224 8.128 6.336 15.36 6.336 21.632a508.224 508.224 0 0 1-17.92 88.704c-8.384 28.8-19.456 56.064-33.152 81.792a496.128 496.128 0 0 1-47.936 73.344 448.256 448.256 0 0 1-63.168 63.296 451.2 451.2 0 0 1-281.92 103.36L510.336 960H470.4a427.136 427.136 0 0 1-170.56-51.712 458.048 458.048 0 0 1-132.672-109.76 454.592 454.592 0 0 1-82.176-152 438.784 438.784 0 0 1-19.392-171.648l0.448-5.632a427.008 427.008 0 0 1 40-151.936 442.24 442.24 0 0 1 87.424-125.632A441.152 441.152 0 0 1 318.72 104.128 424.576 424.576 0 0 1 470.4 64zM389.504 171.648l-1.92 0.64a330.176 330.176 0 0 0-30.72 12.8 351.616 351.616 0 0 0-100.096 69.888A353.536 353.536 0 0 0 186.88 355.84a336.256 336.256 0 0 0-31.168 115.392l-0.512 6.144c-4.48 49.984 0.512 96.896 15.04 141.824a365.12 365.12 0 0 0 65.984 122.368 368.512 368.512 0 0 0 107.008 88.384 336.384 336.384 0 0 0 130.304 40.32l1.216 0.128h35.584c40 0 78.912-6.464 117.184-19.456l4.992-1.728a353.28 353.28 0 0 0 108.288-61.76c17.856-14.72 33.6-30.208 47.232-46.528l2.944-3.584 3.328-4.288c12.16-16 23.104-32.64 32.704-50.048l2.88-5.248c6.592-12.416 12.48-25.408 17.6-39.04l0.704-1.92-3.648 1.28-4.608 1.664a350.528 350.528 0 0 1-321.984-51.84l-7.296-5.568a366.08 366.08 0 0 1-89.216-97.472l-2.56-4.16-0.448-0.768a362.24 362.24 0 0 1-42.88-260.544l1.024-5.12 0.32-1.28c3.072-12.928 6.912-25.664 11.456-38.144l1.216-3.2z\"  ></path></symbol><symbol id=\"aui-icon-power_off\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8zM384 218.624v86.528a243.2 243.2 0 1 0 256 0V218.688a320.064 320.064 0 1 1-256 0zM550.4 179.2v307.2H473.6V179.2h76.8z\"  ></path></symbol><symbol id=\"aui-icon-window\" viewBox=\"0 0 1024 1024\"><path d=\"M896 64a64 64 0 0 1 64 64v768a64 64 0 0 1-64 64H128a64 64 0 0 1-64-64V128a64 64 0 0 1 64-64h768z m-12.8 307.2H140.8v512h742.4v-512z m0-230.4H140.8v153.6h742.4V140.8zM256 179.2A38.4 38.4 0 1 1 256 256a38.4 38.4 0 0 1 0-76.8z m115.2 0a38.4 38.4 0 1 1 0 76.8 38.4 38.4 0 0 1 0-76.8z m115.2 0a38.4 38.4 0 1 1 0 76.8 38.4 38.4 0 0 1 0-76.8z\"  ></path></symbol><symbol id=\"aui-icon-pencil\" viewBox=\"0 0 1024 1024\"><path d=\"M789.12 84.48l1.536 1.472 147.392 147.392a76.8 76.8 0 0 1 1.472 107.072l-1.472 1.536L320 960H64v-256l618.048-618.048a76.8 76.8 0 0 1 107.072-1.472zM593.088 283.52L140.8 735.744V883.2h147.392l452.288-452.352L593.088 283.52z m143.232-143.296l-88.96 88.96 147.456 147.392 88.96-88.96-147.456-147.392z\"  ></path></symbol><symbol id=\"aui-icon-rotate_right\" viewBox=\"0 0 1024 1024\"><path d=\"M960 396.8V64l-131.2 131.2A448 448 0 1 0 916.928 704h-102.272a358.4 358.4 0 1 1-49.28-445.44L627.2 396.8H960z\"  ></path></symbol><symbol id=\"aui-icon-rotate_circle_s\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m310.72 588.8h-79.872a243.328 243.328 0 0 1-400.448 97.536l-2.368-2.368L435.2 588.8H192V832l93.696-93.696a320.128 320.128 0 0 0 535.936-145.28l1.088-4.224zM832 192l-93.696 93.76a320.128 320.128 0 0 0-535.936 145.28l-1.088 4.16h79.872a243.328 243.328 0 0 1 400.448-97.536l2.368 2.368L588.8 435.2H832V192z\"  ></path></symbol><symbol id=\"aui-icon-angles_down\" viewBox=\"0 0 1024 1024\"><path d=\"M888.32 498.56l-63.36-63.36-316.8 316.8L191.36 435.2 128 498.56l380.16 380.16 380.16-380.16z m0-275.2l-63.36-63.36-316.8 316.8L191.36 160 128 223.36l380.16 380.16 380.16-380.16z\"  ></path></symbol><symbol id=\"aui-icon-arrow_left\" viewBox=\"0 0 1024 1024\"><path d=\"M444.16 131.84l63.36 63.36L235.52 467.2H960v89.6H235.52l272 272-63.36 63.36L64 512z\"  ></path></symbol><symbol id=\"aui-icon-arrow_right\" viewBox=\"0 0 1024 1024\"><path d=\"M579.84 131.84l-63.36 63.36 272 272H64v89.6h724.48l-272 272 63.36 63.36L960 512z\"  ></path></symbol><symbol id=\"aui-icon-arrow_up_to_line\" viewBox=\"0 0 1024 1024\"><path d=\"M960 153.6H64V64h896v89.6z m-67.84 418.56l-63.36 63.36L556.8 363.52V960H467.2V363.52L195.2 635.52l-63.36-63.36L512 192l380.16 380.16z\"  ></path></symbol><symbol id=\"aui-icon-sort\" viewBox=\"0 0 1024 1024\"><path d=\"M627.52 100.992a38.4 38.4 0 0 1 64.512-26.688l1.024 1.024L976.192 358.4l-54.272 54.336-217.6-217.664L704 960H627.2l0.32-857.536v-1.472zM396.8 64l-0.256 857.536v1.472a38.4 38.4 0 0 1-64.512 26.688l-1.088-1.024L47.808 665.6l54.336-54.336 217.6 217.664L320 64h76.8z\"  ></path></symbol><symbol id=\"aui-icon-download\" viewBox=\"0 0 1024 1024\"><path d=\"M140.8 576v307.2h742.4V576H960v307.2a76.8 76.8 0 0 1-74.88 76.8H140.8A76.8 76.8 0 0 1 64 883.2V576h76.8z m416-512v467.84l179.52-179.52 63.36 63.36L512 703.36l-224-224-62.72-64 63.872-62.72 62.528 63.68L467.2 531.84V64h89.6z\"  ></path></symbol><symbol id=\"aui-icon-upload\" viewBox=\"0 0 1024 1024\"><path d=\"M140.8 576v307.2h742.4V576H960v307.2a76.8 76.8 0 0 1-74.88 76.8H140.8A76.8 76.8 0 0 1 64 883.2V576h76.8z m147.2-288L512 64l287.68 287.68-63.36 63.36L556.8 235.52v467.84H467.2V235.52L351.68 351.04l-62.528 63.68-63.936-62.72 62.784-64z\"  ></path></symbol><symbol id=\"aui-icon-arrow_turn_up\" viewBox=\"0 0 1024 1024\"><path d=\"M847.552 335.552l-54.336 54.272L614.4 211.008V768a192 192 0 0 1-188.8 192H172.8v-76.8h249.6a115.2 115.2 0 0 0 115.2-113.088V211.008L358.784 389.76l-54.336-54.272L576 64l271.552 271.552z\"  ></path></symbol><symbol id=\"aui-icon-sign_out\" viewBox=\"0 0 1024 1024\"><path d=\"M563.2 64h1.92A76.8 76.8 0 0 1 640 138.88V256H563.2V140.8H140.8v742.4h422.4V768H640v115.2A76.8 76.8 0 0 1 565.12 960H140.8A76.8 76.8 0 0 1 64 883.2V140.8A76.8 76.8 0 0 1 138.88 64H563.2zM768 320l192 192-192 192-54.336-54.336L812.992 550.4H384V473.6h428.992L713.6 374.272 768 320z\"  ></path></symbol><symbol id=\"aui-icon-angle_right_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 0 0 1024A512 512 0 0 0 512 0z m0 76.8a435.2 435.2 0 1 1 0 870.4A435.2 435.2 0 0 1 512 76.8zM427.136 237.248l-63.36 63.36L571.904 508.8l-208.128 208.192 63.36 63.36 271.488-271.552-271.488-271.552z\"  ></path></symbol><symbol id=\"aui-icon-angle_left_circle\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 76.8a435.2 435.2 0 1 0 0 870.4A435.2 435.2 0 0 0 512 76.8z m84.864 160.448l63.36 63.36L452.096 508.8l208.128 208.192-63.36 63.36L325.376 508.8l271.488-271.552z\"  ></path></symbol><symbol id=\"aui-icon-move\" viewBox=\"0 0 1024 1024\"><path d=\"M512 0l160 160H551.168v310.016H864V352L1024 512l-160 160V547.584H551.168V864H672L512 1024l-160-160h120.832V547.584H160V672L0 512l160-160v118.016h312.832V160H352z\"  ></path></symbol><symbol id=\"aui-icon-compress\" viewBox=\"0 0 1024 1024\"><path d=\"M960 640v243.2a76.8 76.8 0 0 1-74.88 76.8H640v-76.8h243.2V640H960zM460.8 563.2v320H384v-179.84l-243.2 243.2-63.36-63.36 243.2-243.2H140.8V563.2h320z m422.4-485.76l63.36 63.36-243.2 243.2h179.84v76.8h-320v-320H640v179.84l243.2-243.2zM384 64v76.8H140.8V384H64V140.8A76.8 76.8 0 0 1 138.88 64H384z\"  ></path></symbol><symbol id=\"aui-icon-angle_right\" viewBox=\"0 0 1024 1024\"><path d=\"M737.92 512.96l-380.16-380.16-63.36 63.36 316.8 316.8-316.8 316.8 63.36 63.36z\"  ></path></symbol><symbol id=\"aui-icon-angle_down\" viewBox=\"0 0 1024 1024\"><path d=\"M512.96 737.92l380.16-380.16-63.36-63.36-316.8 316.8-316.8-316.8-63.36 63.36z\"  ></path></symbol><symbol id=\"aui-icon-angle_left\" viewBox=\"0 0 1024 1024\"><path d=\"M281.6 512.96l380.16-380.16 63.36 63.36-316.8 316.8 316.8 316.8-63.36 63.36z\"  ></path></symbol><symbol id=\"aui-icon-angle_up\" viewBox=\"0 0 1024 1024\"><path d=\"M512.96 281.6l380.16 380.16-63.36 63.36-316.8-316.8-316.8 316.8-63.36-63.36z\"  ></path></symbol></svg>';\n","export function getAuiIconNoHttpProviderError(): Error {\n  return new Error(\n    'Could not find HttpClient provider for use with Alauda UI icons. Please include the HttpClientModule from @angular/common/http in your app imports.',\n  );\n}\n\nexport function getAuiIconFailedToLoadCustomIconFile(url: string) {\n  return new Error(`AuiIcon failed to load custom icon file: ${url}.`);\n}\n","import { DOCUMENT } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, Optional } from '@angular/core';\n\nimport { auiIcons } from './icons';\nimport {\n  getAuiIconFailedToLoadCustomIconFile,\n  getAuiIconNoHttpProviderError,\n} from './utils';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class IconRegisterService {\n  private defaultIconPrefix = 'aui-icon';\n  private readonly doc: Document;\n\n  constructor(\n    @Optional()\n    @Inject(DOCUMENT)\n    document: Document,\n    @Optional() private readonly httpClient: HttpClient,\n  ) {\n    this.doc = document;\n    this.registerSvgSymbolsByString(auiIcons);\n  }\n\n  getDefaultIconPrefix(): string {\n    return this.defaultIconPrefix;\n  }\n\n  replaceDefaultIconPrefix(prefix: string): void {\n    this.defaultIconPrefix = prefix;\n  }\n\n  registerSvgSymbolsByUrl(url: string) {\n    if (!this.httpClient) {\n      throw getAuiIconNoHttpProviderError();\n    }\n    this.httpClient\n      .get(url, {\n        responseType: 'text',\n      })\n      .subscribe({\n        next: res => {\n          this.registerSvgSymbolsByString(res);\n        },\n        error() {\n          throw getAuiIconFailedToLoadCustomIconFile(url);\n        },\n      });\n  }\n\n  registerSvgSymbolsByString(str: string) {\n    this.appendSvg(str);\n  }\n\n  private appendSvg(svgString: string) {\n    const setEl = this.doc.createElement('div');\n    setEl.className = 'aui-icon-set';\n    setEl.style.display = 'none';\n    setEl.innerHTML = svgString;\n    this.doc.body.append(setEl);\n  }\n}\n","import { NgIf, NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem, handlePixel } from '../internal/utils';\nimport { ThemePickerPipe } from '../theme/theme.pipe';\n\nimport { IconRegisterService } from './icon-register.service';\n\nlet id = 0;\n\n@Component({\n  selector: 'aui-icon',\n  templateUrl: './icon.component.html',\n  styleUrls: ['./icon.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgIf, NgClass, ThemePickerPipe],\n})\nexport class IconComponent {\n  @Input()\n  icon: string;\n\n  @Input()\n  light: string;\n\n  @Input()\n  dark: string;\n\n  @Input()\n  link = '';\n\n  @Input()\n  margin: 'left' | 'right';\n\n  @Input()\n  size: string;\n\n  @Input()\n  color: string;\n\n  @Input()\n  background: 'circle' | 'triangle';\n\n  @Input()\n  backgroundColor: string;\n\n  bem: Bem = buildBem('aui-icon');\n\n  id = id++;\n\n  constructor(private readonly iconRegisterService: IconRegisterService) {}\n\n  private parseIcon(icon: string): [string, string] {\n    const defaultPrefix = this.iconRegisterService.getDefaultIconPrefix();\n    const arr = (icon || '').split(':');\n    return arr.length < 2 ? [defaultPrefix, arr[0]] : [arr[0], arr[1]];\n  }\n\n  getWidth() {\n    if (!this.size) {\n      return false;\n    }\n    return handlePixel((this.size || '').split(',')[0]);\n  }\n\n  getHeight() {\n    if (!this.size) {\n      return false;\n    }\n    const arr = (this.size || '').split(',');\n    return handlePixel(arr[1] || arr[0]);\n  }\n\n  getIconId(icon: string) {\n    const [prefix, name] = this.parseIcon(icon);\n    return `${prefix}-${name}`;\n  }\n\n  getClass(id: string) {\n    return `${this.bem.block(this.margin)} ${id}`;\n  }\n}\n","<svg\n  *ngIf=\"icon === 'spinner'; else icons\"\n  [attr.class]=\"getClass('aui-icon-spinner')\"\n  [style.fill]=\"color\"\n  [style.width]=\"getWidth()\"\n  [style.height]=\"getHeight()\"\n  viewBox=\"0 0 200 200\"\n>\n  <defs>\n    <linearGradient\n      [attr.id]=\"'right-' + id\"\n      gradientUnits=\"userSpaceOnUse\"\n      x1=\"150\"\n      y1=\"20\"\n      x2=\"150\"\n      y2=\"180\"\n    >\n      <stop\n        offset=\"0\"\n        style=\"stop-color: #000\"\n      />\n      <stop\n        offset=\"1\"\n        style=\"stop-color: #808080\"\n      />\n    </linearGradient>\n    <linearGradient\n      [attr.id]=\"'left-' + id\"\n      gradientUnits=\"userSpaceOnUse\"\n      x1=\"50\"\n      y1=\"0\"\n      x2=\"50\"\n      y2=\"180\"\n    >\n      <stop\n        offset=\"0\"\n        style=\"stop-color: #fff\"\n      />\n      <stop\n        offset=\"1\"\n        style=\"stop-color: #808080\"\n      />\n    </linearGradient>\n    <mask [attr.id]=\"'mask-' + id\">\n      <g>\n        <path\n          [attr.fill]=\"'url(#right-' + id + ')'\"\n          d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n        />\n        <path\n          [attr.fill]=\"'url(#left-' + id + ')'\"\n          d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n        />\n      </g>\n    </mask>\n  </defs>\n  <rect\n    x=\"0\"\n    y=\"0\"\n    width=\"200\"\n    height=\"200\"\n    [attr.mask]=\"'url(#mask-' + id + ')'\"\n  />\n</svg>\n\n<ng-template #icons>\n  <svg\n    *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n    [ngClass]=\"getClass(iconId)\"\n    [style.fill]=\"color\"\n    [style.width]=\"getWidth()\"\n    [style.height]=\"getHeight()\"\n  >\n    <rect\n      *ngIf=\"background\"\n      class=\"aui-icon__background\"\n      [ngClass]=\"background\"\n      [attr.fill]=\"backgroundColor\"\n      [style.width]=\"getWidth()\"\n      [style.height]=\"getHeight()\"\n      x=\"0\"\n      y=\"0\"\n    ></rect>\n    <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n  </svg>\n</ng-template>\n","export type ValueOf<T> = T[keyof T];\n\nexport const ComponentSize = {\n  Large: 'large',\n  Medium: 'medium',\n  Small: 'small',\n  Mini: 'mini',\n  /**\n   * represents default internally, @link https://github.com/angular/vscode-ng-language-service/issues/1147\n   */\n  Empty: '',\n} as const;\n\nexport type ComponentSize = ValueOf<typeof ComponentSize>;\n","import { ValueOf } from '../internal/types';\n\nexport const ButtonType = {\n  Default: 'default',\n  Primary: 'primary',\n  Success: 'success',\n  Warning: 'warning',\n  Danger: 'danger',\n  Text: 'text',\n  Inline: 'inline',\n  /**\n   * represents default internally, @link https://github.com/angular/vscode-ng-language-service/issues/1147\n   */\n  Empty: '',\n} as const;\n\nexport type ButtonType = ValueOf<typeof ButtonType>;\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnDestroy,\n  Renderer2,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { ComponentSize } from '../internal/types';\n\nimport { ButtonType } from './button.types';\n\nconst prefix = 'aui-button--';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'button[aui-button]',\n  templateUrl: './button.component.html',\n  styleUrls: ['./button.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent],\n})\nexport class ButtonComponent implements OnDestroy {\n  @Input('aui-button')\n  get type() {\n    return this._type;\n  }\n\n  set type(val) {\n    if (!val || val === this._type) {\n      return;\n    }\n    this.renderer.removeClass(this.el.nativeElement, prefix + this._type);\n    this.renderer.addClass(this.el.nativeElement, prefix + val);\n    this._type = val;\n  }\n\n  @Input()\n  get size() {\n    return this._size;\n  }\n\n  set size(val) {\n    // when change from other size to default\n    if (!val) {\n      val = ComponentSize.Medium;\n    }\n    if (this._size === val) {\n      return;\n    }\n    this.renderer.removeClass(this.el.nativeElement, prefix + this._size);\n    this.renderer.addClass(this.el.nativeElement, prefix + val);\n    this._size = val;\n  }\n\n  @Input()\n  get plain() {\n    return this._plain;\n  }\n\n  set plain(val) {\n    if (this._plain === val) {\n      return;\n    }\n    this.switchAssertClass('isPlain', val);\n    this._plain = val;\n  }\n\n  @Input()\n  get loading() {\n    return this._loading;\n  }\n\n  set loading(val) {\n    if (this._loading === val) {\n      return;\n    }\n    this.switchAssertClass('isLoading', val);\n    this._loading = val;\n  }\n\n  @Input()\n  get round() {\n    return this._round;\n  }\n\n  set round(val) {\n    if (this._round === val) {\n      return;\n    }\n    this.switchAssertClass('isRound', val);\n    this._round = val;\n  }\n\n  @Input()\n  get square() {\n    return this._square;\n  }\n\n  set square(val) {\n    if (this._square === val) {\n      return;\n    }\n    this.switchAssertClass('isSquare', val);\n    this._square = val;\n  }\n\n  private _type: ButtonType = ButtonType.Default;\n  private _size: ComponentSize = ComponentSize.Medium;\n  private _plain = false;\n  private _loading = false;\n  private _round = false;\n  private _square = false;\n\n  constructor(\n    private readonly el: ElementRef,\n    private readonly renderer: Renderer2,\n    private readonly focusMonitor: FocusMonitor,\n  ) {\n    this.renderer.addClass(this.el.nativeElement, 'aui-button');\n    this.renderer.addClass(this.el.nativeElement, prefix + this.type);\n    this.renderer.addClass(this.el.nativeElement, prefix + this.size);\n\n    this.focusMonitor.monitor(this.el.nativeElement, false);\n  }\n\n  ngOnDestroy() {\n    this.focusMonitor.stopMonitoring(this.el.nativeElement);\n  }\n\n  private switchAssertClass(className: string, val: boolean) {\n    if (val) {\n      this.renderer.addClass(this.el.nativeElement, className);\n    } else {\n      this.renderer.removeClass(this.el.nativeElement, className);\n    }\n  }\n}\n","<span class=\"aui-button__content\"><ng-content></ng-content></span>\n<aui-icon\n  *ngIf=\"loading\"\n  class=\"aui-button__spinner\"\n  icon=\"spinner\"\n></aui-icon>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n  CssVarPipe,\n  RgbColorPipe,\n  RgbaColorPipe,\n  ThemePickerPipe,\n} from './theme.pipe';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    ThemePickerPipe,\n    RgbColorPipe,\n    RgbaColorPipe,\n    CssVarPipe,\n  ],\n  exports: [ThemePickerPipe, RgbColorPipe, RgbaColorPipe, CssVarPipe],\n})\nexport class ThemeModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThemeModule } from '../theme';\n\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n  imports: [CommonModule, ThemeModule, IconComponent],\n  exports: [IconComponent],\n})\nexport class IconModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-button-group',\n  templateUrl: './button-group.component.html',\n  styleUrls: ['./button-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class ButtonGroupComponent {}\n","<div class=\"aui-button-group\"><ng-content></ng-content></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n  imports: [CommonModule, IconModule, ButtonComponent, ButtonGroupComponent],\n  exports: [ButtonComponent, ButtonGroupComponent],\n})\nexport class ButtonModule {}\n","import {\n  animate,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\nimport { CdkAccordionItem } from '@angular/cdk/accordion';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  Directive,\n  Input,\n  TemplateRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { filter, startWith, take } from 'rxjs';\n\nimport { IconComponent } from '../../icon/icon.component';\nimport { AccordionComponent } from '../accordion.component';\n\n@Directive({\n  selector: '[auiAccordionItemHeader]',\n  standalone: true,\n})\nexport class AccordionItemHeaderDirective {}\n@Directive({\n  selector: '[auiAccordionContent]',\n  standalone: true,\n})\nexport class AccordionItemContentDirective {}\n@Component({\n  selector: 'aui-accordion-item',\n  templateUrl: 'accordion-item.component.html',\n  styleUrls: ['accordion-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  animations: [\n    trigger('expand', [\n      state('*', style({ height: 0 })),\n      state('expanded', style({ height: '*' })),\n      transition('* <=> expanded', [animate('0.1s ease-in-out')]),\n    ]),\n  ],\n  viewProviders: [AccordionItemComponent],\n  imports: [IconComponent, NgIf, NgTemplateOutlet],\n})\nexport class AccordionItemComponent\n  extends CdkAccordionItem\n  implements AfterContentInit\n{\n  @Input()\n  background = true;\n\n  @ContentChild(AccordionItemContentDirective, {\n    read: TemplateRef,\n    static: true,\n  })\n  _lazyContentTpl: TemplateRef<unknown>;\n\n  lazyContentTpl: TemplateRef<unknown>;\n\n  constructor(\n    accordion: AccordionComponent,\n    cdr: ChangeDetectorRef,\n    uniqueSelectionDispatcher: UniqueSelectionDispatcher,\n  ) {\n    super(accordion, cdr, uniqueSelectionDispatcher);\n  }\n\n  ngAfterContentInit() {\n    if (this._lazyContentTpl) {\n      // Render the content as soon as the accordion becomes open.\n      this.opened\n        .pipe(\n          startWith(null as void),\n          filter(() => !!this.expanded),\n          take(1),\n        )\n        .subscribe(() => {\n          this.lazyContentTpl = this._lazyContentTpl;\n        });\n    }\n  }\n}\n","<div class=\"aui-accordion-item\">\n  <div class=\"aui-accordion-item__header\">\n    <button\n      type=\"button\"\n      class=\"aui-accordion-item__expand-button\"\n      [class.isExpanded]=\"expanded\"\n      [disabled]=\"disabled\"\n      (click)=\"toggle()\"\n    >\n      <aui-icon icon=\"angle_right\"></aui-icon>\n    </button>\n    <div\n      class=\"aui-accordion-item__header-content\"\n      [class.aui-accordion-item__header-content--expanded]=\"expanded\"\n    >\n      <ng-content select=\"[auiAccordionItemHeader]\"></ng-content>\n    </div>\n  </div>\n  <div\n    *ngIf=\"expanded\"\n    class=\"aui-accordion-item__body\"\n    [id]=\"id\"\n    [@expand]=\"expanded ? 'expanded' : 'collapsed'\"\n  >\n    <div\n      class=\"aui-accordion-item__content\"\n      [class.hasBackground]=\"background\"\n    >\n      <ng-content></ng-content>\n      <ng-template [ngTemplateOutlet]=\"lazyContentTpl\"></ng-template>\n    </div>\n  </div>\n</div>\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon';\n\nimport {\n  AccordionItemComponent,\n  AccordionItemContentDirective,\n  AccordionItemHeaderDirective,\n} from './accordion-item/accordion-item.component';\nimport { AccordionComponent } from './accordion.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    CdkAccordionModule,\n    IconModule,\n    ButtonModule,\n    AccordionComponent,\n    AccordionItemComponent,\n    AccordionItemHeaderDirective,\n    AccordionItemContentDirective,\n  ],\n  exports: [\n    AccordionComponent,\n    AccordionItemComponent,\n    AccordionItemHeaderDirective,\n    AccordionItemContentDirective,\n  ],\n})\nexport class AccordionModule {}\n\nexport const ACCORDION_MODULE = [\n  AccordionComponent,\n  AccordionItemComponent,\n  AccordionItemHeaderDirective,\n  AccordionItemContentDirective,\n] as const;\n","import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport {\n  AfterContentChecked,\n  AfterContentInit,\n  ApplicationRef,\n  ComponentFactoryResolver,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  TemplateRef,\n} from '@angular/core';\nimport { Subject, fromEvent, merge, startWith, takeUntil } from 'rxjs';\n\nimport { observeResizeOn } from '../internal/utils';\n\nimport { AnchorComponent } from './anchor.component';\n\nlet uid = 0;\n\n@Directive()\nexport class AnchorDirectiveChild {\n  readonly parent: AnchorDirective;\n\n  constructor(protected injector: Injector) {\n    this.parent = this.injector.get(AnchorDirective);\n  }\n}\n\n@Directive({\n  selector: '[auiAnchorLabel]',\n  standalone: true,\n})\nexport class AnchorLabelDirective\n  extends AnchorDirectiveChild\n  implements OnInit, AfterContentChecked\n{\n  @HostBinding('class.aui-anchor__label')\n  @Input('auiAnchorLabel')\n  get label() {\n    return this._label || this.elRef.nativeElement.textContent;\n  }\n\n  set label(value) {\n    this._label = value;\n    this.labelChange.emit(value);\n  }\n\n  private _label: TemplateRef<unknown> | string;\n\n  @Input('auiAnchorLabelContext')\n  labelContext: unknown;\n\n  get target() {\n    return this.elRef.nativeElement;\n  }\n\n  @Input()\n  set id(id) {\n    if (this.parent.injectId && !this.id) {\n      this.elRef.nativeElement.id = id;\n    }\n    this._id = id;\n  }\n\n  get id() {\n    return this._id;\n  }\n\n  private _id: string;\n\n  @Input()\n  set level(value: number | '') {\n    this._level = value === '' ? 1 : value;\n  }\n\n  get level() {\n    return this._level;\n  }\n\n  private _level = 0;\n\n  @Output()\n  labelChange = new EventEmitter<TemplateRef<unknown> | string>();\n\n  constructor(\n    protected override injector: Injector,\n    public readonly elRef: ElementRef<HTMLElement>,\n  ) {\n    super(injector);\n    this._id = this.elRef.nativeElement.id;\n  }\n\n  ngOnInit() {\n    if (!this.id) {\n      this.id = 'anchor-uid-' + uid++;\n    }\n  }\n\n  ngAfterContentChecked() {\n    if (!this._label) {\n      this.labelChange.emit(this.label);\n    }\n  }\n}\n\n@Directive({\n  selector: '[auiAnchor]',\n  standalone: true,\n})\nexport class AnchorDirective implements AfterContentInit, OnDestroy {\n  @Input()\n  auiAnchor: HTMLElement | '';\n\n  @Input()\n  adaptPosition = true;\n\n  @Input()\n  padding = 20;\n\n  @Input()\n  minTop: number;\n\n  @Input()\n  injectId = window === window.top;\n\n  @ContentChildren(AnchorLabelDirective, { descendants: true })\n  anchorLabels: QueryList<AnchorLabelDirective>;\n\n  get containerEl() {\n    return this.elRef.nativeElement;\n  }\n\n  get scrollableEl() {\n    const el = this.containerEl;\n    return (\n      this.auiAnchor ||\n      this.cdkScrollable?.getElementRef().nativeElement ||\n      (el.scrollHeight > el.offsetHeight ? el : window)\n    );\n  }\n\n  anchorPortal: ComponentPortal<AnchorComponent>;\n\n  destroy$$ = new Subject<void>();\n\n  constructor(\n    private readonly cfr: ComponentFactoryResolver,\n    private readonly appRef: ApplicationRef,\n    private readonly injector: Injector,\n    public readonly elRef: ElementRef<HTMLElement>,\n    @Optional() private readonly cdkScrollable: CdkScrollable,\n  ) {}\n\n  ngAfterContentInit() {\n    const containerEl = this.containerEl;\n    this.anchorPortal = new ComponentPortal(AnchorComponent);\n    const portalOutlet = new DomPortalOutlet(\n      document.body,\n      this.cfr,\n      this.appRef,\n      this.injector,\n    );\n    const anchorComponentRef = this.anchorPortal.attach(portalOutlet);\n    const anchorEl = anchorComponentRef.injector.get(ElementRef)\n      .nativeElement as HTMLElement;\n\n    requestAnimationFrame(() =>\n      this.adaptAnchorPosition(containerEl, anchorEl),\n    );\n\n    this.anchorLabels.changes\n      .pipe(startWith(this.anchorLabels), takeUntil(this.destroy$$))\n      .subscribe((anchorLabels: QueryList<AnchorLabelDirective>) => {\n        Object.assign(anchorComponentRef.instance, {\n          items: anchorLabels.toArray(),\n        });\n      });\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.destroy$$.complete();\n    this.anchorPortal.detach();\n  }\n\n  adaptAnchorPosition(containerEl: HTMLElement, anchorEl: HTMLElement) {\n    const pageContentEl = containerEl.closest('.aui-page__content');\n    const anchorContentEl = anchorEl.querySelector('.aui-anchor');\n\n    merge(observeResizeOn(containerEl), fromEvent(window, 'scroll'))\n      .pipe(startWith(null as void), takeUntil(this.destroy$$))\n      .subscribe(() => {\n        const containerRect = containerEl.getBoundingClientRect();\n        Object.assign(anchorEl.style, {\n          display: !containerRect.width || !containerRect.height ? 'none' : '',\n          left:\n            containerRect.right -\n            anchorContentEl.getBoundingClientRect().width +\n            'px',\n          top:\n            Math.max(\n              containerRect.top,\n              (this.minTop ??\n                (pageContentEl &&\n                  +getComputedStyle(pageContentEl).paddingTop.slice(0, -2))) ||\n                0,\n            ) + 'px',\n        });\n      });\n\n    if (this.adaptPosition) {\n      observeResizeOn(anchorContentEl)\n        .pipe(takeUntil(this.destroy$$))\n        .subscribe(el => {\n          const width = el.getBoundingClientRect().width;\n          const padding = width + this.padding;\n          containerEl.style.paddingRight = padding + 'px';\n        });\n    }\n  }\n}\n","import { last } from '../internal/utils';\n\nimport { AnchorItem, AnchorTreeItem } from './types';\n\nexport const getAnchorTreeItems = (items: AnchorItem[], level = 0) => {\n  const treeItems: AnchorTreeItem[] = [];\n  const subItems: AnchorItem[] = [];\n  for (const item of items) {\n    if (item.level === level) {\n      const lastTreeItem = last(treeItems);\n      if (lastTreeItem) {\n        const children = getAnchorTreeItems(subItems, level + 1);\n        if (children.length) {\n          lastTreeItem.children = children;\n        }\n      }\n      treeItems.push(item);\n      subItems.length = 0;\n    } else {\n      subItems.push(item);\n    }\n  }\n  if (subItems.length) {\n    last(treeItems).children = getAnchorTreeItems(subItems, level + 1);\n  }\n  return treeItems;\n};\n","import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Injector,\n  Input,\n  OnDestroy,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {\n  EMPTY,\n  Subject,\n  combineLatest,\n  fromEvent,\n  of,\n  debounceTime,\n  switchMap,\n  takeUntil,\n  tap,\n} from 'rxjs';\n\nimport { buildBem, isTemplateRef, last } from '../internal/utils';\n\nimport { AnchorDirectiveChild } from './anchor.directive';\nimport { AnchorItem, AnchorTreeItem } from './types';\nimport { getAnchorTreeItems } from './utils';\n\nconst bem = buildBem('aui-anchor');\n\n@Component({\n  selector: 'aui-anchor-tree',\n  templateUrl: 'anchor-tree.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgFor, NgIf, NgTemplateOutlet],\n})\nexport class AnchorTreeComponent\n  extends AnchorDirectiveChild\n  implements OnDestroy\n{\n  @Input()\n  set treeItems(treeItems) {\n    this._treeItems = treeItems;\n    this.watchLabelsChange();\n  }\n\n  get treeItems() {\n    return this._treeItems;\n  }\n\n  private _treeItems: AnchorTreeItem[];\n\n  @Input()\n  activeId: string;\n\n  @Output()\n  activeIdChange = new EventEmitter<string>();\n\n  bem = bem;\n\n  isTemplateRef = isTemplateRef;\n\n  private readonly depose$$ = new Subject<void>();\n\n  watchLabelsChange() {\n    this.depose$$.next();\n    const cdr = this.injector.get(ChangeDetectorRef);\n    // FIXME: Is there any better way to achieve this?\n    combineLatest(\n      this.treeItems.map(({ labelChange }) => labelChange).filter(Boolean),\n    )\n      .pipe(debounceTime(0), takeUntil(this.depose$$))\n      .subscribe(() => cdr.markForCheck());\n  }\n\n  ngOnDestroy() {\n    this.depose$$.next();\n    this.depose$$.complete();\n  }\n\n  isActive(item: AnchorTreeItem): boolean {\n    return (\n      item.id === this.activeId ||\n      item.children?.some(subItem => this.isActive(subItem))\n    );\n  }\n\n  onItemClick(e: Event, item: AnchorTreeItem) {\n    e.preventDefault();\n\n    if (this.parent.injectId) {\n      const selector = '#' + item.id;\n\n      if (location.hash === selector) {\n        return;\n      }\n\n      history.pushState(\n        null,\n        null,\n        location.pathname + location.search + selector,\n      );\n    }\n\n    item.target.scrollIntoView({ behavior: 'smooth' });\n\n    this.activeIdChange.emit(item.id);\n  }\n\n  trackById(_index: number, item: AnchorTreeItem) {\n    return item.id;\n  }\n}\n\n@Component({\n  selector: 'aui-anchor',\n  templateUrl: 'anchor.component.html',\n  styleUrls: ['anchor.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [AnchorTreeComponent],\n})\nexport class AnchorComponent\n  extends AnchorDirectiveChild\n  implements AfterViewInit, OnDestroy\n{\n  @Input()\n  get items() {\n    return this._items;\n  }\n\n  set items(items) {\n    this._items = items;\n    this.treeItems = getAnchorTreeItems(items);\n    const anchorId =\n      (this.parent.injectId && location.hash.slice(1)) || this.activeId;\n    const activeItem =\n      (anchorId && items.find(({ id }) => id === anchorId)) || items[0];\n    if (activeItem) {\n      if (this.parent.injectId && this.parent.scrollableEl !== window) {\n        activeItem.target.scrollIntoView();\n      }\n      this.activeId = activeItem.id;\n    }\n  }\n\n  private _items: AnchorItem[];\n\n  @Input()\n  treeItems: AnchorTreeItem[];\n\n  @Input()\n  activeId: string;\n\n  bem = bem;\n\n  private readonly destroy$$ = new Subject<void>();\n\n  constructor(\n    protected override injector: Injector,\n    private readonly cdr: ChangeDetectorRef,\n  ) {\n    super(injector);\n  }\n\n  ngAfterViewInit() {\n    const { injectId, containerEl, scrollableEl } = this.parent;\n    const pageContentEl = containerEl.closest('.aui-page__content');\n    const paddingTop = pageContentEl\n      ? +getComputedStyle(pageContentEl).paddingTop.slice(0, -2)\n      : 0;\n    fromEvent(scrollableEl, 'scroll')\n      .pipe(\n        debounceTime(100),\n        switchMap(() => {\n          const { scrollTop } =\n            scrollableEl === window\n              ? document.documentElement\n              : (scrollableEl as HTMLElement);\n          const activeItem =\n            this.items.find(\n              ({ target }) =>\n                target.offsetTop +\n                  target.offsetHeight / 2 +\n                  ((scrollableEl === window &&\n                    (target.offsetParent as HTMLElement)?.offsetTop) ||\n                    0) >\n                scrollTop + paddingTop,\n            ) || last(this.items);\n          return activeItem ? of(activeItem) : EMPTY;\n        }),\n        tap(activeItem => {\n          if (activeItem.id) {\n            this.activeId = activeItem.id;\n            this.cdr.markForCheck();\n          }\n        }),\n        debounceTime(100),\n        tap(activeItem => {\n          if (injectId && activeItem.id) {\n            history.replaceState(\n              null,\n              null,\n              location.pathname + location.search + '#' + activeItem.id,\n            );\n          }\n        }),\n        takeUntil(this.destroy$$),\n      )\n      .subscribe();\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n}\n","<div\n  [class]=\"bem.element('item')\"\n  [class.active]=\"isActive(item)\"\n  *ngFor=\"let item of treeItems; trackBy: trackById\"\n>\n  <a\n    *ngIf=\"item.label as label\"\n    [href]=\"parent.injectId ? '#' + item.id : undefined\"\n    (click)=\"onItemClick($event, item)\"\n  >\n    <ng-container *ngIf=\"isTemplateRef(label); else plain\">\n      <ng-container\n        *ngTemplateOutlet=\"label; context: item.labelContext\"\n      ></ng-container>\n    </ng-container>\n    <ng-template #plain>\n      {{ item.label }}\n    </ng-template>\n  </a>\n  <aui-anchor-tree\n    *ngIf=\"item.children?.length\"\n    [treeItems]=\"item.children\"\n    [(activeId)]=\"activeId\"\n  ></aui-anchor-tree>\n</div>\n","<div [class]=\"bem.block()\">\n  <aui-anchor-tree\n    [treeItems]=\"treeItems\"\n    [(activeId)]=\"activeId\"\n  ></aui-anchor-tree>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AnchorComponent, AnchorTreeComponent } from './anchor.component';\nimport { AnchorDirective, AnchorLabelDirective } from './anchor.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    AnchorComponent,\n    AnchorTreeComponent,\n    AnchorDirective,\n    AnchorLabelDirective,\n  ],\n  exports: [\n    AnchorComponent,\n    AnchorTreeComponent,\n    AnchorDirective,\n    AnchorLabelDirective,\n  ],\n})\nexport class AnchorModule {}\n\nexport const ANCHOR_MODULE = [\n  AnchorComponent,\n  AnchorTreeComponent,\n  AnchorDirective,\n  AnchorLabelDirective,\n] as const;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-autocomplete-placeholder',\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class AutocompletePlaceholderComponent {}\n","import { AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport {\n  BehaviorSubject,\n  Observable,\n  combineLatest,\n  map,\n  switchMap,\n  take,\n  tap,\n} from 'rxjs';\n\nimport {\n  Bem,\n  buildBem,\n  coerceAttrBoolean,\n  publishRef,\n} from '../../internal/utils';\nimport { AutocompleteComponent } from '../autocomplete.component';\n\n@Component({\n  selector: 'aui-suggestion',\n  templateUrl: './suggestion.component.html',\n  styleUrls: ['./suggestion.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [AsyncPipe],\n})\nexport class SuggestionComponent {\n  bem: Bem = buildBem('aui-suggestion');\n\n  private _value: string;\n  private readonly value$$ = new BehaviorSubject<string>(this.value);\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(val) {\n    this._value = val;\n    this.value$$.next(val);\n  }\n\n  @Input({ transform: coerceAttrBoolean })\n  disabled: boolean;\n\n  @ViewChild('elRef', { static: true })\n  elRef: ElementRef;\n\n  selected = false;\n  visible = true;\n  focused = false;\n\n  selected$: Observable<boolean>;\n  visible$: Observable<boolean>;\n\n  constructor(\n    private readonly cdr: ChangeDetectorRef,\n    @Inject(forwardRef(() => AutocompleteComponent))\n    private readonly autocomplete: AutocompleteComponent,\n  ) {\n    this.selected$ = combineLatest([\n      this.autocomplete.directive$$.pipe(\n        switchMap(directive => directive.inputValue$),\n      ),\n      this.value$$,\n    ]).pipe(\n      map(([inputValue, selfValue]) => inputValue === selfValue),\n      tap(selected => {\n        this.selected = selected;\n      }),\n      publishRef(),\n    );\n    this.visible$ = combineLatest([\n      this.autocomplete.directive$$.pipe(\n        switchMap(directive => directive.filterFn$),\n      ),\n      this.autocomplete.directive$$.pipe(\n        switchMap(directive => directive.inputValue$),\n      ),\n      this.value$$,\n    ]).pipe(\n      map(([filterFn, filterString, suggestion]) =>\n        filterFn(filterString, suggestion),\n      ),\n      tap(visible => {\n        if (!(this.visible = visible)) {\n          this.focused = false;\n        }\n      }),\n      publishRef(),\n    );\n  }\n\n  onClick() {\n    if (this.disabled) {\n      return;\n    }\n    this.autocomplete.directive$$.pipe(take(1)).subscribe(directive => {\n      directive.onSuggestionClick(this.value);\n    });\n  }\n\n  focus() {\n    this.focused = true;\n    this.cdr.markForCheck();\n  }\n\n  blur() {\n    this.focused = false;\n    this.cdr.markForCheck();\n  }\n}\n","<div\n  #elRef\n  [hidden]=\"!(visible$ | async)\"\n  [class]=\"bem.block('medium')\"\n  [class.isDisabled]=\"disabled\"\n  [class.isSelected]=\"selected$ | async\"\n  [class.isFocused]=\"focused\"\n  (click)=\"onClick()\"\n>\n  <div [class]=\"bem.element('content')\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {\n  Observable,\n  ReplaySubject,\n  combineLatest,\n  of,\n  debounceTime,\n  distinctUntilChanged,\n  map,\n  startWith,\n  switchMap,\n  tap,\n  withLatestFrom,\n} from 'rxjs';\n\nimport { publishRef } from '../internal/utils';\n\nimport { AutocompletePlaceholderComponent } from './autocomplete-placeholder.component';\nimport { AutoCompleteDirective } from './autocomplete.directive';\nimport { SuggestionComponent } from './suggestion/suggestion.component';\n\n@Component({\n  selector: 'aui-autocomplete',\n  templateUrl: './autocomplete.component.html',\n  styleUrls: ['./autocomplete.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [AsyncPipe],\n})\nexport class AutocompleteComponent implements AfterContentInit {\n  @ContentChildren(SuggestionComponent, { descendants: true })\n  suggestions: QueryList<SuggestionComponent>;\n\n  @ContentChildren(AutocompletePlaceholderComponent)\n  placeholder: QueryList<AutocompletePlaceholderComponent>;\n\n  @ViewChild(TemplateRef, { static: true })\n  template: TemplateRef<any>;\n\n  @ViewChild('suggestionListRef', { static: true })\n  suggestionListRef: ElementRef;\n\n  hasVisibleSuggestion$: Observable<boolean>;\n  hasContent$: Observable<boolean>;\n  visibles$: Observable<boolean[]>;\n\n  directive$$ = new ReplaySubject<AutoCompleteDirective>(1);\n\n  constructor(private readonly cdr: ChangeDetectorRef) {}\n\n  ngAfterContentInit() {\n    this.visibles$ = this.suggestions.changes.pipe(\n      startWith(this.suggestions),\n      switchMap((suggestions: QueryList<SuggestionComponent>) =>\n        suggestions.length > 0\n          ? combineLatest(suggestions.map(suggestion => suggestion.visible$))\n          : of([] as boolean[]),\n      ),\n      publishRef(),\n    );\n\n    this.hasVisibleSuggestion$ = this.visibles$.pipe(\n      debounceTime(0),\n      map(visible => visible.some(Boolean)),\n      withLatestFrom(this.directive$$),\n      map(([hasVisibleSuggestion, directive]) => {\n        if (hasVisibleSuggestion && directive.defaultFirstSuggestion) {\n          directive.autoFocusFirstSuggestion();\n        }\n        return hasVisibleSuggestion;\n      }),\n      distinctUntilChanged(),\n      tap(() => this.cdr.markForCheck()),\n      publishRef(),\n    );\n\n    this.hasContent$ = combineLatest([\n      this.hasVisibleSuggestion$,\n      this.placeholder.changes.pipe(\n        startWith(this.placeholder),\n        map(\n          (list: QueryList<AutocompletePlaceholderComponent>) => !!list.length,\n        ),\n      ),\n    ]).pipe(\n      map(\n        ([hasVisibleSuggestion, hasPlaceholder]) =>\n          hasVisibleSuggestion || hasPlaceholder,\n      ),\n      distinctUntilChanged(),\n    );\n\n    combineLatest([this.directive$$, this.visibles$])\n      .pipe(debounceTime(50))\n      .subscribe(([directive]) => {\n        directive.overlayRef?.updatePosition();\n      });\n  }\n}\n","<ng-template let-width=\"width\">\n  <div\n    [hidden]=\"!(hasContent$ | async)\"\n    class=\"aui-autocomplete\"\n    [style.minWidth]=\"width\"\n    (mousedown)=\"$event.preventDefault()\"\n  >\n    <div\n      #suggestionListRef\n      class=\"aui-autocomplete__content\"\n    >\n      <ng-content></ng-content>\n    </div>\n    <div\n      [hidden]=\"hasVisibleSuggestion$ | async\"\n      class=\"aui-autocomplete__placeholder\"\n    >\n      <ng-content select=\"aui-autocomplete-placeholder\"></ng-content>\n    </div>\n  </div>\n</ng-template>\n","export enum AnimationDuration {\n  Slow = '0.3s',\n  Base = '0.24s',\n  Fast = '0.2s',\n}\n\nexport enum TimingFunction {\n  easeOut = 'cubic-bezier(0, 0, 0.2, 1)',\n  easeInOut = 'cubic-bezier(0.38, 0, 0.24, 1)',\n}\n","import { animate, keyframes, style, transition } from '@angular/animations';\n\nimport { TimingFunction } from '../core/animation/animation-consts';\n\nconst duration = '160ms';\n\nexport const scale = [\n  transition('scale-hide => scale-show, void => scale-show', [\n    animate(\n      `${duration} ${TimingFunction.easeOut}`,\n      keyframes([\n        style({\n          opacity: 0,\n          transform: 'scale(0)',\n        }),\n        style({\n          opacity: 1,\n          transform: 'scale(1)',\n        }),\n      ]),\n    ),\n  ]),\n  transition('scale-show => scale-hide, scale-show => void', [\n    animate(\n      `${duration} ${TimingFunction.easeInOut}`,\n      keyframes([\n        style({\n          opacity: 1,\n          transform: 'scale(1)',\n        }),\n        style({\n          opacity: 0,\n          transform: 'scale(0)',\n        }),\n      ]),\n    ),\n  ]),\n];\n\nexport const scaleY = [\n  transition('scaleY-hide => scaleY-show, void => scaleY-show', [\n    animate(\n      `${duration} ${TimingFunction.easeOut}`,\n      keyframes([\n        style({\n          opacity: 0,\n          transform: 'scaleY(0)',\n        }),\n        style({\n          opacity: 1,\n          transform: 'scaleY(1)',\n        }),\n      ]),\n    ),\n  ]),\n  transition('scaleY-show => scaleY-hide, scaleY-show => void', [\n    animate(\n      `${duration} ${TimingFunction.easeInOut}`,\n      keyframes([\n        style({\n          opacity: 1,\n          transform: 'scaleY(1)',\n        }),\n        style({\n          opacity: 0,\n          transform: 'scaleY(0)',\n        }),\n      ]),\n    ),\n  ]),\n];\n\nexport const animations = [...scale, ...scaleY];\n\nexport type AnimationType = 'none' | 'scale' | 'scaleY';\n","export enum TooltipType {\n  Default = 'default',\n  Primary = 'primary',\n  Success = 'success',\n  Warning = 'warning',\n  Error = 'error',\n  Info = 'info',\n  Plain = 'plain',\n  Empty = 'empty',\n}\n\nexport enum TooltipTrigger {\n  Hover = 'hover',\n  Click = 'click',\n  Focus = 'focus',\n  Manual = 'manual',\n}\n","import { AnimationEvent, trigger } from '@angular/animations';\nimport { NgIf, NgTemplateOutlet, AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  OnDestroy,\n  TemplateRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {\n  Observable,\n  Subject,\n  combineLatest,\n  map,\n  startWith,\n  BehaviorSubject,\n} from 'rxjs';\n\nimport { Bem, buildBem, publishRef } from '../internal/utils';\n\nimport { animations, AnimationType } from './animations';\nimport { TooltipType } from './tooltip.types';\n\n@Component({\n  selector: 'aui-tooltip',\n  templateUrl: './tooltip.component.html',\n  styleUrls: ['./tooltip.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  animations: [trigger('showHide', animations)],\n  imports: [NgIf, NgTemplateOutlet, AsyncPipe],\n})\nexport class TooltipComponent implements OnDestroy {\n  text: string;\n  template: TemplateRef<any>;\n  bem: Bem = buildBem('aui-tooltip');\n  showHide = 'scale-hide';\n  animationType: AnimationType;\n\n  inputContent$: Observable<TemplateRef<any> | string>;\n  inputType$: Observable<TooltipType>;\n  inputPosition$: Observable<string>;\n  inputClass$: Observable<string>;\n  inputContext$: Observable<any>;\n\n  text$: Observable<string>;\n  template$: Observable<TemplateRef<any>>;\n  class$: Observable<string>;\n  context$: Observable<any>;\n\n  hover$ = new Subject<boolean>();\n  destroy$ = new Subject();\n  animating$$ = new BehaviorSubject(false);\n  hide$ = new Subject();\n  beforeHide$ = new Subject();\n  beforeShow$ = new Subject();\n\n  constructor(\n    public elRef: ElementRef<HTMLElement>,\n    public cdr: ChangeDetectorRef,\n  ) {}\n\n  ngOnDestroy() {\n    this.destroy$.next(null);\n    this.destroy$.complete();\n  }\n\n  setupInputs(inputs: {\n    inputContent$: Observable<TemplateRef<any> | string>;\n    inputType$: Observable<TooltipType>;\n    inputPosition$: Observable<string>;\n    inputClass$: Observable<string>;\n    inputContext$: Observable<any>;\n    animationType?: string;\n  }) {\n    Object.assign(this, inputs);\n    this.text$ = this.inputContent$.pipe(\n      map(val => {\n        if (typeof val === 'string') {\n          return val;\n        }\n        return '';\n      }),\n      publishRef(),\n    );\n    this.template$ = this.inputContent$.pipe(\n      map(val => {\n        if (typeof val !== 'string') {\n          return val;\n        }\n        return null;\n      }),\n      publishRef(),\n    );\n    this.class$ = combineLatest([\n      this.inputPosition$.pipe(startWith('top')),\n      this.inputType$.pipe(startWith(TooltipType.Default)),\n      this.inputClass$.pipe(startWith('')),\n    ]).pipe(\n      map(([inputPosition, inputType, inputClass]) => {\n        const b = this.bem.block();\n        const [direction, align] = inputPosition.split(' ');\n        return `${\n          inputType === TooltipType.Empty ? '' : b\n        } ${b}--${inputType} ${b}--direction_${direction} ${b}--align_${\n          align ?? 'center'\n        } ${this.bem.element('transform-origin')} ${inputClass}`;\n      }),\n      publishRef(),\n    );\n    this.context$ = this.inputContext$.pipe(publishRef());\n  }\n\n  onAnimation(event: AnimationEvent) {\n    const { phaseName, toState } = event;\n    this.animating$$.next(phaseName === 'start');\n    if (toState.endsWith('-hide') && phaseName === 'done') {\n      this.hide$.next(true);\n    }\n  }\n\n  show() {\n    this.beforeShow$.next(null);\n    this.showHide = `${this.animationType}-show`;\n    this.cdr.markForCheck();\n  }\n\n  hide() {\n    this.beforeHide$.next(null);\n    this.showHide = `${this.animationType}-hide`;\n    this.cdr.markForCheck();\n  }\n}\n","<div\n  *ngIf=\"inputContent$ | async\"\n  [class]=\"class$ | async\"\n  (mouseenter)=\"hover$.next(true)\"\n  (mouseleave)=\"hover$.next(false)\"\n  [@.disabled]=\"animationType === 'none'\"\n  [@showHide]=\"showHide\"\n  (@showHide.start)=\"onAnimation($event)\"\n  (@showHide.done)=\"onAnimation($event)\"\n>\n  {{ text$ | async }}\n  <ng-container\n    *ngIf=\"template$ | async\"\n    [ngTemplateOutlet]=\"template$ | async\"\n    [ngTemplateOutletContext]=\"context$ | async\"\n  ></ng-container>\n</div>\n","import {\n  HorizontalConnectionPos,\n  OriginConnectionPosition,\n  OverlayConnectionPosition,\n  VerticalConnectionPos,\n} from '@angular/cdk/overlay';\n\nexport function getOriginPosition(position: string): {\n  main: OriginConnectionPosition;\n  fallback: OriginConnectionPosition;\n} {\n  const pos = position.split(' ');\n  let isXDir;\n  if (pos[0] === 'start' || pos[0] === 'end') {\n    isXDir = true;\n  }\n  const main = {\n    originX: (pos[isXDir ? 0 : 1] as HorizontalConnectionPos) || 'center',\n    originY: (pos[isXDir ? 1 : 0] as VerticalConnectionPos) || 'center',\n  };\n  const { x, y } = invertPosition(main.originX, main.originY);\n  const fallback = {\n    originX: isXDir ? x : main.originX,\n    originY: isXDir ? main.originY : y,\n  };\n  return { main, fallback };\n}\n\nexport function getOverlayPosition(position: string): {\n  main: OverlayConnectionPosition;\n  fallback: OverlayConnectionPosition;\n} {\n  const pos = position.split(' ');\n  let isXDir;\n  if (pos[0] === 'start' || pos[0] === 'end') {\n    isXDir = true;\n  }\n  const horizontal =\n    (pos[isXDir ? 0 : 1] as HorizontalConnectionPos) || 'center';\n  const vertical = (pos[isXDir ? 1 : 0] as VerticalConnectionPos) || 'center';\n  const main = {\n    overlayX: isXDir ? invertHorizontal(horizontal) : horizontal,\n    overlayY: isXDir ? vertical : invertVertical(vertical),\n  };\n  const { x, y } = invertPosition(main.overlayX, main.overlayY);\n  const fallback = {\n    overlayX: isXDir ? x : main.overlayX,\n    overlayY: isXDir ? main.overlayY : y,\n  };\n  return { main, fallback };\n}\n\nexport function invertHorizontal(dir: HorizontalConnectionPos) {\n  if (dir === 'start') {\n    dir = 'end';\n  } else if (dir === 'end') {\n    dir = 'start';\n  }\n  return dir;\n}\n\nexport function invertVertical(dir: VerticalConnectionPos) {\n  if (dir === 'top') {\n    dir = 'bottom';\n  } else if (dir === 'bottom') {\n    dir = 'top';\n  }\n  return dir;\n}\n\nexport function invertPosition(\n  x: HorizontalConnectionPos,\n  y: VerticalConnectionPos,\n): { x: HorizontalConnectionPos; y: VerticalConnectionPos } {\n  return { x: invertHorizontal(x), y: invertVertical(y) };\n}\n","import {\n  ConnectedPosition,\n  Overlay,\n  OverlayConfig,\n  OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  NgZone,\n  OnDestroy,\n  Renderer2,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport {\n  ReplaySubject,\n  merge,\n  debounceTime,\n  takeUntil,\n  first,\n  filter,\n  Subject,\n  delay,\n} from 'rxjs';\n\nimport { sleep } from '../internal/utils';\n\nimport { AnimationType } from './animations';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipTrigger, TooltipType } from './tooltip.types';\nimport { getOriginPosition, getOverlayPosition } from './utils';\n\nexport interface TooltipInterface {\n  content: TemplateRef<any> | string;\n  context: any;\n  class: string;\n  type: TooltipType;\n  position: string;\n  trigger: TooltipTrigger;\n  disabled: boolean;\n  hideOnClick: boolean;\n  visibleChange: EventEmitter<boolean>;\n}\n\nexport const DISPLAY_DELAY = 50;\nexport const HIDDEN_DELAY = 150;\n\n// @ts-expect-error hack to enhance overlayRef\ninterface HackOverlayRef extends OverlayRef {\n  _positionStrategy: {\n    _hasExactPosition: () => boolean;\n    _pane: HTMLElement;\n    _lastPosition: ConnectedPosition | null;\n    _boundingBox: HTMLElement;\n    _transformOriginSelector: string;\n  };\n}\n\n@Directive({\n  standalone: true,\n})\nexport class BaseTooltip<T = any>\n  implements TooltipInterface, AfterViewInit, OnDestroy\n{\n  set content(value: TemplateRef<any> | string) {\n    this._content = value;\n    this.inputContent$$.next(value);\n  }\n\n  get content() {\n    return this._content;\n  }\n\n  set context(value: T) {\n    this._context = value;\n    this.inputContext$$.next(value);\n  }\n\n  get context() {\n    return this._context;\n  }\n\n  set class(value: string) {\n    this.inputClass$$.next(value);\n  }\n\n  set type(value: TooltipType) {\n    if (!value) {\n      return;\n    }\n    this.inputType$$.next(value);\n  }\n\n  set position(value: string) {\n    if (!value || value === this._position) {\n      return;\n    }\n    this._position = value;\n    this.inputPosition$$.next(value);\n    this._disposeTooltip();\n  }\n\n  get position() {\n    return this._position;\n  }\n\n  set trigger(value) {\n    if (!value || value === this._trigger) {\n      return;\n    }\n    this._trigger = value;\n    this._disposeTooltip();\n    this.ngZone.run(this.updateListeners, this);\n  }\n\n  get trigger() {\n    return this._trigger;\n  }\n\n  set disabled(value) {\n    this._disabled = value;\n    if (value) {\n      this._disposeTooltip();\n    }\n  }\n\n  get disabled() {\n    return this._disabled;\n  }\n\n  hideOnClick = false;\n  animationType: AnimationType = 'none';\n\n  visibleChange = new EventEmitter<boolean>();\n\n  overlayRef: OverlayRef;\n  protected componentClass: ComponentType<any> = TooltipComponent;\n  protected componentIns: TooltipComponent;\n  protected hostHovered = false;\n  protected tooltipHovered = false;\n  protected listeners: Array<() => void> = [];\n  protected unlistenBody: () => void;\n\n  protected inputContent$$ = new ReplaySubject<TemplateRef<any> | string>(1);\n  protected inputType$$ = new ReplaySubject<TooltipType>(1);\n  protected inputPosition$$ = new ReplaySubject<string>(1);\n  protected inputClass$$ = new ReplaySubject<string>(1);\n  protected inputContext$$ = new ReplaySubject<any>(1);\n\n  protected tooltipChanged$ = merge(\n    this.inputContent$$,\n    this.inputType$$,\n    this.inputPosition$$,\n    this.inputClass$$,\n    this.inputContext$$,\n  );\n\n  protected destroy$ = new Subject();\n\n  protected _position = 'top';\n  protected _trigger = TooltipTrigger.Hover;\n  protected _disabled = false;\n  protected _context: T;\n  protected _content: TemplateRef<unknown> | string;\n\n  get isCreated() {\n    return !!this.overlayRef;\n  }\n\n  constructor(\n    protected overlay: Overlay,\n    protected viewContainerRef: ViewContainerRef,\n    protected elRef: ElementRef<HTMLInputElement>,\n    protected renderer: Renderer2,\n    protected cdr: ChangeDetectorRef,\n    protected ngZone: NgZone,\n  ) {\n    this.tooltipChanged$.pipe(debounceTime(0)).subscribe(() => {\n      this.updatePosition();\n    });\n  }\n\n  private _updateTransformOrigin() {\n    // @ts-expect-error hack to enhance overlayRef\n    const overlayRef = this.overlayRef as HackOverlayRef;\n    const positionStrategy = overlayRef._positionStrategy;\n    const hasExactPosition = positionStrategy._hasExactPosition(); // 是不是应用了精确定位\n    if (!hasExactPosition) {\n      return;\n    }\n    // 如果是精确定位，也就是预设位置空间不足以承载弹出元素，被重新指定新的弹出位置\n    const paneRect = positionStrategy._pane.getBoundingClientRect(); // 弹出pane元素Rect\n    const triggerElReact = this.elRef.nativeElement.getBoundingClientRect(); // 触发点Rect\n\n    const position = positionStrategy._lastPosition; // 当前策略位置（调整后的最佳的）\n    let xOrigin: 'center' | 'left' | 'right';\n    const yOrigin: 'bottom' | 'center' | 'top' = position.overlayY;\n    if (position.overlayX === 'center') {\n      xOrigin = 'center';\n    } else {\n      xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n    }\n\n    const origins: string[] = [xOrigin, yOrigin];\n    if (\n      xOrigin === 'center' ||\n      (xOrigin === 'left' &&\n        ![triggerElReact.right, triggerElReact.left].includes(paneRect.left)) ||\n      (xOrigin === 'right' &&\n        ![triggerElReact.right, triggerElReact.left].includes(paneRect.right))\n    ) {\n      const originLeft =\n        triggerElReact.left - paneRect.left + triggerElReact.width / 2;\n      origins[0] = Math.min(originLeft, paneRect.width) + 'px';\n    }\n    if (\n      yOrigin === 'center' ||\n      (yOrigin === 'top' &&\n        ![triggerElReact.bottom, triggerElReact.top].includes(paneRect.top)) || // 位置没有被完全被颠倒的\n      (yOrigin === 'bottom' &&\n        ![triggerElReact.bottom, triggerElReact.top].includes(paneRect.bottom)) // 位置没有被完全被颠倒的\n    ) {\n      const originTop =\n        triggerElReact.top - paneRect.top + triggerElReact.height / 2;\n      origins[1] = Math.min(originTop, paneRect.height) + 'px';\n    }\n    const aniEls = positionStrategy._boundingBox.querySelectorAll<HTMLElement>(\n      positionStrategy._transformOriginSelector,\n    );\n    Array.from(aniEls).forEach(el => {\n      el.style.transformOrigin = origins.join(' ');\n    });\n  }\n\n  _createTooltip() {\n    if (this.disabled || this.isCreated) {\n      return;\n    }\n    this._disposeTooltip();\n    this.overlayRef = this.createOverlay();\n    const portal = new ComponentPortal(\n      this.componentClass,\n      this.viewContainerRef,\n    );\n    this.componentIns = this.overlayRef.attach(portal).instance;\n    this.componentIns.setupInputs({\n      inputClass$: this.inputClass$$.asObservable(),\n      inputContent$: this.inputContent$$.asObservable(),\n      inputContext$: this.inputContext$$.asObservable(),\n      inputPosition$: this.inputPosition$$.asObservable(),\n      inputType$: this.inputType$$.asObservable(),\n      animationType: this.animationType,\n    });\n    this.componentIns.hide$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this._disposeTooltip();\n    });\n\n    if (this.animationType !== 'none') {\n      merge(\n        this.componentIns.beforeHide$,\n        this.componentIns.beforeShow$.pipe(delay(0)),\n      )\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(this._updateTransformOrigin.bind(this));\n    }\n\n    if (this.trigger === TooltipTrigger.Hover) {\n      this.componentIns.hover$\n        .pipe(takeUntil(this.componentIns.destroy$))\n        .subscribe(hovered => {\n          this.onTooltipHovered(hovered);\n        });\n    }\n    if (\n      this.trigger === TooltipTrigger.Hover ||\n      this.trigger === TooltipTrigger.Click\n    ) {\n      this.unlistenBody = this.renderer.listen(\n        'body',\n        'click',\n        this.onBodyClick.bind(this),\n      );\n    }\n\n    this.componentIns?.show();\n    this.cdr.markForCheck();\n\n    this.visibleChange.emit(true);\n  }\n\n  _disposeTooltip() {\n    this.componentIns?.animating$$\n      .pipe(\n        filter(animating => !animating),\n        first(),\n      )\n      .subscribe(() => {\n        if (this.overlayRef) {\n          this.overlayRef.dispose();\n          this.overlayRef = null;\n          this.componentIns = null;\n          this.tooltipHovered = false;\n          if (this.unlistenBody) {\n            this.unlistenBody();\n            this.unlistenBody = null;\n          }\n          this.visibleChange.emit(false);\n        }\n      });\n  }\n\n  toggleTooltip() {\n    if (this.isCreated) {\n      this.hide();\n    } else {\n      this.show();\n    }\n  }\n\n  show() {\n    this._createTooltip();\n  }\n\n  hide() {\n    if (this.animationType === 'none') {\n      // 如果禁用了动画就立即销毁，而不是等动画完成事件后才销毁\n      this._disposeTooltip();\n    } else {\n      this.componentIns?.hide();\n    }\n  }\n\n  updatePosition() {\n    if (this.overlayRef) {\n      this.overlayRef.updatePosition();\n    }\n  }\n\n  ngAfterViewInit() {\n    if (this.trigger === TooltipTrigger.Hover) {\n      this.updateListeners();\n    }\n  }\n\n  ngOnDestroy() {\n    this.destroy$.next(null);\n    this.destroy$.complete();\n    this._disposeTooltip();\n    this.clearListeners();\n  }\n\n  protected updateListeners() {\n    this.clearListeners();\n    switch (this.trigger) {\n      case TooltipTrigger.Click: {\n        this.listeners.push(\n          this.renderer.listen(\n            this.elRef.nativeElement,\n            'click',\n            this.onClick.bind(this),\n          ),\n        );\n        break;\n      }\n      case TooltipTrigger.Hover: {\n        this.listeners.push(\n          this.renderer.listen(\n            this.elRef.nativeElement,\n            'mouseenter',\n            this.onMouseEnter.bind(this) as () => void,\n          ),\n          this.renderer.listen(\n            this.elRef.nativeElement,\n            'mouseleave',\n            this.onMouseLeave.bind(this) as () => void,\n          ),\n        );\n        break;\n      }\n      case TooltipTrigger.Focus: {\n        this.listeners.push(\n          this.renderer.listen(\n            this.elRef.nativeElement,\n            'focus',\n            this.onFocus.bind(this),\n          ),\n          this.renderer.listen(\n            this.elRef.nativeElement,\n            'blur',\n            this.onBlur.bind(this),\n          ),\n        );\n        break;\n      }\n      case TooltipTrigger.Manual: {\n        break;\n      }\n    }\n  }\n\n  protected clearListeners() {\n    this.listeners.forEach(unListen => {\n      unListen();\n    });\n    this.listeners = [];\n  }\n\n  protected createOverlay(): OverlayRef {\n    const originPosition = getOriginPosition(this.position);\n    const overlayPosition = getOverlayPosition(this.position);\n\n    const positionStrategy = this.overlay\n      .position()\n      .flexibleConnectedTo(this.elRef)\n      .withGrowAfterOpen(true)\n      .withTransformOriginOn('.aui-tooltip__transform-origin')\n      .withPositions([\n        { ...originPosition.main, ...overlayPosition.main },\n        { ...originPosition.fallback, ...overlayPosition.fallback },\n      ]);\n\n    const scrollStrategy = this.overlay.scrollStrategies.reposition();\n\n    const config = new OverlayConfig({\n      positionStrategy,\n      scrollStrategy,\n    });\n    return this.overlay.create(config);\n  }\n\n  protected async onMouseEnter() {\n    this.hostHovered = true;\n    if (!this.isCreated) {\n      await sleep(DISPLAY_DELAY);\n      if (this.hostHovered) {\n        this._createTooltip();\n      }\n    }\n  }\n\n  protected async onMouseLeave() {\n    this.hostHovered = false;\n    await sleep(HIDDEN_DELAY);\n    if (!this.tooltipHovered && !this.hostHovered) {\n      this.hide();\n    }\n  }\n\n  protected async onTooltipHovered(hovered: boolean) {\n    this.tooltipHovered = hovered;\n    if (!hovered) {\n      await sleep(HIDDEN_DELAY);\n      if (!this.tooltipHovered && !this.hostHovered) {\n        this.hide();\n      }\n    }\n  }\n\n  protected onClick() {\n    this.toggleTooltip();\n  }\n\n  protected onBodyClick(event: Event) {\n    if (\n      !this.elRef.nativeElement.contains(event.target as Node) &&\n      (this.hideOnClick ||\n        !this.componentIns.elRef.nativeElement.contains(event.target as Node))\n    ) {\n      this.hide();\n    }\n  }\n\n  protected onFocus() {\n    this._createTooltip();\n  }\n\n  protected onBlur() {\n    this.hide();\n  }\n}\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\n\nimport { AnimationType } from './animations';\nimport { BaseTooltip } from './base-tooltip';\n\n@Directive({\n  selector: '[auiTooltip]',\n  providers: [\n    {\n      provide: BaseTooltip,\n      useExisting: TooltipDirective,\n    },\n  ],\n  exportAs: 'auiTooltip',\n  inputs: [\n    'content:auiTooltip',\n    'context:auiTooltipContext',\n    'class:auiTooltipClass',\n    'type:auiTooltipType',\n    'position:auiTooltipPosition',\n    'trigger:auiTooltipTrigger',\n    'disabled:auiTooltipDisabled',\n    'hideOnClick:auiTooltipHideOnClick',\n  ],\n  standalone: true,\n})\nexport class TooltipDirective extends BaseTooltip {\n  @Output('auiTooltipVisibleChange')\n  override visibleChange = new EventEmitter<boolean>();\n\n  @Input('auiTooltipAnimType')\n  override animationType: AnimationType = 'scale';\n}\n","import {\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n  Renderer2,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { BaseTooltip } from './base-tooltip';\n\n@Directive({\n  selector: '[auiTooltipActive]',\n  standalone: true,\n})\nexport class TooltipActiveDirective implements OnDestroy {\n  @Input('auiTooltipActive')\n  customClass: string[] | string = '';\n\n  destroy$ = new Subject();\n\n  constructor(\n    tooltipDirective: BaseTooltip,\n    private readonly el: ElementRef,\n    private readonly renderer: Renderer2,\n  ) {\n    tooltipDirective.visibleChange\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(visible => {\n        this[visible ? 'addClass' : 'removeClass']();\n      });\n  }\n\n  ngOnDestroy() {\n    this.destroy$.next(null);\n    this.destroy$.complete();\n  }\n\n  private addClass() {\n    const classArr =\n      typeof this.customClass === 'string'\n        ? this.customClass.split(' ')\n        : this.customClass;\n    classArr.forEach(name => {\n      this.renderer.addClass(this.el.nativeElement, name);\n    });\n  }\n\n  private removeClass() {\n    const classArr =\n      typeof this.customClass === 'string'\n        ? this.customClass.split(' ')\n        : this.customClass;\n    classArr.forEach(name => {\n      this.renderer.removeClass(this.el.nativeElement, name);\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\n\n/**\n * Texts to render on the code editor.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class TooltipCopyIntl {\n  copyTip = 'Click to copy';\n\n  copySuccessTip = 'Copied to clipboard';\n\n  copyFailTip = 'Copy failed';\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  Input,\n  NgZone,\n  OnInit,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\nimport { takeUntil } from 'rxjs';\n\nimport { BaseTooltip } from './base-tooltip';\nimport { TooltipCopyIntl } from './tooltip-intl';\n\n@Directive({\n  selector: '[auiTooltipCopy]',\n  inputs: ['position:auiTooltipPosition', 'disabled:auiTooltipDisabled'],\n  standalone: true,\n})\nexport class TooltipCopyDirective extends BaseTooltip implements OnInit {\n  @HostBinding('class.aui-tooltip-copy')\n  className = true;\n\n  @Input()\n  get auiTooltipCopy() {\n    return this._copyText || this.elRef.nativeElement.textContent;\n  }\n\n  set auiTooltipCopy(value: string) {\n    this._copyText = value;\n  }\n\n  @Input()\n  get auiTooltipCopyTip() {\n    return this._copyTip || this.toolTipIntl.copyTip;\n  }\n\n  set auiTooltipCopyTip(value: string) {\n    this._copyTip = value;\n  }\n\n  @Input()\n  get auiTooltipCopySuccessTip() {\n    return this._copySuccessTip || this.toolTipIntl.copySuccessTip;\n  }\n\n  set auiTooltipCopySuccessTip(value: string) {\n    this._copySuccessTip = value;\n  }\n\n  @Input()\n  get auiTooltipCopyFailTip() {\n    return this._copyFailTip || this.toolTipIntl.copyFailTip;\n  }\n\n  set auiTooltipCopyFailTip(value: string) {\n    this._copyFailTip = value;\n  }\n\n  private _copyText: string;\n  private _copyTip: string;\n  private _copySuccessTip: string;\n  private _copyFailTip: string;\n\n  constructor(\n    overlay: Overlay,\n    viewContainerRef: ViewContainerRef,\n    elRef: ElementRef,\n    renderer: Renderer2,\n    cdr: ChangeDetectorRef,\n    ngZone: NgZone,\n    private readonly toolTipIntl: TooltipCopyIntl,\n  ) {\n    super(overlay, viewContainerRef, elRef, renderer, cdr, ngZone);\n  }\n\n  ngOnInit() {\n    this.content = this.auiTooltipCopyTip;\n    this.visibleChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.content = this.auiTooltipCopyTip;\n    });\n  }\n\n  @HostListener('click')\n  async onSourceClick() {\n    if (!this.disabled) {\n      try {\n        await navigator.clipboard.writeText(this.auiTooltipCopy);\n        this.content = this.auiTooltipCopySuccessTip;\n      } catch {\n        this.content = this.auiTooltipCopyFailTip;\n      }\n    }\n  }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TooltipActiveDirective } from './tooltip-active.directive';\nimport { TooltipCopyDirective } from './tooltip-copy.directive';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    OverlayModule,\n    TooltipDirective,\n    TooltipComponent,\n    TooltipActiveDirective,\n    TooltipCopyDirective,\n  ],\n  exports: [TooltipDirective, TooltipActiveDirective, TooltipCopyDirective],\n})\nexport class TooltipModule {}\n\nexport const TOOLTIP_MODULE = [\n  TooltipDirective,\n  TooltipActiveDirective,\n  TooltipCopyDirective,\n] as const;\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Host,\n  Input,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n  BehaviorSubject,\n  Observable,\n  Subject,\n  fromEvent,\n  merge,\n  takeUntil,\n  debounceTime,\n  startWith,\n  distinctUntilChanged,\n} from 'rxjs';\n\nimport { scrollIntoView } from '../internal/utils';\nimport { BaseTooltip, TooltipTrigger, TooltipType } from '../tooltip';\nimport { AnimationType } from '../tooltip/animations';\n\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { AutoCompleteContext, SuggestionFilterFn } from './autocomplete.types';\nimport { SuggestionComponent } from './suggestion/suggestion.component';\n\n@Directive({\n  selector: 'input[auiAutocomplete],textarea[auiAutocomplete]',\n  exportAs: 'auiAutocomplete',\n  inputs: ['class:auiAutocompleteClass'],\n  host: {\n    autocomplete: 'off',\n  },\n  standalone: true,\n})\nexport class AutoCompleteDirective\n  extends BaseTooltip<AutoCompleteContext>\n  implements OnInit, OnDestroy, AfterViewInit\n{\n  @Input('auiAutocomplete')\n  get autocomplete() {\n    return this._autocomplete;\n  }\n\n  set autocomplete(val) {\n    if (val === this._autocomplete) {\n      return;\n    }\n    val.directive$$.next(this);\n    this._autocomplete = val;\n    this.content = val.template;\n  }\n\n  @Input('auiAutocompleteFilterFn')\n  get filterFn() {\n    return this._filterFn;\n  }\n\n  set filterFn(val) {\n    if (val !== this._filterFn) {\n      this._filterFn = val;\n      this.filterFn$$.next(val);\n    }\n  }\n\n  @Input('auiAutocompleteDefaultFirstSuggestion')\n  defaultFirstSuggestion = true;\n\n  @Input('auiAutocompleteTrigger')\n  suggestionTrigger: 'auto' | 'input' = 'auto';\n\n  declare innerSelector: string;\n\n  @Output('auiAutocompleteVisibleChange')\n  override visibleChange = new EventEmitter<boolean>();\n\n  @Output('auiAutocompleteSelected')\n  selected = new EventEmitter<string>();\n\n  // Whether to automatically update input value after selection\n  @Input('auiAutocompleteAutoPatch')\n  autoPatch = true;\n\n  override animationType: AnimationType = 'scaleY';\n\n  private _autocomplete: AutocompleteComponent;\n  private focusedSuggestion: SuggestionComponent;\n\n  private readonly inputValue$$ = new BehaviorSubject(this.input.value);\n\n  private readonly filterFn$$ = new BehaviorSubject<SuggestionFilterFn>(\n    this.filterFn,\n  );\n\n  private readonly unsubscribe$ = new Subject<void>();\n\n  inputValue$: Observable<string> = this.inputValue$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  filterFn$: Observable<SuggestionFilterFn> = this.filterFn$$.asObservable();\n\n  get input(): HTMLInputElement {\n    const el = this.elRef.nativeElement;\n    return this.innerSelector ? el.querySelector(this.innerSelector) : el;\n  }\n\n  constructor(\n    overlay: Overlay,\n    viewContainerRef: ViewContainerRef,\n    elRef: ElementRef<HTMLInputElement>,\n    renderer: Renderer2,\n    cdr: ChangeDetectorRef,\n    ngZone: NgZone,\n    @Optional()\n    @Host()\n    private readonly ngControl: NgControl,\n  ) {\n    super(overlay, viewContainerRef, elRef, renderer, cdr, ngZone);\n    this.type = TooltipType.Plain;\n    this.trigger = TooltipTrigger.Manual;\n    this.position = 'bottom start';\n    this.hideOnClick = true;\n  }\n\n  ngOnInit() {\n    this.visibleChange.pipe(takeUntil(this.destroy$)).subscribe(visible => {\n      this[visible ? 'updateSuggestionsContext' : 'resetFocusedSuggestion']();\n    });\n\n    if (this.ngControl) {\n      this.ngControl.valueChanges\n        .pipe(takeUntil(this.unsubscribe$))\n        .subscribe((value: string[] | string) => {\n          if (!Array.isArray(value)) {\n            this.inputValue$$.next(value);\n          }\n        });\n\n      this.ngControl.statusChanges\n        .pipe(startWith(this.ngControl.status), takeUntil(this.unsubscribe$))\n        .subscribe(status => {\n          this.disabled = status === 'DISABLED';\n        });\n    }\n  }\n\n  override ngAfterViewInit() {\n    const input = this.input;\n\n    merge(\n      fromEvent(this.elRef.nativeElement, 'click'),\n      fromEvent(input, 'focus'),\n    )\n      .pipe(debounceTime(0), takeUntil(this.unsubscribe$))\n      .subscribe(() => this.onFocus());\n\n    fromEvent(input, 'blur')\n      .pipe(takeUntil(this.unsubscribe$))\n      .subscribe(() => this.onBlur());\n\n    fromEvent(input, 'input')\n      .pipe(takeUntil(this.unsubscribe$))\n      .subscribe(ev => this.onInput(ev));\n\n    fromEvent<KeyboardEvent>(input, 'keydown')\n      .pipe(takeUntil(this.unsubscribe$))\n      .subscribe(ev => this.onKeyDown(ev));\n  }\n\n  override ngOnDestroy() {\n    this.unsubscribe$.next();\n    this.unsubscribe$.complete();\n  }\n\n  override onFocus() {\n    if (this.suggestionTrigger === 'auto' && !this.isCreated) {\n      super.onFocus();\n    }\n  }\n\n  onInput(event: Event) {\n    const value = (event.target as HTMLInputElement).value;\n    this.inputValue$$.next(value);\n    this.show();\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    switch (event.key) {\n      case 'ArrowDown': {\n        this.focusSuggestionDir('down');\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'ArrowUp': {\n        this.focusSuggestionDir('up');\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'Enter': {\n        if (this.focusedSuggestion) {\n          this.selectFocusedOption();\n          event.stopPropagation();\n          event.preventDefault();\n        }\n        break;\n      }\n      case 'Escape': {\n        this.hide();\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n    }\n  }\n\n  updateSuggestionsContext() {\n    this.context = {\n      ...this.context,\n      width: this.elRef.nativeElement.offsetWidth + 'px',\n    };\n  }\n\n  onSuggestionClick(value: string) {\n    let isArrCtrl = false;\n\n    if (this.autoPatch) {\n      if (this.ngControl) {\n        const { control } = this.ngControl;\n        isArrCtrl = Array.isArray(control.value);\n        control.patchValue(isArrCtrl ? [...control.value, value] : value);\n      } else {\n        this.input.value = value;\n      }\n    }\n\n    this.inputValue$$.next(isArrCtrl ? '' : value);\n\n    this.selected.emit(value);\n    this.hide();\n  }\n\n  override show() {\n    super.show();\n    this.autoFocusFirstSuggestion();\n  }\n\n  autoFocusFirstSuggestion() {\n    const selectedSuggestion = this.autocomplete.suggestions.find(\n      suggestion => suggestion.selected,\n    );\n    if (selectedSuggestion) {\n      this.resetFocusedSuggestion(selectedSuggestion);\n      requestAnimationFrame(() => {\n        this.scrollToSuggestion(selectedSuggestion);\n      });\n    } else if (this.defaultFirstSuggestion) {\n      const firstFocusableSuggestion = this.autocomplete.suggestions.find(\n        suggestion => suggestion.visible && !suggestion.disabled,\n      );\n      this.resetFocusedSuggestion(firstFocusableSuggestion);\n      if (firstFocusableSuggestion) {\n        requestAnimationFrame(() => {\n          this.scrollToSuggestion(firstFocusableSuggestion);\n        });\n      }\n    }\n  }\n\n  private focusSuggestionDir(dir: 'down' | 'up') {\n    if (!this.isCreated) {\n      this.show();\n      return;\n    }\n    const visibleSuggestions = this.autocomplete.suggestions.filter(\n      suggestion => suggestion.visible && !suggestion.disabled,\n    );\n    if (visibleSuggestions.length === 0) {\n      return;\n    }\n    const step = dir === 'down' ? 1 : -1;\n    let i = visibleSuggestions.indexOf(this.focusedSuggestion);\n    i = i + step;\n    if (i >= visibleSuggestions.length) {\n      i = 0;\n    } else if (i < 0) {\n      i = visibleSuggestions.length - 1;\n    }\n    this.resetFocusedSuggestion(visibleSuggestions[i]);\n    this.scrollToSuggestion(this.focusedSuggestion);\n  }\n\n  private resetFocusedSuggestion(\n    focusedSuggestion: SuggestionComponent = null,\n  ) {\n    if (this.focusedSuggestion) {\n      this.focusedSuggestion.blur();\n    }\n    this.focusedSuggestion = focusedSuggestion;\n    if (this.focusedSuggestion) {\n      this.focusedSuggestion.focus();\n    }\n  }\n\n  private scrollToSuggestion(suggestion: SuggestionComponent) {\n    if (this.autocomplete.suggestionListRef) {\n      scrollIntoView(\n        this.autocomplete.suggestionListRef.nativeElement,\n        suggestion.elRef.nativeElement,\n      );\n    }\n  }\n\n  protected selectFocusedOption() {\n    if (this.focusedSuggestion) {\n      this.onSuggestionClick(this.focusedSuggestion.value);\n    }\n  }\n\n  private _filterFn(inputValue: string, suggestion: string) {\n    return suggestion?.toLowerCase().includes(inputValue?.toLowerCase() ?? '');\n  }\n}\n\n@Directive({\n  selector: '[auiAutocomplete]:not(input):not(textarea)',\n  exportAs: 'auiAutocomplete',\n  inputs: ['class:auiAutocompleteClass'],\n  host: {\n    autocomplete: 'off',\n  },\n  standalone: true,\n})\nexport class CustomAutoCompleteDirective extends AutoCompleteDirective {\n  @Input('auiAutocompleteInnerSelector')\n  override innerSelector = 'input,textarea';\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiSuggestionGroupTitle]',\n  exportAs: 'auiSuggestionGroupTitle',\n  host: {\n    '[class.aui-suggestion-group__title]': 'true',\n  },\n  standalone: true,\n})\nexport class SuggestionGroupTitleDirective {}\n","import { AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  QueryList,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { Observable, combineLatest, of, map, startWith, switchMap } from 'rxjs';\n\nimport { publishRef } from '../../internal/utils';\nimport { SuggestionComponent } from '../suggestion/suggestion.component';\n\n@Component({\n  selector: 'aui-suggestion-group',\n  templateUrl: './suggestion-group.component.html',\n  styleUrls: ['./suggestion-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [AsyncPipe],\n})\nexport class SuggestionGroupComponent implements AfterContentInit {\n  @ContentChildren(forwardRef(() => SuggestionComponent))\n  suggestions: QueryList<SuggestionComponent>;\n\n  hasVisibleSuggestion$: Observable<boolean>;\n\n  ngAfterContentInit() {\n    this.hasVisibleSuggestion$ = this.suggestions.changes.pipe(\n      startWith(this.suggestions),\n      switchMap((options: QueryList<SuggestionComponent>) =>\n        options.length > 0\n          ? combineLatest(options.map(node => node.visible$))\n          : of([false]),\n      ),\n      map(visible => visible.some(Boolean)),\n      publishRef(),\n    );\n  }\n}\n","<div\n  [hidden]=\"!(hasVisibleSuggestion$ | async)\"\n  class=\"aui-suggestion-group\"\n>\n  <ng-content select=\"[auiSuggestionGroupTitle]\"></ng-content>\n  <div class=\"aui-suggestion-group__content\"><ng-content></ng-content></div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TooltipModule } from '../tooltip';\n\nimport { AutocompletePlaceholderComponent } from './autocomplete-placeholder.component';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport {\n  AutoCompleteDirective,\n  CustomAutoCompleteDirective,\n} from './autocomplete.directive';\nimport { SuggestionGroupTitleDirective } from './helper-directives';\nimport { SuggestionComponent } from './suggestion/suggestion.component';\nimport { SuggestionGroupComponent } from './suggestion-group/suggestion-group.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    OverlayModule,\n    TooltipModule,\n    AutoCompleteDirective,\n    CustomAutoCompleteDirective,\n    AutocompleteComponent,\n    SuggestionComponent,\n    AutocompletePlaceholderComponent,\n    SuggestionGroupComponent,\n    SuggestionGroupTitleDirective,\n  ],\n  exports: [\n    AutoCompleteDirective,\n    CustomAutoCompleteDirective,\n    AutocompleteComponent,\n    SuggestionComponent,\n    AutocompletePlaceholderComponent,\n    SuggestionGroupComponent,\n    SuggestionGroupTitleDirective,\n  ],\n})\nexport class AutocompleteModule {}\n\nexport const AUTOCOMPLETE_MODULE = [\n  AutoCompleteDirective,\n  CustomAutoCompleteDirective,\n  AutocompleteComponent,\n  SuggestionComponent,\n  AutocompletePlaceholderComponent,\n  SuggestionGroupComponent,\n  SuggestionGroupTitleDirective,\n] as const;\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Optional,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {\n  BehaviorSubject,\n  combineLatest,\n  fromEvent,\n  distinctUntilChanged,\n  map,\n  switchMap,\n  throttleTime,\n  startWith,\n} from 'rxjs';\n\nimport { ButtonComponent } from '../button/button.component';\nimport { IconComponent } from '../icon/icon.component';\n\ntype TargetType = Element | Window | string;\n\n@Component({\n  selector: 'aui-back-top',\n  templateUrl: './back-top.component.html',\n  styleUrls: ['./back-top.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [ButtonComponent, IconComponent, AsyncPipe],\n})\nexport class BackTopComponent {\n  @Input()\n  set visibilityHeight(val: number) {\n    this._visibilityHeight = val;\n    this.visibilityHeight$$.next(val);\n  }\n\n  get visibilityHeight() {\n    return this._visibilityHeight;\n  }\n\n  @Input()\n  position: {\n    left?: string;\n    right?: string;\n    top?: string;\n    bottom?: string;\n  } = { right: '12px', bottom: '12px' };\n\n  @Input()\n  set target(val: TargetType) {\n    this._target = val;\n    this.target$$.next(val);\n  }\n\n  get target() {\n    return this._target;\n  }\n\n  @Output()\n  click = new EventEmitter<Event>();\n\n  private _visibilityHeight = 400;\n  private readonly target$$ = new BehaviorSubject<TargetType>(this.target);\n  private readonly visibilityHeight$$ = new BehaviorSubject<number>(\n    this.visibilityHeight,\n  );\n\n  private _target: TargetType;\n  private _scrollTarget: Element | Window;\n\n  constructor(@Optional() private readonly cdkScrollable: CdkScrollable) {}\n\n  display$ = combineLatest([\n    this.target$$.asObservable().pipe(\n      map(target => this.getTarget(target)),\n      switchMap(target =>\n        fromEvent(target, 'scroll').pipe(\n          // use default scheduler\n          throttleTime(50, undefined, { leading: true, trailing: true }),\n          map(() => this.getTargetScrollTop(target)),\n        ),\n      ),\n    ),\n    this.visibilityHeight$$,\n  ]).pipe(\n    map(([scrollTop, visibilityHeight]) => scrollTop >= visibilityHeight),\n    map(visible => (visible ? 'flex' : 'none')),\n    startWith('none'),\n    distinctUntilChanged(),\n  );\n\n  getTargetScrollTop(target: Element | Window) {\n    if (target === window) {\n      return document.documentElement.scrollTop;\n    }\n    return (target as HTMLElement).scrollTop;\n  }\n\n  handleClick(event: Event) {\n    this.scrollToTop(200);\n    this.click.emit(event);\n  }\n\n  scrollToTop(duration: number) {\n    const startHeight = this.getTargetScrollTop(this._scrollTarget);\n    let startTime: number;\n\n    const scrollStep = (timestamp: number) => {\n      if (!startTime) {\n        startTime = timestamp;\n      }\n      const scrollHeight = Math.max(\n        startHeight - ((timestamp - startTime) / duration) * startHeight,\n        0,\n      );\n\n      this._scrollTarget.scrollTo(0, scrollHeight);\n      if (scrollHeight) {\n        requestAnimationFrame(scrollStep);\n      }\n    };\n    requestAnimationFrame(scrollStep);\n  }\n\n  getTarget(target: TargetType): Element | Window {\n    const scrollTarget =\n      (typeof target === 'string' ? document.querySelector(target) : target) ||\n      this.cdkScrollable?.getElementRef().nativeElement ||\n      window;\n    this._scrollTarget = scrollTarget;\n    return scrollTarget;\n  }\n}\n","<div\n  class=\"aui-back-top\"\n  [style.display]=\"display$ | async\"\n  [style.position]=\"'fixed'\"\n  [style]=\"position\"\n>\n  <button\n    aui-button=\"text\"\n    [square]=\"true\"\n    [plain]=\"true\"\n    (click)=\"handleClick($event)\"\n    size=\"small\"\n  >\n    <aui-icon\n      icon=\"arrow_up_to_line\"\n      class=\"aui-back-top__icon\"\n    ></aui-icon>\n  </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\n\nimport { BackTopComponent } from './back-top.component';\n\n@NgModule({\n  imports: [CommonModule, IconModule, ButtonModule, BackTopComponent],\n  exports: [BackTopComponent],\n})\nexport class BackTopModule {}\n","import { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n  selector: 'aui-breadcrumb-item',\n  templateUrl: './breadcrumb-item.component.html',\n  styleUrls: ['./breadcrumb-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent],\n})\nexport class BreadcrumbItemComponent {\n  get separator() {\n    return this._separator;\n  }\n\n  set separator(val) {\n    this._separator = val;\n    this.cdr.markForCheck();\n  }\n\n  get separatorIcon() {\n    return this._separatorIcon;\n  }\n\n  set separatorIcon(val) {\n    this._separatorIcon = val;\n    this.cdr.markForCheck();\n  }\n\n  private _separator = '/';\n  private _separatorIcon = '';\n\n  constructor(private readonly cdr: ChangeDetectorRef) {}\n}\n","<div class=\"aui-breadcrumb__item\">\n  <span class=\"aui-breadcrumb__content\"><ng-content></ng-content></span>\n  <span class=\"aui-breadcrumb__separator\">\n    <ng-container *ngIf=\"!separatorIcon\">{{ separator }}</ng-container>\n    <aui-icon\n      *ngIf=\"separatorIcon\"\n      [icon]=\"separatorIcon\"\n    ></aui-icon>\n  </span>\n</div>\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\n\n@Component({\n  selector: 'aui-breadcrumb',\n  templateUrl: './breadcrumb.component.html',\n  styleUrls: ['./breadcrumb.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class BreadcrumbComponent implements AfterContentInit {\n  @Input()\n  get separator() {\n    return this._separator;\n  }\n\n  set separator(val) {\n    if (val === this._separator) {\n      return;\n    }\n    this._separator = val;\n    if (this.items) {\n      this.items.forEach(item => {\n        item.separator = val;\n      });\n    }\n  }\n\n  @Input()\n  get separatorIcon() {\n    return this._separatorIcon;\n  }\n\n  set separatorIcon(val) {\n    if (val === this._separatorIcon) {\n      return;\n    }\n    this._separatorIcon = val;\n    if (this.items) {\n      this.items.forEach(item => {\n        item.separatorIcon = val;\n      });\n    }\n  }\n\n  @ContentChildren(BreadcrumbItemComponent)\n  items: QueryList<BreadcrumbItemComponent>;\n\n  private _separator = '/';\n  private _separatorIcon = '';\n\n  ngAfterContentInit() {\n    this.items.forEach(item => {\n      item.separator = this.separator;\n      item.separatorIcon = this.separatorIcon;\n    });\n  }\n}\n","<div class=\"aui-breadcrumb\"><ng-content></ng-content></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { BreadcrumbComponent } from './breadcrumb.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    IconModule,\n    BreadcrumbComponent,\n    BreadcrumbItemComponent,\n  ],\n  exports: [BreadcrumbComponent, BreadcrumbItemComponent],\n})\nexport class BreadcrumbModule {}\n\nexport const BREADCRUMB_MODULE = [\n  BreadcrumbComponent,\n  BreadcrumbItemComponent,\n] as const;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-card',\n  templateUrl: './card.component.html',\n  styleUrls: ['./card.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class CardComponent {\n  @Input() divider = true;\n}\n","<div\n  class=\"aui-card\"\n  [class.hasDivider]=\"divider\"\n>\n  <ng-content select=\"[auiCardHeader]\"></ng-content>\n  <div class=\"aui-card__content\"><ng-content></ng-content></div>\n  <ng-content select=\"[auiCardFooter]\"></ng-content>\n</div>\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiCardHeader]',\n  host: {\n    '[class.aui-card__header]': 'true',\n  },\n  standalone: true,\n})\nexport class CardHeaderDirective {}\n\n@Directive({\n  selector: '[auiCardFooter]',\n  host: {\n    '[class.aui-card__footer]': 'true',\n  },\n  standalone: true,\n})\nexport class CardFooterDirective {}\n\n@Directive({\n  selector: '[auiSectionTitle]',\n  host: {\n    '[class.aui-section__title]': 'true',\n  },\n  standalone: true,\n})\nexport class SectionTitleDirective {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-section',\n  templateUrl: './section.component.html',\n  styleUrls: ['./section.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class SectionComponent {}\n","<div class=\"aui-section\">\n  <ng-content select=\"[auiSectionTitle]\"></ng-content>\n  <div class=\"aui-section__content\"><ng-content></ng-content></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport {\n  CardFooterDirective,\n  CardHeaderDirective,\n  SectionTitleDirective,\n} from './helper-directives';\nimport { SectionComponent } from './section.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    CardComponent,\n    CardHeaderDirective,\n    CardFooterDirective,\n    SectionComponent,\n    SectionTitleDirective,\n  ],\n  exports: [\n    CardComponent,\n    CardHeaderDirective,\n    CardFooterDirective,\n    SectionComponent,\n    SectionTitleDirective,\n  ],\n})\nexport class CardModule {}\n\nexport const CARD_MODULE = [\n  CardComponent,\n  CardHeaderDirective,\n  CardFooterDirective,\n  SectionComponent,\n  SectionTitleDirective,\n] as const;\n","import {\n  ChangeDetectorRef,\n  Directive,\n  EventEmitter,\n  Input,\n  Output,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ReplaySubject } from 'rxjs';\n\nimport { coerceAttrBoolean } from '../internal/utils';\n\n/**\n * form control 内部不保持 value 属性，当不使用 ngModel 时可以通过 [(value)] 实现双向绑定；\n * 也可以分别传入 value 和 监听 valueChange 事件以实现阻断用户操作的功能。\n */\n@Directive({\n  standalone: true,\n})\nexport class CommonFormControl<V, M = V> implements ControlValueAccessor {\n  @Input()\n  get disabled() {\n    return this._readonly || this._disabled;\n  }\n\n  set disabled(val: boolean | '') {\n    this._disabled = coerceAttrBoolean(val);\n  }\n\n  @Input()\n  get readonly() {\n    return this._readonly;\n  }\n\n  set readonly(val) {\n    this._readonly = coerceAttrBoolean(val);\n    this.disabled = val;\n  }\n\n  @Input('value')\n  get propValue() {\n    return this._propValue;\n  }\n\n  set propValue(val) {\n    if (val === this._propValue) {\n      return;\n    }\n    this._propValue = val;\n    this.writeValue(val);\n  }\n\n  @Output()\n  valueChange = new EventEmitter<V>();\n\n  protected onChange: (_: V) => void;\n  protected onTouched: () => void;\n  private _propValue: V;\n  private _disabled = false;\n  private _readonly: boolean;\n\n  model: M = null;\n  model$ = new ReplaySubject<M>(1);\n\n  constructor(protected cdr: ChangeDetectorRef) {\n    this.model$.subscribe(model => {\n      this.model = model;\n      this.cdr.markForCheck();\n    });\n  }\n\n  registerOnChange(fn: (_: V) => void) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void) {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean) {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(value: V) {\n    this.model$.next(this.valueIn(value));\n  }\n\n  emitModel(model: M) {\n    this.emitValue(this.modelOut(model));\n  }\n\n  emitValue(value: V) {\n    if (this.onChange) {\n      this.onChange(value);\n      this.writeValue(value);\n    }\n    this.valueChange.emit(value);\n  }\n\n  protected valueIn(value: V): M {\n    return value as any;\n  }\n\n  protected modelOut(model: M): V {\n    return model as any;\n  }\n}\n","import { ValueOf } from '../internal/types';\n\nexport const LabelPosition = {\n  Top: 'top',\n  Left: 'left',\n  Right: 'right',\n} as const;\n\nexport const FormItemWidth = {\n  Small: 'small',\n  /**\n   * @deprecated Prefer to 'Large'\n   */\n  Medium: 'medium',\n  Large: 'large',\n} as const;\n\nexport type LabelPosition = ValueOf<typeof LabelPosition>;\n\nexport type FormItemWidth = ValueOf<typeof FormItemWidth>;\n","import { Directive, Inject, Input, Optional } from '@angular/core';\nimport { ControlContainer, FormGroupDirective, NgForm } from '@angular/forms';\nimport { BehaviorSubject, Observable, distinctUntilChanged } from 'rxjs';\n\nimport { LabelPosition } from './form.types';\n\n@Directive({\n  selector: 'form[auiForm]',\n  exportAs: 'auiForm',\n  host: {\n    '[class.aui-form]': 'true',\n    '[class.aui-form--inline]': 'inline',\n    '[class.ng-submitted]': 'ngClassSubmitted',\n  },\n  standalone: true,\n})\nexport class FormDirective {\n  get ngClassSubmitted() {\n    return (this.controlContainer?.formDirective as FormGroupDirective | NgForm)\n      .submitted;\n  }\n\n  private readonly labelWidth$$ = new BehaviorSubject<string>(null);\n  private readonly labelPosition$$ = new BehaviorSubject<LabelPosition>(\n    LabelPosition.Right,\n  );\n\n  private readonly emptyAddon$$ = new BehaviorSubject<boolean>(false);\n\n  @Input('auiFormLabelWidth')\n  set labelWidth(val: string) {\n    this.labelWidth$$.next(val);\n  }\n\n  @Input('auiFormLabelPosition')\n  set labelPosition(val: LabelPosition) {\n    this.labelPosition$$.next(val);\n  }\n\n  @Input('auiFormEmptyAddon')\n  set emptyAddon(val: boolean) {\n    this.emptyAddon$$.next(val);\n  }\n\n  @Input('auiFormInline')\n  inline = false;\n\n  labelWidth$: Observable<string> = this.labelWidth$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  labelPosition$: Observable<LabelPosition> = this.labelPosition$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  emptyAddon$: Observable<boolean> = this.emptyAddon$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  constructor(\n    @Inject(ControlContainer)\n    @Optional()\n    public controlContainer?: ControlContainer,\n  ) {}\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { coerceAttrBoolean } from '../internal/utils';\n\n@Directive({\n  selector: 'label[auiFormItemLabel]',\n  host: {\n    '[class.aui-form-item__label]': 'true',\n  },\n  standalone: true,\n})\nexport class FormItemLabelDirective {}\n\n@Directive({\n  selector: '[auiFormItemHint]',\n  host: {\n    '[class.aui-form-item__hint]': 'true',\n  },\n  standalone: true,\n})\nexport class FormItemHintDirective {}\n\n@Directive({\n  selector: '[auiFormItemAddon]',\n  host: {\n    '[class.aui-form-item__addon]': 'true',\n  },\n  standalone: true,\n})\nexport class FormItemAddonDirective {}\n\n@Directive({\n  selector: '[auiFormItemError]',\n  host: {\n    '[class.aui-form-item__error]': 'true',\n  },\n  standalone: true,\n})\nexport class FormItemErrorDirective {}\n\n@Directive({\n  selector: '[auiFormItemControl]',\n  host: {\n    '[class.aui-form-item__control]': 'true',\n  },\n  standalone: true,\n})\nexport class FormItemControlDirective {\n  @Input({ transform: coerceAttrBoolean })\n  required: boolean;\n}\n","import { NgClass, NgIf, AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  Input,\n  OnDestroy,\n  Optional,\n  QueryList,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport {\n  Observable,\n  Subject,\n  combineLatest,\n  merge,\n  map,\n  startWith,\n  switchMap,\n  takeUntil,\n} from 'rxjs';\n\nimport { Bem, buildBem, publishRef } from '../../internal/utils';\nimport { FormDirective } from '../form.directive';\nimport { FormItemWidth, LabelPosition } from '../form.types';\nimport {\n  FormItemAddonDirective,\n  FormItemControlDirective,\n  FormItemErrorDirective,\n  FormItemHintDirective,\n  FormItemLabelDirective,\n} from '../helper-directives';\n\n@Component({\n  selector: 'aui-form-item',\n  templateUrl: './form-item.component.html',\n  styleUrls: ['./form-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgClass, NgIf, AsyncPipe],\n})\nexport class FormItemComponent implements AfterContentInit, OnDestroy {\n  bem: Bem = buildBem('aui-form-item');\n\n  @Input()\n  labelWidth: string = null;\n\n  @Input()\n  width: FormItemWidth;\n\n  @Input()\n  labelPosition: LabelPosition = LabelPosition.Right;\n\n  @Input()\n  emptyAddon = false;\n\n  @Input()\n  plain = false;\n\n  @ContentChild(FormItemLabelDirective, { static: false })\n  itemLabel: FormItemLabelDirective;\n\n  @ContentChild(FormItemControlDirective, { static: false })\n  itemControl: FormItemControlDirective;\n\n  @ContentChildren(NgControl, { descendants: true })\n  ngControls: QueryList<NgControl>;\n\n  @ContentChildren(FormItemAddonDirective)\n  addons: QueryList<FormItemAddonDirective>;\n\n  @ContentChildren(FormItemErrorDirective)\n  errors: QueryList<FormItemErrorDirective>;\n\n  @ContentChildren(FormItemHintDirective)\n  hints: QueryList<FormItemHintDirective>;\n\n  hasError$: Observable<boolean>;\n  errorCount$: Observable<number>;\n  hintCount$: Observable<number>;\n  parentForm: FormGroupDirective | NgForm;\n\n  private readonly destroy$$ = new Subject<void>();\n\n  get formItemWidthClass() {\n    return this.width\n      ? this.bem.element('content', { [this.width]: true })\n      : '';\n  }\n\n  constructor(\n    private readonly cdr: ChangeDetectorRef,\n    @Optional() private readonly auiForm: FormDirective,\n    @Optional() ngForm: NgForm,\n    @Optional() formGroup: FormGroupDirective,\n  ) {\n    this.parentForm = formGroup || ngForm;\n    if (this.auiForm) {\n      this.subscribeInputsFromParent();\n    }\n  }\n\n  ngAfterContentInit() {\n    this.hasError$ = this.ngControls.changes.pipe(\n      startWith(this.ngControls),\n      switchMap((controls: QueryList<NgControl>) =>\n        combineLatest(\n          controls.map(control => this.mapControlStatus(control)),\n        ).pipe(map(statuses => statuses.some(Boolean))),\n      ),\n    );\n\n    this.errorCount$ = this.errors.changes.pipe(\n      map(errors => errors.length),\n      startWith(this.errors.length),\n    );\n\n    this.hintCount$ = this.hints.changes.pipe(\n      map(hints => hints.length),\n      startWith(this.hints.length),\n    );\n  }\n\n  subscribeInputsFromParent() {\n    this.auiForm.labelWidth$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(width => {\n        this.labelWidth = width;\n        this.cdr.markForCheck();\n      });\n    this.auiForm.labelPosition$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(position => {\n        this.labelPosition = position;\n        this.cdr.markForCheck();\n      });\n    this.auiForm.emptyAddon$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(emptyAddon => {\n        this.emptyAddon = emptyAddon;\n        this.cdr.markForCheck();\n      });\n  }\n\n  mapControlStatus(control: NgControl) {\n    return (\n      this.parentForm\n        ? combineLatest([\n            control.statusChanges.pipe(startWith(control.status)),\n            merge(\n              this.parentForm.statusChanges.pipe(\n                startWith(this.parentForm.status),\n              ),\n              this.parentForm.ngSubmit,\n            ),\n          ]).pipe(map(([status]: string[]) => status))\n        : control.statusChanges\n    ).pipe(\n      map(\n        (status: string) =>\n          status === 'INVALID' && (control.dirty || this.parentForm?.submitted),\n      ),\n      publishRef(),\n    );\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n  }\n}\n","<div\n  [class]=\"bem.block(labelPosition)\"\n  [class.isPlain]=\"plain\"\n  [class.hasError]=\"hasError$ | async\"\n>\n  <div\n    [ngClass]=\"\n      bem.element(\n        'label-wrapper',\n        { required: !!itemControl?.required },\n        labelPosition\n      )\n    \"\n    [class.hasLabel]=\"!!itemLabel\"\n    [style.width]=\"labelWidth\"\n  >\n    <ng-content select=\"label[auiFormItemLabel]\"></ng-content>\n  </div>\n  <div class=\"aui-form-item__container\">\n    <div\n      class=\"aui-form-item__content\"\n      [ngClass]=\"formItemWidthClass\"\n    >\n      <ng-content></ng-content>\n      <div\n        *ngIf=\"emptyAddon || addons?.length\"\n        class=\"aui-form-item__addon-wrapper\"\n      >\n        <ng-content select=\"[auiFormItemAddon]\"></ng-content>\n      </div>\n    </div>\n    <div\n      *ngIf=\"(hasError$ | async) && (errorCount$ | async)\"\n      class=\"aui-form-item__error-wrapper\"\n    >\n      <ng-content select=\"[auiFormItemError]\"></ng-content>\n    </div>\n    <div\n      *ngIf=\"hintCount$ | async\"\n      class=\"aui-form-item__hint-wrapper\"\n    >\n      <ng-content select=\"[auiFormItemHint]\"></ng-content>\n    </div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FormItemComponent } from './form-item/form-item.component';\nimport { FormDirective } from './form.directive';\nimport {\n  FormItemAddonDirective,\n  FormItemControlDirective,\n  FormItemErrorDirective,\n  FormItemHintDirective,\n  FormItemLabelDirective,\n} from './helper-directives';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormDirective,\n    FormItemComponent,\n    FormItemAddonDirective,\n    FormItemErrorDirective,\n    FormItemHintDirective,\n    FormItemLabelDirective,\n    FormItemControlDirective,\n  ],\n  exports: [\n    FormDirective,\n    FormItemComponent,\n    FormItemAddonDirective,\n    FormItemErrorDirective,\n    FormItemHintDirective,\n    FormItemLabelDirective,\n    FormItemControlDirective,\n  ],\n})\nexport class FormModule {}\n\nexport const FORM_MODULE = [\n  FormDirective,\n  FormItemComponent,\n  FormItemAddonDirective,\n  FormItemErrorDirective,\n  FormItemHintDirective,\n  FormItemLabelDirective,\n  FormItemControlDirective,\n] as const;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonFormControl } from '../../form';\nimport { TrackFn } from '../../select';\nimport { CheckboxComponent } from '../checkbox.component';\n\n@Component({\n  selector: 'aui-checkbox-group',\n  templateUrl: './checkbox-group.component.html',\n  styleUrls: ['./checkbox-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CheckboxGroupComponent),\n      multi: true,\n    },\n  ],\n  standalone: true,\n})\nexport class CheckboxGroupComponent<T> extends CommonFormControl<T[]> {\n  private _trackFn: TrackFn<T>;\n\n  @Input()\n  direction: 'column' | 'row' = 'row';\n\n  @Input()\n  get trackFn() {\n    return this._trackFn;\n  }\n\n  set trackFn(val) {\n    if (val !== this._trackFn) {\n      this._trackFn = val;\n    }\n  }\n\n  @ContentChildren(forwardRef(() => CheckboxComponent), {\n    descendants: true,\n  })\n  checkboxes: QueryList<CheckboxComponent<T>>;\n\n  onCheckboxChange(checkbox: CheckboxComponent<T>) {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n    const values = this.checkboxes\n      .filter(item => (item === checkbox ? !item.model : item.model))\n      .map(item => item.label);\n    this.emitValue(values);\n  }\n\n  onCheckboxBlur() {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n  }\n}\n","<div class=\"aui-checkbox-group aui-checkbox-group--{{ direction }}\">\n  <ng-content></ng-content>\n</div>\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgIf } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  OnDestroy,\n  Optional,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, Subject, combineLatest, map, takeUntil } from 'rxjs';\n\nimport { CommonFormControl } from '../form';\nimport { IconComponent } from '../icon/icon.component';\n\nimport { CheckboxGroupComponent } from './checkbox-group/checkbox-group.component';\n\nlet uniqueId = 0;\n@Component({\n  selector: 'aui-checkbox',\n  templateUrl: './checkbox.component.html',\n  styleUrls: ['./checkbox.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CheckboxComponent),\n      multi: true,\n    },\n  ],\n  imports: [NgIf, IconComponent],\n})\nexport class CheckboxComponent<T>\n  extends CommonFormControl<boolean>\n  implements AfterViewInit, OnDestroy\n{\n  id = `aui-checkbox-${uniqueId++}`;\n\n  @Input()\n  name = '';\n\n  @Input()\n  type = 'label';\n\n  @Input()\n  get label() {\n    return this._label;\n  }\n\n  set label(val) {\n    this._label = val;\n    this.label$$.next(val);\n  }\n\n  @Input()\n  get indeterminate(): boolean {\n    return this._indeterminate;\n  }\n\n  set indeterminate(value: boolean) {\n    this._indeterminate = value;\n  }\n\n  @ViewChild('elRef', { static: true })\n  elRef: ElementRef;\n\n  private readonly checkboxGroup: CheckboxGroupComponent<T>;\n  private _label: T;\n  private readonly label$$ = new BehaviorSubject(this.label);\n  private _indeterminate = false;\n  private readonly destroy$$ = new Subject<void>();\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    @Optional()\n    @Inject(forwardRef(() => CheckboxGroupComponent))\n    checkboxGroup: CheckboxGroupComponent<T>,\n    private readonly focusMonitor: FocusMonitor,\n  ) {\n    super(cdr);\n    this.checkboxGroup = checkboxGroup;\n    if (this.checkboxGroup) {\n      combineLatest([this.checkboxGroup.model$, this.label$$])\n        .pipe(\n          takeUntil(this.destroy$$),\n          map(([values, label]) => {\n            if (this.checkboxGroup.trackFn) {\n              return values?.some(\n                v =>\n                  this.checkboxGroup.trackFn(v) ===\n                  this.checkboxGroup.trackFn(label),\n              );\n            }\n            return values?.includes(label);\n          }),\n        )\n        .subscribe(checked => {\n          this.writeValue(!!checked);\n        });\n    }\n  }\n\n  ngAfterViewInit() {\n    this.focusMonitor.monitor(this.elRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.focusMonitor.stopMonitoring(this.elRef.nativeElement);\n  }\n\n  onClick() {\n    if (this.disabled) {\n      return;\n    }\n    if (this.indeterminate) {\n      this._indeterminate = false;\n    }\n    this.emitValue(!this.model);\n    if (this.checkboxGroup) {\n      this.checkboxGroup.onCheckboxChange(this);\n    }\n  }\n\n  onBlur() {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n    if (this.checkboxGroup) {\n      this.checkboxGroup.onCheckboxBlur();\n    }\n  }\n}\n","<div\n  #elRef\n  class=\"aui-checkbox\"\n  [class.isDisabled]=\"disabled\"\n  [class.isChecked]=\"model\"\n  [class.isIndeterminate]=\"indeterminate\"\n  [class.isTag]=\"type === 'tag'\"\n>\n  <input\n    [name]=\"name\"\n    [id]=\"id\"\n    class=\"aui-checkbox__input\"\n    type=\"checkbox\"\n    [checked]=\"model\"\n    [disabled]=\"disabled\"\n    (click)=\"onClick()\"\n    (blur)=\"onBlur()\"\n  />\n  <label\n    class=\"aui-checkbox__label\"\n    [for]=\"id\"\n  >\n    <i class=\"aui-checkbox__pointer\">\n      <aui-icon\n        *ngIf=\"model && !indeterminate\"\n        icon=\"check\"\n      ></aui-icon>\n    </i>\n    <span class=\"aui-checkbox__content\"><ng-content></ng-content></span>\n  </label>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { CheckboxGroupComponent } from './checkbox-group/checkbox-group.component';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    IconModule,\n    CheckboxComponent,\n    CheckboxGroupComponent,\n  ],\n  exports: [CheckboxComponent, CheckboxGroupComponent],\n})\nexport class CheckboxModule {}\n\nexport const CHECKBOX_MODULE = [\n  CheckboxComponent,\n  CheckboxGroupComponent,\n] as const;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonFormControl } from '../form';\n\n@Component({\n  selector: 'aui-color-picker',\n  templateUrl: './color-picker.component.html',\n  styleUrls: ['./color-picker.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ColorPickerComponent),\n      multi: true,\n    },\n  ],\n  standalone: true,\n})\nexport class ColorPickerComponent extends CommonFormControl<string> {\n  onInput(event: Event) {\n    this.emitValue((event.target as HTMLInputElement).value);\n  }\n}\n","<input\n  class=\"aui-color-picker\"\n  type=\"color\"\n  [disabled]=\"disabled\"\n  [value]=\"model\"\n  (input)=\"onInput($event)\"\n/>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ColorPickerComponent } from './color-picker.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, ColorPickerComponent],\n  exports: [ColorPickerComponent],\n})\nexport class ColorPickerModule {}\n","import { Dayjs } from 'dayjs';\n\nexport enum Side {\n  Left = 'left',\n  Right = 'right',\n}\n\nexport type DisabledTimeFn = (date?: Dayjs) => {\n  hours: () => number[];\n  minutes: (hour?: number) => number[];\n  seconds: (hour?: number, minute?: number) => number[];\n};\n\nexport interface CalendarHeaderRange {\n  start: Dayjs;\n  end?: Dayjs;\n}\n\nexport enum DateNavRange {\n  Decade = 'decade',\n  Year = 'year',\n  Month = 'month',\n}\n\nexport type DisabledDateFn = (date: Dayjs, type: DateNavRange) => boolean;\n","import { DateNavRange } from '../date-picker.type';\n\nexport const DATE = 'date';\nexport const DAY = 'day';\nexport const MONTH = 'month';\nexport const YEAR = 'year';\nexport const HOUR = 'hour';\nexport const MINUTE = 'minute';\nexport const SECOND = 'second';\n\n// 根据日期类型，分为年，月，日\nexport enum DatePickerType {\n  Day = 'date',\n  Month = 'month',\n  Year = 'year',\n}\n\nexport const MONTH_PANEL_COLUMN_COUNT = 3;\nexport const MONTH_PANEL_ROW_COUNT = 4;\n\nexport const YEAR_PANEL_COLUMN_COUNT = 3;\nexport const YEAR_PANEL_ROW_COUNT = 4;\n\nexport const DAY_PANEL_COLUMN_COUNT = 7;\nexport const DAY_PANEL_ROW_COUNT = 6;\n\nexport const DATE_TYPES = [\n  DatePickerType.Year,\n  DatePickerType.Month,\n  DatePickerType.Day,\n];\n\nexport const DATE_NAV_RANGES = [\n  DateNavRange.Decade,\n  DateNavRange.Year,\n  DateNavRange.Month,\n];\n","import { I18NInterface } from '../i18n.type';\n\nexport const en: I18NInterface = {\n  locale: 'en',\n  translation: {\n    start_date: 'Start Date',\n    end_date: 'End Date',\n    select_date: 'Select Date',\n    select_time: 'Select time',\n    clear: 'Clear',\n    confirm: 'Confirm',\n    to: 'To',\n    year_suffix: '',\n    month_suffix: '',\n    monday: 'Mon',\n    tuesday: 'Tues',\n    wednesday: 'Wed',\n    thursday: 'Thur',\n    friday: 'Fri',\n    saturday: 'Sat',\n    sunday: 'Sun',\n    now: 'Now',\n    select_all: 'Select All',\n    today: 'Today',\n  },\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { en } from './language/en';\n\nexport interface I18NInterface {\n  locale: string;\n  translation: Record<string, string>;\n}\n\nexport const I18NInterfaceToken = new InjectionToken('i18n token', {\n  factory: () => en,\n});\n","import { Injectable, computed, inject, isDevMode, signal } from '@angular/core';\n\nimport { DatePickerType } from '../date-picker/calendar/constant';\n\nimport { I18NInterface, I18NInterfaceToken } from './i18n.type';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class I18nService {\n  readonly $$i18n = signal<I18NInterface>(inject(I18NInterfaceToken));\n\n  $locale = computed(() => this.$$i18n().locale);\n\n  $monthBeforeYear = computed(() => {\n    const parts = new Intl.DateTimeFormat(this.$locale()).formatToParts(\n      new Date(),\n    );\n    return (\n      parts.findIndex(part => part.type === DatePickerType.Month) <\n      parts.findIndex(part => part.type === DatePickerType.Year)\n    );\n  });\n\n  setI18n(i18n: I18NInterface) {\n    this.$$i18n.set(i18n);\n  }\n\n  translate(\n    key: string,\n    data?: Record<string, string>,\n    ignoreNonExist = false,\n  ) {\n    let content = this.$$i18n().translation[key];\n    if (content == null) {\n      if (isDevMode() && !ignoreNonExist) {\n        console.warn(`No exist translate key for ${key}`);\n      }\n      return key;\n    }\n    if (data) {\n      content = content.replaceAll(\n        /{{([^{}]+)}}/g,\n        (_matched, $0: string) => data[$0.trim()],\n      );\n    }\n    return content;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { I18nService } from './i18n.service';\n\n@Pipe({\n  name: 'auiI18n',\n  pure: false,\n  standalone: true,\n})\nexport class I18nPipe implements PipeTransform {\n  constructor(private readonly i18n: I18nService) {}\n\n  transform(value: any, data?: Record<string, string>) {\n    return this.i18n.translate(value, data);\n  }\n}\n","import { Dayjs, UnitType } from 'dayjs';\n\nimport { TimePickerModel } from '../../time-picker/time-picker.type';\nimport { DateNavRange, DisabledDateFn } from '../date-picker.type';\n\nimport {\n  DATE_NAV_RANGES,\n  DATE_TYPES,\n  DAY,\n  DAY_PANEL_COLUMN_COUNT,\n  DAY_PANEL_ROW_COUNT,\n  DatePickerType,\n  MONTH,\n  MONTH_PANEL_COLUMN_COUNT,\n  MONTH_PANEL_ROW_COUNT,\n  YEAR,\n  YEAR_PANEL_COLUMN_COUNT,\n  YEAR_PANEL_ROW_COUNT,\n} from './constant';\n\nexport class DateCell {\n  isBackground?: boolean; // 面板中非本月日期\n  inRange?: boolean; // 在范围组件的范围内\n  isRangeStart?: boolean; // 范围组件的范围开始日期\n  isRangeEnd?: boolean; // 范围组件的范围结束日期\n  isDisabled?: boolean;\n\n  constructor(public value: Dayjs, public label: number | string) {}\n}\n\nexport function getDatePanelIterable(\n  date: Dayjs,\n  navRange: DateNavRange,\n  weekStartDay: number,\n): Iterable<Dayjs> & Iterator<Dayjs> {\n  let firstData: Dayjs;\n  let counts = 0;\n  date = date.clone();\n  switch (navRange) {\n    case DateNavRange.Month: {\n      firstData = date.date(-1).day(weekStartDay);\n      if (firstData.isAfter(date)) {\n        firstData = firstData.subtract(1, 'week');\n      }\n      counts = DAY_PANEL_COLUMN_COUNT * DAY_PANEL_ROW_COUNT;\n\n      break;\n    }\n    case DateNavRange.Year: {\n      firstData = date.month(0);\n      counts = MONTH_PANEL_COLUMN_COUNT * MONTH_PANEL_ROW_COUNT;\n\n      break;\n    }\n    case DateNavRange.Decade: {\n      firstData = date.subtract(1, YEAR);\n      counts = YEAR_PANEL_COLUMN_COUNT * YEAR_PANEL_ROW_COUNT;\n\n      break;\n    }\n    // No default\n  }\n  let i = 0;\n  return {\n    [Symbol.iterator]() {\n      return this;\n    },\n    next: () => {\n      if (i < counts) {\n        return {\n          value: firstData.add(\n            i++,\n            navRange === DateNavRange.Month\n              ? DAY\n              : navRange === DateNavRange.Year\n              ? MONTH\n              : YEAR,\n          ),\n          done: false,\n        };\n      }\n      return {\n        done: true,\n        value: null,\n      };\n    },\n  };\n}\n\nexport function formatDate(type: DateNavRange, dateValue: Dayjs, date: Dayjs) {\n  if (!dateValue) {\n    return null;\n  }\n  const label =\n    type === DateNavRange.Decade\n      ? dateValue.year()\n      : type === DateNavRange.Year\n      ? dateValue.month() + 1\n      : dateValue.date();\n  const cell = new DateCell(dateValue, label);\n  if (type === DateNavRange.Month && date.month() !== dateValue.month()) {\n    cell.isBackground = true;\n  }\n  return cell;\n}\n\nexport function nextDatePickerType(\n  current: DatePickerType,\n  guard?: DatePickerType,\n) {\n  const guardIndex = guard ? DATE_TYPES.indexOf(guard) : DATE_TYPES.length - 1;\n  const currentIndex = DATE_TYPES.indexOf(current);\n  if (currentIndex < guardIndex) {\n    return DATE_TYPES[currentIndex + 1];\n  }\n  return current;\n}\n\nexport function nextNavRangeType(current: DateNavRange, guard?: DateNavRange) {\n  const guardIndex = guard\n    ? DATE_NAV_RANGES.indexOf(guard)\n    : DATE_NAV_RANGES.length - 1;\n  const currentIndex = DATE_NAV_RANGES.indexOf(current);\n  if (currentIndex < guardIndex) {\n    return DATE_NAV_RANGES[currentIndex + 1];\n  }\n  return current;\n}\n\nexport function updateDate(\n  sourceValue: Dayjs,\n  newValue: Dayjs,\n  type: DatePickerType,\n) {\n  const updateTypes = DATE_TYPES.slice(0, DATE_TYPES.indexOf(type) + 1);\n  return updateTypes.reduce(\n    (acc, curr) => acc.set(curr, newValue.get(curr)),\n    sourceValue.clone(),\n  );\n}\n\nexport function calcRangeValue(type: DateNavRange, date: Dayjs) {\n  date = date.clone();\n  return [DateNavRange.Month, DatePickerType.Year].includes(type)\n    ? {\n        start: date,\n      }\n    : {\n        start: date.subtract(date.year() % 10, YEAR),\n        end: date.add(9 - (date.year() % 10), YEAR),\n      };\n}\n\nexport function sortDates(dates: Dayjs[]) {\n  return [...(dates || [])].sort((a, b) =>\n    a.isBefore(b) ? -1 : a.isSame(b) ? 0 : 1,\n  );\n}\n\nexport function getNavRangeByType(type: DatePickerType) {\n  return {\n    [DatePickerType.Day]: DateNavRange.Month,\n    [DatePickerType.Month]: DateNavRange.Year,\n    [DatePickerType.Year]: DateNavRange.Decade,\n  }[type];\n}\n\nexport function getTypeByNavRange(navRange: DateNavRange) {\n  return {\n    [DateNavRange.Month]: DatePickerType.Day,\n    [DateNavRange.Year]: DatePickerType.Month,\n    [DateNavRange.Decade]: DatePickerType.Year,\n  }[navRange];\n}\n\nexport function getTimePickerModel(date: Dayjs): TimePickerModel {\n  return date\n    ? {\n        second: date.second(),\n        minute: date.minute(),\n        hour: date.hour(),\n      }\n    : null;\n}\n\nexport function updateDateByTimeModel(date: Dayjs, time: TimePickerModel) {\n  return time\n    ? date\n        .set('hour', time.hour || 0)\n        .set('minute', time.minute || 0)\n        .set('second', time.second || 0)\n    : date;\n}\n\nexport const composeDisabledDateFn =\n  (...fns: DisabledDateFn[]) =>\n  (date: Dayjs, navRange: DateNavRange) =>\n    !fns.filter(i => !!i).every(fn => !fn(date, navRange));\n\nexport function minDate(a: Dayjs, b: Dayjs, unit: UnitType = 'date') {\n  return a ? (b ? (a.isBefore(b, unit) ? a : b) : a) : b;\n}\n\nexport function maxDate(a: Dayjs, b: Dayjs, unit: UnitType = 'date') {\n  return a ? (b ? (a.isAfter(b, unit) ? a : b) : a) : b;\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiInputAddonBefore]',\n  standalone: true,\n})\nexport class InputAddonBeforeDirective {}\n\n@Directive({\n  selector: '[auiInputAddonAfter]',\n  standalone: true,\n})\nexport class InputAddonAfterDirective {}\n\n@Directive({\n  selector: '[auiInputPrefix]',\n  standalone: true,\n})\nexport class InputPrefixDirective {}\n\n@Directive({\n  selector: '[auiInputSuffix]',\n  standalone: true,\n})\nexport class InputSuffixDirective {}\n","/* eslint-disable sonarjs/no-duplicate-string */\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  Renderer2,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ComponentSize } from '../internal/types';\nimport { coerceAttrBoolean } from '../internal/utils';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'input[aui-input],textarea[aui-input]',\n  template: '<ng-content></ng-content>',\n  styleUrls: ['./input.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class InputComponent {\n  @Input()\n  get size() {\n    return this._size;\n  }\n\n  set size(val) {\n    if (!val || this._size === val) {\n      return;\n    }\n    this.renderer.removeClass(\n      this.elementRef.nativeElement,\n      'aui-input--' + this._size,\n    );\n    this.renderer.addClass(this.elementRef.nativeElement, 'aui-input--' + val);\n    this._size = val;\n    this.size$.next(val);\n  }\n\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n\n  set disabled(val: boolean | '') {\n    const booleanVal = coerceAttrBoolean(val);\n    if (booleanVal === this._disabled) {\n      return;\n    }\n    if (booleanVal) {\n      this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n    } else {\n      this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n    }\n    this._disabled = booleanVal;\n    this.disabled$.next(booleanVal);\n  }\n\n  private _size: ComponentSize = ComponentSize.Medium;\n  private _disabled = false;\n\n  size$ = new BehaviorSubject<ComponentSize>(this.size);\n\n  disabled$ = new BehaviorSubject(this.disabled);\n\n  constructor(\n    public elementRef: ElementRef<HTMLInputElement>,\n    private readonly renderer: Renderer2,\n  ) {\n    this.renderer.addClass(this.elementRef.nativeElement, 'aui-input');\n    this.renderer.addClass(\n      this.elementRef.nativeElement,\n      'aui-input--' + this.size,\n    );\n  }\n}\n","import { NgClass, NgIf, AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ContentChildren,\n  QueryList,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { Bem, buildBem, watchContentExist } from '../../internal/utils';\nimport {\n  InputAddonAfterDirective,\n  InputAddonBeforeDirective,\n  InputPrefixDirective,\n  InputSuffixDirective,\n} from '../helper-directives';\nimport { InputComponent } from '../input.component';\n\n@Component({\n  selector: 'aui-input-group',\n  templateUrl: './input-group.component.html',\n  styleUrls: ['./input-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgClass, NgIf, AsyncPipe],\n})\nexport class InputGroupComponent implements AfterContentInit {\n  bem: Bem = buildBem('aui-input-group');\n\n  @ContentChildren(InputAddonBeforeDirective)\n  private readonly addonBeforeRefs: QueryList<InputAddonBeforeDirective>;\n\n  @ContentChildren(InputAddonAfterDirective)\n  private readonly addonAfterRefs: QueryList<InputAddonAfterDirective>;\n\n  @ContentChildren(InputPrefixDirective)\n  private readonly prefixRefs: QueryList<InputPrefixDirective>;\n\n  @ContentChildren(InputSuffixDirective)\n  private readonly suffixRefs: QueryList<InputSuffixDirective>;\n\n  @ContentChild(InputComponent, { static: false })\n  inputRef: InputComponent;\n\n  hasAddonBefore$: Observable<boolean>;\n  hasAddonAfter$: Observable<boolean>;\n  hasPrefix$: Observable<boolean>;\n  hasSuffix$: Observable<boolean>;\n\n  ngAfterContentInit() {\n    this.hasAddonBefore$ = watchContentExist(this.addonBeforeRefs);\n    this.hasAddonAfter$ = watchContentExist(this.addonAfterRefs);\n    this.hasPrefix$ = watchContentExist(this.prefixRefs);\n    this.hasSuffix$ = watchContentExist(this.suffixRefs);\n  }\n}\n\nexport const INPUT_GROUP_MODULE = [\n  InputGroupComponent,\n  InputAddonAfterDirective,\n  InputAddonBeforeDirective,\n  InputPrefixDirective,\n  InputSuffixDirective,\n] as const;\n","<div\n  [ngClass]=\"bem.block(inputRef.size$ | async)\"\n  [class.isDisabled]=\"inputRef.disabled$ | async\"\n  [class.hasAddonBefore]=\"hasAddonBefore$ | async\"\n  [class.hasAddonAfter]=\"hasAddonAfter$ | async\"\n  [class.hasPrefix]=\"hasPrefix$ | async\"\n  [class.hasSuffix]=\"hasSuffix$ | async\"\n>\n  <div [class]=\"bem.element('inner-wrapper')\">\n    <div\n      *ngIf=\"hasAddonBefore$ | async\"\n      [class]=\"bem.element('addon', 'before')\"\n    >\n      <ng-content select=\"[auiInputAddonBefore]\"></ng-content>\n    </div>\n    <div [class]=\"bem.element('input-wrapper')\">\n      <span\n        *ngIf=\"hasPrefix$ | async\"\n        [class]=\"bem.element('prefix')\"\n      >\n        <ng-content select=\"[auiInputPrefix]\"></ng-content>\n      </span>\n      <ng-content></ng-content>\n      <span\n        *ngIf=\"hasSuffix$ | async\"\n        [class]=\"bem.element('suffix')\"\n      >\n        <ng-content select=\"[auiInputSuffix]\"></ng-content>\n      </span>\n    </div>\n    <div\n      *ngIf=\"hasAddonAfter$ | async\"\n      [class]=\"bem.element('addon', 'after')\"\n    >\n      <ng-content select=\"[auiInputAddonAfter]\"></ng-content>\n    </div>\n  </div>\n</div>\n","export const HOUR_ITEMS = Array.from({ length: 24 }).map((_, index) => index);\nexport const MINUTE_ITEMS = Array.from({ length: 60 }).map((_, index) => index);\nexport const SECOND_ITEMS = Array.from({ length: 60 }).map((_, index) => index);\n\nexport const CONTROL_ITEM_HEIGHT = 28;\n","import { ConfigType } from 'dayjs';\n\nimport { isNumberValue } from '../internal/utils';\n\nexport enum TimePickerControlType {\n  Hour = 'hour',\n  Minute = 'minute',\n  Second = 'second',\n}\n\nexport interface TimePickerModel {\n  hour?: number;\n  minute?: number;\n  second?: number;\n}\n\nexport type TimePickerDataLike = ConfigType | TimePickerModel;\n\nexport function isTimePickerModel(item: any): item is TimePickerModel {\n  return (\n    isNumberValue(item?.second) ||\n    isNumberValue(item?.minute) ||\n    isNumberValue(item?.hour)\n  );\n}\n","import {\n  NgIf,\n  NgFor,\n  NgClass,\n  NgTemplateOutlet,\n  DecimalPipe,\n} from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport dayjs, { Dayjs } from 'dayjs';\n\nimport { ButtonComponent } from '../../button/button.component';\nimport { updateDateByTimeModel } from '../../date-picker/calendar/util';\nimport { CommonFormControl } from '../../form/common-form';\nimport { I18nPipe } from '../../i18n/i18n.pipe';\nimport { ComponentSize } from '../../internal/types';\nimport { buildBem } from '../../internal/utils';\nimport {\n  CONTROL_ITEM_HEIGHT,\n  HOUR_ITEMS,\n  MINUTE_ITEMS,\n  SECOND_ITEMS,\n} from '../constant';\nimport { TimePickerControlType } from '../time-picker.type';\n\nconst TIME_PICKER_COLUMN_WIDTH = 80;\nconst bem = buildBem('aui-time-picker-panel');\n\n@Component({\n  selector: 'aui-time-picker-panel',\n  templateUrl: './panel.template.html',\n  styleUrls: ['./panel.style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TimePickerPanelComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    NgIf,\n    NgFor,\n    NgClass,\n    ButtonComponent,\n    NgTemplateOutlet,\n    DecimalPipe,\n    I18nPipe,\n  ],\n})\nexport class TimePickerPanelComponent\n  extends CommonFormControl<Dayjs>\n  implements OnChanges\n{\n  @Input()\n  set format(value: string) {\n    if (value != null) {\n      this._format = value;\n      const charSet = new Set(value);\n      this.hourEnabled = charSet.has('H') || charSet.has('h');\n      this.minuteEnabled = charSet.has('m');\n      this.secondEnabled = charSet.has('s');\n      this.enabledColumns = [\n        this.hourEnabled,\n        this.minuteEnabled,\n        this.secondEnabled,\n      ].filter(Boolean).length;\n    }\n  }\n\n  get format(): string {\n    return this._format;\n  }\n\n  private _format: string;\n\n  get totalWidth() {\n    return this.enabledColumns * TIME_PICKER_COLUMN_WIDTH;\n  }\n\n  @HostListener('mousedown') onMousedown() {\n    return false;\n  }\n\n  @Input()\n  hourStep = 1;\n\n  @Input()\n  minuteStep = 1;\n\n  @Input()\n  secondStep = 1;\n\n  @Input()\n  footerTemplate: TemplateRef<void>;\n\n  @Output()\n  confirm = new EventEmitter<void>();\n\n  @Input()\n  disableHours: () => number[];\n\n  @Input()\n  disableMinutes: (hour?: number) => number[];\n\n  @Input()\n  disableSeconds: (hour?: number, minute?: number) => number[];\n\n  hourEnabled: boolean;\n  minuteEnabled: boolean;\n  secondEnabled: boolean;\n\n  TimePickerControlType = TimePickerControlType;\n  HOUR_ITEM_CONFIG = HOUR_ITEMS;\n  MINUTE_ITEM_CONFIG = MINUTE_ITEMS;\n  SECOND_ITEM_CONFIG = SECOND_ITEMS;\n\n  CONTROL_ITEM_HEIGHT = CONTROL_ITEM_HEIGHT;\n  ComponentSize = ComponentSize;\n  bem = bem;\n\n  @ViewChild('hourRef', { static: false })\n  hourRef: ElementRef<HTMLElement>;\n\n  @ViewChild('minuteRef', { static: false })\n  minuteRef: ElementRef<HTMLElement>;\n\n  @ViewChild('secondRef', { static: false })\n  secondRef: ElementRef<HTMLElement>;\n\n  enabledColumns = 0;\n\n  // 用于控制初次滚动，是否展示滚动动画效果\n  firstScrolled = false;\n\n  constructor(protected override cdr: ChangeDetectorRef) {\n    super(cdr);\n    this.model$.subscribe(_ => {\n      this.cdr.markForCheck();\n    });\n  }\n\n  isDisabled(value: number, type: TimePickerControlType) {\n    const currentValue = this.model;\n    if (this.disabled) {\n      return true;\n    }\n    if (type === TimePickerControlType.Hour) {\n      return (this.disableHours ? this.disableHours() : []).includes(value);\n    }\n    if (type === TimePickerControlType.Minute) {\n      return (\n        this.disableMinutes ? this.disableMinutes(currentValue?.hour()) : []\n      ).includes(value);\n    }\n    if (type === TimePickerControlType.Second) {\n      return (\n        this.disableSeconds\n          ? this.disableSeconds(currentValue?.hour(), currentValue?.minute())\n          : []\n      ).includes(value);\n    }\n  }\n\n  ngOnChanges({ hourStep, minuteStep, secondStep }: SimpleChanges): void {\n    if (hourStep?.currentValue > 0) {\n      this.HOUR_ITEM_CONFIG = HOUR_ITEMS.filter(\n        i => i % hourStep.currentValue === 0,\n      );\n    }\n    if (minuteStep?.currentValue > 0) {\n      this.MINUTE_ITEM_CONFIG = MINUTE_ITEMS.filter(\n        i => i % minuteStep.currentValue === 0,\n      );\n    }\n    if (secondStep?.currentValue > 0) {\n      this.SECOND_ITEM_CONFIG = SECOND_ITEMS.filter(\n        i => i % secondStep.currentValue === 0,\n      );\n    }\n    this.cdr.markForCheck();\n  }\n\n  override writeValue(value: Dayjs) {\n    super.writeValue(value);\n    this.syncScrollOffset(this.firstScrolled ? 120 : 0, value);\n  }\n\n  selectValue(value: number, type: TimePickerControlType): void {\n    if (this.isDisabled(value, type)) {\n      return;\n    }\n    this.firstScrolled = true;\n    const result = this.syncValue(value, type, this.model);\n    this.syncScrollOffset(120, result);\n  }\n\n  syncValue(value: number, type: TimePickerControlType, currentValue: Dayjs) {\n    if (!type) {\n      return;\n    }\n    const result = (\n      currentValue ||\n      updateDateByTimeModel(dayjs(), { hour: 0, minute: 0, second: 0 })\n    ).set(type, value);\n    this.emitModel(result);\n    return result;\n  }\n\n  syncScrollOffset(duration: number, value: Dayjs) {\n    const empty = !value;\n    const config = [\n      {\n        ref: this.hourRef,\n        enabled: this.hourEnabled,\n        step: this.hourStep,\n        type: 'hour',\n      },\n      {\n        ref: this.minuteRef,\n        enabled: this.minuteEnabled,\n        step: this.minuteStep,\n        type: 'minute',\n      },\n      {\n        ref: this.secondRef,\n        enabled: this.secondEnabled,\n        step: this.secondStep,\n        type: 'second',\n      },\n    ] as const;\n\n    config.forEach(cf => {\n      if (cf.enabled && cf.ref) {\n        this.scrollByValue(\n          cf.ref.nativeElement,\n          empty ? 0 : value.get(cf.type),\n          cf.step,\n          empty ? 0 : duration,\n        );\n      }\n    });\n    if (!empty) {\n      this.firstScrolled = true;\n    }\n  }\n\n  private scrollByValue(\n    element: HTMLElement,\n    value: number,\n    divideBy: number,\n    duration: number,\n  ) {\n    const targetOffset = (value * CONTROL_ITEM_HEIGHT) / divideBy;\n    const currentTop = element.scrollTop;\n    if (currentTop === targetOffset) {\n      return;\n    }\n    if (duration) {\n      const difference = targetOffset - currentTop;\n      // 每个tick滚动距离\n      const perTick = (difference / duration) * 10;\n\n      requestAnimationFrame(() => {\n        element.scrollTop = currentTop + perTick;\n        if (element.scrollTop === targetOffset) {\n          return;\n        }\n        this.scrollByValue(element, value, divideBy, duration - 10);\n      });\n    } else {\n      element.scrollTop = targetOffset;\n    }\n  }\n\n  matchValue(\n    value: number,\n    type: TimePickerControlType,\n    currDate: Dayjs,\n  ): boolean {\n    return currDate?.get(type) === value;\n  }\n\n  getControlTypeConfig(type: TimePickerControlType): number[] {\n    return {\n      [TimePickerControlType.Hour]: this.HOUR_ITEM_CONFIG,\n      [TimePickerControlType.Minute]: this.MINUTE_ITEM_CONFIG,\n      [TimePickerControlType.Second]: this.SECOND_ITEM_CONFIG,\n    }[type];\n  }\n\n  selectNow() {\n    this.firstScrolled = true;\n    this.emitModel(dayjs());\n  }\n\n  trackBy(_index: number, content: number) {\n    return content;\n  }\n}\n","<div\n  *ngIf=\"enabledColumns\"\n  [class]=\"bem.block()\"\n  [style.width.px]=\"totalWidth\"\n>\n  <div [class]=\"bem.element('content')\">\n    <div\n      [class]=\"bem.element('column')\"\n      #hourRef\n      *ngIf=\"hourEnabled\"\n    >\n      <ul>\n        <li\n          *ngFor=\"let item of getControlTypeConfig(TimePickerControlType.Hour)\"\n          [class]=\"bem.element('cell')\"\n          [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n          [ngClass]=\"{\n            disabled: isDisabled(item, TimePickerControlType.Hour),\n            selected: matchValue(item, TimePickerControlType.Hour, model),\n          }\"\n          (click)=\"selectValue(item, TimePickerControlType.Hour)\"\n        >\n          {{ item | number: '2.0-0' }}\n        </li>\n      </ul>\n      <div [class]=\"bem.element('column-strut')\"></div>\n    </div>\n    <div\n      [class]=\"bem.element('column')\"\n      #minuteRef\n      *ngIf=\"minuteEnabled\"\n    >\n      <ul>\n        <li\n          *ngFor=\"\n            let item of getControlTypeConfig(TimePickerControlType.Minute);\n            trackBy: trackBy\n          \"\n          [class]=\"bem.element('cell')\"\n          [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n          [ngClass]=\"{\n            disabled: isDisabled(item, TimePickerControlType.Minute),\n            selected: matchValue(item, TimePickerControlType.Minute, model),\n          }\"\n          (click)=\"selectValue(item, TimePickerControlType.Minute)\"\n        >\n          {{ item | number: '2.0-0' }}\n        </li>\n      </ul>\n      <div [class]=\"bem.element('column-strut')\"></div>\n    </div>\n    <div\n      [class]=\"bem.element('column')\"\n      #secondRef\n      *ngIf=\"secondEnabled\"\n    >\n      <ul>\n        <li\n          *ngFor=\"\n            let item of getControlTypeConfig(TimePickerControlType.Second)\n          \"\n          [class]=\"bem.element('cell')\"\n          [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n          [ngClass]=\"{\n            disabled: isDisabled(item, TimePickerControlType.Second),\n            selected: matchValue(item, TimePickerControlType.Second, model),\n          }\"\n          (click)=\"selectValue(item, TimePickerControlType.Second)\"\n        >\n          {{ item | number: '2.0-0' }}\n        </li>\n      </ul>\n      <div [class]=\"bem.element('column-strut')\"></div>\n    </div>\n  </div>\n\n  <ng-container *ngIf=\"!footerTemplate; else customFooter\">\n    <div [class]=\"bem.element('footer')\">\n      <button\n        aui-button=\"inline\"\n        (click)=\"selectNow()\"\n        [size]=\"ComponentSize.Small\"\n      >\n        {{ 'now' | auiI18n }}\n      </button>\n      <button\n        aui-button=\"primary\"\n        [size]=\"ComponentSize.Small\"\n        (click)=\"$event.stopImmediatePropagation(); confirm.next()\"\n      >\n        {{ 'confirm' | auiI18n }}\n      </button>\n    </div>\n  </ng-container>\n  <ng-template #customFooter>\n    <ng-container [ngTemplateOutlet]=\"footerTemplate\"></ng-container>\n  </ng-template>\n</div>\n","import { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport dayjs, { Dayjs } from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport { updateDateByTimeModel } from '../date-picker/calendar/util';\nimport { CommonFormControl } from '../form/common-form';\nimport { IconComponent } from '../icon/icon.component';\nimport { InputSuffixDirective } from '../input/helper-directives';\nimport { InputGroupComponent } from '../input/input-group/input-group.component';\nimport { InputComponent } from '../input/input.component';\nimport { ComponentSize } from '../internal/types';\nimport { TooltipDirective } from '../tooltip/tooltip.directive';\n\nimport { TimePickerPanelComponent } from './panel/panel.component';\nimport {\n  TimePickerDataLike,\n  TimePickerModel,\n  isTimePickerModel,\n} from './time-picker.type';\n\ndayjs.extend(customParseFormat);\n\n@Component({\n  selector: 'aui-time-picker',\n  templateUrl: './template.html',\n  styleUrls: ['./style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TimePickerComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    TooltipDirective,\n    InputGroupComponent,\n    InputComponent,\n    FormsModule,\n    NgIf,\n    InputSuffixDirective,\n    IconComponent,\n    TimePickerPanelComponent,\n  ],\n})\nexport class TimePickerComponent extends CommonFormControl<\n  TimePickerDataLike,\n  TimePickerModel\n> {\n  @Input()\n  format = 'HH:mm:ss';\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input()\n  placeholder = '';\n\n  @Input()\n  clearable = true;\n\n  @Input()\n  showIcon = true;\n\n  @Input()\n  disableHours: () => number[];\n\n  @Input()\n  disableMinutes: (hour?: number) => number[];\n\n  @Input()\n  disableSeconds: (hour?: number, minute?: number) => number[];\n\n  @Input()\n  hourStep = 1;\n\n  @Input()\n  minuteStep = 1;\n\n  @Input()\n  secondStep = 1;\n\n  @Input()\n  footerTemplate: TemplateRef<void>;\n\n  @Output()\n  readonly open = new EventEmitter<void>();\n\n  @Output()\n  readonly close = new EventEmitter<void>();\n\n  @ViewChild('tooltipRef')\n  tooltipRef: TooltipDirective;\n\n  timeValue: Dayjs = null;\n  timeFormatValue = '';\n\n  override writeValue(value: TimePickerDataLike) {\n    super.writeValue(value);\n    if (!value) {\n      return this.setValue(null);\n    }\n    let result: Dayjs;\n    if (isTimePickerModel(value)) {\n      result = updateDateByTimeModel(dayjs(), value);\n    } else {\n      result = dayjs(value);\n      this.submit(false, result);\n    }\n    this.setValue(result);\n  }\n\n  setValue(value: Dayjs) {\n    this.timeValue = value;\n    this.timeFormatValue = value ? dayjs(value).format(this.format) : null;\n    this.cdr.markForCheck();\n  }\n\n  changeFromPanel(value: Dayjs) {\n    this.timeFormatValue = value?.format(this.format);\n  }\n\n  changeFromInput(source: string) {\n    if (source) {\n      const afterParsed = dayjs(source, this.format);\n      if (afterParsed.isValid()) {\n        this.timeValue = afterParsed;\n      }\n    } else {\n      this.timeValue = null;\n    }\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    switch (event.key) {\n      case 'Enter': {\n        this.openPanel();\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'Escape': {\n        this.closePanel();\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n    }\n  }\n\n  handleTooltipVisible(visible: boolean) {\n    if (visible) {\n      this.open.emit();\n    } else {\n      if (this.onTouched) {\n        this.onTouched();\n      }\n      this.setValue(this.timeValue);\n      this.submit();\n\n      this.close.emit();\n    }\n  }\n\n  openPanel() {\n    if (this.tooltipRef.isCreated) {\n      return;\n    }\n    this.tooltipRef.show();\n    this.open.next();\n  }\n\n  closePanel() {\n    if (!this.tooltipRef.isCreated) {\n      return;\n    }\n    this.tooltipRef.hide();\n    this.close.next();\n  }\n\n  clearValue(event: Event) {\n    this.setValue(null);\n    this.submit();\n    event.stopPropagation();\n    event.preventDefault();\n  }\n\n  submit(close = true, value?: Dayjs) {\n    const refer = value ?? this.timeValue;\n    this.emitModel(\n      refer\n        ? {\n            second: refer.second(),\n            minute: refer.minute(),\n            hour: refer.hour(),\n          }\n        : null,\n    );\n    if (close) {\n      this.closePanel();\n    }\n  }\n}\n","<div\n  class=\"aui-time-picker\"\n  [class.isDisabled]=\"disabled\"\n  [class.isClearable]=\"clearable && timeFormatValue\"\n  #tooltipRef=\"auiTooltip\"\n  [auiTooltip]=\"template\"\n  auiTooltipAnimType=\"none\"\n  auiTooltipType=\"plain\"\n  auiTooltipTrigger=\"click\"\n  auiTooltipPosition=\"bottom start\"\n  [auiTooltipDisabled]=\"disabled\"\n  (auiTooltipVisibleChange)=\"handleTooltipVisible($event)\"\n>\n  <aui-input-group>\n    <input\n      aui-input\n      autocomplete=\"off\"\n      [size]=\"size\"\n      [placeholder]=\"placeholder\"\n      [disabled]=\"disabled\"\n      [(ngModel)]=\"timeFormatValue\"\n      (ngModelChange)=\"changeFromInput($event)\"\n      (keydown)=\"onKeyDown($event)\"\n    />\n    <span\n      *ngIf=\"showIcon\"\n      auiInputSuffix\n      class=\"aui-time-picker__icon-container\"\n    >\n      <aui-icon\n        class=\"aui-time-picker__indicator\"\n        icon=\"clock\"\n      ></aui-icon>\n      <aui-icon\n        class=\"aui-time-picker__clear\"\n        icon=\"xmark_small\"\n        (click)=\"clearValue($event)\"\n      ></aui-icon>\n    </span>\n  </aui-input-group>\n</div>\n\n<ng-template #template>\n  <aui-time-picker-panel\n    [disabled]=\"disabled\"\n    [disableHours]=\"disableHours\"\n    [disableMinutes]=\"disableMinutes\"\n    [disableSeconds]=\"disableSeconds\"\n    [hourStep]=\"hourStep\"\n    [minuteStep]=\"minuteStep\"\n    [secondStep]=\"secondStep\"\n    [format]=\"format\"\n    [footerTemplate]=\"footerTemplate\"\n    [(ngModel)]=\"timeValue\"\n    (ngModelChange)=\"changeFromPanel($event)\"\n    (confirm)=\"submit()\"\n    (click)=\"$event.stopPropagation()\"\n    (mousedown)=\"$event.preventDefault()\"\n  ></aui-time-picker-panel>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { I18nPipe } from './i18n.pipe';\n\n@NgModule({\n  imports: [I18nPipe],\n  exports: [I18nPipe],\n})\nexport class I18nModule {}\n","import { I18NInterface } from '../i18n.type';\n\nexport const zh: I18NInterface = {\n  locale: 'zh',\n  translation: {\n    start_date: '开始日期',\n    end_date: '结束日期',\n    select_time: '选择时间',\n    select_date: '选择日期',\n    clear: '清除',\n    confirm: '确定',\n    to: '至',\n    year_suffix: '年',\n    month_suffix: '月',\n    monday: '一',\n    tuesday: '二',\n    wednesday: '三',\n    thursday: '四',\n    friday: '五',\n    saturday: '六',\n    sunday: '日',\n    now: '此刻',\n    select_all: '全选',\n    today: '今天',\n  },\n};\n","let hiddenTextarea: HTMLTextAreaElement;\n\nconst HIDDEN_STYLE = `\n  height:0 !important;\n  visibility:hidden !important;\n  overflow:hidden !important;\n  position:absolute !important;\n  z-index:-1000 !important;\n  top:0 !important;\n  right:0 !important\n`;\n\nconst CONTEXT_STYLE = [\n  'letter-spacing',\n  'line-height',\n  'padding-top',\n  'padding-bottom',\n  'font-family',\n  'font-weight',\n  'font-size',\n  'text-rendering',\n  'text-transform',\n  'width',\n  'text-indent',\n  'padding-left',\n  'padding-right',\n  'border-width',\n  'box-sizing',\n];\n\nfunction calculateNodeStyling(targetElement: HTMLTextAreaElement) {\n  const style = window.getComputedStyle(targetElement);\n\n  const boxSizing = style.getPropertyValue('box-sizing');\n\n  const paddingSize =\n    parseFloat(style.getPropertyValue('padding-bottom')) +\n    parseFloat(style.getPropertyValue('padding-top'));\n\n  const borderSize =\n    parseFloat(style.getPropertyValue('border-bottom-width')) +\n    parseFloat(style.getPropertyValue('border-top-width'));\n\n  const contextStyle = CONTEXT_STYLE.map(\n    name => `${name}:${style.getPropertyValue(name)}`,\n  ).join(';');\n\n  return { contextStyle, paddingSize, borderSize, boxSizing };\n}\n\nexport function calcTextareaHeight(\n  targetElement: HTMLTextAreaElement,\n  minRows = 1,\n  maxRows: number = null,\n) {\n  if (!hiddenTextarea) {\n    hiddenTextarea = document.createElement('textarea');\n    document.body.append(hiddenTextarea);\n  }\n\n  const { paddingSize, borderSize, contextStyle } =\n    calculateNodeStyling(targetElement);\n\n  hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`);\n  hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n  let height = hiddenTextarea.scrollHeight + borderSize;\n\n  hiddenTextarea.value = '';\n  const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n  const result: {\n    minHeight?: string;\n    maxHeight?: string;\n    height?: string;\n  } = {};\n\n  if (minRows !== null) {\n    const minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n    height = Math.max(minHeight, height);\n    result.minHeight = `${minHeight}px`;\n  }\n  if (maxRows !== null) {\n    const maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n    height = Math.min(maxHeight, height);\n    result.maxHeight = `${maxHeight}px`;\n  }\n  result.height = `${height}px`;\n\n  if (hiddenTextarea.parentNode) {\n    hiddenTextarea.remove();\n  }\n  hiddenTextarea = null;\n\n  return result;\n}\n","import {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { calcTextareaHeight } from './utils';\n\nconst DEFAULT_VALUE = {\n  minRows: 3,\n  maxRows: 6,\n};\n\nexport interface AutoSizeValue {\n  minRows: number;\n  maxRows?: number;\n}\n\n/**\n * Directive to automatically resize a textarea to fit its content.\n */\n@Directive({\n  selector:\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    'textarea[autosize][ngModel],textarea[autosize][formControl],textarea[autosize][formControlName]',\n  exportAs: 'TextareaAutosize',\n  standalone: true,\n})\nexport class AutosizeDirective implements AfterViewInit, OnDestroy {\n  private _autoSize: AutoSizeValue = DEFAULT_VALUE;\n\n  private readonly destroy$$ = new Subject<void>();\n\n  @Input('autosize')\n  get autoSize() {\n    return this._autoSize;\n  }\n\n  set autoSize(value: AutoSizeValue | '') {\n    if (!value) {\n      value = DEFAULT_VALUE;\n    }\n    this._autoSize = value;\n    this.resizeTextarea();\n  }\n\n  constructor(\n    private readonly elRef: ElementRef<HTMLTextAreaElement>,\n    private readonly ngControl: NgControl,\n  ) {}\n\n  resizeTextarea() {\n    const el = this.elRef.nativeElement;\n    const autoSize = this._autoSize;\n    Object.assign(\n      el.style,\n      calcTextareaHeight(\n        el,\n        autoSize.minRows ?? DEFAULT_VALUE.minRows,\n        autoSize.maxRows || DEFAULT_VALUE.maxRows, // 0 is unacceptable\n      ),\n    );\n  }\n\n  ngAfterViewInit() {\n    this.ngControl.valueChanges\n      .pipe(startWith(null as void), takeUntil(this.destroy$$))\n      .subscribe(() => this.resizeTextarea());\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Output,\n} from '@angular/core';\n\n@Directive({\n  selector: '[auiClickOutside]',\n  exportAs: 'auiClickOutside',\n  standalone: true,\n})\nexport class ClickOutsideDirective {\n  @Output()\n  auiClickOutside = new EventEmitter<Event>();\n\n  @HostListener('document:click', ['$event'])\n  onBodyClick(event: Event) {\n    if (!this.el.nativeElement.contains(event.target as Node)) {\n      this.auiClickOutside.emit(event);\n    }\n  }\n\n  constructor(private readonly el: ElementRef<HTMLElement>) {}\n}\n","import { NgModule } from '@angular/core';\n\nimport { ClickOutsideDirective } from './click-outside.directive';\n\n@NgModule({\n  imports: [ClickOutsideDirective],\n  exports: [ClickOutsideDirective],\n})\nexport class SharedModule {}\n","import { ValueOf } from '../internal/types';\n\nexport const TagType = {\n  Primary: 'primary',\n  Success: 'success',\n  Warning: 'warning',\n  Error: 'error',\n  Info: 'info',\n} as const;\n\nexport type TagType = ValueOf<typeof TagType>;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { TagType } from '../tag.types';\n\n@Component({\n  selector: 'aui-check-tag',\n  templateUrl: './check-tag.component.html',\n  styleUrls: ['./check-tag.component.scss', '../tag.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class CheckTagComponent {\n  bem: Bem = buildBem('aui-tag');\n  hovered = false;\n\n  @Input()\n  checked = false;\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input()\n  round = true;\n\n  @Output()\n  checkedChange = new EventEmitter<boolean>();\n\n  get rootClass() {\n    return `aui-check-tag ${this.bem.block(\n      this.size,\n      this.checked || this.hovered ? TagType.Primary : TagType.Info,\n    )} ${this.round ? 'isRound' : ''}`;\n  }\n}\n","<div\n  [class]=\"rootClass\"\n  (click)=\"checkedChange.emit(!checked)\"\n  (mouseenter)=\"hovered = true\"\n  (mouseleave)=\"hovered = false\"\n  [class.isSolid]=\"checked\"\n>\n  <span class=\"aui-tag__content\"><ng-content></ng-content></span>\n</div>\n","import { NgStyle, NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { ComponentSize } from '../internal/types';\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { TagType } from './tag.types';\n\n@Component({\n  selector: 'aui-tag',\n  templateUrl: './tag.component.html',\n  styleUrls: ['./tag.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgStyle, NgIf, IconComponent],\n})\nexport class TagComponent {\n  bem: Bem = buildBem('aui-tag');\n\n  @Input()\n  type: TagType = TagType.Primary;\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input()\n  closeable = false;\n\n  @Input()\n  border = false;\n\n  @Input()\n  solid = false;\n\n  @Input()\n  invalid = false;\n\n  @Input()\n  round = true;\n\n  @Input()\n  color = '';\n\n  @Input()\n  allowClick = false;\n\n  @Output()\n  close = new EventEmitter<void>();\n\n  get rootClass() {\n    return `${this.bem.block(\n      this.type || TagType.Primary,\n      this.size || ComponentSize.Medium,\n    )} ${this.solid ? 'isSolid' : ''} ${this.border ? 'hasBorder' : ''} ${\n      this.invalid ? 'isInvalid' : ''\n    } ${this.round ? 'isRound' : ''} ${\n      this.allowClick && this.isNormalTag ? 'allowClick' : ''\n    }`;\n  }\n\n  // 只有常规标签支持单击样式\n  get isNormalTag() {\n    return !this.solid && !this.closeable && !this.invalid;\n  }\n\n  get customStyle() {\n    const arr = this.color.split(',');\n    const main = arr[0].trim();\n    const secondary = (arr[1] || arr[0]).trim();\n    return {\n      color: main,\n      'border-color': this.solid ? secondary : main,\n      'background-color': secondary,\n    };\n  }\n}\n","<div\n  [class]=\"rootClass\"\n  [ngStyle]=\"customStyle\"\n>\n  <span class=\"aui-tag__content\"><ng-content></ng-content></span>\n  <aui-icon\n    *ngIf=\"closeable\"\n    class=\"aui-tag__close\"\n    icon=\"xmark_small\"\n    (click)=\"close.emit(); $event.stopPropagation()\"\n  ></aui-icon>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { CheckTagComponent } from './check-tag/check-tag.component';\nimport { TagComponent } from './tag.component';\n\n@NgModule({\n  imports: [CommonModule, IconModule, TagComponent, CheckTagComponent],\n  exports: [TagComponent, CheckTagComponent],\n})\nexport class TagModule {}\n","import { NgClass, NgIf, NgStyle, AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n  ContentChildren,\n  QueryList,\n  numberAttribute,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\nimport { CommonFormControl } from '../../form';\nimport { IconComponent } from '../../icon';\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem, watchContentExist } from '../../internal/utils';\nimport { ClickOutsideDirective } from '../../shared/click-outside.directive';\nimport {\n  InputAddonAfterDirective,\n  InputAddonBeforeDirective,\n} from '../helper-directives';\n\n@Component({\n  selector: 'aui-number-input',\n  templateUrl: './number-input.component.html',\n  styleUrls: ['./number-input.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NumberInputComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    NgClass,\n    NgIf,\n    ClickOutsideDirective,\n    IconComponent,\n    NgStyle,\n    AsyncPipe,\n  ],\n})\nexport class NumberInputComponent\n  extends CommonFormControl<number>\n  implements AfterContentInit, AfterViewInit\n{\n  bem: Bem = buildBem('aui-number-input');\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input({\n    transform: (val: number | string) =>\n      numberAttribute(val, Number.MIN_SAFE_INTEGER),\n  })\n  min = Number.MIN_SAFE_INTEGER;\n\n  @Input({\n    transform: (val: number | string) =>\n      numberAttribute(val, Number.MAX_SAFE_INTEGER),\n  })\n  max = Number.MAX_SAFE_INTEGER;\n\n  @Input()\n  step = 1;\n\n  @Input()\n  precision: number;\n\n  @Input()\n  controls = true;\n\n  @Input()\n  placeholder = '';\n\n  @Input()\n  controlsPosition = '';\n\n  @Input()\n  angleControls = false;\n\n  @Input()\n  clearable = false;\n\n  @ViewChild('inputRef', { read: ElementRef })\n  inputRef: ElementRef<HTMLInputElement>;\n\n  @ContentChildren(InputAddonBeforeDirective)\n  private readonly addonBeforeRefs: QueryList<InputAddonBeforeDirective>;\n\n  @ContentChildren(InputAddonAfterDirective)\n  private readonly addonAfterRefs: QueryList<InputAddonAfterDirective>;\n\n  isFocus = false;\n\n  hasAddonBefore$: Observable<boolean>;\n  hasAddonAfter$: Observable<boolean>;\n\n  ngAfterContentInit() {\n    this.hasAddonBefore$ = watchContentExist(this.addonBeforeRefs);\n    this.hasAddonAfter$ = watchContentExist(this.addonAfterRefs);\n  }\n\n  ngAfterViewInit() {\n    this.inputRef.nativeElement.value = (this.model ?? '') + '';\n  }\n\n  override valueIn(v: number) {\n    if (this.inputRef) {\n      this.inputRef.nativeElement.value = (v ?? '') + '';\n    }\n    return v;\n  }\n\n  override modelOut(value: number) {\n    return value === null && this.clearable\n      ? value\n      : Math.max(this.min, Math.min(this.max, this.parsePrecision(value)));\n  }\n\n  inputChanged(value: string) {\n    this.emitModel(\n      numberAttribute(value, !value && this.clearable ? null : this.model),\n    );\n  }\n\n  takeOneStep(positive: boolean) {\n    if (positive) {\n      this.emitModel((this.model ?? 0) + this.step);\n    } else {\n      this.emitModel((this.model ?? 0) - this.step);\n    }\n  }\n\n  private parsePrecision(value: number) {\n    const precision = this.precision ?? this.getStepPrecision();\n    return parseFloat(value.toFixed(precision));\n  }\n\n  private getStepPrecision() {\n    const step = this.step + '';\n    const index = step.indexOf('.');\n    return index < 0 ? 0 : step.slice(index + 1).length;\n  }\n}\n\nexport const NUMBER_INPUT_MODULE = [\n  NumberInputComponent,\n  InputAddonBeforeDirective,\n  InputAddonAfterDirective,\n] as const;\n","<div\n  [class]=\"bem.block(size)\"\n  [ngClass]=\"{\n    isFocused: isFocus,\n    isDisabled: disabled,\n    hasBefore: hasAddonBefore$ | async,\n    hasAfter: hasAddonAfter$ | async,\n  }\"\n>\n  <div\n    *ngIf=\"hasAddonBefore$ | async\"\n    [class]=\"bem.element('addon', 'before')\"\n  >\n    <ng-content select=\"[auiInputAddonBefore]\"></ng-content>\n  </div>\n  <div\n    [class]=\"bem.element('inner')\"\n    auiClickOutside\n    (auiClickOutside)=\"isFocus = false\"\n  >\n    <button\n      *ngIf=\"controls && !angleControls\"\n      type=\"button\"\n      [ngClass]=\"bem.element('control', 'decrease')\"\n      [disabled]=\"disabled || model <= min\"\n      (click)=\"takeOneStep(false); isFocus = true\"\n    >\n      <aui-icon icon=\"minus\"></aui-icon>\n    </button>\n    <input\n      #inputRef\n      autocomplete=\"off\"\n      (change)=\"inputChanged($any($event).target.value)\"\n      [disabled]=\"disabled\"\n      [ngClass]=\"bem.element('input')\"\n      [placeholder]=\"placeholder\"\n      (focus)=\"isFocus = true\"\n      (blur)=\"isFocus = false\"\n      [ngStyle]=\"{ 'text-align': angleControls ? 'left' : 'center' }\"\n    />\n    <button\n      *ngIf=\"controls && !angleControls\"\n      type=\"button\"\n      [ngClass]=\"bem.element('control', 'increase')\"\n      [disabled]=\"disabled || model >= max\"\n      (click)=\"takeOneStep(true); isFocus = true\"\n    >\n      <aui-icon icon=\"plus\"></aui-icon>\n    </button>\n    <div\n      *ngIf=\"controls && angleControls\"\n      class=\"aui-number-input__controls\"\n    >\n      <button\n        type=\"button\"\n        [ngClass]=\"bem.element('control', 'angle-up')\"\n        [disabled]=\"disabled || model >= max\"\n        (click)=\"takeOneStep(true); isFocus = true\"\n      >\n        <aui-icon icon=\"angle_up\"></aui-icon>\n      </button>\n      <button\n        type=\"button\"\n        [ngClass]=\"bem.element('control', 'angle-down')\"\n        [disabled]=\"disabled || model <= min\"\n        (click)=\"takeOneStep(false); isFocus = true\"\n      >\n        <aui-icon icon=\"angle_down\"></aui-icon>\n      </button>\n    </div>\n  </div>\n  <div\n    *ngIf=\"hasAddonAfter$ | async\"\n    [class]=\"bem.element('addon', 'after')\"\n  >\n    <ng-content select=\"[auiInputAddonAfter]\"></ng-content>\n  </div>\n</div>\n","import { NgClass, NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { IconComponent } from '../../icon';\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { InputComponent } from '../input.component';\n\n@Component({\n  selector: 'aui-search',\n  templateUrl: './search.component.html',\n  styleUrls: ['./search.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgClass, NgIf, IconComponent, InputComponent, FormsModule],\n})\nexport class SearchComponent {\n  bem: Bem = buildBem('aui-search');\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input()\n  searchButton = false;\n\n  @Input()\n  clearable = true;\n\n  @Input()\n  searching = false;\n\n  @Input()\n  placeholder = '';\n\n  @Input()\n  disabled = false;\n\n  @Input()\n  get keyword() {\n    return this.value;\n  }\n\n  set keyword(value: string) {\n    this.value = value;\n  }\n\n  @Output()\n  keywordChange = new EventEmitter<string>();\n\n  @Output()\n  search = new EventEmitter<string>();\n\n  @Output()\n  clear = new EventEmitter<void>();\n\n  @ViewChild('input', { read: ElementRef })\n  inputRef: ElementRef<HTMLInputElement>;\n\n  value = '';\n\n  get showSpinner() {\n    return this.searching && !this.searchButton;\n  }\n\n  get showClear() {\n    return !this.disabled && this.clearable && this.value && !this.showSpinner;\n  }\n\n  focus() {\n    this.inputRef.nativeElement.focus();\n  }\n\n  emitChange(value: string): void {\n    this.value = value;\n    this.keywordChange.emit(value);\n  }\n\n  emitSearch(): void {\n    if (this.disabled) {\n      return;\n    }\n    this.search.emit(this.value);\n  }\n\n  emitClear(): void {\n    if (this.disabled) {\n      return;\n    }\n    this.value = '';\n    this.keywordChange.emit('');\n    this.search.emit('');\n    this.clear.emit();\n    this.inputRef.nativeElement.focus();\n  }\n}\n","<div\n  [ngClass]=\"bem.block(size)\"\n  [class.hasIcon]=\"!searchButton\"\n  [class.hasButton]=\"searchButton\"\n  [class.isClearable]=\"showClear\"\n  [class.isSearching]=\"searching\"\n  [class.isDisabled]=\"disabled\"\n>\n  <div\n    *ngIf=\"!searchButton\"\n    [class]=\"bem.element('icon')\"\n  >\n    <aui-icon icon=\"magnifier\"></aui-icon>\n  </div>\n  <input\n    #input\n    aui-input\n    autocomplete=\"off\"\n    [ngModel]=\"value\"\n    (ngModelChange)=\"emitChange($event)\"\n    [disabled]=\"disabled\"\n    (keyup.enter)=\"emitSearch()\"\n    [ngClass]=\"bem.element('input')\"\n    [placeholder]=\"placeholder\"\n    [size]=\"size\"\n  />\n  <div\n    *ngIf=\"showSpinner\"\n    [class]=\"bem.element('spinner')\"\n  >\n    <aui-icon icon=\"spinner\"></aui-icon>\n  </div>\n  <div\n    [hidden]=\"!showClear\"\n    [class]=\"bem.element('clear')\"\n    (click)=\"emitClear()\"\n  >\n    <aui-icon icon=\"xmark_small\"></aui-icon>\n  </div>\n  <div\n    *ngIf=\"searchButton\"\n    [class]=\"bem.element('button')\"\n    (click)=\"emitSearch()\"\n  >\n    <div [class]=\"bem.element('button-icon')\">\n      <aui-icon [icon]=\"searching ? 'spinner' : 'magnifier'\"></aui-icon>\n    </div>\n  </div>\n</div>\n","import { ComponentSize } from '../../internal/types';\n\nfunction getRowHeight(size: ComponentSize) {\n  switch (size) {\n    case ComponentSize.Large: {\n      return 33;\n    }\n    case ComponentSize.Small: {\n      return 23;\n    }\n    case ComponentSize.Mini: {\n      return 21;\n    }\n    default: {\n      return 25;\n    }\n  }\n}\n\nfunction getContainerPaddingPatch(size: ComponentSize) {\n  switch (size) {\n    case ComponentSize.Mini: {\n      return 3;\n    }\n    case ComponentSize.Small: {\n      return 5;\n    }\n    default: {\n      return 7;\n    }\n  }\n}\n\nexport function createWithMaxRowCount<\n  T extends {\n    maxRowCount: number;\n    customRowHeight?: number;\n    size: ComponentSize;\n  },\n>(component: T) {\n  const hostPosition = () => (component.maxRowCount > 0 ? 'relative' : null);\n  const hostDisplay = () => (component.maxRowCount ? 'block' : null);\n  const maxHeight = () => {\n    if (component.maxRowCount <= 0) {\n      return null;\n    }\n\n    const paddingPatch = getContainerPaddingPatch(component.size);\n\n    const rowHeight =\n      isNaN(component.customRowHeight) || component.customRowHeight <= 0\n        ? getRowHeight(component.size)\n        : component.customRowHeight;\n\n    return `${rowHeight * component.maxRowCount + paddingPatch}px`;\n  };\n\n  return {\n    hostPosition,\n    hostDisplay,\n    maxHeight,\n  };\n}\n","import { NgFor } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostBinding,\n  Injector,\n  Input,\n  OnChanges,\n  Renderer2,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport {\n  AsyncValidatorFn,\n  FormBuilder,\n  NG_VALUE_ACCESSOR,\n  NgControl,\n  ValidatorFn,\n  Validators,\n  UntypedFormControl,\n} from '@angular/forms';\nimport { take } from 'rxjs';\n\nimport { CommonFormControl } from '../../form';\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { TagComponent } from '../../tag/tag.component';\n\nimport { createWithMaxRowCount } from './with-max-row-count';\n\nexport const INPUT_ERROR_KEY = 'input_data_error';\n\n@Component({\n  selector: 'aui-tags-input',\n  templateUrl: './tags-input.component.html',\n  styleUrls: [\n    '../../input/input.component.scss',\n    '../../tag/tag.component.scss',\n    './tags-input.component.scss',\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TagsInputComponent),\n      multi: true,\n    },\n  ],\n  imports: [NgFor, TagComponent],\n})\nexport class TagsInputComponent\n  extends CommonFormControl<string[]>\n  implements AfterViewInit, OnChanges\n{\n  bem: Bem = buildBem('aui-tags-input');\n\n  @Input()\n  placeholder = '';\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  // TODO: implement this feature\n  @Input()\n  clearable: boolean | '' = false;\n\n  @Input()\n  allowRepeat: boolean | '' = false;\n\n  @Input()\n  allowEmpty: boolean | '' = false;\n\n  @Input()\n  readonlyTags: string[] | readonly string[] = [];\n\n  @Input()\n  maxRowCount = 0;\n\n  @Input()\n  customRowHeight = 0; // 0: use default style const value, > 1: for ```tagClassFn``` maybe affect lineHeight\n\n  _inputValidator: ValidatorFn;\n  _inputAsyncValidator: AsyncValidatorFn;\n\n  @Input()\n  set inputValidator(fn: ValidatorFn | ValidatorFn[]) {\n    this._inputValidator = Array.isArray(fn) ? Validators.compose(fn) : fn;\n  }\n\n  get inputValidator() {\n    return this._inputValidator;\n  }\n\n  @Input()\n  set inputAsyncValidator(fn: AsyncValidatorFn | AsyncValidatorFn[]) {\n    this._inputAsyncValidator = Array.isArray(fn)\n      ? Validators.composeAsync(fn)\n      : fn;\n  }\n\n  get inputAsyncValidator() {\n    return this._inputAsyncValidator;\n  }\n\n  @ViewChild('inputRef', { static: true })\n  inputRef: ElementRef<HTMLInputElement>;\n\n  @ViewChild('inputValueMirror', { static: true })\n  inputValueMirror: ElementRef<HTMLElement>;\n\n  @HostBinding('style.position')\n  get hostPosition() {\n    return this.withMaxRowCount.hostPosition();\n  }\n\n  @HostBinding('style.display')\n  get hostDisplay() {\n    return this.withMaxRowCount.hostDisplay();\n  }\n\n  get maxHeight() {\n    return this.withMaxRowCount.maxHeight();\n  }\n\n  private readonly withMaxRowCount = createWithMaxRowCount(this);\n\n  focused = false;\n  override model: string[] = [];\n\n  // 内置form control，仅作校验使用\n  readonly inputControl: UntypedFormControl;\n  // 外层 FormControl，所有的校验逻辑针对输入数据\n  controlContainer: NgControl;\n\n  get rootClass() {\n    const size = this.size || ComponentSize.Medium;\n    return `aui-input ${this.bem.block(size)} ${\n      this.disabled ? 'isDisabled' : ''\n    } ${this.focused ? 'isFocused' : ''} ${\n      this.clearable ? 'isClearable' : ''\n    } ${this.maxRowCount > 0 ? 'withHeightLimit' : ''}`;\n  }\n\n  get tagSize() {\n    return this.size === ComponentSize.Large\n      ? ComponentSize.Medium\n      : ComponentSize.Mini;\n  }\n\n  get inputClass() {\n    return `${this.bem.element('input', {\n      hidden:\n        this.disabled || (!this.focused && !this.inputRef?.nativeElement.value),\n    })} aui-tag aui-tag--${this.tagSize}`;\n  }\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    private readonly fb: FormBuilder,\n    private readonly renderer: Renderer2,\n    private readonly injector: Injector,\n  ) {\n    super(cdr);\n    this.inputControl = this.fb.control('');\n  }\n\n  ngOnChanges({\n    inputValidator,\n    inputAsyncValidator,\n    disabled,\n  }: SimpleChanges) {\n    if (disabled) {\n      this.inputControl[disabled.currentValue ? 'disable' : 'enable']({\n        emitEvent: false,\n      });\n    }\n    if (inputValidator) {\n      this.inputControl.setValidators(this.inputValidator);\n    }\n    if (inputAsyncValidator) {\n      this.inputControl.setAsyncValidators(this.inputAsyncValidator);\n    }\n  }\n\n  ngAfterViewInit() {\n    this.controlContainer = this.injector.get(NgControl, null);\n  }\n\n  onRemove(index: number) {\n    const target = this.model[index];\n    if (target && this.readonlyTags.includes(target)) {\n      return;\n    }\n    this.emitValue(this.model.filter((_, i) => i !== index));\n  }\n\n  onInput() {\n    const value = this.inputRef.nativeElement.value;\n    // make sure value sync to span element\n    requestAnimationFrame(() => {\n      if (value.length) {\n        this.renderer.setStyle(\n          this.inputRef.nativeElement,\n          'width',\n          this.inputValueMirror.nativeElement.scrollWidth + 'px',\n        );\n      } else {\n        this.renderer.removeStyle(this.inputRef.nativeElement, 'width');\n      }\n    });\n    if (\n      this.controlContainer?.control?.errors?.[INPUT_ERROR_KEY] &&\n      Object.keys(this.controlContainer.control.errors).length === 1\n    ) {\n      this.controlContainer.control.setErrors(null);\n    }\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    const inputEl = event.target as HTMLInputElement;\n    if (event.key === 'Backspace' && inputEl.value === '') {\n      this.onRemove(this.model.length - 1);\n      event.stopPropagation();\n      event.preventDefault();\n    } else if (event.key === 'Enter') {\n      event.stopPropagation();\n      event.preventDefault();\n      requestAnimationFrame(() => {\n        this.pushValue(inputEl.value);\n      });\n    }\n  }\n\n  onInputFocus() {\n    this.focused = true;\n  }\n\n  onInputBlur(event: Event) {\n    this.focused = false;\n    this.pushValue((event.target as HTMLInputElement).value);\n    if (this.onTouched) {\n      this.onTouched();\n    }\n  }\n\n  trackByValue(_: number, value: string) {\n    return value;\n  }\n\n  protected override valueIn(v: string[]): string[] {\n    this.clearInput();\n    return this.sortByReadonly(v || []);\n  }\n\n  private sortByReadonly(items: string[]) {\n    return this.readonlyTags.length\n      ? [\n          ...items.reduce(\n            (acc, curr) => acc.add(curr),\n            new Set(this.readonlyTags),\n          ),\n        ]\n      : items;\n  }\n\n  private pushValue(value: string) {\n    if (!this.allowEmpty && !value) {\n      this.removeInputControlError();\n      return;\n    }\n    if (!this.allowRepeat && this.model.includes(value)) {\n      return;\n    }\n    this.inputControl.setValue(this.inputRef.nativeElement.value);\n    // inputControl 自身的状态为同步计算\n    this.syncControlStatus();\n    if (this.inputControl.valid) {\n      this.emitValue(this.model.concat(value));\n    } else if (this.inputControl.pending) {\n      // PENDING 后只会变为 VALID 或 INVALID 的决议状态\n      this.inputControl.statusChanges.pipe(take(1)).subscribe(_ => {\n        this.syncControlStatus();\n        if (this.inputControl.valid) {\n          this.emitValue(this.model.concat(value));\n        }\n      });\n    }\n  }\n\n  private syncControlStatus() {\n    const { pending, valid, invalid, disabled, errors } = this.inputControl;\n    if (valid) {\n      this.removeInputControlError();\n      this.controlContainer?.control.markAsDirty();\n    } else if (pending) {\n      this.controlContainer?.control.markAsPending();\n    } else if (invalid) {\n      this.controlContainer?.control.markAsDirty();\n      this.controlContainer?.control.setErrors({\n        ...this.controlContainer?.control?.errors,\n        [INPUT_ERROR_KEY]: errors,\n      });\n    } else if (disabled) {\n      // 与当前 input 校验脱离\n      this.controlContainer?.control?.updateValueAndValidity();\n    }\n  }\n\n  private removeInputControlError() {\n    let errors = this.controlContainer?.control.errors;\n    if (errors?.[INPUT_ERROR_KEY]) {\n      delete errors[INPUT_ERROR_KEY];\n    }\n    if (Object.keys(errors || {}).length === 0) {\n      errors = null;\n    }\n    this.controlContainer?.control.setErrors(errors);\n  }\n\n  private clearInput() {\n    this.renderer.removeStyle(this.inputRef.nativeElement, 'width');\n    this.inputRef.nativeElement.value = '';\n    this.inputControl.setValue('');\n  }\n}\n","<div\n  [class]=\"rootClass\"\n  (click)=\"inputRef.focus()\"\n  [style.max-height]=\"maxHeight\"\n>\n  <span\n    [hidden]=\"model.length || inputRef.value.length\"\n    [class]=\"bem.element('placeholder')\"\n  >\n    {{ placeholder }}\n  </span>\n  <aui-tag\n    *ngFor=\"let tag of model; let index = index; trackBy: trackByValue\"\n    type=\"info\"\n    [title]=\"tag\"\n    [size]=\"tagSize\"\n    [round]=\"true\"\n    [border]=\"true\"\n    [closeable]=\"!(disabled || readonlyTags.includes(tag))\"\n    (close)=\"onRemove(index)\"\n  >\n    {{ tag }}\n  </aui-tag>\n  <input\n    #inputRef\n    [class]=\"inputClass\"\n    [disabled]=\"disabled\"\n    autocomplete=\"off\"\n    (focus)=\"onInputFocus()\"\n    (blur)=\"onInputBlur($event)\"\n    (keydown)=\"onKeyDown($event)\"\n    (input)=\"onInput()\"\n  />\n  <span\n    #inputValueMirror\n    [class]=\"bem.element('mirror')\"\n    >{{ inputRef.value }}</span\n  >\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { IconModule } from '../icon';\nimport { SharedModule } from '../shared/shared.module';\nimport { TagModule } from '../tag';\n\nimport { AutosizeDirective } from './autosize.directive';\nimport {\n  InputAddonAfterDirective,\n  InputAddonBeforeDirective,\n  InputPrefixDirective,\n  InputSuffixDirective,\n} from './helper-directives';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { InputComponent } from './input.component';\nimport { NumberInputComponent } from './number-input/number-input.component';\nimport { SearchComponent } from './search/search.component';\nimport { TagsInputComponent } from './tags-input/tags-input.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    IconModule,\n    TagModule,\n    SharedModule,\n    AutosizeDirective,\n    InputComponent,\n    InputGroupComponent,\n    InputAddonBeforeDirective,\n    InputAddonAfterDirective,\n    InputPrefixDirective,\n    InputSuffixDirective,\n    SearchComponent,\n    TagsInputComponent,\n    NumberInputComponent,\n  ],\n  exports: [\n    AutosizeDirective,\n    InputComponent,\n    InputGroupComponent,\n    InputAddonBeforeDirective,\n    InputAddonAfterDirective,\n    InputPrefixDirective,\n    InputSuffixDirective,\n    SearchComponent,\n    TagsInputComponent,\n    NumberInputComponent,\n  ],\n})\nexport class InputModule {}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ButtonModule } from '../button';\nimport { I18nModule } from '../i18n';\nimport { IconModule } from '../icon';\nimport { InputModule } from '../input';\nimport { TooltipModule } from '../tooltip';\n\nimport { TimePickerComponent } from './component';\nimport { TimePickerPanelComponent } from './panel/panel.component';\n\n@NgModule({\n  imports: [\n    FormsModule,\n    ReactiveFormsModule,\n    PortalModule,\n    OverlayModule,\n    CommonModule,\n    InputModule,\n    TooltipModule,\n    IconModule,\n    ButtonModule,\n    I18nModule,\n    TimePickerComponent,\n    TimePickerPanelComponent,\n  ],\n  exports: [TimePickerComponent, TimePickerPanelComponent],\n})\nexport class TimePickerModule {}\n\nexport const TIME_PICKER_MODULE = [\n  TimePickerComponent,\n  TimePickerPanelComponent,\n] as const;\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { ButtonComponent } from '../../../button/button.component';\nimport { I18nPipe } from '../../../i18n/i18n.pipe';\n\n@Component({\n  selector: 'aui-calendar-footer',\n  templateUrl: './template.html',\n  styleUrls: ['./style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgIf, NgTemplateOutlet, ButtonComponent, I18nPipe],\n})\nexport class CalendarFooterComponent {\n  @Input()\n  clearable = true;\n\n  @Input()\n  clearText: string;\n\n  @Input()\n  customAction: TemplateRef<any>;\n\n  @Output()\n  confirm = new EventEmitter<void>();\n\n  @Output()\n  clear = new EventEmitter<void>();\n}\n","<div class=\"aui-calendar-footer__wrapper\">\n  <div style=\"flex: 1\">\n    <ng-content></ng-content>\n  </div>\n  <div>\n    <ng-container\n      *ngIf=\"customAction; else default\"\n      [ngTemplateOutlet]=\"customAction\"\n    >\n    </ng-container>\n    <ng-template #default>\n      <button\n        aui-button=\"text\"\n        *ngIf=\"clearable\"\n        (click)=\"clear.emit()\"\n        size=\"small\"\n      >\n        {{ clearText || ('clear' | auiI18n) }}\n      </button>\n      <button\n        aui-button=\"primary\"\n        (click)=\"confirm.emit()\"\n        size=\"small\"\n      >\n        {{ 'confirm' | auiI18n }}\n      </button>\n    </ng-template>\n  </div>\n</div>\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n  computed,\n  signal,\n} from '@angular/core';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\n\nimport { ButtonComponent } from '../../../button/button.component';\nimport { I18nPipe, I18nService } from '../../../i18n';\nimport { IconComponent } from '../../../icon/icon.component';\nimport { buildBem } from '../../../internal/utils';\nimport { DateNavRange, Side } from '../../date-picker.type';\nimport { MONTH, YEAR } from '../constant';\nimport { calcRangeValue } from '../util';\n\nconst bem = buildBem('aui-calendar-header');\n\n@Component({\n  selector: 'aui-calendar-header',\n  templateUrl: './template.html',\n  styleUrls: ['./style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgIf, NgTemplateOutlet, ButtonComponent, IconComponent, I18nPipe],\n})\nexport class CalendarHeaderComponent {\n  @Input()\n  get dateNavRange() {\n    return this.$$dateNavRange();\n  }\n\n  set dateNavRange(val) {\n    if (!val || this.$$dateNavRange() === val) {\n      return;\n    }\n    this.$$dateNavRange.set(val);\n  }\n\n  @Input()\n  get anchor() {\n    return this.$$anchor();\n  }\n\n  set anchor(val) {\n    if (!val || this.$$anchor() === val) {\n      return;\n    }\n    this.$$anchor.set(val);\n  }\n\n  @Input()\n  maxAvail?: ConfigType;\n\n  private get _maxAvail() {\n    return this.maxAvail ? dayjs(this.maxAvail) : null;\n  }\n\n  @Input()\n  minAvail?: ConfigType;\n\n  private get _minAvail() {\n    return this.minAvail ? dayjs(this.minAvail) : null;\n  }\n\n  @Output()\n  navRangeChange = new EventEmitter<DateNavRange>();\n\n  @Output()\n  anchorChange = new EventEmitter<Dayjs>();\n\n  private readonly $$dateNavRange = signal(DateNavRange.Month);\n  private readonly $$anchor = signal(dayjs());\n\n  bem = bem;\n\n  DateNavRange = DateNavRange;\n\n  $monthBeforeYear = this.i18nService.$monthBeforeYear;\n\n  $headerRange = computed(() => {\n    const locale = this.i18nService.$locale();\n    const [start, end] = Object.values(\n      calcRangeValue(this.$$dateNavRange(), this.$$anchor()),\n    ).map(date => date.toDate());\n\n    return {\n      start: {\n        year: start.toLocaleDateString(locale, { year: 'numeric' }),\n        month: start.toLocaleDateString(locale, { month: 'short' }),\n      },\n      end: {\n        year: end?.toLocaleDateString(locale, { year: 'numeric' }),\n        month: end?.toLocaleDateString(locale, { month: 'short' }),\n      },\n    };\n  });\n\n  constructor(private readonly i18nService: I18nService) {}\n\n  // maxAvail > current date ：right btn hide\n  // minAvail > current date ：left btn hide\n  shouldShowNav(type: DateNavRange, side: Side) {\n    const availValue = (\n      side === Side.Left ? this._minAvail : this._maxAvail\n    )?.clone();\n    /**\n     * 对于 range-picker\n     * 左侧部分 minAvail = minDate, maxAvail = min(maxData, rightAnchor)，从而左侧部分的按钮，仅在小于右侧部分时显示\n     * 右侧部分 maxAvail = maxDate, minAvail = max(minData, leftAnchor)，从而左侧部分的按钮，仅在小于右侧部分时显示\n     */\n    if (side === Side.Left) {\n      return type === DateNavRange.Month\n        ? !this.anchor.subtract(1, 'month').isBefore(availValue, 'month')\n        : type === DateNavRange.Year\n        ? !this.anchor.subtract(1, 'year').isBefore(availValue, 'year')\n        : false;\n    }\n    return type === DateNavRange.Month\n      ? !this.anchor.add(1, 'month').isAfter(availValue, 'month')\n      : type === DateNavRange.Year\n      ? !this.anchor.add(1, 'year').isAfter(availValue, 'year')\n      : false;\n  }\n\n  // @return isBetween|isEqual:0, isBefore:-1,isAfter:1\n  compareNavValue(type: DateNavRange, constrain: Dayjs, anchor: Dayjs) {\n    const range = calcRangeValue(type, anchor);\n    const constrainValue = constrain;\n    if (type === DateNavRange.Decade) {\n      if (constrainValue.isBetween(range.start, range.end, YEAR)) {\n        return 0;\n      }\n      return constrainValue.isBefore(range.start) ? -1 : 1;\n    }\n    return constrainValue.isSame(range.start, MONTH)\n      ? 0\n      : constrainValue.isBefore(range.start, MONTH)\n      ? -1\n      : 1;\n  }\n\n  navHead(range: DateNavRange, value: number) {\n    let anchor: Dayjs;\n    switch (range) {\n      case DateNavRange.Month: {\n        anchor = this.anchor.add(value, MONTH);\n        break;\n      }\n      case DateNavRange.Year: {\n        anchor = this.anchor.add(value, YEAR);\n        break;\n      }\n      case DateNavRange.Decade: {\n        anchor = this.anchor.add(value, YEAR);\n        break;\n      }\n    }\n    this.anchorChange.next(anchor);\n  }\n\n  clickNav = (range: DateNavRange) => {\n    if (![DateNavRange.Month, DateNavRange.Year].includes(range)) {\n      return;\n    }\n    this.navRangeChange.next(\n      range === DateNavRange.Month ? DateNavRange.Year : DateNavRange.Decade,\n    );\n  };\n}\n","<div [class]=\"bem.element('container')\">\n  <div>\n    <ng-container\n      *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n      [ngTemplateOutlet]=\"yearControl\"\n      [ngTemplateOutletContext]=\"{ side: 'left' }\"\n    ></ng-container>\n\n    <ng-container\n      *ngIf=\"dateNavRange === DateNavRange.Decade\"\n      [ngTemplateOutlet]=\"decadeControl\"\n      [ngTemplateOutletContext]=\"{ side: 'left' }\"\n    ></ng-container>\n  </div>\n  <!-- 内容区 -->\n  <span\n    *ngIf=\"dateNavRange === DateNavRange.Month\"\n    [class]=\"bem.element('nav-content')\"\n  >\n    <ng-container\n      [ngTemplateOutlet]=\"$monthBeforeYear() ? monthTemplate : yearTemplate\"\n    ></ng-container>\n    <div class=\"separator\"></div>\n    <ng-container\n      [ngTemplateOutlet]=\"$monthBeforeYear() ? yearTemplate : monthTemplate\"\n    ></ng-container>\n  </span>\n\n  <span\n    *ngIf=\"dateNavRange === DateNavRange.Year\"\n    [class]=\"bem.element('nav-content')\"\n  >\n    <button\n      aui-button=\"text\"\n      (click)=\"clickNav(DateNavRange.Year)\"\n    >\n      {{ $headerRange().start.year }}\n    </button>\n  </span>\n\n  <span\n    *ngIf=\"dateNavRange === DateNavRange.Decade\"\n    [class]=\"bem.element('nav-content')\"\n  >\n    {{ $headerRange().start.year }} - {{ $headerRange().end.year }}\n  </span>\n\n  <div [class]=\"bem.element('nav-action')\">\n    <ng-container\n      *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n      [ngTemplateOutlet]=\"yearControl\"\n      [ngTemplateOutletContext]=\"{ side: 'right' }\"\n    ></ng-container>\n\n    <ng-container\n      *ngIf=\"dateNavRange === DateNavRange.Decade\"\n      [ngTemplateOutlet]=\"decadeControl\"\n      [ngTemplateOutletContext]=\"{ side: 'right' }\"\n    ></ng-container>\n  </div>\n</div>\n\n<ng-template\n  #yearControl\n  let-side=\"side\"\n>\n  <span class=\"action-bar\">\n    <button\n      aui-button=\"text\"\n      size=\"mini\"\n      [square]=\"true\"\n      *ngIf=\"side === 'right'\"\n      [class.hidden]=\"\n        !shouldShowNav(DateNavRange.Month, side) ||\n        dateNavRange !== DateNavRange.Month\n      \"\n      (click)=\"navHead(DateNavRange.Month, 1)\"\n    >\n      <aui-icon icon=\"angle_right\"></aui-icon>\n    </button>\n    <button\n      aui-button=\"text\"\n      size=\"mini\"\n      [square]=\"true\"\n      (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n      [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n    >\n      <aui-icon\n        [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n      ></aui-icon>\n    </button>\n    <button\n      aui-button=\"text\"\n      size=\"mini\"\n      [square]=\"true\"\n      *ngIf=\"side === 'left'\"\n      [class.hidden]=\"\n        !shouldShowNav(DateNavRange.Month, side) ||\n        dateNavRange !== DateNavRange.Month\n      \"\n      (click)=\"navHead(DateNavRange.Month, -1)\"\n    >\n      <aui-icon icon=\"angle_left\"></aui-icon>\n    </button>\n  </span>\n</ng-template>\n\n<ng-template\n  #decadeControl\n  let-side=\"side\"\n>\n  <button\n    aui-button=\"text\"\n    size=\"mini\"\n    [square]=\"true\"\n    (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n    [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n  >\n    <aui-icon\n      [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n    ></aui-icon>\n  </button>\n</ng-template>\n\n<ng-template #yearTemplate>\n  <button\n    aui-button=\"text\"\n    class=\"header-range\"\n    (click)=\"clickNav(DateNavRange.Year)\"\n  >\n    {{ $headerRange().start.year }}\n  </button>\n</ng-template>\n<ng-template #monthTemplate>\n  <button\n    aui-button=\"text\"\n    class=\"header-range\"\n    (click)=\"clickNav(DateNavRange.Month)\"\n  >\n    {{ $headerRange().start.month }}\n  </button>\n</ng-template>\n","import { NgClass, NgIf, NgFor } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport dayjs, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\n\nimport { ButtonComponent } from '../../../button/button.component';\nimport { I18nPipe } from '../../../i18n/i18n.pipe';\nimport { buildBem } from '../../../internal/utils';\nimport { DateNavRange } from '../../date-picker.type';\nimport {\n  DAY,\n  DAY_PANEL_COLUMN_COUNT,\n  DAY_PANEL_ROW_COUNT,\n  DatePickerType,\n  MONTH,\n  MONTH_PANEL_COLUMN_COUNT,\n  MONTH_PANEL_ROW_COUNT,\n  YEAR,\n  YEAR_PANEL_COLUMN_COUNT,\n  YEAR_PANEL_ROW_COUNT,\n} from '../constant';\nimport {\n  DateCell,\n  calcRangeValue,\n  composeDisabledDateFn,\n  formatDate,\n  getDatePanelIterable,\n  getNavRangeByType,\n  getTypeByNavRange,\n  sortDates,\n} from '../util';\n\ndayjs.extend(isBetween);\n\nconst bem = buildBem('aui-picker-panel');\n\n@Component({\n  selector: 'aui-picker-panel',\n  templateUrl: './picker-panel.template.html',\n  styleUrls: ['./picker-panel.style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgClass, NgIf, NgFor, ButtonComponent, I18nPipe],\n})\nexport class PickerPanelComponent implements OnChanges {\n  @Input()\n  navRange: DateNavRange;\n\n  @Input()\n  type: DatePickerType;\n\n  @Input()\n  anchor = dayjs();\n\n  @Input()\n  matchDates: Dayjs[];\n\n  @Input()\n  disabledDate: (date: Dayjs, navRange: DateNavRange) => boolean = () => false;\n\n  @Input()\n  set weekStartDay(day: number) {\n    const normalized = Math.max(Math.min(Math.round(day), 6), 0);\n    this.weekDefs = [\n      ...this.weekDefs.slice(normalized),\n      ...this.weekDefs.slice(0, normalized),\n    ];\n    this._weekStartDay = normalized;\n  }\n\n  get weekStartDay() {\n    return this._weekStartDay;\n  }\n\n  @Input()\n  minDate: Dayjs;\n\n  @Input()\n  maxDate: Dayjs;\n\n  get disabledDateFn() {\n    return composeDisabledDateFn(\n      date => this.minDate && date.isBefore(this.minDate, 'date'),\n      (date, navRange) =>\n        this.maxDate &&\n        (navRange === DateNavRange.Decade\n          ? date.isAfter(this.maxDate, 'year')\n          : date.isAfter(this.maxDate, 'date')),\n      this.disabledDate,\n    );\n  }\n\n  private _weekStartDay = 0;\n\n  panelData: DateCell[][];\n\n  @Output()\n  select = new EventEmitter<Dayjs>();\n\n  @Output()\n  hovered = new EventEmitter<Dayjs>();\n\n  bem = bem;\n  DateNavRange = DateNavRange;\n\n  weekDefs = [\n    'sunday',\n    'monday',\n    'tuesday',\n    'wednesday',\n    'thursday',\n    'friday',\n    'saturday',\n  ];\n\n  constructor(private readonly cdr: ChangeDetectorRef) {}\n\n  ngOnChanges() {\n    // 如果 dateValue 是一个数组，必然是同一个面板上，否则应当给与不同的面板不同的dateValue值\n    const headerRange = calcRangeValue(this.navRange, this.anchor);\n    this.renderPanelData(headerRange.start, this.navRange);\n  }\n\n  // 根据当前数据，计算渲染表格\n  renderPanelData(date: Dayjs, navRange: DateNavRange) {\n    const value = [];\n    let colCounts = 0;\n    let rowCounts = 0;\n    if (!this.panelData) {\n      this.panelData = [[]];\n    }\n    const [...values] = getDatePanelIterable(date, navRange, this.weekStartDay);\n    switch (navRange) {\n      case DateNavRange.Month: {\n        colCounts = DAY_PANEL_COLUMN_COUNT;\n        rowCounts = DAY_PANEL_ROW_COUNT;\n\n        break;\n      }\n      case DateNavRange.Decade: {\n        colCounts = YEAR_PANEL_COLUMN_COUNT;\n        rowCounts = YEAR_PANEL_ROW_COUNT;\n\n        break;\n      }\n      case DateNavRange.Year: {\n        colCounts = MONTH_PANEL_COLUMN_COUNT;\n        rowCounts = MONTH_PANEL_ROW_COUNT;\n\n        break;\n      }\n      // No default\n    }\n    for (let k = 0; k < rowCounts; k++) {\n      const row = [];\n      for (let i = 0; i < colCounts; i++) {\n        const cell = formatDate(navRange, values[k * colCounts + i], date);\n        cell.isDisabled = this.disabledDateFn(cell.value, navRange);\n        const sortedDates = sortDates(this.matchDates);\n        if (sortedDates?.length === 2 && navRange === DateNavRange.Month) {\n          if (\n            cell.value.isBetween(sortedDates[0], sortedDates[1]) &&\n            !cell.isBackground\n          ) {\n            cell.inRange = true;\n          }\n          cell.isRangeStart =\n            cell.value.isSame(sortedDates[0], DAY) && !cell.isBackground;\n          cell.isRangeEnd =\n            cell.value.isSame(sortedDates[1], DAY) && !cell.isBackground;\n          if (cell.isRangeStart && cell.isRangeEnd) {\n            cell.isRangeStart = false;\n            cell.isRangeEnd = false;\n          }\n        }\n        row.push(cell);\n      }\n      value.push(row);\n    }\n    this.panelData = value.slice();\n    this.cdr.markForCheck();\n  }\n\n  match(value: Dayjs) {\n    if (\n      !this.matchDates?.filter(v => !!v)?.length ||\n      getNavRangeByType(this.type) !== this.navRange\n    ) {\n      return false;\n    }\n    return this.matchDates?.some(dateValue =>\n      this.navRange === DateNavRange.Decade\n        ? value.isSame(dateValue, YEAR)\n        : this.navRange === DateNavRange.Year\n          ? value.isSame(dateValue, MONTH)\n          : value.isSame(dateValue, DAY),\n    );\n  }\n\n  matchToday(value: Dayjs) {\n    return value.isSame(dayjs(), getTypeByNavRange(this.navRange));\n  }\n\n  selectValue(value: Dayjs) {\n    this.select.next(value);\n  }\n\n  trackByFn() {\n    return this.navRange;\n  }\n}\n","<div\n  [class]=\"bem.element('container')\"\n  [ngClass]=\"{\n    'day-panel-container': navRange === DateNavRange.Month,\n    'month-panel-container': navRange === DateNavRange.Year,\n    'year-panel-container': navRange === DateNavRange.Decade,\n  }\"\n>\n  <div\n    [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n    *ngIf=\"navRange === DateNavRange.Month\"\n  >\n    <span\n      *ngFor=\"let item of weekDefs\"\n      [class]=\"bem.element('cell')\"\n    >\n      {{ item | auiI18n }}\n    </span>\n  </div>\n  <div\n    [class]=\"bem.element('row')\"\n    *ngFor=\"let row of panelData; trackBy: trackByFn\"\n  >\n    <span\n      *ngFor=\"let item of row; trackBy: trackByFn\"\n      [class]=\"bem.element('cell')\"\n      [ngClass]=\"{\n        inRange: item.inRange && !item.isDisabled,\n        isActive: match(item.value),\n        isBackground: item.isBackground && !item.isDisabled,\n        isRangeStart: item.isRangeStart,\n        isRangeEnd: item.isRangeEnd,\n        isToday: matchToday(item.value) && !item.isBackground,\n        isDisabled: item.isDisabled,\n      }\"\n      ><button\n        aui-button=\"text\"\n        [plain]=\"true\"\n        [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n        [disabled]=\"item.isDisabled\"\n        (click)=\"selectValue(item.value)\"\n        (mouseenter)=\"hovered.next(item.value)\"\n      >\n        {{ item.label\n        }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n          'month_suffix' | auiI18n\n        }}</ng-container>\n      </button>\n    </span>\n  </div>\n</div>\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\n\nimport { ButtonComponent } from '../../../button/button.component';\nimport { CommonFormControl } from '../../../form/common-form';\nimport { I18nPipe } from '../../../i18n/i18n.pipe';\nimport {\n  HOUR_ITEMS,\n  MINUTE_ITEMS,\n  SECOND_ITEMS,\n  TimePickerComponent,\n  TimePickerModel,\n} from '../../../time-picker';\nimport { DateNavRange, DisabledTimeFn } from '../../date-picker.type';\nimport { DatePickerType } from '../constant';\nimport { CalendarFooterComponent } from '../footer/component';\nimport { CalendarHeaderComponent } from '../header/component';\nimport { PickerPanelComponent } from '../panel/picker-panel';\nimport {\n  getNavRangeByType,\n  getTimePickerModel,\n  getTypeByNavRange,\n  nextNavRangeType,\n  updateDate,\n  updateDateByTimeModel,\n} from '../util';\n\n@Component({\n  selector: 'aui-date-picker-panel',\n  templateUrl: './template.html',\n  styleUrls: ['./style.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => DatePickerPanelComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    CalendarHeaderComponent,\n    PickerPanelComponent,\n    NgIf,\n    NgTemplateOutlet,\n    CalendarFooterComponent,\n    TimePickerComponent,\n    FormsModule,\n    ButtonComponent,\n    I18nPipe,\n  ],\n})\nexport class DatePickerPanelComponent extends CommonFormControl<Dayjs> {\n  @Input()\n  clearable = true;\n\n  @Input()\n  clearText: string;\n\n  @Input()\n  set type(type: DatePickerType) {\n    this.navRange = getNavRangeByType(type);\n    this._type = type;\n  }\n\n  get type() {\n    return this._type;\n  }\n\n  private _type: DatePickerType;\n\n  @Input()\n  showTime = false;\n\n  @Input()\n  disabledDate: (date: Dayjs, type: DateNavRange) => boolean = () => false;\n\n  @Input()\n  disabledTime: DisabledTimeFn = () => null;\n\n  @Input()\n  weekStartDay = 0;\n\n  @Input()\n  showFooter = true;\n\n  @Input()\n  footerTemplate: TemplateRef<unknown>;\n\n  @Input()\n  extraFooter: TemplateRef<unknown>;\n\n  @Input()\n  minDate: Dayjs;\n\n  @Input()\n  maxDate: Dayjs;\n\n  @Output()\n  confirm = new EventEmitter<Dayjs>();\n\n  @Output()\n  clear = new EventEmitter<void>();\n\n  private _cacheSelectedDate: Dayjs;\n  private _cacheDisabledTimeFn: ReturnType<DisabledTimeFn>;\n\n  getDisabledTimeFn(\n    selectedDate: Dayjs,\n    type: keyof ReturnType<DisabledTimeFn>,\n  ) {\n    if (selectedDate !== this._cacheSelectedDate) {\n      this._cacheDisabledTimeFn = combineDisabledTimeFn(\n        this._disabledTimeFn.bind(this),\n        this.disabledTime,\n      )(selectedDate);\n      this._cacheSelectedDate = selectedDate;\n    }\n    return this._cacheDisabledTimeFn?.[type];\n  }\n\n  navRange: DateNavRange;\n\n  get currentNavType() {\n    return getTypeByNavRange(this.navRange);\n  }\n\n  anchor: Dayjs;\n\n  selectedDate: Dayjs;\n\n  selectedTime: TimePickerModel;\n\n  DateNavRange = DateNavRange;\n  DatePickerType = DatePickerType;\n\n  override writeValue(obj: Dayjs) {\n    super.writeValue(obj);\n    this.selectedDate = obj;\n    this.selectedTime = getTimePickerModel(obj);\n    this.anchor = obj || dayjs();\n    this.cdr.markForCheck();\n  }\n\n  panelValueChange(value: Dayjs) {\n    this.selectedDate = updateDate(\n      this.selectedDate || dayjs(),\n      value,\n      this.currentNavType,\n    );\n    this.anchor = this.selectedDate;\n    this.selectedDate = updateDateByTimeModel(\n      this.selectedDate,\n      this.selectedTime,\n    );\n    if (this.type === this.currentNavType) {\n      this.confirmValue(this.selectedDate, !this.showTime);\n    }\n    const nextNavRange = nextNavRangeType(\n      this.navRange,\n      getNavRangeByType(this.type),\n    );\n    if (this.navRange !== nextNavRange) {\n      this.navRange = nextNavRange;\n    }\n  }\n\n  confirmValue(value?: ConfigType, closeAfterConfirm = true) {\n    this.emitValue(value ? dayjs(value) : this.selectedDate);\n    closeAfterConfirm && this.confirm.next(null);\n  }\n\n  timeDateChange(time: TimePickerModel) {\n    if (!this.selectedDate) {\n      return;\n    }\n    this.selectedDate = updateDateByTimeModel(this.selectedDate, time);\n    this.emitValue(this.selectedDate);\n  }\n\n  setToday() {\n    this.confirmValue(dayjs(), true);\n  }\n\n  clearValue() {\n    this.selectedTime = null;\n    this.clear.next();\n  }\n\n  private _disabledTimeFn(\n    selectedDate: Dayjs,\n  ): Record<keyof ReturnType<DisabledTimeFn>, () => number[]> {\n    const getTimeFilter = (\n      date: Dayjs,\n      comparator: (a: number, b: number) => boolean,\n    ) => ({\n      hours: () => HOUR_ITEMS.filter(item => comparator(item, date.hour())),\n      minutes: (hour?: number) =>\n        hour === date.hour()\n          ? MINUTE_ITEMS.filter(item => comparator(item, date.minute()))\n          : [],\n      seconds: (hour?: number, minute?: number) =>\n        hour === date.hour() && minute === date.minute()\n          ? SECOND_ITEMS.filter(item => comparator(item, date.second()))\n          : [],\n    });\n\n    if (selectedDate) {\n      if (this.minDate && selectedDate.isSame(this.minDate, 'date')) {\n        return getTimeFilter(this.minDate, (a, b) => a < b);\n      }\n      if (this.maxDate && selectedDate.isSame(this.maxDate, 'date')) {\n        return getTimeFilter(this.maxDate, (a, b) => a > b);\n      }\n    }\n\n    return {\n      hours: () => [],\n      minutes: () => [],\n      seconds: () => [],\n    };\n  }\n}\n\nfunction combineDisabledTimeFn(\n  ...disabledFnList: DisabledTimeFn[]\n): DisabledTimeFn {\n  return (date: Dayjs) => ({\n    hours: () =>\n      Array.from(\n        new Set(disabledFnList.flatMap(fn => fn(date)?.hours() || [])),\n      ),\n    minutes: (hour?: number) =>\n      Array.from(\n        new Set(disabledFnList.flatMap(fn => fn(date)?.minutes(hour) || [])),\n      ),\n    seconds: (hour?: number, minute?: number) =>\n      Array.from(\n        new Set(\n          disabledFnList.flatMap(fn => fn(date)?.seconds(hour, minute) || []),\n        ),\n      ),\n  });\n}\n","<div class=\"aui-date-picker-panel__wrapper\">\n  <aui-calendar-header\n    [dateNavRange]=\"navRange\"\n    [anchor]=\"anchor\"\n    [minAvail]=\"minDate\"\n    [maxAvail]=\"maxDate\"\n    [style.margin-inline.px]=\"4\"\n    (navRangeChange)=\"navRange = $event\"\n    (anchorChange)=\"anchor = $event\"\n  ></aui-calendar-header>\n\n  <aui-picker-panel\n    [style.margin]=\"'16px 0'\"\n    [anchor]=\"anchor\"\n    [navRange]=\"navRange\"\n    [disabledDate]=\"disabledDate\"\n    [weekStartDay]=\"weekStartDay\"\n    [minDate]=\"minDate\"\n    [maxDate]=\"maxDate\"\n    [type]=\"type\"\n    [matchDates]=\"[selectedDate]\"\n    (select)=\"panelValueChange($event)\"\n  ></aui-picker-panel>\n\n  <ng-container\n    *ngIf=\"extraFooter\"\n    [ngTemplateOutlet]=\"extraFooter\"\n    [ngTemplateOutletContext]=\"{ context: this }\"\n  ></ng-container>\n\n  <ng-container *ngIf=\"showFooter\">\n    <aui-calendar-footer\n      (clear)=\"clear.next()\"\n      (confirm)=\"confirmValue()\"\n      [clearable]=\"clearable\"\n      [clearText]=\"clearText\"\n      *ngIf=\"showTime; else today\"\n    >\n      <ng-container\n        *ngIf=\"footerTemplate; else default\"\n        [ngTemplateOutlet]=\"footerTemplate\"\n        [ngTemplateOutletContext]=\"{ context: this }\"\n      ></ng-container>\n\n      <ng-template #default>\n        <aui-time-picker\n          *ngIf=\"currentNavType === DatePickerType.Day && showTime\"\n          [showIcon]=\"false\"\n          size=\"small\"\n          [(ngModel)]=\"selectedTime\"\n          [disableHours]=\"getDisabledTimeFn(selectedDate, 'hours')\"\n          [disableMinutes]=\"getDisabledTimeFn(selectedDate, 'minutes')\"\n          [disableSeconds]=\"getDisabledTimeFn(selectedDate, 'seconds')\"\n          tooltipPosition=\"top start\"\n          (ngModelChange)=\"timeDateChange($event)\"\n          [placeholder]=\"'select_time' | auiI18n\"\n        ></aui-time-picker>\n      </ng-template>\n    </aui-calendar-footer>\n\n    <ng-template #today>\n      <aui-calendar-footer\n        *ngIf=\"type === DatePickerType.Day\"\n        (clear)=\"clearValue()\"\n        [clearable]=\"false\"\n        [customAction]=\"todayBtn\"\n      >\n      </aui-calendar-footer>\n      <ng-template #todayBtn>\n        <button\n          aui-button=\"inline\"\n          (click)=\"setToday()\"\n        >\n          {{ 'today' | auiI18n }}\n        </button>\n      </ng-template>\n    </ng-template>\n  </ng-container>\n</div>\n","import { NgIf, NgTemplateOutlet, DatePipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport dayjs, { Dayjs } from 'dayjs';\n\nimport { CommonFormControl } from '../../../form/common-form';\nimport { I18nPipe } from '../../../i18n/i18n.pipe';\nimport { buildBem } from '../../../internal/utils';\nimport { TimePickerComponent } from '../../../time-picker/component';\nimport { TimePickerModel } from '../../../time-picker/time-picker.type';\nimport { DateNavRange, DisabledTimeFn, Side } from '../../date-picker.type';\nimport { DatePickerType, MONTH, YEAR } from '../constant';\nimport { CalendarFooterComponent } from '../footer/component';\nimport { CalendarHeaderComponent } from '../header/component';\nimport { PickerPanelComponent } from '../panel/picker-panel';\nimport {\n  composeDisabledDateFn,\n  getTimePickerModel,\n  getTypeByNavRange,\n  maxDate,\n  minDate,\n  nextNavRangeType,\n  sortDates,\n  updateDate,\n  updateDateByTimeModel,\n} from '../util';\n\nconst bem = buildBem('aui-date-range-picker-panel');\n\n@Component({\n  selector: 'aui-date-range-picker-panel',\n  templateUrl: './template.html',\n  styleUrls: ['./style.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => DateRangePickerPanelComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    CalendarHeaderComponent,\n    PickerPanelComponent,\n    NgIf,\n    CalendarFooterComponent,\n    NgTemplateOutlet,\n    TimePickerComponent,\n    FormsModule,\n    DatePipe,\n    I18nPipe,\n  ],\n})\nexport class DateRangePickerPanelComponent extends CommonFormControl<Dayjs[]> {\n  @Input()\n  clearable = true;\n\n  @Input()\n  clearText: string;\n\n  @Input()\n  showTime = true;\n\n  @Input()\n  showFooter = true;\n\n  @Input()\n  disabledDate: (\n    date: Dayjs,\n    navRange: DateNavRange,\n    startDate: Dayjs,\n  ) => boolean = () => false;\n\n  @Input()\n  disabledTime: { left: DisabledTimeFn; right: DisabledTimeFn } = {\n    left: () => null,\n    right: () => null,\n  };\n\n  @Input()\n  weekStartDay = 0;\n\n  @Input()\n  minDate: Dayjs;\n\n  @Input()\n  maxDate: Dayjs;\n\n  @Output()\n  clear = new EventEmitter<void>();\n\n  @Output()\n  confirm = new EventEmitter<void>();\n\n  bem = bem;\n  Side = Side;\n  DatePickerType = DatePickerType;\n  leftDateRange = DateNavRange.Month;\n  rightDateRange = DateNavRange.Month;\n\n  FOOTER_DATE_FORMAT = 'YYYY-MM-dd';\n\n  leftAnchor = dayjs();\n  rightAnchor = dayjs().add(1, MONTH);\n\n  get maxHeaderAvail() {\n    return minDate(this.rightAnchor, this.maxDate);\n  }\n\n  get minHeaderAvail() {\n    return maxDate(this.minDate, this.leftAnchor);\n  }\n\n  // 用于存放 range data 序列，数量为 2 时清除\n  rangeValue: Dayjs[] = [];\n\n  // 用于组装匹配日期序列\n  matchValues: Dayjs[];\n\n  startTime: TimePickerModel;\n  endTime: TimePickerModel;\n\n  override writeValue(obj: Dayjs[]) {\n    super.writeValue(obj);\n    this.rangeValue = obj || [];\n    this.matchValues = [...this.rangeValue];\n    this.startTime = getTimePickerModel(obj?.[0]);\n    this.endTime = getTimePickerModel(obj?.[1]);\n    if (obj?.length === 2) {\n      this.reorder(sortDates(obj));\n    }\n    this.cdr.markForCheck();\n  }\n\n  calendarRangeChange(type: DateNavRange, side: Side) {\n    if (side === Side.Left) {\n      this.leftDateRange = type;\n    } else {\n      this.rightDateRange = type;\n    }\n  }\n\n  // range 组件范围受控\n  getDateDisabledFn(side: Side, constrainValue: Dayjs) {\n    return composeDisabledDateFn(\n      (date: Dayjs, navRange: DateNavRange) => {\n        if (navRange === DateNavRange.Month) {\n          return false;\n        }\n        if (navRange === DateNavRange.Decade) {\n          return date[side === Side.Left ? 'isAfter' : 'isBefore'](\n            constrainValue,\n            YEAR,\n          );\n        }\n        return !date[side === Side.Left ? 'isBefore' : 'isAfter'](\n          constrainValue,\n          MONTH,\n        );\n      },\n      (...arg) => this.disabledDate(...arg, this.rangeValue[0]),\n    );\n  }\n\n  private getDisabledTimeCachedFn(side: Side) {\n    let cacheSelectedDate: Dayjs;\n    let cacheDisabledTimeFn: ReturnType<DisabledTimeFn>;\n    return (value: Dayjs, key: keyof ReturnType<DisabledTimeFn>) => {\n      if (value !== cacheSelectedDate) {\n        cacheDisabledTimeFn = (this.disabledTime?.[side] || (() => null))(\n          value,\n        );\n        cacheSelectedDate = value;\n      }\n      return cacheDisabledTimeFn?.[key];\n    };\n  }\n\n  leftDisabledTimeFn = this.getDisabledTimeCachedFn(Side.Left);\n  rightDisabledTimeFn = this.getDisabledTimeCachedFn(Side.Right);\n\n  selectPickerPanel(value: Dayjs, side: Side) {\n    const navRange =\n      side === Side.Left ? this.leftDateRange : this.rightDateRange;\n    const type = getTypeByNavRange(navRange);\n    const dateValue = updateDate(\n      side === Side.Left ? this.leftAnchor : this.rightAnchor,\n      value,\n      type,\n    );\n    const nextRange = nextNavRangeType(navRange, DateNavRange.Month);\n\n    if (side === Side.Left) {\n      this.leftAnchor = dateValue;\n      this.leftDateRange = nextRange;\n    } else {\n      this.rightAnchor = dateValue;\n      this.rightDateRange = nextRange;\n    }\n\n    if (navRange !== DateNavRange.Month) {\n      return;\n    }\n\n    if (this.leftAnchor.isSame(this.rightAnchor, MONTH)) {\n      this.rightAnchor = this.rightAnchor.add(1, MONTH);\n    }\n\n    this.rangeValue =\n      this.rangeValue.length === 2\n        ? [dateValue]\n        : sortDates([...this.rangeValue, dateValue]);\n    this.matchValues = [...this.rangeValue];\n    this.syncTime();\n    if (this.rangeValue.length === 2) {\n      this.reorder(this.rangeValue);\n      this.confirmValue(this.rangeValue, !this.showTime);\n    }\n  }\n\n  reorder(sortedDate: Dayjs[]) {\n    if (!sortedDate[0].isSame(sortedDate[1], MONTH)) {\n      this.leftAnchor = updateDate(\n        this.leftAnchor,\n        sortedDate[0],\n        DatePickerType.Day,\n      );\n      this.rightAnchor = updateDate(\n        this.leftAnchor,\n        sortedDate[1],\n        DatePickerType.Day,\n      );\n    }\n  }\n\n  hoverItem(date: Dayjs) {\n    if (this.rangeValue.length === 1) {\n      this.matchValues[1] = date;\n    }\n  }\n\n  confirmValue(value: Dayjs[], closeThen = true) {\n    const sortValue = value.sort((startDate, endDate) =>\n      startDate.isAfter(endDate) ? 1 : -1,\n    );\n    this.emitValue(sortValue);\n    closeThen && this.confirm.next();\n  }\n\n  timeChange(time: TimePickerModel) {\n    if (!time) {\n      return;\n    }\n    this.syncTime();\n    if (!this.rangeValue?.length) {\n      const date = updateDateByTimeModel(dayjs(), time);\n      this.rangeValue = [date, date];\n      this.matchValues = [...this.rangeValue];\n      this.startTime = this.endTime = time;\n    }\n    this.emitValue(this.rangeValue);\n  }\n\n  syncTime() {\n    if (this.showTime && !!this.rangeValue?.length) {\n      const startDate = this.rangeValue[0]\n        ? updateDateByTimeModel(this.rangeValue[0], this.startTime)\n        : null;\n      const endDate = this.rangeValue[1]\n        ? updateDateByTimeModel(this.rangeValue[1], this.endTime)\n        : null;\n      if (!this.startTime && startDate) {\n        this.startTime = getTimePickerModel(this.rangeValue[0]);\n      }\n      if (!this.endTime && endDate) {\n        this.endTime = getTimePickerModel(this.rangeValue[1]);\n      }\n      this.rangeValue = [startDate, endDate].filter(i => !!i);\n    }\n  }\n}\n","<div [class]=\"bem.element('container')\">\n  <div [class]=\"bem.element('header')\">\n    <aui-calendar-header\n      [dateNavRange]=\"leftDateRange\"\n      [anchor]=\"leftAnchor\"\n      (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n      (anchorChange)=\"leftAnchor = $event\"\n      [maxAvail]=\"maxHeaderAvail\"\n      [minAvail]=\"minDate\"\n    ></aui-calendar-header>\n    <aui-calendar-header\n      [dateNavRange]=\"rightDateRange\"\n      [anchor]=\"rightAnchor\"\n      (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n      (anchorChange)=\"rightAnchor = $event\"\n      [minAvail]=\"minHeaderAvail\"\n      [maxAvail]=\"maxDate\"\n    ></aui-calendar-header>\n  </div>\n  <div [class]=\"bem.element('body')\">\n    <aui-picker-panel\n      class=\"panel__wrapper\"\n      [navRange]=\"leftDateRange\"\n      [type]=\"DatePickerType.Day\"\n      [anchor]=\"leftAnchor\"\n      [matchDates]=\"matchValues\"\n      [minDate]=\"minDate\"\n      [maxDate]=\"maxDate\"\n      [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n      [weekStartDay]=\"weekStartDay\"\n      (hovered)=\"hoverItem($event)\"\n      (select)=\"selectPickerPanel($event, Side.Left)\"\n    ></aui-picker-panel>\n    <aui-picker-panel\n      class=\"panel__wrapper\"\n      [navRange]=\"rightDateRange\"\n      [type]=\"DatePickerType.Day\"\n      [anchor]=\"rightAnchor\"\n      [weekStartDay]=\"weekStartDay\"\n      [matchDates]=\"matchValues\"\n      [minDate]=\"minDate\"\n      [maxDate]=\"maxDate\"\n      [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n      (hovered)=\"hoverItem($event)\"\n      (select)=\"selectPickerPanel($event, Side.Right)\"\n    ></aui-picker-panel>\n  </div>\n\n  <aui-calendar-footer\n    [class]=\"bem.element('footer')\"\n    [clearable]=\"clearable\"\n    [clearText]=\"clearText\"\n    (clear)=\"clear.next()\"\n    (confirm)=\"confirmValue(rangeValue)\"\n    *ngIf=\"showFooter && showTime\"\n  >\n    <div\n      [class]=\"bem.element('footer-content')\"\n      *ngIf=\"showTime\"\n    >\n      <ng-container\n        [ngTemplateOutlet]=\"datePlaceholder\"\n        [ngTemplateOutletContext]=\"{\n          placeholder: 'start_date' | auiI18n,\n          value: rangeValue[0],\n        }\"\n      ></ng-container>\n      <aui-time-picker\n        [showIcon]=\"false\"\n        [(ngModel)]=\"startTime\"\n        size=\"small\"\n        (ngModelChange)=\"timeChange($event)\"\n        [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n        [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n        [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n        [placeholder]=\"'select_time' | auiI18n\"\n        tooltipPosition=\"top start\"\n      ></aui-time-picker>\n\n      <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n      <ng-container\n        [ngTemplateOutlet]=\"datePlaceholder\"\n        [ngTemplateOutletContext]=\"{\n          placeholder: 'end_date' | auiI18n,\n          value: rangeValue[1],\n        }\"\n      ></ng-container>\n      <aui-time-picker\n        [showIcon]=\"false\"\n        size=\"small\"\n        [(ngModel)]=\"endTime\"\n        [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n        [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n        [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n        (ngModelChange)=\"timeChange($event)\"\n        [placeholder]=\"'select_time' | auiI18n\"\n        tooltipPosition=\"top start\"\n      ></aui-time-picker>\n    </div>\n  </aui-calendar-footer>\n</div>\n\n<ng-template\n  #datePlaceholder\n  let-placeholder=\"placeholder\"\n  let-value=\"value\"\n>\n  <span\n    *ngIf=\"!value\"\n    class=\"placeholder date-holder\"\n    >{{ placeholder }}</span\n  >\n  <span\n    *ngIf=\"value\"\n    class=\"date-value date-holder\"\n    >{{ value | date: FOOTER_DATE_FORMAT }}</span\n  >\n</ng-template>\n","import { NgClass, NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewChild,\n  ViewEncapsulation,\n  computed,\n  inject,\n  signal,\n} from '@angular/core';\nimport { Dayjs } from 'dayjs';\n\nimport { I18nPipe, I18nService } from '../../i18n';\nimport { IconComponent } from '../../icon/icon.component';\nimport { InputComponent } from '../../input/input.component';\nimport { ComponentSize } from '../../internal/types';\nimport { buildBem } from '../../internal/utils';\n\nconst bem = buildBem('aui-date-picker-trigger');\n\n@Component({\n  selector: 'aui-date-picker-trigger',\n  templateUrl: './trigger.template.html',\n  styleUrls: ['./trigger.style.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass, NgIf, InputComponent, IconComponent, I18nPipe],\n})\nexport class DatePickerTriggerComponent {\n  @Input()\n  get value() {\n    return this.$$value();\n  }\n\n  set value(val) {\n    const currentValue = this.$$value();\n    if (Array.isArray(val)) {\n      if (\n        !Array.isArray(currentValue) ||\n        val.some((v, i) => !v.isSame(currentValue[i]))\n      ) {\n        this.$$value.set(val);\n      }\n    } else {\n      if (Array.isArray(currentValue) || !val?.isSame(currentValue)) {\n        this.$$value.set(val);\n      }\n    }\n  }\n\n  @Input()\n  get format() {\n    return this.$$format();\n  }\n\n  set format(val) {\n    if (this.$$format() !== val) {\n      this.$$format.set(val);\n    }\n  }\n\n  @Input()\n  get isRange() {\n    return this.$$isRange();\n  }\n\n  set isRange(val) {\n    if (this.$$isRange() !== val) {\n      this.$$isRange.set(val);\n    }\n  }\n\n  @Input()\n  size: ComponentSize;\n\n  @Input()\n  clearable = true;\n\n  @Input()\n  placeholder: string;\n\n  @Input()\n  startPlaceholder: string;\n\n  @Input()\n  endPlaceholder: string;\n\n  @Input()\n  disabled = false;\n\n  @Output()\n  blur = new EventEmitter<void>();\n\n  @Output()\n  clear = new EventEmitter<void>();\n\n  @ViewChild('focusRef', { static: false })\n  focusInputRef: InputComponent;\n\n  centerFocus = false;\n  leftFocus = false;\n  rightFocus = false;\n  hovered = false;\n  bem = bem;\n\n  get isFocus() {\n    return this.isRange ? this.leftFocus || this.rightFocus : this.centerFocus;\n  }\n\n  get hasValue() {\n    return this.isRange\n      ? (this.value as Dayjs[])?.[0] || (this.value as Dayjs[])?.[1]\n      : !!this.value;\n  }\n\n  get showClear() {\n    return !this.disabled && this.clearable && this.hasValue && this.hovered;\n  }\n\n  private readonly i18nService = inject(I18nService);\n\n  private readonly $$value = signal<Dayjs | Dayjs[]>(null);\n\n  private readonly $$format = signal<string>(null);\n\n  private readonly $$isRange = signal<boolean>(null);\n\n  $formatValue = computed(() => {\n    const format = this.$$format();\n    const value = this.$$value();\n    const isRange = this.$$isRange();\n    const locale = this.i18nService.$locale();\n\n    if (!value) {\n      return isRange ? [null, null] : null;\n    }\n\n    if (this.format) {\n      return Array.isArray(value)\n        ? value.map(v => v.format(format))\n        : value.format(format);\n    }\n\n    return Array.isArray(value)\n      ? value.map(v => v.toDate().toLocaleDateString(locale))\n      : value.toDate().toLocaleDateString(locale);\n  });\n\n  constructor() {\n    this.focusInput = this.focusInput.bind(this);\n  }\n\n  focusInput() {\n    this.focusInputRef.elementRef.nativeElement.focus();\n  }\n}\n","<div\n  [class]=\"bem.element('container')\"\n  [ngClass]=\"{\n    isFocused: isFocus,\n    isRange: isRange,\n    disabled: disabled,\n  }\"\n  (mouseenter)=\"hovered = true\"\n  (mouseleave)=\"hovered = false\"\n>\n  <span [class]=\"bem.element('content')\">\n    <ng-container *ngIf=\"isRange\">\n      <input\n        style=\"flex: 1\"\n        aui-input\n        #focusRef\n        [value]=\"$any($formatValue() || [])[0]\"\n        [readonly]=\"true\"\n        [size]=\"size\"\n        (focus)=\"leftFocus = true\"\n        (blur)=\"leftFocus = false; blur.next()\"\n        [placeholder]=\"startPlaceholder || ('start_date' | auiI18n)\"\n      />\n      <span\n        class=\"placeholder\"\n        (click)=\"focusInput()\"\n        >{{ 'to' | auiI18n }}</span\n      >\n      <input\n        style=\"flex: 1\"\n        aui-input\n        [value]=\"$any($formatValue() || [])[1]\"\n        [readonly]=\"true\"\n        [size]=\"size\"\n        (focus)=\"rightFocus = true\"\n        (blur)=\"rightFocus = false; blur.next()\"\n        [placeholder]=\"endPlaceholder || ('end_date' | auiI18n)\"\n      />\n    </ng-container>\n    <ng-container *ngIf=\"!isRange\">\n      <input\n        aui-input\n        auiTooltipType=\"plain\"\n        [value]=\"$any($formatValue())\"\n        [readonly]=\"true\"\n        #focusRef\n        [size]=\"size\"\n        auiTooltipType=\"info\"\n        (focus)=\"centerFocus = true\"\n        (blur)=\"centerFocus = false; blur.next()\"\n        [placeholder]=\"placeholder || ('select_date' | auiI18n)\"\n      />\n    </ng-container>\n  </span>\n  <span\n    [class]=\"bem.element('addon')\"\n    (click)=\"focusInput()\"\n  >\n    <aui-icon\n      *ngIf=\"showClear; else calendar\"\n      class=\"clear\"\n      size=\"16px\"\n      icon=\"xmark_small\"\n      (click)=\"$event.stopImmediatePropagation(); this.clear.next()\"\n    ></aui-icon>\n    <ng-template #calendar>\n      <aui-icon icon=\"calendar\"></aui-icon>\n    </ng-template>\n  </span>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\n\nimport { CommonFormControl } from '../../form/common-form';\nimport { ComponentSize } from '../../internal/types';\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\nimport { DatePickerType } from '../calendar/constant';\nimport { DatePickerPanelComponent } from '../calendar/date-picker-panel/component';\nimport { DateNavRange, DisabledTimeFn } from '../date-picker.type';\nimport { DatePickerTriggerComponent } from '../trigger/trigger.component';\n\n@Component({\n  selector: 'aui-date-picker',\n  templateUrl: './date-picker.template.html',\n  styleUrls: ['./date-picker.style.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => DatePickerComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    DatePickerTriggerComponent,\n    TooltipDirective,\n    DatePickerPanelComponent,\n    FormsModule,\n  ],\n})\nexport class DatePickerComponent extends CommonFormControl<ConfigType, Dayjs> {\n  @Input()\n  clearable = true;\n\n  @Input()\n  clearText: string;\n\n  @Input()\n  format: string;\n\n  @Input()\n  showTime = false;\n\n  @Input()\n  type = DatePickerType.Day;\n\n  @Input()\n  size = ComponentSize.Medium;\n\n  @Input()\n  disabledDate: (date: Dayjs, type: DateNavRange) => boolean = () => false;\n\n  @Input()\n  disabledTime: DisabledTimeFn = () => null;\n\n  @Input()\n  minDate: Dayjs;\n\n  @Input()\n  maxDate: Dayjs;\n\n  @Input()\n  weekStartDay = 0;\n\n  @Input()\n  showFooter = true;\n\n  @Input()\n  footerTemplate: TemplateRef<unknown>;\n\n  @Input()\n  extraFooter: TemplateRef<unknown>;\n\n  @Input()\n  placeholder: string;\n\n  @Output()\n  visibleChange = new EventEmitter<boolean>();\n\n  value: Dayjs;\n  DatePickerType = DatePickerType;\n\n  override valueIn(obj: ConfigType) {\n    return obj ? dayjs(obj) : null;\n  }\n\n  override writeValue(obj: Dayjs) {\n    super.writeValue(obj);\n    this.value = obj;\n    this.cdr.markForCheck();\n  }\n\n  clearValue() {\n    this.value = null;\n    this.emitValue(null);\n  }\n\n  tooltipVisibleChange(visible: boolean) {\n    this.visibleChange.next(visible);\n    if (!visible) {\n      this.emitValue(this.value);\n    }\n  }\n}\n","<aui-date-picker-trigger\n  [size]=\"size\"\n  [value]=\"value\"\n  [format]=\"format\"\n  style=\"display: flex\"\n  [auiTooltip]=\"template\"\n  auiTooltipAnimType=\"none\"\n  auiTooltipType=\"info\"\n  auiTooltipClass=\"date-picker-wrapper\"\n  [disabled]=\"!!disabled\"\n  auiTooltipPosition=\"bottom start\"\n  auiTooltipTrigger=\"click\"\n  [auiTooltipDisabled]=\"!!disabled\"\n  [auiTooltipHideOnClick]=\"true\"\n  [placeholder]=\"placeholder\"\n  (auiTooltipVisibleChange)=\"tooltipVisibleChange($event)\"\n  (clear)=\"clearValue()\"\n  #tooltip=\"auiTooltip\"\n></aui-date-picker-trigger>\n\n<ng-template #template>\n  <aui-date-picker-panel\n    [type]=\"type\"\n    style=\"padding-top: 9px; display: inline-block; max-width: 100%\"\n    [(ngModel)]=\"value\"\n    [showTime]=\"showTime\"\n    [showFooter]=\"showFooter\"\n    [disabledDate]=\"disabledDate\"\n    [disabledTime]=\"disabledTime\"\n    [weekStartDay]=\"weekStartDay\"\n    [extraFooter]=\"extraFooter\"\n    [footerTemplate]=\"footerTemplate\"\n    [clearable]=\"clearable\"\n    [clearText]=\"clearText\"\n    [minDate]=\"minDate\"\n    [maxDate]=\"maxDate\"\n    (click)=\"$event.stopImmediatePropagation()\"\n    (clear)=\"clearValue()\"\n    (confirm)=\"tooltip.hide(); emitValue(value)\"\n  ></aui-date-picker-panel>\n</ng-template>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\n\nimport { CommonFormControl } from '../../form';\nimport { ComponentSize } from '../../internal/types';\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\nimport { DateRangePickerPanelComponent } from '../calendar/range-picker-panel/component';\nimport { DisabledDateFn, DisabledTimeFn } from '../date-picker.type';\nimport { DatePickerTriggerComponent } from '../trigger/trigger.component';\n\n@Component({\n  selector: 'aui-range-picker',\n  templateUrl: './range-picker.template.html',\n  styleUrls: ['./range-picker.style.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RangePickerComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    DatePickerTriggerComponent,\n    TooltipDirective,\n    DateRangePickerPanelComponent,\n    FormsModule,\n  ],\n})\nexport class RangePickerComponent extends CommonFormControl<\n  ConfigType[],\n  Dayjs[]\n> {\n  @Input()\n  clearable = true;\n\n  @Input()\n  clearText: string;\n\n  @Input()\n  format: string;\n\n  @Input()\n  showFooter = true;\n\n  @Input()\n  showTime = true;\n\n  @Input()\n  disabledDate: DisabledDateFn = () => false;\n\n  @Input()\n  minDate: Dayjs;\n\n  @Input()\n  maxDate: Dayjs;\n\n  @Input()\n  disabledTime: { left: DisabledTimeFn; right: DisabledTimeFn } = {\n    left: () => null,\n    right: () => null,\n  };\n\n  @Input()\n  weekStartDay = 0;\n\n  @Input()\n  size: ComponentSize;\n\n  @Output()\n  visibleChange = new EventEmitter<boolean>();\n\n  value: [Dayjs, Dayjs];\n\n  override valueIn(obj: [ConfigType, ConfigType]) {\n    return obj?.map(i => dayjs(i));\n  }\n\n  override writeValue(obj: [Dayjs, Dayjs]) {\n    super.writeValue(obj);\n    this.value = obj;\n    this.cdr.markForCheck();\n  }\n\n  clearValue() {\n    this.value = null;\n    this.emitValue(null);\n  }\n\n  tooltipVisibleChange(visible: boolean) {\n    this.visibleChange.next(visible);\n    if (!visible) {\n      this.emitValue(this.value);\n    }\n  }\n}\n","<aui-date-picker-trigger\n  [format]=\"format\"\n  [isRange]=\"true\"\n  [size]=\"size\"\n  [value]=\"value\"\n  [auiTooltip]=\"template\"\n  auiTooltipAnimType=\"none\"\n  [disabled]=\"!!disabled\"\n  style=\"display: flex\"\n  auiTooltipType=\"plain\"\n  auiTooltipClass=\"aui-range-picker-wrapper\"\n  auiTooltipPosition=\"bottom start\"\n  auiTooltipTrigger=\"click\"\n  [auiTooltipHideOnClick]=\"true\"\n  [auiTooltipDisabled]=\"!!disabled\"\n  (auiTooltipVisibleChange)=\"tooltipVisibleChange($event)\"\n  (clear)=\"clearValue()\"\n  #tooltip=\"auiTooltip\"\n></aui-date-picker-trigger>\n\n<ng-template #template>\n  <aui-date-range-picker-panel\n    style=\"padding-top: 9px; display: inline-block\"\n    [showTime]=\"showTime\"\n    [showFooter]=\"showFooter\"\n    [(ngModel)]=\"value\"\n    [disabledDate]=\"disabledDate\"\n    [disabledTime]=\"disabledTime\"\n    [weekStartDay]=\"weekStartDay\"\n    [clearable]=\"clearable\"\n    [clearText]=\"clearText\"\n    [minDate]=\"minDate\"\n    [maxDate]=\"maxDate\"\n    (click)=\"$event.stopImmediatePropagation()\"\n    (clear)=\"clearValue()\"\n    (confirm)=\"tooltip.hide(); emitValue(value)\"\n  ></aui-date-range-picker-panel>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ButtonModule } from '../button';\nimport { I18nModule } from '../i18n';\nimport { IconModule } from '../icon';\nimport { InputModule } from '../input';\nimport { TimePickerModule } from '../time-picker';\nimport { TooltipModule } from '../tooltip';\n\nimport { DatePickerPanelComponent } from './calendar/date-picker-panel/component';\nimport { CalendarFooterComponent } from './calendar/footer/component';\nimport { CalendarHeaderComponent } from './calendar/header/component';\nimport { PickerPanelComponent } from './calendar/panel/picker-panel';\nimport { DateRangePickerPanelComponent } from './calendar/range-picker-panel/component';\nimport { DatePickerComponent } from './date-picker/date-picker.component';\nimport { RangePickerComponent } from './range-picker/range-picker.component';\nimport { DatePickerTriggerComponent } from './trigger/trigger.component';\n\nconst COMPONENTS = [\n  CalendarHeaderComponent,\n  CalendarFooterComponent,\n  DateRangePickerPanelComponent,\n  PickerPanelComponent,\n  RangePickerComponent,\n  DatePickerPanelComponent,\n  DatePickerComponent,\n  DatePickerTriggerComponent,\n];\n\n@NgModule({\n  imports: [\n    CommonModule,\n    InputModule,\n    ButtonModule,\n    TooltipModule,\n    ReactiveFormsModule,\n    FormsModule,\n    TimePickerModule,\n    IconModule,\n    I18nModule,\n    ...COMPONENTS,\n  ],\n  exports: [...COMPONENTS],\n})\nexport class DatePickerModule {}\n","import { Observable } from 'rxjs';\n\nexport enum DialogSize {\n  Small = 'small',\n  Medium = 'medium',\n  Big = 'big',\n  Large = 'large',\n  Fullscreen = 'fullscreen',\n  FitContent = 'fit-content',\n}\n\nexport enum ConfirmType {\n  Primary = 'primary',\n  Success = 'success',\n  Warning = 'warning',\n  Danger = 'danger',\n}\n\nexport type PromiseExecutor<T> = (\n  resolve: (result?: PromiseLike<T> | T) => void,\n  reject: (reason?: unknown) => void,\n) => void;\n\nexport type CustomBeforeAction<T> = () => Observable<T> | PromiseLike<T>;\n\nexport type BeforeAction<T> = CustomBeforeAction<T> | PromiseExecutor<T>;\n","import { ViewContainerRef } from '@angular/core';\n\nimport { DialogSize } from './dialog.types';\n\nexport class BaseDialogConfig {\n  noAnimation? = false;\n}\n\nexport class DialogConfig<D = any> extends BaseDialogConfig {\n  id?: number;\n  viewContainerRef?: ViewContainerRef;\n  data?: D;\n  size?: DialogSize = DialogSize.Big;\n  hasBackdrop? = true;\n  fitViewport? = false;\n  customClass?: string;\n}\n","import { TemplateRef, Type } from '@angular/core';\n\nimport { BaseDialogConfig } from '../dialog-config';\nimport { BeforeAction, ConfirmType } from '../dialog.types';\n\nexport class ConfirmDialogConfig<\n  T = unknown,\n  R = unknown,\n> extends BaseDialogConfig {\n  title: string;\n  content?: TemplateRef<any> | Type<any> | string;\n  cancelButton? = true;\n  confirmType?: ConfirmType = ConfirmType.Primary;\n  confirmText? = 'OK';\n  cancelText? = 'Cancel';\n\n  beforeConfirm?: BeforeAction<T>;\n  beforeCancel?: BeforeAction<R>;\n}\n","import { AnimationQueryMetadata } from '@angular/animations';\n\nexport const getAnimationQueryMetadatas = (\n  classNames: string[],\n  query: (className: string) => AnimationQueryMetadata,\n) => classNames?.map(className => query(className));\n","import {\n  animate,\n  AnimationTriggerMetadata,\n  query,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\n\nimport { AnimationDuration } from '../core/animation/animation-consts';\nimport { getAnimationQueryMetadatas } from '../internal/utils/animations';\n\nexport const ZOOM_CLASS_NAME_MAP = {\n  enter: 'aui-zoom-enter',\n  enterActive: 'aui-zoom-enter-active',\n  leave: 'aui-zoom-leave',\n  leaveActive: 'aui-zoom-leave-active',\n};\n\nexport const ZOOM_SLOW_CLASS_NAME_MAP = {\n  enter: 'aui-zoom-slow-enter',\n  enterActive: 'aui-zoom-slow-enter-active',\n  leave: 'aui-zoom-slow-leave',\n  leaveActive: 'aui-zoom-slow-leave-active',\n};\n\nexport const FADE_CLASS_NAME_MAP = {\n  enter: 'aui-fade-enter',\n  enterActive: 'aui-fade-enter-active',\n  leave: 'aui-fade-leave',\n  leaveActive: 'aui-fade-leave-active',\n};\n\nexport const FADE_SLOW_CLASS_NAME_MAP = {\n  enter: 'aui-fade-slow-enter',\n  enterActive: 'aui-fade-slow-enter-active',\n  leave: 'aui-fade-slow-leave',\n  leaveActive: 'aui-fade-slow-leave-active',\n};\n\nexport const ANIMATION_DURATION_BASE_CLASSES = [\n  '.aui-dialog--small',\n  '.aui-dialog--medium',\n  '.aui-dialog--fit-content',\n];\n\nexport const ANIMATION_DURATION_SLOW_CLASSES = [\n  '.aui-dialog--big',\n  '.aui-dialog--large',\n  '.aui-dialog--fullscreen',\n  '.aui-dialog--fit-viewport',\n];\n\nconst getAnimationQueryMetadata = (duration: string) => (className: string) =>\n  query(className, animate(duration, style({})), {\n    optional: true,\n  });\n\nexport const dialogAnimations: {\n  readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n  dialogContainer: trigger('dialogContainer', [\n    state('void, exit', style({})),\n    state('enter', style({})),\n    transition('* => enter', [\n      ...getAnimationQueryMetadatas(\n        ANIMATION_DURATION_BASE_CLASSES,\n        getAnimationQueryMetadata(AnimationDuration.Base),\n      ),\n      ...getAnimationQueryMetadatas(\n        ANIMATION_DURATION_SLOW_CLASSES,\n        getAnimationQueryMetadata(AnimationDuration.Slow),\n      ),\n    ]),\n    transition('* => void, * => exit', [\n      ...getAnimationQueryMetadatas(\n        ANIMATION_DURATION_BASE_CLASSES,\n        getAnimationQueryMetadata(AnimationDuration.Base),\n      ),\n      ...getAnimationQueryMetadatas(\n        ANIMATION_DURATION_SLOW_CLASSES,\n        getAnimationQueryMetadata(AnimationDuration.Slow),\n      ),\n    ]),\n  ]),\n};\n\n// Whitelist dom elements that are allowed to transition with transform\nexport const WHITELIST_TRANSFORM_ANIMATION_ELEMENTS = ['BUTTON'];\n","export function throwDialogContentAlreadyAttachedError() {\n  throw new Error(\n    'Attempting to attach dialog content after content is already attached',\n  );\n}\n","import { ElementRef } from '@angular/core';\n\nimport { DialogRef } from '../dialog-ref';\n\nexport function getClosestDialog(\n  element: ElementRef,\n  openDialogs: Array<DialogRef<any>>,\n) {\n  let parent = (element.nativeElement as HTMLElement).parentElement;\n\n  while (parent?.tagName !== 'AUI-DIALOG') {\n    parent = parent.parentElement;\n  }\n\n  return parent\n    ? openDialogs.find(dialog => dialog.id === parent.dataset.id)\n    : null;\n}\n\nexport * from './errors';\n","import { AnimationEvent } from '@angular/animations';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport {\n  CdkPortalOutlet,\n  ComponentPortal,\n  TemplatePortal,\n  PortalModule,\n} from '@angular/cdk/portal';\nimport { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ComponentRef,\n  ElementRef,\n  EmbeddedViewRef,\n  EventEmitter,\n  ViewChild,\n  ViewEncapsulation,\n  Renderer2,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, fromEvent } from 'rxjs';\n\nimport { Bem, buildBem, getElementOffset } from '../internal/utils';\n\nimport {\n  dialogAnimations,\n  FADE_CLASS_NAME_MAP,\n  FADE_SLOW_CLASS_NAME_MAP,\n  ZOOM_CLASS_NAME_MAP,\n  ZOOM_SLOW_CLASS_NAME_MAP,\n  ANIMATION_DURATION_BASE_CLASSES,\n  WHITELIST_TRANSFORM_ANIMATION_ELEMENTS,\n} from './dialog-animations';\nimport { DialogConfig } from './dialog-config';\nimport { throwDialogContentAlreadyAttachedError } from './utils';\n\n@Component({\n  selector: 'aui-dialog',\n  templateUrl: './dialog.component.html',\n  styleUrls: ['./dialog.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.Default,\n  preserveWhitespaces: false,\n  animations: [dialogAnimations.dialogContainer],\n  host: {\n    '[@.disabled]': 'config.noAnimation',\n    '[@dialogContainer]': 'state',\n    '(@dialogContainer.start)': 'onAnimationStart($event)',\n    '(@dialogContainer.done)': 'onAnimationDone($event)',\n  },\n  imports: [NgClass, PortalModule],\n})\nexport class DialogComponent {\n  @ViewChild(CdkPortalOutlet, { static: true })\n  portalOutlet: CdkPortalOutlet;\n\n  bem: Bem = buildBem('aui-dialog');\n\n  config: DialogConfig;\n\n  // animation state\n  state: 'enter' | 'exit' | 'void' = 'enter';\n\n  animationStateChanged = new EventEmitter<AnimationEvent>();\n\n  elementFocusedBeforeModalWasOpened: HTMLElement;\n\n  overlayRef: OverlayRef;\n\n  get id() {\n    return this._id;\n  }\n\n  set id(value) {\n    this.elementRef.nativeElement.dataset.id = value;\n  }\n\n  private readonly _id: string;\n\n  get rootClass() {\n    return `${this.bem.block(this.config.size)} ${\n      this.config.fitViewport ? this.bem.modifier('fit-viewport') : ''\n    } ${this.config.customClass || ''}`;\n  }\n\n  get zoomClassMap() {\n    return ANIMATION_DURATION_BASE_CLASSES.includes(this.config.size)\n      ? ZOOM_CLASS_NAME_MAP\n      : ZOOM_SLOW_CLASS_NAME_MAP;\n  }\n\n  get fadeClassMap() {\n    return ANIMATION_DURATION_BASE_CLASSES.includes(this.config.size)\n      ? FADE_CLASS_NAME_MAP\n      : FADE_SLOW_CLASS_NAME_MAP;\n  }\n\n  constructor(\n    private readonly elementRef: ElementRef<HTMLElement>,\n    private readonly render: Renderer2,\n  ) {\n    // Issues: https://github.com/angular/components/issues/10841\n    // scrollStrategy 为 Block 时，若创建 Overlay 时，高度不足以出现滚动，则 scrollStrategy 不会生效\n    fromEvent(window, 'resize')\n      .pipe(\n        debounceTime(100),\n        filter(\n          () => document.documentElement.scrollHeight > window.innerHeight,\n        ),\n        takeUntilDestroyed(),\n      )\n      .subscribe(() => {\n        this.overlayRef?.getConfig().scrollStrategy.enable();\n      });\n  }\n\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    if (this.portalOutlet.hasAttached()) {\n      throwDialogContentAlreadyAttachedError();\n    }\n    this.blurActiveElement();\n    return this.portalOutlet.attachComponentPortal(portal);\n  }\n\n  attachTemplatePortal<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T> {\n    if (this.portalOutlet.hasAttached()) {\n      throwDialogContentAlreadyAttachedError();\n    }\n    this.blurActiveElement();\n    return this.portalOutlet.attachTemplatePortal(portal);\n  }\n\n  onAnimationDone(event: AnimationEvent): void {\n    this.cleanAnimationClass();\n    this.animationStateChanged.emit(event);\n  }\n\n  onAnimationStart(event: AnimationEvent): void {\n    if (event.toState === 'enter') {\n      this.setEnterAnimationClass();\n    } else if (event.toState === 'exit') {\n      this.setExitAnimationClass();\n    }\n  }\n\n  startExitAnimation(): void {\n    this.state = 'exit';\n  }\n\n  private blurActiveElement() {\n    const activeElement = document.activeElement as HTMLElement;\n    if (document) {\n      this.elementFocusedBeforeModalWasOpened =\n        WHITELIST_TRANSFORM_ANIMATION_ELEMENTS.includes(activeElement.tagName)\n          ? activeElement\n          : null;\n      activeElement.blur();\n    }\n  }\n\n  private cleanAnimationClass(): void {\n    if (this.config.noAnimation) {\n      return;\n    }\n    const backdropElement = this.overlayRef.backdropElement;\n    const modalElement = this.elementRef.nativeElement.firstElementChild;\n\n    if (backdropElement) {\n      backdropElement.classList.remove(this.fadeClassMap.enter);\n      backdropElement.classList.remove(this.fadeClassMap.enterActive);\n    }\n\n    modalElement.classList.remove(this.zoomClassMap.enter);\n    modalElement.classList.remove(this.zoomClassMap.enterActive);\n    modalElement.classList.remove(this.zoomClassMap.leave);\n    modalElement.classList.remove(this.zoomClassMap.leaveActive);\n  }\n\n  private setEnterAnimationClass(): void {\n    if (this.config.noAnimation) {\n      return;\n    }\n\n    this.setModalTransformOrigin();\n\n    const modalElement = this.elementRef.nativeElement.firstElementChild;\n    const backdropElement = this.overlayRef.backdropElement;\n    modalElement.classList.add(this.zoomClassMap.enter);\n    modalElement.classList.add(this.zoomClassMap.enterActive);\n\n    if (backdropElement) {\n      backdropElement.classList.add(this.fadeClassMap.enter);\n      backdropElement.classList.add(this.fadeClassMap.enterActive);\n    }\n  }\n\n  private setExitAnimationClass(): void {\n    if (this.config.noAnimation) {\n      return;\n    }\n\n    const modalElement = this.elementRef.nativeElement.firstElementChild;\n    modalElement.classList.add(this.zoomClassMap.leave);\n    modalElement.classList.add(this.zoomClassMap.leaveActive);\n\n    this.setMaskExitAnimationClass();\n  }\n\n  private setMaskExitAnimationClass(): void {\n    const backdropElement = this.overlayRef.backdropElement;\n\n    if (backdropElement) {\n      backdropElement.classList.add(this.fadeClassMap.leave);\n      backdropElement.classList.add(this.fadeClassMap.leaveActive);\n    }\n  }\n\n  private setModalTransformOrigin(): void {\n    const modalElement = this.elementRef.nativeElement\n      .firstElementChild as HTMLDivElement;\n\n    if (this.elementFocusedBeforeModalWasOpened) {\n      const previouslyDOMRect =\n        this.elementFocusedBeforeModalWasOpened.getBoundingClientRect();\n      const lastPosition = getElementOffset(\n        this.elementFocusedBeforeModalWasOpened,\n      );\n      const x = lastPosition.left + previouslyDOMRect.width / 2;\n      const y = lastPosition.top + previouslyDOMRect.height / 2;\n      const transformOrigin = `${x - modalElement.offsetLeft}px ${\n        y - modalElement.offsetTop\n      }px 0px`;\n      this.render.setStyle(modalElement, 'transform-origin', transformOrigin);\n    }\n  }\n}\n","<div [ngClass]=\"rootClass\">\n  <ng-template cdkPortalOutlet></ng-template>\n</div>\n","import {\n  ComponentType,\n  GlobalPositionStrategy,\n  OverlayRef,\n} from '@angular/cdk/overlay';\nimport { filter, Observable, Subject, take } from 'rxjs';\n\nimport { DialogComponent } from './dialog.component';\n\nlet uniqueId = 0;\n\nexport class DialogRef<T = ComponentType<any>, R = any> {\n  componentInstance?: T;\n  readonly id = `aui-dialog-${uniqueId++}`;\n\n  private readonly afterOpen$ = new Subject<void>();\n  private readonly afterClosed$ = new Subject<R>();\n\n  constructor(\n    private readonly overlayRef: OverlayRef,\n    public dialogInstance: DialogComponent,\n  ) {\n    dialogInstance.id = this.id;\n  }\n\n  close(result: R = null): void {\n    this.dialogInstance.animationStateChanged\n      .pipe(\n        filter(event => event.phaseName === 'done' && event.toState === 'exit'),\n        take(1),\n      )\n      .subscribe(() => {\n        this.overlayRef.detachBackdrop();\n        this.overlayRef.dispose();\n        this.afterClosed$.next(result);\n        this.afterClosed$.complete();\n      });\n    this.dialogInstance.startExitAnimation();\n  }\n\n  afterOpen(): Observable<void> {\n    return this.afterOpen$.asObservable();\n  }\n\n  afterClosed(): Observable<R> {\n    return this.afterClosed$.asObservable();\n  }\n\n  updatePosition(): this {\n    this.getPositionStrategy().top('0').left('0');\n    this.overlayRef.updatePosition();\n    return this;\n  }\n\n  updateSize(): this {\n    this.getPositionStrategy();\n    this.overlayRef.updatePosition();\n    return this;\n  }\n\n  private getPositionStrategy(): GlobalPositionStrategy {\n    return this.overlayRef.getConfig()\n      .positionStrategy as GlobalPositionStrategy;\n  }\n}\n","import {\n  NgIf,\n  NgTemplateOutlet,\n  NgComponentOutlet,\n  NgClass,\n} from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { firstValueFrom, isObservable } from 'rxjs';\n\nimport { ButtonComponent } from '../../button/button.component';\nimport { IconComponent } from '../../icon/icon.component';\nimport { Bem, buildBem, isString, isTemplateRef } from '../../internal/utils';\nimport { DialogRef } from '../dialog-ref';\nimport {\n  BeforeAction,\n  ConfirmType,\n  CustomBeforeAction,\n  PromiseExecutor,\n} from '../dialog.types';\n\nimport { ConfirmDialogConfig } from './confirm-dialog-config';\n\n@Component({\n  selector: 'aui-confirm-dialog',\n  templateUrl: './confirm-dialog.component.html',\n  styleUrls: ['./confirm-dialog.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [\n    IconComponent,\n    NgIf,\n    NgTemplateOutlet,\n    NgComponentOutlet,\n    ButtonComponent,\n    NgClass,\n  ],\n})\nexport class ConfirmDialogComponent<T = unknown, R = unknown> {\n  bem: Bem = buildBem('aui-confirm-dialog');\n\n  config: ConfirmDialogConfig<T, R>;\n\n  waitConfirm = false;\n  waitCancel = false;\n  isTemplateRef = isTemplateRef;\n  isString = isString;\n  constructor(\n    private readonly dialogRef: DialogRef<any>,\n    private readonly cdr: ChangeDetectorRef,\n  ) {}\n\n  setConfig(config: ConfirmDialogConfig<T, R>) {\n    this.config = { ...new ConfirmDialogConfig(), ...config };\n  }\n\n  iconMap(type: ConfirmType) {\n    switch (type) {\n      case ConfirmType.Success: {\n        return 'check_circle_s';\n      }\n      case ConfirmType.Danger: {\n        return 'exclamation_triangle_s';\n      }\n      default: {\n        return 'exclamation_circle_s';\n      }\n    }\n  }\n\n  async confirm() {\n    if (!this.config.beforeConfirm) {\n      this.dialogRef.close({ confirm: true, result: null });\n      return;\n    }\n    this.waitConfirm = true;\n    try {\n      const result = await this.toPromise(this.config.beforeConfirm);\n      this.dialogRef.close({ confirm: true, result });\n    } catch {\n    } finally {\n      this.waitConfirm = false;\n      this.cdr.markForCheck();\n    }\n  }\n\n  async cancel() {\n    if (!this.config.beforeCancel) {\n      this.dialogRef.close({ confirm: false, result: null });\n      return;\n    }\n    this.waitCancel = true;\n    try {\n      const result = await this.toPromise(this.config.beforeCancel);\n      this.dialogRef.close({ confirm: false, result });\n    } catch {\n    } finally {\n      this.waitCancel = false;\n      this.cdr.markForCheck();\n    }\n  }\n\n  private toPromise<T>(beforeAction: BeforeAction<T>) {\n    if (beforeAction.length) {\n      return new Promise(beforeAction as PromiseExecutor<T>);\n    }\n\n    const result = (beforeAction as CustomBeforeAction<T>)();\n\n    if (isObservable(result)) {\n      return firstValueFrom(result);\n    }\n\n    return result;\n  }\n}\n","<div [class]=\"bem.block()\">\n  <div [class]=\"bem.element('title')\">\n    <span [class]=\"bem.element('icon', config.confirmType + '')\">\n      <aui-icon\n        [icon]=\"iconMap(config.confirmType)\"\n        [background]=\"\n          iconMap(config.confirmType).endsWith('_triangle_s')\n            ? 'triangle'\n            : 'circle'\n        \"\n      ></aui-icon>\n    </span>\n    <span>{{ config.title }}</span>\n  </div>\n  <div [class]=\"bem.element('content')\">\n    <ng-container *ngIf=\"config.content\">\n      <ng-container\n        *ngIf=\"\n          isTemplateRef(config.content) || isString(config.content);\n          else componentTemplate\n        \"\n      >\n        <ng-container\n          *ngIf=\"isTemplateRef(config.content); else stringTemplate\"\n        >\n          <ng-template *ngTemplateOutlet=\"config.content\"></ng-template>\n        </ng-container>\n        <ng-template #stringTemplate>\n          {{ config.content }}\n        </ng-template>\n      </ng-container>\n      <ng-template #componentTemplate>\n        <ng-container *ngComponentOutlet=\"$any(config.content)\"></ng-container>\n      </ng-template>\n    </ng-container>\n  </div>\n  <div [class]=\"bem.element('button-wrapper')\">\n    <div>\n      <button\n        [aui-button]=\"config.confirmType\"\n        [ngClass]=\"bem.element('confirm-button')\"\n        [loading]=\"waitConfirm\"\n        [disabled]=\"waitConfirm || waitCancel\"\n        (click)=\"confirm()\"\n      >\n        {{ config.confirmText }}\n      </button>\n      <button\n        *ngIf=\"config.cancelButton\"\n        aui-button\n        [ngClass]=\"bem.element('cancel-button')\"\n        [loading]=\"waitCancel\"\n        [disabled]=\"waitConfirm || waitCancel\"\n        (click)=\"cancel()\"\n      >\n        {{ config.cancelText }}\n      </button>\n    </div>\n  </div>\n</div>\n","import { CdkScrollable } from '@angular/cdk/scrolling';\nimport { Component, ViewChild } from '@angular/core';\nimport { DialogComponent } from './dialog.component';\n\n@Component({\n  selector: 'aui-dialog-container',\n  template: `\n    <div\n      class=\"aui-dialog-container\"\n      cdkScrollable\n    >\n      <aui-dialog #dialogComponent></aui-dialog>\n    </div>\n  `,\n  styles: [\n    `\n      .aui-dialog-container {\n        width: 100vw;\n        height: 100%;\n        overflow: auto;\n      }\n    `,\n  ],\n  imports: [CdkScrollable, DialogComponent],\n})\nexport class DialogContainerComponent {\n  @ViewChild('dialogComponent', { static: true })\n  dialogComponent: DialogComponent;\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport {\n  ComponentPortal,\n  ComponentType,\n  TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n  Injectable,\n  InjectionToken,\n  Injector,\n  TemplateRef,\n} from '@angular/core';\n\nimport { ConfirmDialogConfig } from './confirm-dialog/confirm-dialog-config';\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\nimport { DialogComponent } from './dialog.component';\nimport { DialogSize } from './dialog.types';\nimport { DialogContainerComponent } from './dialog-container.component';\n\nexport const DIALOG_DATA = new InjectionToken<any>('aui-dialog-data');\n\n@Injectable()\nexport class DialogService {\n  static readonly DIALOG_OVERLAY_PANE_CLASS = 'aui-dialog-overlay-pane';\n  static readonly DIALOG_BACKDROP_CLASS = 'aui-dialog-backdrop';\n  static readonly DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS =\n    'aui-dialog-overlay-pane--fit-viewport';\n\n  openDialogs: Array<DialogRef<any>> = [];\n\n  constructor(\n    private readonly overlay: Overlay,\n    private readonly injector: Injector,\n  ) {}\n\n  open<T, D = any, R = any>(\n    compOrTempRef: ComponentType<T> | TemplateRef<T>,\n    config: DialogConfig<D> = null,\n  ): DialogRef<T, R> {\n    config = { ...new DialogConfig(), ...config };\n\n    const overlayRef = this.createOverlay(config);\n\n    const dialogIns = this.attachDialog(overlayRef, config);\n    const dialogRef = this.attachDialogContent<T, D, R>(\n      compOrTempRef,\n      dialogIns,\n      overlayRef,\n      config,\n    );\n    this.openDialogs.push(dialogRef);\n    dialogRef.updatePosition().updateSize();\n    dialogRef.afterClosed().subscribe(() => {\n      this.removeDialog(dialogRef);\n    });\n\n    return dialogRef;\n  }\n\n  confirm<T = unknown, R = unknown>(\n    config: ConfirmDialogConfig<T, R>,\n  ): Promise<T> {\n    const dialogRef = this.open<\n      ConfirmDialogComponent<T, R>,\n      void,\n      { confirm: boolean; result: R | T }\n    >(ConfirmDialogComponent, {\n      size: DialogSize.FitContent,\n      noAnimation: !!config.noAnimation,\n    });\n    dialogRef.componentInstance.setConfig(config);\n    return new Promise((resolve, reject) => {\n      dialogRef.afterClosed().subscribe(action => {\n        if (action.confirm) {\n          resolve(action.result as T);\n        } else {\n          reject(action.result as R);\n        }\n      });\n    });\n  }\n\n  closeAll() {\n    this.openDialogs.forEach(dialogRef => {\n      dialogRef.close();\n    });\n  }\n\n  private createOverlay(config: DialogConfig): OverlayRef {\n    const overlayConfig = this.getOverlayConfig(config);\n    return this.overlay.create(overlayConfig);\n  }\n\n  private getOverlayConfig(dialogConfig: DialogConfig): OverlayConfig {\n    return {\n      positionStrategy: this.overlay.position().global(),\n      scrollStrategy: this.overlay.scrollStrategies.block(),\n      hasBackdrop: dialogConfig.hasBackdrop,\n      backdropClass: DialogService.DIALOG_BACKDROP_CLASS,\n      panelClass:\n        dialogConfig.fitViewport || dialogConfig.size === DialogSize.Fullscreen\n          ? DialogService.DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS\n          : DialogService.DIALOG_OVERLAY_PANE_CLASS,\n      width: '100vw',\n      height: '100vh',\n    };\n  }\n\n  private attachDialog(\n    overlayRef: OverlayRef,\n    config: DialogConfig,\n  ): DialogComponent {\n    const containerPortal = new ComponentPortal(\n      DialogContainerComponent,\n      config.viewContainerRef,\n    );\n    const containerRef = overlayRef.attach(containerPortal);\n\n    const dialogComponent = containerRef.instance.dialogComponent;\n    dialogComponent.config = config;\n    dialogComponent.overlayRef = overlayRef;\n    return dialogComponent;\n  }\n\n  private attachDialogContent<T, D, R>(\n    compOrTempRef: ComponentType<T> | TemplateRef<T>,\n    dialogIns: DialogComponent,\n    overlayRef: OverlayRef,\n    config: DialogConfig<D>,\n  ): DialogRef<T, R> {\n    const dialogRef = new DialogRef<T, R>(overlayRef, dialogIns);\n\n    const injector = this.createInjector(config, dialogRef, dialogIns);\n\n    if (compOrTempRef instanceof TemplateRef) {\n      dialogIns.attachTemplatePortal(\n        new TemplatePortal(\n          compOrTempRef,\n          null,\n          {\n            $implicit: config.data,\n          } as any,\n          injector,\n        ),\n      );\n    } else {\n      const contentRef = dialogIns.attachComponentPortal<T>(\n        new ComponentPortal(compOrTempRef, null, injector),\n      );\n      dialogRef.componentInstance = contentRef.instance;\n    }\n\n    return dialogRef;\n  }\n\n  private createInjector<T>(\n    config: DialogConfig,\n    dialogRef: DialogRef<T>,\n    dialogIns: DialogComponent,\n  ): Injector {\n    const userInjector = config?.viewContainerRef?.injector;\n    return Injector.create({\n      providers: [\n        {\n          provide: DialogRef,\n          useValue: dialogRef,\n        },\n        {\n          provide: DIALOG_DATA,\n          useValue: config.data || dialogIns,\n        },\n      ],\n      parent: userInjector || this.injector,\n    });\n  }\n\n  private removeDialog(dialogRef: DialogRef<any>) {\n    const index = this.openDialogs.indexOf(dialogRef);\n    this.openDialogs.splice(index, 1);\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n} from '@angular/core';\n\nimport { DialogRef } from '../dialog-ref';\nimport { DialogService } from '../dialog.service';\nimport { getClosestDialog } from '../utils';\n\n@Directive({\n  selector: '[auiDialogClose]',\n  exportAs: 'auiDialogClose',\n  standalone: true,\n})\nexport class DialogCloseDirective implements OnInit {\n  @Input('auiDialogClose')\n  result: any;\n\n  constructor(\n    @Optional() public dialogRef: DialogRef<any>,\n    private readonly elementRef: ElementRef,\n    private readonly dialogService: DialogService,\n  ) {}\n\n  ngOnInit() {\n    if (!this.dialogRef) {\n      this.dialogRef = getClosestDialog(\n        this.elementRef,\n        this.dialogService.openDialogs,\n      );\n    }\n  }\n\n  @HostListener('click')\n  closeDialog() {\n    this.dialogRef.close(this.result);\n  }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkScrollable, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  NgZone,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../../internal/utils';\n\n@Component({\n  selector: 'aui-dialog-content',\n  templateUrl: './dialog-content.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class DialogContentComponent extends CdkScrollable {\n  bem: Bem = buildBem('aui-dialog');\n\n  // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n  constructor(\n    elementRef: ElementRef<HTMLElement>,\n    scrollDispatcher: ScrollDispatcher,\n    ngZone: NgZone,\n    dir?: Directionality,\n  ) {\n    super(elementRef, scrollDispatcher, ngZone, dir);\n  }\n}\n","<div [class]=\"bem.element('content')\"><ng-content></ng-content></div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../../internal/utils';\n\n@Component({\n  selector: 'aui-dialog-footer',\n  templateUrl: './dialog-footer.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class DialogFooterComponent {\n  bem: Bem = buildBem('aui-dialog');\n}\n","<div [class]=\"bem.element('footer')\"><ng-content></ng-content></div>\n","import { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnInit,\n  Optional,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../../icon/icon.component';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { DialogRef } from '../dialog-ref';\nimport { DialogService } from '../dialog.service';\nimport { getClosestDialog } from '../utils';\n\n@Component({\n  selector: 'aui-dialog-header',\n  templateUrl: './dialog-header.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent],\n})\nexport class DialogHeaderComponent implements OnInit {\n  bem: Bem = buildBem('aui-dialog');\n\n  @Input()\n  divider = true;\n\n  @Input()\n  closeable = true;\n\n  @Input()\n  result: any = false;\n\n  constructor(\n    @Optional() public dialogRef: DialogRef<any>,\n    private readonly elementRef: ElementRef,\n    private readonly dialogService: DialogService,\n  ) {}\n\n  ngOnInit() {\n    if (!this.dialogRef) {\n      this.dialogRef = getClosestDialog(\n        this.elementRef,\n        this.dialogService.openDialogs,\n      );\n    }\n  }\n}\n","<div\n  [class]=\"bem.element('header')\"\n  [class.hasDivider]=\"divider\"\n>\n  <div [class]=\"bem.element('header-title')\"><ng-content></ng-content></div>\n  <aui-icon\n    *ngIf=\"closeable\"\n    [class]=\"bem.element('header-close')\"\n    icon=\"xmark\"\n    (click)=\"dialogRef.close(result)\"\n  ></aui-icon>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon';\n\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { DialogCloseDirective } from './dialog-content/dialog-close.directive';\nimport { DialogContentComponent } from './dialog-content/dialog-content.component';\nimport { DialogFooterComponent } from './dialog-content/dialog-footer.component';\nimport { DialogHeaderComponent } from './dialog-content/dialog-header.component';\nimport { DialogComponent } from './dialog.component';\nimport { DialogService } from './dialog.service';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    OverlayModule,\n    PortalModule,\n    IconModule,\n    ButtonModule,\n    DialogComponent,\n    DialogHeaderComponent,\n    DialogContentComponent,\n    DialogFooterComponent,\n    DialogCloseDirective,\n    ConfirmDialogComponent,\n  ],\n  exports: [\n    DialogComponent,\n    DialogHeaderComponent,\n    DialogContentComponent,\n    DialogFooterComponent,\n    DialogCloseDirective,\n  ],\n  providers: [DialogService],\n})\nexport class DialogModule {}\n\nexport const DIALOG_MODULE = [\n  DialogComponent,\n  DialogHeaderComponent,\n  DialogContentComponent,\n  DialogFooterComponent,\n  DialogCloseDirective,\n] as const;\n","import { ComponentType } from '@angular/cdk/portal';\nimport { TemplateRef } from '@angular/core';\n\nimport { ValueOf } from '../internal/types';\n\nexport const DrawerSize = {\n  Small: 'small',\n  Medium: 'medium',\n  Big: 'big',\n} as const;\n\nexport type DrawerSize = ValueOf<typeof DrawerSize>;\n\nexport interface DrawerOptions<T = unknown, C extends object = object> {\n  title?: TemplateRef<C> | string;\n  content?: ComponentType<T> | TemplateRef<C>;\n  footer?: TemplateRef<C> | string;\n  contentParams?: C; // 不仅作为content的参数，同时是title和footer的上下文\n  width?: number;\n  size?: DrawerSize; // 内置的宽度尺寸，也可以使用 width 自定义\n  offsetY?: string;\n  divider?: boolean;\n  drawerClass?: string;\n  visible?: boolean;\n  showClose?: boolean;\n  mask?: boolean;\n  maskClosable?: boolean; // 点击背景是否关闭抽屉\n  hideOnClickOutside?: boolean; // 在抽屉外点击是否关闭抽屉，与 maskClosable 的区别是是否有 mask\n  disposeWhenHide?: boolean; // 抽屉不可见时是否销毁，使用组件方式时默认为false\n}\n","import {\n  animate,\n  AnimationEvent,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\nimport {\n  CdkPortalOutlet,\n  ComponentPortal,\n  PortalModule,\n} from '@angular/cdk/portal';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport {\n  AsyncPipe,\n  NgClass,\n  NgIf,\n  NgStyle,\n  NgTemplateOutlet,\n} from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  InjectionToken,\n  Injector,\n  Type,\n  ViewChild,\n  ViewEncapsulation,\n  AfterViewInit,\n} from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { TimingFunction } from '../../../core/animation/animation-consts';\nimport { IconComponent } from '../../../icon/icon.component';\nimport { handlePixel, isTemplateRef } from '../../../internal/utils';\nimport { DrawerOptions, DrawerSize } from '../../types';\n\nexport const DATA = new InjectionToken('drawer-data');\n\nconst SIZE_MAPPER = {\n  [DrawerSize.Small]: 400,\n  [DrawerSize.Medium]: 600,\n  [DrawerSize.Big]: 800,\n};\nconst DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';\n\nexport const duration = '300ms';\n\ntype Step = 'hideDone' | 'hideStart' | 'showDone' | 'showStart';\n\n@Component({\n  templateUrl: './internal.component.html',\n  styleUrls: ['./internal.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgIf,\n    NgClass,\n    NgStyle,\n    NgTemplateOutlet,\n    IconComponent,\n    CdkScrollable,\n    PortalModule,\n    AsyncPipe,\n  ],\n  animations: [\n    trigger('showHide', [\n      state(\n        'show',\n        style({\n          opacity: 1,\n          transform: 'translateX(0)',\n        }),\n      ),\n      state(\n        'hide, void',\n        style({\n          opacity: 0,\n          transform: 'translateX(100%)',\n        }),\n      ),\n      transition('hide => show, void => show', [\n        animate(`${duration} ${TimingFunction.easeOut}`),\n      ]),\n      transition('show => hide, show => void', [\n        animate(`${duration} ${TimingFunction.easeInOut}`),\n      ]),\n    ]),\n  ],\n})\nexport class DrawerInternalComponent<T = unknown, C extends object = object>\n  implements AfterViewInit\n{\n  @ViewChild(CdkPortalOutlet, { static: false })\n  bodyPortalOutlet: CdkPortalOutlet;\n\n  @ViewChild('mask')\n  mask: ElementRef<HTMLDivElement>;\n\n  animationStep$ = new Subject<Step>();\n\n  options: DrawerOptions<T, C>;\n  showHide$$ = new BehaviorSubject<'hide' | 'show'>('hide');\n  maskVisible$ = new Subject<boolean>();\n\n  get drawerClasses(): Record<string, boolean> {\n    return {\n      'aui-drawer': true,\n      hasDivider: this.options.divider,\n      ...(this.options.drawerClass\n        ? { [this.options.drawerClass]: true }\n        : null),\n    };\n  }\n\n  get width() {\n    return handlePixel(\n      this.options.width || SIZE_MAPPER[this.options.size || DrawerSize.Medium],\n    );\n  }\n\n  get context() {\n    return {\n      $implicit: this.options.contentParams,\n      ...this.options.contentParams,\n    };\n  }\n\n  isTemplateRef = isTemplateRef;\n\n  constructor(\n    private readonly injector: Injector,\n    private readonly cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterViewInit() {\n    this.attachBodyContent();\n  }\n\n  private attachBodyContent(): void {\n    this.bodyPortalOutlet?.dispose();\n    const content = this.options.content;\n    if (!(content instanceof Type)) {\n      return;\n    }\n    const componentPortal = new ComponentPortal<T>(\n      content,\n      null,\n      Injector.create({\n        providers: [\n          {\n            provide: DATA,\n            useValue: this.options.contentParams,\n          },\n        ],\n        parent: this.injector,\n      }),\n    );\n    const componentRef =\n      this.bodyPortalOutlet?.attachComponentPortal(componentPortal);\n    Object.assign(componentRef.instance, this.options.contentParams);\n    componentRef.changeDetectorRef.detectChanges();\n  }\n\n  onAnimation(event: AnimationEvent) {\n    const { phaseName, toState } = event;\n    if (!['show', 'hide'].includes(toState)) {\n      return;\n    }\n\n    const step = [\n      toState,\n      phaseName.charAt(0).toUpperCase() + phaseName.slice(1),\n    ].join('') as Step;\n    this.animationStep$.next(step);\n\n    const backdropElement = this.mask?.nativeElement;\n    if (!backdropElement) {\n      return;\n    }\n\n    const enters = [\n      `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter`,\n      `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter-active`,\n    ];\n    const leaves = [\n      `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave`,\n      `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave-active`,\n    ];\n    switch (step) {\n      case 'showStart': {\n        backdropElement.classList.add(...enters);\n        this.maskVisible$.next(true);\n        break;\n      }\n      case 'hideStart': {\n        backdropElement.classList.add(...leaves);\n        break;\n      }\n      case 'showDone': {\n        backdropElement.classList.remove(...enters);\n        break;\n      }\n      case 'hideDone': {\n        this.maskVisible$.next(false);\n        backdropElement.classList.remove(...leaves);\n        break;\n      }\n    }\n  }\n\n  updateOptions(options: DrawerOptions<T, C>) {\n    this.options = options;\n    this.cdr.markForCheck();\n  }\n\n  show() {\n    this.showHide$$.next('show');\n  }\n\n  hide() {\n    this.showHide$$.next('hide');\n  }\n\n  maskClick() {\n    if (this.options.maskClosable) {\n      this.hide();\n    }\n  }\n}\n","<div\n  #mask\n  class=\"aui-drawer-mask\"\n  *ngIf=\"options.mask\"\n  [class.isOpen]=\"maskVisible$ | async\"\n  (click)=\"maskClick()\"\n></div>\n<div\n  [style.marginTop]=\"options.offsetY\"\n  [ngClass]=\"drawerClasses\"\n  [@showHide]=\"showHide$$ | async\"\n  (@showHide.start)=\"onAnimation($event)\"\n  (@showHide.done)=\"onAnimation($event)\"\n  [style.width]=\"width\"\n>\n  <div class=\"aui-drawer__content\">\n    <div class=\"aui-drawer__body-wrapper\">\n      <div class=\"aui-drawer__header\">\n        <div class=\"aui-drawer__title\">\n          <ng-container\n            *ngIf=\"isTemplateRef(options.title); else normal\"\n            [ngTemplateOutlet]=\"options.title\"\n            [ngTemplateOutletContext]=\"context\"\n          ></ng-container>\n          <ng-template #normal>\n            {{ options.title }}\n          </ng-template>\n        </div>\n        <aui-icon\n          *ngIf=\"options.showClose\"\n          class=\"aui-drawer__close\"\n          icon=\"xmark\"\n          (click)=\"hide()\"\n        ></aui-icon>\n      </div>\n\n      <div\n        class=\"aui-drawer__body\"\n        cdkScrollable\n      >\n        <ng-template cdkPortalOutlet></ng-template>\n        <ng-container\n          *ngIf=\"isTemplateRef(options.content)\"\n          [ngTemplateOutlet]=\"options.content\"\n          [ngTemplateOutletContext]=\"context\"\n        >\n        </ng-container>\n      </div>\n\n      <div\n        *ngIf=\"options.footer\"\n        class=\"aui-drawer__footer\"\n      >\n        <ng-container\n          *ngIf=\"isTemplateRef(options.footer); else normal\"\n          [ngTemplateOutlet]=\"options.footer\"\n          [ngTemplateOutletContext]=\"context\"\n        ></ng-container>\n        <ng-template #normal>\n          {{ options.footer }}\n        </ng-template>\n      </div>\n    </div>\n  </div>\n</div>\n","import { filter, Observable, Subject } from 'rxjs';\n\nimport { DrawerInternalComponent } from './component/internal/internal.component';\n\nexport class DrawerRef<T = unknown, C extends object = object, R = unknown> {\n  private result: R;\n\n  private readonly afterOpen$ = new Subject<void>();\n  private readonly afterClosed$ = new Subject<R>();\n\n  get afterOpen(): Observable<void> {\n    return this.afterOpen$.asObservable();\n  }\n\n  get afterClosed(): Observable<R> {\n    return this.afterClosed$.asObservable();\n  }\n\n  constructor(public drawerInstance: DrawerInternalComponent<T, C>) {\n    this.drawerInstance.animationStep$\n      .pipe(filter(step => step === 'hideDone'))\n      .subscribe(() => {\n        this.afterClosed$.next(this.result);\n        this.afterClosed$.complete();\n      });\n  }\n\n  open() {\n    this.drawerInstance.show();\n  }\n\n  close(result?: R): void {\n    this.result = result;\n    this.drawerInstance.hide();\n  }\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, OnDestroy } from '@angular/core';\nimport { debounceTime, filter, fromEvent, Subject, takeUntil } from 'rxjs';\n\nimport { DrawerInternalComponent } from './component/internal/internal.component';\nimport { DrawerRef } from './drawer-ref';\nimport { DrawerOptions, DrawerSize } from './types';\n\nconst DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';\nconst DEFAULT_OPTIONS = {\n  size: DrawerSize.Medium,\n  offsetY: '0',\n  showClose: true,\n  hideOnClickOutside: false,\n  divider: true,\n  disposeWhenHide: true,\n} as const satisfies DrawerOptions;\n\n@Injectable()\nexport class DrawerService<T = unknown, C extends object = object, R = unknown>\n  implements OnDestroy\n{\n  private overlayRef: OverlayRef;\n  options: DrawerOptions<T, C>;\n  drawerRef: DrawerRef<T, C, R>;\n  invisible$ = new Subject<void>();\n  private drawerInternalComponentRef: ComponentRef<\n    DrawerInternalComponent<T, C>\n  >;\n\n  constructor(private readonly overlay: Overlay) {}\n\n  open(options: DrawerOptions<T, C>) {\n    this.updateOptions(options);\n    this.createOverlay();\n    this.createDrawer();\n    this.drawerRef = new DrawerRef<T, C, R>(\n      this.drawerInternalComponentRef.instance,\n    );\n    this.drawerRef.open();\n\n    return this.drawerRef;\n  }\n\n  updateOptions(options: DrawerOptions<T, C>): void {\n    this.options = merge<DrawerOptions<T, C>>(DEFAULT_OPTIONS, options);\n    this.drawerInternalComponentRef?.instance.updateOptions(this.options);\n  }\n\n  private createOverlay() {\n    if (!this.overlayRef) {\n      this.overlayRef = this.overlay.create(this.getOverlayConfig());\n    }\n\n    this.overlayRef\n      .outsidePointerEvents()\n      .pipe(takeUntil(this.invisible$))\n      .subscribe(event => {\n        // 判断鼠标点击事件的 target 是否为 overlay-container 的子节点，如果是，则不关闭 drawer。\n        // 为了避免点击 drawer 里的 tooltip 后 drawer 被关闭。\n        if (\n          this.overlayRef &&\n          this.options.hideOnClickOutside &&\n          event.target instanceof Node &&\n          !this.overlayRef.hostElement?.parentNode?.contains(event.target)\n        ) {\n          event.preventDefault();\n          this.drawerRef.close();\n        }\n      });\n\n    this.overlayRef.getConfig().scrollStrategy.enable();\n    if (this.options.mask) {\n      // Issues: https://github.com/angular/components/issues/10841\n      // scrollStrategy 为 Block 时，若创建 Overlay 时，高度不足以出现滚动，则 scrollStrategy 不会生效\n      fromEvent(window, 'resize')\n        .pipe(\n          debounceTime(100),\n          filter(\n            () => document.documentElement.scrollHeight > window.innerHeight,\n          ),\n          takeUntil(this.invisible$),\n        )\n        .subscribe(() => {\n          this.overlayRef.getConfig().scrollStrategy.enable();\n        });\n    }\n  }\n\n  private createDrawer() {\n    if (this.drawerInternalComponentRef) {\n      return;\n    }\n    const drawerInternalComponentRef = this.overlayRef.attach(\n      new ComponentPortal(DrawerInternalComponent<T, C>),\n    );\n    drawerInternalComponentRef.instance.updateOptions(this.options);\n    drawerInternalComponentRef.instance.animationStep$.subscribe(step => {\n      if (step === 'hideDone') {\n        this.invisible$.next();\n        this.options.disposeWhenHide && this.dispose();\n        this.overlayRef?.getConfig().scrollStrategy.disable();\n      }\n    });\n    this.drawerInternalComponentRef = drawerInternalComponentRef;\n  }\n\n  private getOverlayConfig(): OverlayConfig {\n    return new OverlayConfig({\n      panelClass: DRAWER_OVERLAY_CLASS,\n      positionStrategy: this.overlay.position().global(),\n      scrollStrategy: this.options.mask\n        ? this.overlay.scrollStrategies.block()\n        : this.overlay.scrollStrategies.noop(),\n    });\n  }\n\n  private dispose() {\n    if (this.overlayRef) {\n      this.overlayRef.getConfig().scrollStrategy.disable();\n      this.overlayRef.dispose();\n      this.overlayRef = null;\n    }\n    this.drawerInternalComponentRef = null;\n  }\n\n  ngOnDestroy(): void {\n    this.invisible$.next();\n    this.dispose();\n  }\n}\n\nfunction merge<T extends object>(target: T, source: T) {\n  return Object.keys(source).reduce(\n    (acc, _key) => {\n      const key = _key as keyof T;\n      if (source[key] !== undefined) {\n        acc[key] = source[key];\n      }\n      return acc;\n    },\n    {\n      ...target,\n    },\n  );\n}\n","/**\n * @packageDocumentation\n * @module page-guard\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiDrawerHeader]',\n  standalone: true,\n})\nexport class DrawerHeaderDirective {}\n\n@Directive({\n  selector: '[auiDrawerContent]',\n  standalone: true,\n})\nexport class DrawerContentDirective {}\n\n@Directive({\n  selector: '[auiDrawerFooter]',\n  standalone: true,\n})\nexport class DrawerFooterDirective {}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n} from '@angular/core';\nimport { first } from 'rxjs';\n\nimport { DrawerRef } from '../drawer-ref';\nimport { DrawerService } from '../drawer.service';\nimport {\n  DrawerContentDirective,\n  DrawerFooterDirective,\n  DrawerHeaderDirective,\n} from '../helper-directives';\nimport { DrawerOptions, DrawerSize } from '../types';\n\n@Component({\n  selector: 'aui-drawer',\n  template: '<ng-content></ng-content>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  providers: [DrawerService],\n})\nexport class DrawerComponent<\n  T = unknown,\n  C extends object = object,\n  R = unknown,\n> implements AfterViewInit, OnChanges, Required<DrawerOptions<T, C>>\n{\n  @Input()\n  title: TemplateRef<C> | string;\n\n  @Input()\n  footer: TemplateRef<C> | string;\n\n  @Input()\n  size: DrawerSize;\n\n  @Input()\n  offsetY: string;\n\n  @Input()\n  visible: boolean;\n\n  @Input()\n  content: ComponentType<T> | TemplateRef<C>;\n\n  @Input()\n  hideOnClickOutside: boolean;\n\n  @Input()\n  showClose: boolean;\n\n  @Input()\n  drawerClass: string;\n\n  @Input()\n  mask: boolean;\n\n  @Input()\n  maskClosable: boolean;\n\n  @Input()\n  divider: boolean;\n\n  @Input()\n  width: number;\n\n  @Input()\n  contentParams: C;\n\n  @Input()\n  disposeWhenHide = false;\n\n  @Output()\n  readonly close = new EventEmitter<R>();\n\n  @ContentChild(DrawerHeaderDirective, { read: TemplateRef })\n  private readonly titleTemplate: TemplateRef<C>;\n\n  @ContentChild(DrawerContentDirective, { read: TemplateRef })\n  private readonly contentTemplateOrComponent:\n    | ComponentType<T>\n    | TemplateRef<C>;\n\n  @ContentChild(DrawerFooterDirective, { read: TemplateRef })\n  private readonly footerTemplate: TemplateRef<C>;\n\n  private drawerRef: DrawerRef<T, C, R>;\n\n  constructor(private readonly drawerService: DrawerService<T, C, R>) {}\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { visible } = changes;\n    if (visible) {\n      const value = visible.currentValue;\n      if (value) {\n        this.drawerRef = this.drawerService.open(this);\n        this.drawerRef.afterClosed.pipe(first()).subscribe(res => {\n          this.close.emit(res);\n        });\n      } else if (!visible.firstChange) {\n        // 不希望默认关闭时，drawer 渲染后就触发 close 事件\n        this.drawerRef?.close();\n      }\n    }\n    this.drawerService.updateOptions(this);\n  }\n\n  ngAfterViewInit() {\n    this.title = this.title || this.titleTemplate;\n    this.content = this.content || this.contentTemplateOrComponent;\n    this.footer = this.footer || this.footerTemplate;\n  }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { DrawerComponent } from './component/drawer.component';\nimport { DrawerService } from './drawer.service';\nimport {\n  DrawerContentDirective,\n  DrawerFooterDirective,\n  DrawerHeaderDirective,\n} from './helper-directives';\n\nconst COMMON = [\n  DrawerComponent,\n  DrawerHeaderDirective,\n  DrawerContentDirective,\n  DrawerFooterDirective,\n];\n\n@NgModule({\n  imports: [CommonModule, IconModule, OverlayModule, PortalModule, ...COMMON],\n  exports: COMMON,\n  providers: [DrawerService],\n})\nexport class DrawerModule {}\n\nexport const DRAWER_MODULE = [\n  DrawerComponent,\n  DrawerHeaderDirective,\n  DrawerContentDirective,\n  DrawerFooterDirective,\n] as const;\n","import { Directive, Input } from '@angular/core';\n\nimport { TooltipActiveDirective } from '../tooltip';\n\n@Directive({\n  selector: '[auiDropdownActive]',\n  standalone: true,\n})\nexport class DropdownActiveDirective extends TooltipActiveDirective {\n  @Input('auiDropdownActive')\n  override customClass: string[] | string = '';\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  Output,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\n\nimport { BaseTooltip, TooltipTrigger, TooltipType } from '../tooltip';\nimport { AnimationType } from '../tooltip/animations';\n\nimport { DropdownActiveDirective } from './dropdown-active.directive';\n\n@Directive({\n  selector: '[auiDropdown]',\n  exportAs: 'auiDropdown',\n  inputs: [\n    'class:auiDropdownClass',\n    'disabled:auiDropdownDisabled',\n    'position:auiDropdownPosition',\n    'trigger:auiDropdownTrigger',\n    'context:auiDropdownContext',\n    'content:auiDropdown',\n  ],\n  providers: [\n    {\n      provide: BaseTooltip,\n      useExisting: DropdownDirective,\n    },\n  ],\n  standalone: true,\n})\nexport class DropdownDirective extends BaseTooltip {\n  @Input('auiDropdownHideOnClick')\n  override hideOnClick = true;\n\n  @Output('auiDropdownVisibleChange')\n  override visibleChange = new EventEmitter<boolean>();\n\n  override animationType: AnimationType = 'scaleY';\n\n  constructor(\n    overlay: Overlay,\n    viewContainerRef: ViewContainerRef,\n    elRef: ElementRef,\n    renderer: Renderer2,\n    cdr: ChangeDetectorRef,\n    ngZone: NgZone,\n  ) {\n    super(overlay, viewContainerRef, elRef, renderer, cdr, ngZone);\n    new DropdownActiveDirective(this, elRef, renderer).customClass = 'isActive';\n    this.type = TooltipType.Plain;\n    this.position = 'bottom end';\n    this.trigger = TooltipTrigger.Click;\n  }\n}\n","import { ValueOf } from '../internal/types';\n\nexport const MenuItemType = {\n  Default: 'default',\n  Primary: 'primary',\n  Success: 'success',\n  Warning: 'warning',\n  Danger: 'danger',\n} as const;\n\nexport type MenuItemType = ValueOf<typeof MenuItemType>;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../../internal/utils';\nimport { MenuItemType } from '../dropdown.types';\n\n@Component({\n  selector: 'aui-menu-item',\n  templateUrl: './menu-item.component.html',\n  styleUrls: ['./menu-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class MenuItemComponent {\n  bem: Bem = buildBem('aui-menu-item');\n\n  protected _disabled = false;\n\n  @Input()\n  get disabled() {\n    return this._disabled;\n  }\n\n  set disabled(value) {\n    this._disabled = value;\n  }\n\n  @Input()\n  divide = false;\n\n  @Input()\n  type: MenuItemType = MenuItemType.Default;\n\n  @Input()\n  actived = false;\n\n  get className() {\n    return `${this.bem.block(this.type)} ${this.divide ? 'hasDivider' : ''} ${\n      this.actived ? 'isActive' : ''\n    }`;\n  }\n}\n","<button\n  [class]=\"className\"\n  [disabled]=\"disabled\"\n>\n  <ng-content></ng-content>\n</button>\n","import { AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Observable, map, startWith } from 'rxjs';\n\nimport { ButtonType } from '../../button';\nimport { ButtonComponent } from '../../button/button.component';\nimport { IconComponent } from '../../icon/icon.component';\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem, coerceAttrBoolean } from '../../internal/utils';\nimport { DropdownDirective } from '../dropdown.directive';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n  selector: 'aui-dropdown-button',\n  templateUrl: './dropdown-button.component.html',\n  styleUrls: ['./dropdown-button.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [ButtonComponent, DropdownDirective, IconComponent, AsyncPipe],\n})\nexport class DropdownButtonComponent implements AfterContentInit {\n  bem: Bem = buildBem('aui-dropdown-button');\n\n  @Input()\n  type: ButtonType = ButtonType.Default;\n\n  @Input()\n  plain = true;\n\n  @Input()\n  size: ComponentSize = ComponentSize.Medium;\n\n  @Input()\n  loading = false;\n\n  @Input({ transform: coerceAttrBoolean })\n  disabled: boolean;\n\n  @Output()\n  buttonClick = new EventEmitter<Event>();\n\n  @ContentChildren(MenuItemComponent, { descendants: true })\n  private readonly menuItems: QueryList<MenuItemComponent>;\n\n  disableTrigger$: Observable<boolean>;\n\n  ngAfterContentInit() {\n    this.disableTrigger$ = this.menuItems.changes.pipe(\n      startWith(null),\n      map(() => this.menuItems.length === 0),\n    );\n  }\n}\n","<div [class]=\"bem.block(size)\">\n  <button\n    type=\"button\"\n    class=\"aui-dropdown-button__content\"\n    [aui-button]=\"type\"\n    [plain]=\"plain\"\n    [size]=\"size\"\n    [loading]=\"loading\"\n    [disabled]=\"disabled\"\n    (click)=\"buttonClick.emit($event)\"\n  >\n    <ng-content></ng-content>\n  </button>\n  <button\n    type=\"button\"\n    class=\"aui-dropdown-button__trigger\"\n    [aui-button]=\"type\"\n    [plain]=\"plain\"\n    [size]=\"size\"\n    [auiDropdown]=\"menu\"\n    [disabled]=\"disableTrigger$ | async\"\n  >\n    <aui-icon icon=\"angle_down\"></aui-icon>\n  </button>\n</div>\n<ng-template #menu><ng-content select=\"aui-menu\"></ng-content></ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiMenuGroupTitle]',\n  exportAs: 'auiMenuGroupTitle',\n  host: {\n    '[class.aui-menu-group__title]': 'true',\n  },\n  standalone: true,\n})\nexport class MenuGroupTitleDirective {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem } from '../../internal/utils';\n\n@Component({\n  selector: 'aui-menu',\n  templateUrl: './menu.component.html',\n  styleUrls: ['./menu.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class MenuComponent {\n  bem: Bem = buildBem('aui-menu');\n\n  @Input()\n  size: ComponentSize = ComponentSize.Small;\n}\n","<div [class]=\"bem.block(size)\"><ng-content></ng-content></div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-menu-group',\n  templateUrl: './menu-group.component.html',\n  styleUrls: ['./menu-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class MenuGroupComponent {}\n","<div class=\"aui-menu-group\">\n  <ng-content select=\"[auiMenuGroupTitle]\"></ng-content>\n  <div class=\"aui-menu-group__content\"><ng-content></ng-content></div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../../icon/icon.component';\nimport { ComponentSize } from '../../internal/types';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { TooltipTrigger } from '../../tooltip';\nimport { TooltipActiveDirective } from '../../tooltip/tooltip-active.directive';\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\nimport { MenuComponent } from '../menu/menu.component';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n  selector: 'aui-submenu',\n  templateUrl: './submenu.component.html',\n  styleUrls: ['./submenu.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [\n    TooltipActiveDirective,\n    TooltipDirective,\n    IconComponent,\n    MenuComponent,\n  ],\n})\nexport class SubmenuComponent extends MenuItemComponent {\n  override bem: Bem = buildBem('aui-submenu');\n\n  @Input()\n  trigger = TooltipTrigger.Hover;\n\n  @Input()\n  size: ComponentSize = ComponentSize.Small;\n\n  @Input()\n  override get disabled() {\n    return this._disabled || !this.hasEnabledItem;\n  }\n\n  @ContentChildren(MenuItemComponent, { descendants: true })\n  menuItems: QueryList<MenuItemComponent>;\n\n  get hasEnabledItem() {\n    return this.menuItems?.length > 0;\n  }\n}\n","<button\n  [class]=\"className\"\n  [auiTooltip]=\"menu\"\n  auiTooltipAnimType=\"scaleY\"\n  [auiTooltipDisabled]=\"disabled\"\n  [auiTooltipTrigger]=\"trigger\"\n  [auiTooltipHideOnClick]=\"true\"\n  auiTooltipPosition=\"end top\"\n  auiTooltipType=\"plain\"\n  auiTooltipClass=\"aui-sub-dropdown\"\n  auiTooltipActive=\"isActive\"\n  (click)=\"$event.stopPropagation()\"\n>\n  <span class=\"aui-submenu__title\"><ng-content></ng-content></span>\n  <aui-icon\n    class=\"aui-submenu__arrow\"\n    icon=\"angle_right\"\n  ></aui-icon>\n</button>\n\n<ng-template #menu>\n  <aui-menu [size]=\"size\">\n    <ng-content select=\"aui-menu-item\"></ng-content>\n  </aui-menu>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon';\nimport { TooltipModule } from '../tooltip';\n\nimport { DropdownActiveDirective } from './dropdown-active.directive';\nimport { DropdownButtonComponent } from './dropdown-button/dropdown-button.component';\nimport { DropdownDirective } from './dropdown.directive';\nimport { MenuGroupTitleDirective } from './helper-directives';\nimport { MenuComponent } from './menu/menu.component';\nimport { MenuGroupComponent } from './menu-group/menu-group.component';\nimport { MenuItemComponent } from './menu-item/menu-item.component';\nimport { SubmenuComponent } from './submenu/submenu.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    TooltipModule,\n    IconModule,\n    ButtonModule,\n    DropdownDirective,\n    DropdownActiveDirective,\n    DropdownButtonComponent,\n    MenuComponent,\n    MenuGroupComponent,\n    MenuGroupTitleDirective,\n    MenuItemComponent,\n    SubmenuComponent,\n  ],\n  exports: [\n    DropdownDirective,\n    DropdownActiveDirective,\n    DropdownButtonComponent,\n    MenuComponent,\n    MenuGroupComponent,\n    MenuGroupTitleDirective,\n    MenuItemComponent,\n    SubmenuComponent,\n  ],\n})\nexport class DropdownModule {}\n\nexport const DROPDOWN_MODULE = [\n  DropdownDirective,\n  DropdownActiveDirective,\n  DropdownButtonComponent,\n  MenuComponent,\n  MenuGroupComponent,\n  MenuGroupTitleDirective,\n  MenuItemComponent,\n  SubmenuComponent,\n] as const;\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[auiInlineAlertTitle]',\n  exportAs: 'auiInlineAlertTitle',\n  standalone: true,\n})\nexport class InlineAlertTitleDirective {}\n","import { ValueOf } from '../internal/types';\n\nexport const InlineAlertType = {\n  Primary: 'primary',\n  Success: 'success',\n  Warning: 'warning',\n  Danger: 'danger',\n  Error: 'error',\n  Info: 'info',\n} as const;\n\nexport type InlineAlertType = ValueOf<typeof InlineAlertType>;\n","import { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { InlineAlertTitleDirective } from './helper-directives';\nimport { InlineAlertType } from './inline-alert.types';\n\n@Component({\n  selector: 'aui-inline-alert',\n  templateUrl: './inline-alert.component.html',\n  styleUrls: ['./inline-alert.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent],\n})\nexport class InlineAlertComponent {\n  bem: Bem = buildBem('aui-inline-alert');\n\n  @Input()\n  title: string;\n\n  @Input()\n  content: string;\n\n  @Input()\n  closable = false;\n\n  @Input()\n  type: InlineAlertType = InlineAlertType.Info;\n\n  @Output()\n  close = new EventEmitter<void>();\n\n  @ContentChild(InlineAlertTitleDirective)\n  titleRef: InlineAlertTitleDirective;\n\n  visible = true;\n\n  iconMap(type: InlineAlertType) {\n    switch (type) {\n      case InlineAlertType.Success: {\n        return 'check_circle_s';\n      }\n      case InlineAlertType.Warning: {\n        return 'exclamation_circle_s';\n      }\n      case InlineAlertType.Danger:\n      case InlineAlertType.Error: {\n        return 'exclamation_triangle_s';\n      }\n      default: {\n        return 'info_circle_s';\n      }\n    }\n  }\n\n  closeSelf() {\n    this.visible = false;\n    this.close.emit();\n  }\n}\n","<div\n  *ngIf=\"visible\"\n  [class]=\"bem.block(type)\"\n  [class.hasTitle]=\"title || titleRef\"\n>\n  <aui-icon\n    class=\"aui-inline-alert__icon\"\n    [icon]=\"iconMap(type)\"\n    [background]=\"iconMap(type).endsWith('_triangle_s') ? 'triangle' : 'circle'\"\n  ></aui-icon>\n  <div class=\"aui-inline-alert__body\">\n    <div\n      class=\"aui-inline-alert__title\"\n      *ngIf=\"title || titleRef\"\n    >\n      <ng-container *ngIf=\"title\">{{ title }}</ng-container>\n      <ng-content select=\"[auiInlineAlertTitle]\"></ng-content>\n    </div>\n    <div class=\"aui-inline-alert__content\">\n      <ng-container *ngIf=\"content\">{{ content }}</ng-container>\n      <ng-content></ng-content>\n    </div>\n  </div>\n  <aui-icon\n    *ngIf=\"closable\"\n    class=\"aui-inline-alert__close\"\n    icon=\"xmark\"\n    (click)=\"closeSelf()\"\n  ></aui-icon>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { InlineAlertTitleDirective } from './helper-directives';\nimport { InlineAlertComponent } from './inline-alert.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    IconModule,\n    InlineAlertComponent,\n    InlineAlertTitleDirective,\n  ],\n  exports: [InlineAlertComponent, InlineAlertTitleDirective],\n})\nexport class InlineAlertModule {}\n\nexport const INLINE_ALERT_MODULE = [\n  InlineAlertComponent,\n  InlineAlertTitleDirective,\n] as const;\n","import { InjectionToken } from '@angular/core';\n\nexport enum MessageType {\n  Error = 'error',\n  Success = 'success',\n  Warning = 'warning',\n  Info = 'info',\n}\n\n/**\n * messageOptions: contains Basic configuration\n * Just for some containers like Message-Container\n * Detailed document： http://confluence.alaudatech.com/pages/viewpage.action?pageId=23383163\n */\n\nexport class MessageConfig {\n  /**\n   * the message type\n   */\n  type?: MessageType;\n\n  /**\n   * The id of this message, The same ID can only have one at the same time\n   */\n  id?: number | string;\n\n  /**\n   * automatically shut down after a few seconds, if <= 0 ,non automatic closure\n   */\n  duration?: number;\n\n  /**\n   * message content\n   */\n  content?: string;\n}\n\nexport interface MessageGlobalConfig {\n  /**\n   * max instance in one time\n   */\n  maxStack: number;\n  duration: number | { [key in MessageType]: number };\n}\n\nexport const MESSAGE_CONFIG = new InjectionToken<MessageGlobalConfig>(\n  'MESSAGE_CONFIG',\n);\n\nexport const MESSAGE_DEFAULT_CONFIG = {\n  duration: 3000,\n  maxStack: 8,\n};\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-message-wrapper',\n  styleUrls: ['./message-wrapper.component.scss'],\n  template: '',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class MessageWrapperComponent {\n  constructor(public elementRef: ElementRef) {}\n}\n","import {\n  AnimationTriggerMetadata,\n  animate,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\n\nexport const MessageAnimations: {\n  readonly inOut: AnimationTriggerMetadata;\n} = {\n  inOut: trigger('inOut', [\n    state(\n      'flyRight, flyLeft',\n      style({ opacity: 1, transform: 'translateX(0)' }),\n    ),\n    state('slideDown', style({ opacity: 1, transform: 'translateY(0)' })),\n    transition('* => slideDown', [\n      style({ opacity: 0, transform: 'translateY(-50%)' }),\n      animate('100ms ease-in-out'),\n    ]),\n    state('slideUp', style({ opacity: 0, 'margin-top': '-50%' })),\n    transition('* => slideUp', [\n      style({ opacity: 1, 'margin-top': '0' }),\n      animate('100ms 200ms ease-in-out'),\n    ]),\n\n    state('flyLeft', style({ opacity: 1, transform: 'translateX(0)' })),\n    transition('* => flyLeft', [\n      style({ opacity: 0, transform: 'translateX(5%)' }),\n      animate('100ms ease-in-out'),\n    ]),\n    state('flyUp', style({ opacity: 0, 'margin-top': '-30%' })),\n    transition('* => flyUp', [\n      style({ opacity: 1, 'margin-top': '0' }),\n      animate('100ms 150ms ease-in-out'),\n    ]),\n    state('void', style({ opacity: 0 })),\n    state('true', style({ opacity: 1 })),\n    state('false', style({ opacity: 0 })),\n    transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n    transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)')),\n  ]),\n};\n","import { AnimationEvent } from '@angular/animations';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { MessageAnimations } from './message-animations';\nimport { MessageConfig, MessageType } from './message.config';\n\nlet uniqueId = 0;\n\nconst typeIcon: { [key: string]: string } = {\n  [MessageType.Error]: 'exclamation_triangle_s',\n  [MessageType.Success]: 'check_circle_s',\n  [MessageType.Warning]: 'exclamation_circle_s',\n  [MessageType.Info]: 'info_circle_s',\n};\n\n@Component({\n  selector: 'aui-message',\n  templateUrl: './message.component.html',\n  animations: [MessageAnimations.inOut],\n  styleUrls: ['./message.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [IconComponent],\n})\nexport class MessageComponent implements AfterViewInit {\n  protected readonly animateStartState: string = 'slideDown';\n  protected readonly animateStartEnd: string = 'slideUp';\n\n  bem: Bem = buildBem('aui-message');\n  animateState = this.animateStartState;\n  uniqueId = `aui-message-${uniqueId++}`;\n  beforeClosed: Subject<void> = new Subject();\n  afterClosed: Subject<void> = new Subject();\n\n  id: number | string;\n  type: MessageType;\n  content: string;\n  duration: number;\n\n  get icon(): string {\n    return typeIcon[this.type];\n  }\n\n  protected timerId: number;\n\n  constructor(\n    protected viewContainerRef: ViewContainerRef,\n    protected cdr: ChangeDetectorRef,\n  ) {}\n\n  ngAfterViewInit(): void {\n    if (this.duration > 0) {\n      this.timerId = window.setTimeout(() => {\n        this.close();\n      }, this.duration);\n    }\n  }\n\n  setConfig(config: MessageConfig) {\n    this.id = config.id;\n    this.type = config.type;\n    this.content = config.content;\n    this.duration = config.duration;\n  }\n\n  close() {\n    clearTimeout(this.timerId);\n    this.beforeClosed.next();\n    this.beforeClosed.complete();\n    this.animateState = this.animateStartEnd;\n    this.cdr.markForCheck();\n  }\n\n  onAnimationEnd(event: AnimationEvent) {\n    try {\n      if (\n        this.viewContainerRef.element &&\n        event.toState === this.animateStartEnd\n      ) {\n        (this.viewContainerRef.element.nativeElement as HTMLElement).remove();\n        this.afterClosed.next();\n        this.afterClosed.complete();\n      }\n    } catch {\n      throw new Error('No outer layer can be found!');\n    }\n  }\n}\n","<div\n  [@inOut]=\"animateState\"\n  (@inOut.done)=\"onAnimationEnd($event)\"\n  [class]=\"bem.block(type) + ' ' + uniqueId\"\n>\n  <div [class]=\"bem.element('icon', type)\">\n    <aui-icon\n      [icon]=\"icon\"\n      [background]=\"icon.endsWith('_triangle_s') ? 'triangle' : 'circle'\"\n    ></aui-icon>\n  </div>\n  <div [class]=\"bem.element('content')\">{{ content }}</div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon/icon.module';\n\nimport { MessageWrapperComponent } from './message-wrapper.component';\nimport { MessageComponent } from './message.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    OverlayModule,\n    IconModule,\n    MessageWrapperComponent,\n    MessageComponent,\n  ],\n})\nexport class MessageModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  ComponentPortal,\n  ComponentType,\n  DomPortalOutlet,\n} from '@angular/cdk/portal';\nimport {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  ComponentRef,\n  ElementRef,\n  Injector,\n} from '@angular/core';\n\nimport { MessageWrapperComponent } from './message-wrapper.component';\nimport { MessageComponent } from './message.component';\nimport {\n  MessageConfig,\n  MessageGlobalConfig,\n  MessageType,\n} from './message.config';\n\nexport abstract class BaseMessage<\n  Wrapper extends MessageWrapperComponent,\n  Component extends MessageComponent,\n  Config extends MessageConfig,\n> {\n  wrapperInstance: { elementRef: ElementRef<HTMLElement> };\n  componentRefs: Array<ComponentRef<Component>> = [];\n\n  constructor(\n    protected overlay: Overlay,\n    protected injector: Injector,\n    protected applicationRef: ApplicationRef,\n    protected cfr: ComponentFactoryResolver,\n    protected overlayPaneClassName: string,\n    protected wrapperClass: ComponentType<Wrapper>,\n    protected componentClass: ComponentType<Component>,\n    protected globalConfig: MessageGlobalConfig,\n  ) {\n    this.initWrapperContainer();\n  }\n\n  create(config: Config): ComponentRef<Component>;\n  create(config: MessageType, content: string): ComponentRef<Component>;\n  create(config: Config | MessageType, content?: string) {\n    const type = content ? (config as MessageType) : (config as Config).type;\n    const mergedConfig = {\n      duration:\n        typeof this.globalConfig.duration === 'number'\n          ? this.globalConfig.duration\n          : this.globalConfig.duration[type],\n      ...(content\n        ? { type: config as MessageType, content }\n        : (config as Config)),\n    } as Config;\n\n    this.removeNeedless(mergedConfig.id);\n\n    const componentRef = this.initComponentRef(mergedConfig);\n    componentRef.instance.afterClosed.subscribe(() => {\n      componentRef.destroy();\n      this.remove(componentRef.instance.uniqueId);\n    });\n    this.componentRefs.push(componentRef);\n    return componentRef;\n  }\n\n  createType(type: MessageType, option: Config | string) {\n    return typeof option === 'string'\n      ? this.create(type, option)\n      : this.create({ ...option, type } as Config);\n  }\n\n  success(option: Config | string): ComponentRef<Component> {\n    return this.createType(MessageType.Success, option);\n  }\n\n  warning(option: Config | string): ComponentRef<Component> {\n    return this.createType(MessageType.Warning, option);\n  }\n\n  error(option: Config | string): ComponentRef<Component> {\n    return this.createType(MessageType.Error, option);\n  }\n\n  info(option: Config | string): ComponentRef<Component> {\n    return this.createType(MessageType.Info, option);\n  }\n\n  remove(id: number | string) {\n    const index = this.componentRefs.findIndex(\n      ref => ref.instance.uniqueId === id || ref.instance.id === id,\n    );\n    if (index >= 0) {\n      this.componentRefs[index].instance.close();\n      this.componentRefs.splice(index, 1);\n    }\n  }\n\n  removeAll() {\n    this.componentRefs.forEach(ref => {\n      ref.instance.close();\n    });\n    this.componentRefs = [];\n  }\n\n  protected initWrapperContainer() {\n    this.wrapperInstance = this.overlay\n      .create({\n        panelClass: this.overlayPaneClassName,\n      })\n      .attach(new ComponentPortal(this.wrapperClass)).instance;\n  }\n\n  protected initComponentRef(config: Config): ComponentRef<Component> {\n    const portalHost = new DomPortalOutlet(\n      this.wrapperInstance.elementRef.nativeElement,\n      this.cfr,\n      this.applicationRef,\n      this.injector,\n    );\n    const componentRef = portalHost.attachComponentPortal(\n      new ComponentPortal(this.componentClass),\n    );\n    componentRef.instance.setConfig(config);\n    return componentRef;\n  }\n\n  protected removeNeedless(id: number | string) {\n    if (id) {\n      this.remove(id);\n    }\n    if (\n      this.globalConfig.maxStack &&\n      this.componentRefs.length >= this.globalConfig.maxStack\n    ) {\n      this.componentRefs\n        .slice(0, this.componentRefs.length - this.globalConfig.maxStack + 1)\n        .forEach(ref => this.remove(ref.instance.uniqueId));\n    }\n  }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  Inject,\n  Injectable,\n  Injector,\n  Optional,\n} from '@angular/core';\n\nimport { BaseMessage } from './base-message';\nimport { MessageWrapperComponent } from './message-wrapper.component';\nimport { MessageComponent } from './message.component';\nimport {\n  MESSAGE_CONFIG,\n  MESSAGE_DEFAULT_CONFIG,\n  MessageConfig,\n  MessageGlobalConfig,\n} from './message.config';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class MessageService extends BaseMessage<\n  MessageWrapperComponent,\n  MessageComponent,\n  MessageConfig\n> {\n  constructor(\n    overlay: Overlay,\n    injector: Injector,\n    applicationRef: ApplicationRef,\n    cfr: ComponentFactoryResolver,\n    @Optional()\n    @Inject(MESSAGE_CONFIG)\n    globalConfig: MessageGlobalConfig,\n  ) {\n    super(\n      overlay,\n      injector,\n      applicationRef,\n      cfr,\n      'aui-message-overlay-pane',\n      MessageWrapperComponent,\n      MessageComponent,\n      {\n        ...MESSAGE_DEFAULT_CONFIG,\n        ...globalConfig,\n      },\n    );\n  }\n}\n","import {\n  CdkPortalOutlet,\n  TemplatePortal,\n  PortalModule,\n} from '@angular/cdk/portal';\nimport { NgIf } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  EmbeddedViewRef,\n  HostListener,\n  TemplateRef,\n  Type,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { Bem, buildBem } from '../internal/utils';\nimport { MessageAnimations } from '../message/message-animations';\nimport { MessageComponent } from '../message/message.component';\n\nimport { NotificationConfig } from './notification.config';\n\nlet uniqueId = 0;\n\n@Component({\n  selector: 'aui-notification',\n  templateUrl: './notification.component.html',\n  animations: [MessageAnimations.inOut],\n  styleUrls: ['./notification.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [IconComponent, NgIf, PortalModule],\n})\nexport class NotificationComponent\n  extends MessageComponent\n  implements AfterViewInit\n{\n  protected override readonly animateStartState = 'flyLeft';\n  protected override readonly animateStartEnd = 'flyUp';\n\n  override bem: Bem = buildBem('aui-notification');\n  override animateState = this.animateStartState;\n  override uniqueId = `aui-notification-${uniqueId++}`;\n  isHover = false;\n\n  title: string;\n  remains: number;\n  childComponentInstance: unknown;\n  customClass = '';\n  footerPortal: TemplatePortal<unknown>;\n\n  @ViewChild(CdkPortalOutlet, { static: true })\n  private readonly portalOutlet: CdkPortalOutlet;\n\n  @ViewChild('modalComponent', { read: ViewContainerRef, static: true })\n  private readonly modalEl: ViewContainerRef;\n\n  @HostListener('mouseenter')\n  onMouseEnter() {\n    if (this.duration <= 0) {\n      return;\n    }\n    this.isHover = true;\n    clearTimeout(this.timerId);\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave() {\n    if (this.duration <= 0) {\n      return;\n    }\n    this.isHover = false;\n    this.countDown();\n  }\n\n  override ngAfterViewInit() {\n    if (this.remains > 0) {\n      this.countDown();\n    }\n  }\n\n  override setConfig(config: NotificationConfig) {\n    super.setConfig(config);\n    this.title = config.title;\n    this.remains = Math.ceil(this.duration / 1000);\n    this.customClass = config.customClass || '';\n\n    if (config.contentRef) {\n      if (config.contentRef instanceof TemplateRef) {\n        const portal = new TemplatePortal(config.contentRef, null, {\n          $implicit: config.context,\n        });\n        this.attachTemplatePortal(portal);\n      } else {\n        this.attachComponentRef(config.contentRef);\n      }\n    }\n\n    if (config.footerRef && config.footerRef instanceof TemplateRef) {\n      this.footerPortal = new TemplatePortal(config.footerRef, null, {\n        $implicit: config.context,\n      });\n    }\n  }\n\n  /**\n   * Attach a TemplatePortal as content to this modal container.\n   * @param portal Portal to be attached as the modal content.\n   */\n  private attachTemplatePortal<C>(\n    portal: TemplatePortal<C>,\n  ): EmbeddedViewRef<C> {\n    return this.portalOutlet.attachTemplatePortal(portal);\n  }\n\n  private attachComponentRef(componentRef: Type<unknown>) {\n    this.childComponentInstance = this.modalEl.createComponent(componentRef, {\n      injector: this.viewContainerRef.injector,\n    }).instance;\n    return this.childComponentInstance;\n  }\n\n  private countDown() {\n    this.timerId = window.setTimeout(() => {\n      this.remains -= 1;\n      if (this.remains === 0) {\n        this.close();\n      } else {\n        this.countDown();\n      }\n      this.cdr.markForCheck();\n    }, 1000);\n  }\n}\n","<div\n  [@inOut]=\"animateState\"\n  (@inOut.done)=\"onAnimationEnd($event)\"\n  [class]=\"bem.block(type) + ' ' + uniqueId + ' ' + customClass\"\n>\n  <div [class]=\"bem.element('wrapper')\">\n    <div [class]=\"bem.element('icon')\">\n      <aui-icon\n        [icon]=\"icon\"\n        [background]=\"icon.endsWith('_triangle_s') ? 'triangle' : 'circle'\"\n      ></aui-icon>\n    </div>\n    <div [class]=\"bem.element('body')\">\n      <div\n        *ngIf=\"title\"\n        [class]=\"bem.element('title')\"\n      >\n        {{ title }}\n      </div>\n      <div\n        *ngIf=\"content\"\n        [class]=\"bem.element('content')\"\n      >\n        {{ content }}\n      </div>\n      <ng-template cdkPortalHost></ng-template>\n      <ng-template #modalComponent></ng-template>\n    </div>\n    <div [class]=\"bem.element('remove')\">\n      <aui-icon\n        *ngIf=\"duration <= 0 || isHover\"\n        [class]=\"bem.element('close')\"\n        icon=\"xmark\"\n        (click)=\"close()\"\n      ></aui-icon>\n      <div\n        *ngIf=\"duration > 0 && !isHover\"\n        [class]=\"bem.element('duration')\"\n      >\n        {{ remains > 0 ? remains : 1 }}s\n      </div>\n    </div>\n  </div>\n  <div\n    *ngIf=\"footerPortal\"\n    [class]=\"bem.element('footer')\"\n  >\n    <ng-template [cdkPortalOutlet]=\"footerPortal\"></ng-template>\n  </div>\n</div>\n","import { ComponentType } from '@angular/cdk/portal';\nimport { InjectionToken, TemplateRef } from '@angular/core';\n\nimport { MessageConfig, MessageGlobalConfig } from '../message';\n\nexport interface NotificationConfig extends MessageConfig {\n  title?: string;\n  contentRef?: ComponentType<void> | TemplateRef<any>;\n  footerRef?: TemplateRef<any>;\n  context?: unknown;\n  customClass?: string;\n}\n\n// eslint-disable-next-line no-restricted-syntax\nexport type NotificationGlobalConfig = MessageGlobalConfig;\n\nexport const NOTIFICATION_CONFIG = new InjectionToken<NotificationGlobalConfig>(\n  'NOTIFICATION_CONFIG',\n);\n\nexport const NOTIFICATION_DEFAULT_CONFIG = {\n  duration: 6000,\n  maxStack: 8,\n};\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { MessageWrapperComponent } from '../message/message-wrapper.component';\n\n@Component({\n  selector: 'aui-notification-wrapper',\n  styleUrls: ['./notification-wrapper.component.scss'],\n  template: '',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class NotificationWrapperComponent extends MessageWrapperComponent {\n  constructor(public override elementRef: ElementRef) {\n    super(elementRef);\n  }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { NotificationWrapperComponent } from './notification-wrapper.component';\nimport { NotificationComponent } from './notification.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    OverlayModule,\n    PortalModule,\n    IconModule,\n    NotificationWrapperComponent,\n    NotificationComponent,\n  ],\n})\nexport class NotificationModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  Inject,\n  Injectable,\n  Injector,\n  Optional,\n} from '@angular/core';\n\nimport { BaseMessage } from '../message/base-message';\n\nimport { NotificationWrapperComponent } from './notification-wrapper.component';\nimport { NotificationComponent } from './notification.component';\nimport {\n  NOTIFICATION_CONFIG,\n  NOTIFICATION_DEFAULT_CONFIG,\n  NotificationConfig,\n  NotificationGlobalConfig,\n} from './notification.config';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NotificationService extends BaseMessage<\n  NotificationWrapperComponent,\n  NotificationComponent,\n  NotificationConfig\n> {\n  constructor(\n    overlay: Overlay,\n    injector: Injector,\n    applicationRef: ApplicationRef,\n    cfr: ComponentFactoryResolver,\n    @Optional()\n    @Inject(NOTIFICATION_CONFIG)\n    globalConfig: NotificationGlobalConfig,\n  ) {\n    super(\n      overlay,\n      injector,\n      applicationRef,\n      cfr,\n      'aui-notification-overlay-pane',\n      NotificationWrapperComponent,\n      NotificationComponent,\n      {\n        ...NOTIFICATION_DEFAULT_CONFIG,\n        ...globalConfig,\n      },\n    );\n  }\n}\n","import { DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  Directive,\n  Inject,\n  Injector,\n  OnDestroy,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n  selector: '[auiOptionGroupTitle]',\n  exportAs: 'auiOptionGroupTitle',\n  host: {\n    '[class.aui-option-group__title]': 'true',\n  },\n  standalone: true,\n})\nexport class OptionGroupTitleDirective {}\n\n@Directive({\n  selector: '*[auiOptionContent]',\n  exportAs: 'auiOptionContent',\n  standalone: true,\n})\nexport class OptionContentDirective implements OnDestroy {\n  private portal: TemplatePortal;\n  private outlet: DomPortalOutlet;\n\n  private readonly doc: Document;\n\n  constructor(\n    private readonly templateRef: TemplateRef<unknown>,\n    private readonly appRef: ApplicationRef,\n    private readonly viewContainerRef: ViewContainerRef,\n    private readonly componentFactoryResolver: ComponentFactoryResolver,\n    private readonly injector: Injector,\n    @Inject(DOCUMENT) document: any,\n  ) {\n    this.doc = document;\n  }\n\n  attach(context?: any) {\n    if (this.portal?.isAttached) {\n      return;\n    }\n    if (!this.portal) {\n      this.portal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n    }\n    if (!this.outlet) {\n      this.outlet = new DomPortalOutlet(\n        this.doc.createElement('div'),\n        this.componentFactoryResolver,\n        this.appRef,\n        this.injector,\n      );\n    }\n    const el = this.templateRef.elementRef.nativeElement as HTMLElement;\n    el.parentNode.insertBefore(this.outlet.outletElement, el);\n    this.portal.attach(this.outlet, context);\n  }\n\n  detach() {\n    if (this.portal?.isAttached) {\n      this.portal.detach();\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.outlet) {\n      this.outlet.dispose();\n    }\n  }\n}\n","import {\n  AfterContentInit,\n  AfterViewInit,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n  ViewChild,\n  ViewChildren,\n  forwardRef,\n} from '@angular/core';\nimport {\n  BehaviorSubject,\n  combineLatest,\n  debounceTime,\n  distinctUntilChanged,\n  map,\n  Observable,\n  of,\n  startWith,\n  Subject,\n  switchMap,\n  takeUntil,\n} from 'rxjs';\n\nimport { CommonFormControl } from '../form';\nimport { ComponentSize } from '../internal/types';\nimport {\n  coerceAttrBoolean,\n  coerceString,\n  isTemplateRef,\n  publishRef,\n  scrollIntoView,\n} from '../internal/utils';\nimport { TooltipDirective } from '../tooltip';\n\nimport { OptionContentDirective } from './helper-directives';\nimport { OptionComponent } from './option/option.component';\nimport { OptionFilterFn, SelectFilterOption, TrackFn } from './select.types';\n\n@Directive({\n  standalone: true,\n})\nexport abstract class BaseSelect<T, V = T>\n  extends CommonFormControl<V>\n  implements AfterContentInit, AfterViewInit, OnDestroy\n{\n  @Input()\n  get size() {\n    return this._size;\n  }\n\n  set size(val) {\n    if (!val || this._size === val) {\n      return;\n    }\n    this._size = val;\n    this.size$$.next(val);\n  }\n\n  @Input({ transform: coerceAttrBoolean })\n  filterable = true;\n\n  @Input({ transform: coerceAttrBoolean })\n  clearable: boolean;\n\n  @Input()\n  filterFn: OptionFilterFn<T> = this._filterFn.bind(this);\n\n  @Input()\n  trackFn: TrackFn<T> = this._trackFn;\n\n  @Input()\n  labelFn?: (value: T) => string;\n\n  @Input({ transform: coerceAttrBoolean })\n  allowCreate: boolean;\n\n  get allOptions() {\n    return [\n      ...(this.customOptions ? this.customOptions.toArray() : []),\n      ...(this.contentOptions ? this.contentOptions.toArray() : []),\n    ];\n  }\n\n  get opened() {\n    return this.tooltipRef.isCreated;\n  }\n\n  get inaction() {\n    return !(this.filterable && this.opened);\n  }\n\n  get filterString() {\n    return this._filterString;\n  }\n\n  set filterString(val) {\n    if (val !== this._filterString) {\n      this._filterString = val;\n      this.filterString$$.next(val);\n      this.filterChange.emit(val);\n    }\n  }\n\n  @Input()\n  loading = false;\n\n  @Input()\n  placeholder = '';\n\n  @Input()\n  defaultFirstOption = true;\n\n  @Input()\n  lazy = true;\n\n  @Output()\n  filterChange = new EventEmitter<string>();\n\n  @Output()\n  show = new EventEmitter<void>();\n\n  @Output()\n  hide = new EventEmitter<void>();\n\n  @ViewChild('selectRef', { static: true })\n  protected selectRef: ElementRef<HTMLElement>;\n\n  @ViewChild('tooltipRef', { static: true })\n  protected tooltipRef: TooltipDirective;\n\n  @ViewChild('optionListRef', { static: false })\n  protected optionListRef: ElementRef<HTMLDivElement>;\n\n  @ViewChild('inputtingOption', { static: false })\n  protected inputtingOption: OptionComponent<T>;\n\n  @ContentChild(OptionContentDirective)\n  protected optionContent?: OptionContentDirective;\n\n  @ViewChildren(forwardRef(() => OptionComponent))\n  customOptions: QueryList<OptionComponent<T>>;\n\n  @ContentChildren(forwardRef(() => OptionComponent), { descendants: true })\n  contentOptions: QueryList<OptionComponent<T>>;\n\n  isTemplateRef = isTemplateRef;\n  isMulti = false;\n\n  /**\n   * Utility field to make sure the users always see the value as type array\n   */\n  abstract readonly values$: Observable<T[]>;\n\n  allOptions$: Observable<Array<OptionComponent<T>>>;\n\n  protected focusedOption: OptionComponent<T>;\n\n  private _size: ComponentSize = ComponentSize.Medium;\n  private _filterString = '';\n\n  protected destroy$$ = new Subject<void>();\n  protected size$$ = new BehaviorSubject<ComponentSize>(this.size);\n  private readonly filterString$$ = new BehaviorSubject<string>(\n    this.filterString,\n  );\n\n  size$ = this.size$$.asObservable();\n  filterString$ = this.filterString$$.asObservable();\n  optionVisibles$: Observable<boolean[]>;\n  hasVisibleOption$: Observable<boolean>;\n  hasMatchedOption$: Observable<boolean>;\n  customCreatedOptions$: Observable<Array<SelectFilterOption<T>>>;\n  containerWidth: string;\n\n  ngAfterContentInit() {\n    this.customCreatedOptions$ = combineLatest([\n      this.values$,\n      (\n        this.contentOptions.changes as Observable<QueryList<OptionComponent<T>>>\n      ).pipe(\n        startWith(this.contentOptions),\n        switchMap((options: QueryList<OptionComponent<T>>) =>\n          options.length > 0\n            ? combineLatest(options.map(option => option.value$))\n            : of([] as T[]),\n        ),\n      ),\n    ]).pipe(\n      map(([values, optionValues]) =>\n        values.reduce<Array<SelectFilterOption<T>>>((acc, value) => {\n          const included = optionValues\n            .map(value => this.trackFn(value))\n            .includes(this.trackFn(value));\n          if (!included) {\n            const label =\n              this.labelFn?.(value) || coerceString(this.trackFn(value));\n            if (label) {\n              acc.push({\n                label,\n                value,\n              });\n            }\n          }\n          return acc;\n        }, []),\n      ),\n      publishRef(),\n    );\n  }\n\n  ngAfterViewInit() {\n    this.allOptions$ = combineLatest([\n      this.customOptions.changes.pipe(startWith(this.customOptions)),\n      this.contentOptions.changes.pipe(startWith(this.contentOptions)),\n    ]).pipe(\n      map(\n        ([customOptions, contentOptions]: [\n          QueryList<OptionComponent<T>>,\n          QueryList<OptionComponent<T>>,\n        ]) => [...customOptions.toArray(), ...contentOptions.toArray()],\n      ),\n      publishRef(),\n    );\n\n    // support dynamic options loading on filtering\n    this.allOptions$.pipe(takeUntil(this.destroy$$)).subscribe(() => {\n      if (this.opened) {\n        requestAnimationFrame(() => {\n          this.autoFocusFirstOption();\n        });\n      }\n    });\n\n    this.hasMatchedOption$ = combineLatest([\n      this.allOptions$.pipe(\n        map(customOptions =>\n          customOptions.filter(option => option !== this.inputtingOption),\n        ),\n        switchMap(options =>\n          options.length > 0\n            ? combineLatest(options.map(option => option.value$))\n            : of([] as T[]),\n        ),\n      ),\n      this.filterString$,\n    ]).pipe(\n      map(([values, filterString]) =>\n        values.some(value => this.trackFn(value) === filterString),\n      ),\n      publishRef(),\n    );\n\n    this.optionVisibles$ = (\n      this.contentOptions.changes as Observable<QueryList<OptionComponent<T>>>\n    ).pipe(\n      startWith(this.contentOptions),\n      switchMap((options: QueryList<OptionComponent<T>>) =>\n        options.length > 0\n          ? combineLatest(options.map(option => option.visible$))\n          : of([] as boolean[]),\n      ),\n      publishRef(),\n    );\n\n    this.hasVisibleOption$ = this.optionVisibles$.pipe(\n      map(visible => visible.some(Boolean)),\n      distinctUntilChanged(),\n      publishRef(),\n    );\n\n    this.optionVisibles$.pipe(debounceTime(50)).subscribe(() => {\n      this.tooltipRef?.updatePosition();\n    });\n  }\n\n  ngOnDestroy() {\n    this.optionContent?.detach();\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n\n  openOption() {\n    this.tooltipRef.show();\n  }\n\n  closeOption() {\n    this.tooltipRef.hide();\n  }\n\n  onShowOptions() {\n    const exec = () => {\n      this.containerWidth = this.selectRef.nativeElement.offsetWidth + 'px';\n\n      requestAnimationFrame(() => {\n        this.autoFocusFirstOption();\n      });\n\n      this.show.emit();\n    };\n\n    if (this.optionContent) {\n      requestAnimationFrame(() => {\n        this.optionContent.attach();\n        exec();\n      });\n    } else {\n      exec();\n    }\n  }\n\n  onHideOptions() {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n    if (!this.lazy) {\n      this.optionContent?.detach();\n    }\n    this.resetFocusedOption();\n    this.filterString = '';\n    this.hide.emit();\n  }\n\n  onInput(event: Event) {\n    this.filterString = (event.target as HTMLInputElement).value;\n\n    requestAnimationFrame(() => {\n      this.autoFocusFirstOption();\n    });\n\n    this.cdr.markForCheck();\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    switch (event.key) {\n      case 'ArrowDown': {\n        this.focusOptionDir('down');\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'ArrowUp': {\n        this.focusOptionDir('up');\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'Enter': {\n        this.selectFocusedOption();\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n      case 'Escape': {\n        this.escSelect();\n        event.stopPropagation();\n        event.preventDefault();\n        break;\n      }\n    }\n  }\n\n  onOptionClick(option: OptionComponent<T>) {\n    this.resetFocusedOption(option);\n    this.selectOption(option);\n  }\n\n  protected autoFocusFirstOption() {\n    if (this.defaultFirstOption && this.allowCreate && this.filterString) {\n      const matchedOption = this.contentOptions.find(\n        option => this.trackFn(option.value) === this.filterString,\n      );\n      this.resetFocusedOption(matchedOption || this.customOptions.first);\n      return;\n    }\n\n    const selectedOption = this.allOptions.find(\n      option => option.selected && option.visible,\n    );\n    if (this.defaultFirstOption) {\n      this.resetFocusedOption(\n        selectedOption ||\n          this.allOptions.find(option => option.visible && !option.disabled),\n      );\n    } else if (selectedOption) {\n      this.scrollToOption(selectedOption);\n    }\n  }\n\n  protected focusOptionDir(dir: 'down' | 'up') {\n    if (!this.opened) {\n      this.openOption();\n      return;\n    }\n    const visibleOptions = this.allOptions.filter(\n      option => option.visible && !option.disabled,\n    );\n    if (visibleOptions.length === 0) {\n      return;\n    }\n    const step = dir === 'down' ? 1 : -1;\n    let i = visibleOptions.indexOf(this.focusedOption);\n    i = i + step;\n    if (i >= visibleOptions.length) {\n      i = 0;\n    } else if (i < 0) {\n      i = visibleOptions.length - 1;\n    }\n    this.resetFocusedOption(visibleOptions[i]);\n  }\n\n  protected resetFocusedOption(focusedOption?: OptionComponent<T>) {\n    if (this.focusedOption === focusedOption) {\n      return;\n    }\n\n    if (this.focusedOption) {\n      this.focusedOption.blur();\n    }\n\n    this.focusedOption = focusedOption;\n\n    if (this.focusedOption) {\n      this.focusedOption.focus();\n      this.scrollToOption(this.focusedOption);\n    }\n  }\n\n  protected scrollToOption(option: OptionComponent<T>) {\n    if (this.optionListRef) {\n      scrollIntoView(\n        this.optionListRef.nativeElement,\n        option.elRef.nativeElement,\n      );\n    }\n  }\n\n  protected selectFocusedOption() {\n    if (!this.opened) {\n      this.openOption();\n      return;\n    }\n    if (this.focusedOption && !this.focusedOption.disabled) {\n      this.selectOption(this.focusedOption);\n    }\n  }\n\n  protected escSelect() {\n    this.closeOption();\n  }\n\n  private _trackFn<T>(value: T) {\n    return value;\n  }\n\n  private _filterFn(\n    filterString: string,\n    { label, value }: SelectFilterOption<T>,\n  ) {\n    return (\n      (typeof label === 'string' && label) ||\n      this.labelFn?.(value) ||\n      coerceString(this.trackFn(value))\n    )\n      ?.toLowerCase()\n      .includes(filterString?.toLowerCase() ?? '');\n  }\n\n  abstract selectOption(option: OptionComponent<T>): void;\n\n  abstract clearValue(event: Event): void;\n}\n","import { NgIf, AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport {\n  BehaviorSubject,\n  Observable,\n  combineLatest,\n  distinctUntilChanged,\n  map,\n  tap,\n} from 'rxjs';\n\nimport { IconComponent } from '../../icon/icon.component';\nimport { ComponentSize } from '../../internal/types';\nimport {\n  Bem,\n  buildBem,\n  coerceAttrBoolean,\n  publishRef,\n} from '../../internal/utils';\nimport { BaseSelect } from '../base-select';\n\n@Component({\n  selector: 'aui-option',\n  templateUrl: './option.component.html',\n  styleUrls: ['./option.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent, AsyncPipe],\n})\nexport class OptionComponent<T> {\n  bem: Bem = buildBem('aui-option');\n\n  private _disabled = false;\n  private _label: TemplateRef<unknown> | string = '';\n  private _labelContext: unknown = {};\n  private _value: T;\n  private readonly label$$ = new BehaviorSubject(this.label);\n\n  private readonly labelContext$$ = new BehaviorSubject(this.labelContext);\n\n  private readonly value$$ = new BehaviorSubject(this.value);\n\n  private readonly disabled$$ = new BehaviorSubject(this.disabled);\n\n  @Input()\n  get label() {\n    return this._label;\n  }\n\n  set label(val) {\n    this._label = val;\n    this.label$$.next(val);\n  }\n\n  @Input()\n  get labelContext() {\n    return this._labelContext;\n  }\n\n  set labelContext(val) {\n    this._labelContext = val;\n    this.labelContext$$.next(val);\n  }\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(val) {\n    this._value = val;\n    this.value$$.next(val);\n  }\n\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n\n  set disabled(val: boolean | '') {\n    this._disabled = coerceAttrBoolean(val);\n    this.disabled$$.next(this._disabled);\n  }\n\n  isMulti = false;\n\n  @ViewChild('elRef', { static: true })\n  elRef: ElementRef<HTMLDivElement>;\n\n  private readonly select: BaseSelect<T>;\n  selected = false;\n  visible = true;\n  size: ComponentSize = ComponentSize.Medium;\n  focused = false;\n\n  value$ = this.value$$.asObservable();\n  label$ = this.label$$.asObservable();\n  labelContext$ = this.labelContext$$.asObservable();\n  disabled$ = this.disabled$$.asObservable();\n\n  selected$: Observable<boolean>;\n  size$: Observable<ComponentSize>;\n  visible$: Observable<boolean>;\n\n  constructor(\n    private readonly cdr: ChangeDetectorRef,\n    @Inject(forwardRef(() => BaseSelect))\n    select: BaseSelect<T>,\n  ) {\n    this.isMulti = select.isMulti;\n    this.select = select;\n    this.selected$ = combineLatest([this.select.values$, this.value$$]).pipe(\n      map(([selectValue, selfValue]) =>\n        selectValue\n          ?.map(this.select.trackFn)\n          .includes(this.select.trackFn(selfValue)),\n      ),\n      distinctUntilChanged(),\n      tap(selected => {\n        this.selected = selected;\n      }),\n      publishRef(),\n    );\n    this.size$ = this.select.size$.pipe(\n      tap(size => {\n        this.size = size;\n      }),\n    );\n    this.visible$ = combineLatest([\n      this.select.filterString$,\n      combineLatest([this.label$, this.value$, this.labelContext$]).pipe(\n        map(([label, value, labelContext]) => ({ label, value, labelContext })),\n      ),\n    ]).pipe(\n      map(([filterString, option]) =>\n        this.select.filterFn(filterString, option),\n      ),\n      distinctUntilChanged(),\n      tap(visible => {\n        this.visible = visible;\n      }),\n      publishRef(),\n    );\n  }\n\n  onClick() {\n    if (this.disabled) {\n      return;\n    }\n    this.select.onOptionClick(this);\n  }\n\n  focus() {\n    if (this.disabled) {\n      return;\n    }\n    this.focused = true;\n    this.cdr.markForCheck();\n  }\n\n  blur() {\n    this.focused = false;\n    this.cdr.markForCheck();\n  }\n}\n","<div\n  #elRef\n  [hidden]=\"!(visible$ | async)\"\n  [class]=\"bem.block(size$ | async)\"\n  [class.isDisabled]=\"disabled\"\n  [class.isSelected]=\"selected$ | async\"\n  [class.isMulti]=\"isMulti\"\n  [class.isFocused]=\"focused\"\n  (click)=\"onClick()\"\n>\n  <i\n    *ngIf=\"isMulti\"\n    [class]=\"bem.element('pointer')\"\n  >\n    <aui-icon\n      [hidden]=\"!(selected$ | async)\"\n      icon=\"check\"\n    ></aui-icon>\n  </i>\n  <div [class]=\"bem.element('content')\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { NgIf, NgTemplateOutlet, NgFor, AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  QueryList,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n  Observable,\n  combineLatest,\n  of,\n  distinctUntilChanged,\n  map,\n  startWith,\n  switchMap,\n} from 'rxjs';\n\nimport { IconComponent } from '../icon';\nimport {\n  InputComponent,\n  InputSuffixDirective,\n  InputGroupComponent,\n} from '../input';\nimport { coerceString, publishRef } from '../internal/utils';\nimport { TooltipDirective } from '../tooltip';\n\nimport { BaseSelect } from './base-select';\nimport { OptionComponent } from './option/option.component';\nimport { SelectOption } from './select.types';\n\n@Component({\n  selector: 'aui-select',\n  templateUrl: './select.component.html',\n  styleUrls: ['./select.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SelectComponent),\n      multi: true,\n    },\n    {\n      provide: BaseSelect,\n      useExisting: SelectComponent,\n    },\n  ],\n  imports: [\n    TooltipDirective,\n    InputGroupComponent,\n    InputComponent,\n    InputSuffixDirective,\n    IconComponent,\n    NgIf,\n    NgTemplateOutlet,\n    OptionComponent,\n    NgFor,\n    AsyncPipe,\n  ],\n})\nexport class SelectComponent<T = unknown>\n  extends BaseSelect<T>\n  implements AfterContentInit\n{\n  @ViewChild('inputRef', { static: true })\n  inputRef: InputComponent;\n\n  values$ = this.model$.asObservable().pipe(map(val => [val]));\n\n  selectedOption$: Observable<SelectOption>;\n\n  hasSelected$: Observable<boolean>;\n\n  get rootClass() {\n    return `aui-select aui-select--${this.size}`;\n  }\n\n  get containerClass() {\n    return `aui-option-container aui-option-container--${this.size}`;\n  }\n\n  isClearable = (hasSelected: boolean) =>\n    !this.disabled && this.clearable && hasSelected;\n\n  override ngAfterContentInit() {\n    super.ngAfterContentInit();\n\n    this.selectedOption$ = combineLatest([\n      (\n        this.contentOptions.changes as Observable<QueryList<OptionComponent<T>>>\n      ).pipe(\n        startWith(this.contentOptions),\n        switchMap(options =>\n          combineLatest(options.map(option => option.selected$)).pipe(\n            startWith(null as void),\n            map(() => options.find(option => option.selected)),\n            distinctUntilChanged(),\n            switchMap(option =>\n              option\n                ? combineLatest([\n                    option.value$,\n                    option.label$,\n                    option.labelContext$,\n                  ]).pipe(\n                    map(([value, label, labelContext]) => ({\n                      value,\n                      label,\n                      labelContext,\n                    })),\n                  )\n                : of(null as void),\n            ),\n          ),\n        ),\n      ),\n      this.model$,\n    ]).pipe(\n      map(([option, value]) =>\n        option\n          ? {\n              label:\n                option.label ||\n                this.labelFn?.(option.value) ||\n                coerceString(this.trackFn(option.value)),\n              // https://github.com/angular/angular/issues/24515\n              labelContext: {\n                ...(option.labelContext as Record<string, unknown>),\n              },\n            }\n          : {\n              label: this.labelFn?.(value) || coerceString(this.trackFn(value)),\n            },\n      ),\n      publishRef(),\n    );\n\n    this.hasSelected$ = this.selectedOption$.pipe(\n      map(({ label }) => !!label),\n      publishRef(),\n    );\n  }\n\n  onVisibleOptions(visible: boolean) {\n    if (visible) {\n      super.onShowOptions();\n    } else {\n      super.onHideOptions();\n      this.inputRef.elementRef.nativeElement.value = '';\n    }\n  }\n\n  protected override valueIn(v: T): T {\n    this.closeOption();\n    return v;\n  }\n\n  selectOption(option: OptionComponent<T>) {\n    this.emitValue(option.value);\n    this.closeOption();\n  }\n\n  clearValue(event: Event) {\n    this.emitValue(null);\n    event.stopPropagation();\n    event.preventDefault();\n  }\n}\n","<div\n  [class]=\"rootClass\"\n  [class.isDisabled]=\"disabled\"\n  [class.isClearable]=\"isClearable(hasSelected$ | async)\"\n  [class.isFilterable]=\"filterable\"\n  [class.isOpened]=\"opened\"\n  #selectRef\n  #tooltipRef=\"auiTooltip\"\n  [auiTooltip]=\"templateRef\"\n  auiTooltipAnimType=\"scaleY\"\n  [auiTooltipDisabled]=\"disabled\"\n  auiTooltipTrigger=\"click\"\n  auiTooltipPosition=\"bottom start\"\n  auiTooltipType=\"plain\"\n  (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n>\n  <aui-input-group>\n    <input\n      #inputRef\n      class=\"aui-select__input\"\n      [class.aui-select__input-inaction]=\"inaction\"\n      autocomplete=\"off\"\n      aui-input\n      [disabled]=\"disabled\"\n      [size]=\"size\"\n      [readonly]=\"readonly || inaction\"\n      [placeholder]=\"!(hasSelected$ | async) ? placeholder : ''\"\n      (input)=\"onInput($event)\"\n      (keydown)=\"onKeyDown($event)\"\n      (blur)=\"closeOption()\"\n    />\n    <span\n      auiInputSuffix\n      class=\"aui-select__icon-container\"\n    >\n      <aui-icon\n        class=\"aui-select__indicator\"\n        [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n      ></aui-icon>\n      <aui-icon\n        class=\"aui-select__clear\"\n        icon=\"xmark_small\"\n        (click)=\"clearValue($event)\"\n      ></aui-icon>\n    </span>\n    <div\n      *ngIf=\"(selectedOption$ | async) && !filterString\"\n      class=\"aui-select__label-container aui-input aui-input--{{ size }}\"\n      [attr.disabled]=\"disabled ? true : null\"\n      [attr.readonly]=\"readonly ? true : null\"\n    >\n      <div class=\"aui-select__label\">\n        <ng-container *ngIf=\"(selectedOption$ | async).label as optionLabel\">\n          <ng-container\n            *ngIf=\"isTemplateRef(optionLabel); else label\"\n            [ngTemplateOutlet]=\"optionLabel\"\n            [ngTemplateOutletContext]=\"(selectedOption$ | async).labelContext\"\n          ></ng-container>\n          <ng-template #label>{{ optionLabel }}</ng-template>\n        </ng-container>\n      </div>\n    </div>\n  </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n  <div\n    [class]=\"containerClass\"\n    [style.minWidth]=\"containerWidth\"\n    (mousedown)=\"$event.preventDefault()\"\n  >\n    <div\n      #optionListRef\n      class=\"aui-option-container__content\"\n    >\n      <aui-option\n        #inputtingOption\n        *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n        [value]=\"filterString\"\n      >\n        {{ filterString }}\n      </aui-option>\n      <ng-container *ngIf=\"allowCreate\">\n        <aui-option\n          *ngFor=\"let option of customCreatedOptions$ | async\"\n          [label]=\"option.label\"\n          [value]=\"option.value\"\n        >\n          {{ option.label }}\n        </aui-option>\n      </ng-container>\n      <ng-content></ng-content>\n    </div>\n    <div\n      *ngIf=\"\n        !(\n          (hasVisibleOption$ | async) ||\n          (allowCreate && (customCreatedOptions$ | async).length) ||\n          (allowCreate && filterString)\n        )\n      \"\n      class=\"aui-option-container__placeholder\"\n    >\n      <ng-content select=\"aui-option-placeholder\"></ng-content>\n    </div>\n  </div>\n</ng-template>\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and\n * include it in a custom provider\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class PaginatorIntl {\n  /**\n   * Stream that emits whenever the labels here are changed. Use this to notify\n   * components if the labels have changed after initialization.\n   */\n  readonly changes: Subject<void> = new Subject<void>();\n\n  /** A label for the page size selector. */\n  itemsPerPageLabel = 'perPage';\n\n  jumperLabelPrefix = 'Goto';\n  jumperLabelSuffix = '';\n\n  getTotalLabel = (length: number) => `Total ${length}`;\n}\n","import { NgFor, NgIf, NgClass, NgSwitch, NgSwitchCase } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ButtonComponent } from '../button/button.component';\nimport { IconComponent } from '../icon/icon.component';\nimport { InputComponent } from '../input/input.component';\nimport { Bem, buildBem } from '../internal/utils';\nimport { OptionComponent } from '../select/option/option.component';\nimport { SelectComponent } from '../select/select.component';\n\nimport { PaginatorIntl } from './paginator-intl';\n\n@Component({\n  selector: 'aui-paginator',\n  templateUrl: 'paginator.component.html',\n  styleUrls: ['paginator.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [\n    NgFor,\n    NgIf,\n    NgSwitch,\n    NgSwitchCase,\n    ButtonComponent,\n    NgClass,\n    IconComponent,\n    SelectComponent,\n    OptionComponent,\n    InputComponent,\n  ],\n})\nexport class PaginatorComponent implements OnDestroy {\n  bem: Bem = buildBem('aui-paginator');\n\n  @Input()\n  get pageIndex() {\n    return this.currentPage - 1;\n  }\n\n  set pageIndex(val) {\n    this.currentPage = val + 1;\n  }\n\n  @Input()\n  get currentPage() {\n    return this._currentPage;\n  }\n\n  set currentPage(val) {\n    this._currentPage = +val;\n  }\n\n  @Input()\n  get pageSize() {\n    return this._pageSize;\n  }\n\n  set pageSize(val) {\n    this._pageSize = +val;\n  }\n\n  @Input()\n  pageSizeOptions: number[] = [20, 50, 100];\n\n  @Input()\n  total = 0;\n\n  @Input()\n  layout: string[] | string = 'total,pager,sizes';\n\n  @Input()\n  disabled = false;\n\n  @Output()\n  readonly pageIndexChange = new EventEmitter<number>();\n\n  @Output()\n  readonly currentPageChange = new EventEmitter<number>();\n\n  @Output()\n  readonly pageSizeChange = new EventEmitter<number>();\n\n  private _currentPage = 1;\n  private _pageSize = 20;\n\n  private readonly intlChangeSub: Subscription;\n\n  get pageCount() {\n    return Math.ceil(this.total / this.pageSize);\n  }\n\n  constructor(\n    public intl: PaginatorIntl,\n    private readonly cdr: ChangeDetectorRef,\n  ) {\n    this.intlChangeSub = intl.changes.subscribe(() => this.cdr.markForCheck());\n  }\n\n  ngOnDestroy() {\n    this.intlChangeSub.unsubscribe();\n  }\n\n  getLayoutArr() {\n    return typeof this.layout === 'string'\n      ? this.layout.split(',').map(item => item.trim())\n      : this.layout;\n  }\n\n  getCenterPages() {\n    const start = Math.min(\n      Math.max(0, this.currentPage - 4),\n      Math.max(0, this.pageCount - 7),\n    );\n    return Array.from({ length: Math.max(this.pageCount - 2, 0) })\n      .fill(null)\n      .map((_, index) => index + 2)\n      .slice(start, start + 5);\n  }\n\n  jumpTo(page: number) {\n    if (page === this.currentPage) {\n      return;\n    }\n    this.pageIndexChange.emit(page - 1);\n    this.currentPageChange.emit(page);\n  }\n\n  navigate(step: number) {\n    this.jumpTo(Math.min(Math.max(this.currentPage + step, 1), this.pageCount));\n  }\n\n  changePageSize(size: number) {\n    if (size === this.pageSize) {\n      return;\n    }\n    this.pageSizeChange.emit(size);\n  }\n\n  onKeydown(event: KeyboardEvent) {\n    if (event.key === 'Enter') {\n      const inputEl = event.target as HTMLInputElement;\n      const nextPage = parseInt(inputEl.value, 10);\n      if (nextPage > 0 && nextPage <= this.pageCount) {\n        this.jumpTo(nextPage);\n      } else {\n        inputEl.value = this.currentPage + '';\n      }\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  }\n\n  trackByIndex(index: number) {\n    return index;\n  }\n}\n","<div [class]=\"bem.block()\">\n  <div\n    *ngFor=\"let layout of getLayoutArr()\"\n    [class]=\"bem.element('layout')\"\n  >\n    <ng-container [ngSwitch]=\"layout\">\n      <div\n        *ngSwitchCase=\"'pager'\"\n        [class]=\"bem.element('pager')\"\n      >\n        <button\n          [ngClass]=\"bem.element('navigator')\"\n          aui-button\n          [disabled]=\"disabled || currentPage <= 1\"\n          (click)=\"navigate(-1)\"\n        >\n          <aui-icon icon=\"angle_left\"></aui-icon>\n        </button>\n        <button\n          [ngClass]=\"bem.element('page')\"\n          [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n          [plain]=\"!(currentPage === 1)\"\n          [disabled]=\"disabled\"\n          (click)=\"jumpTo(1)\"\n        >\n          1\n        </button>\n        <button\n          *ngIf=\"pageCount > 7 && currentPage > 4\"\n          [ngClass]=\"bem.element('fast-navigator')\"\n          aui-button\n          [disabled]=\"disabled\"\n          (click)=\"navigate(-5)\"\n        >\n          <aui-icon icon=\"ellipsis_s\"></aui-icon>\n          <aui-icon icon=\"angles_left\"></aui-icon>\n        </button>\n        <button\n          *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n          [ngClass]=\"bem.element('page')\"\n          [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n          [plain]=\"!(currentPage === page)\"\n          [disabled]=\"disabled\"\n          (click)=\"jumpTo(page)\"\n        >\n          {{ page }}\n        </button>\n        <button\n          *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n          [ngClass]=\"bem.element('fast-navigator')\"\n          aui-button\n          [disabled]=\"disabled\"\n          (click)=\"navigate(5)\"\n        >\n          <aui-icon icon=\"ellipsis_s\"></aui-icon>\n          <aui-icon icon=\"angles_right\"></aui-icon>\n        </button>\n        <button\n          *ngIf=\"pageCount > 1\"\n          [ngClass]=\"bem.element('page')\"\n          [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n          [plain]=\"!(currentPage === pageCount)\"\n          [disabled]=\"disabled\"\n          (click)=\"jumpTo(pageCount)\"\n        >\n          {{ pageCount }}\n        </button>\n        <button\n          aui-button\n          [ngClass]=\"bem.element('navigator')\"\n          [disabled]=\"disabled || currentPage >= pageCount\"\n          (click)=\"navigate(1)\"\n        >\n          <aui-icon icon=\"angle_right\"></aui-icon>\n        </button>\n      </div>\n      <div\n        *ngSwitchCase=\"'total'\"\n        [class]=\"bem.element('total')\"\n      >\n        {{ intl.getTotalLabel(total || 0) }}\n      </div>\n      <div\n        *ngSwitchCase=\"'sizes'\"\n        [class]=\"bem.element('sizes')\"\n      >\n        <aui-select\n          [disabled]=\"disabled\"\n          [value]=\"pageSize\"\n          [filterable]=\"false\"\n          (valueChange)=\"changePageSize($event)\"\n        >\n          <aui-option\n            *ngFor=\"let size of pageSizeOptions\"\n            [value]=\"size\"\n          >\n            {{ size }}\n          </aui-option>\n        </aui-select>\n        <span>{{ intl.itemsPerPageLabel }}</span>\n      </div>\n      <div\n        *ngSwitchCase=\"'jumper'\"\n        [class]=\"bem.element('jumper')\"\n      >\n        <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n        <input\n          aui-input\n          type=\"number\"\n          min=\"1\"\n          [max]=\"pageCount\"\n          [value]=\"currentPage\"\n          [disabled]=\"disabled\"\n          (keydown)=\"onKeydown($event)\"\n        />\n        <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n      </div>\n      <div\n        *ngSwitchCase=\"'content'\"\n        [class]=\"bem.element('content')\"\n      >\n        <ng-content></ng-content>\n      </div>\n    </ng-container>\n  </div>\n</div>\n","import { TemplateRef } from '@angular/core';\n\nexport interface SelectOption {\n  label: TemplateRef<unknown> | string;\n  labelContext?: unknown;\n}\n\nexport interface SelectFilterOption<T> extends SelectOption {\n  disabled?: boolean;\n  value: T;\n}\n\nexport type OptionFilterFn<T> = (\n  filter: string,\n  option: SelectFilterOption<T>,\n) => boolean;\n\nexport type TrackFn<T, R = unknown> = (value: T) => R;\n\nexport type TagClassFn<\n  V,\n  T extends TemplateRef<unknown> | string = TemplateRef<unknown> | string,\n> = (\n  label: T,\n  value: V,\n) => Set<string> | string[] | string | { [className: string]: unknown };\n\nexport enum SelectAllStatus {\n  Empty = '',\n  Checked = 'checked',\n  Indeterminate = 'indeterminate',\n}\n","import {\n  NgFor,\n  NgClass,\n  NgIf,\n  NgTemplateOutlet,\n  AsyncPipe,\n} from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostBinding,\n  Input,\n  QueryList,\n  Renderer2,\n  ViewChild,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n  Observable,\n  combineLatest,\n  of,\n  map,\n  startWith,\n  switchMap,\n  tap,\n} from 'rxjs';\n\nimport { I18nPipe } from '../../i18n/i18n.pipe';\nimport { IconComponent } from '../../icon/icon.component';\nimport { createWithMaxRowCount } from '../../input/tags-input/with-max-row-count';\nimport { ComponentSize } from '../../internal/types';\nimport {\n  Bem,\n  buildBem,\n  coerceAttrBoolean,\n  coerceString,\n  publishRef,\n} from '../../internal/utils';\nimport { TagComponent } from '../../tag/tag.component';\nimport { TooltipDirective } from '../../tooltip/tooltip.directive';\nimport { BaseSelect } from '../base-select';\nimport { OptionComponent } from '../option/option.component';\nimport {\n  SelectAllStatus,\n  SelectFilterOption,\n  TagClassFn,\n} from '../select.types';\n\n@Component({\n  selector: 'aui-multi-select',\n  templateUrl: './multi-select.component.html',\n  styleUrls: [\n    '../../input/input.component.scss',\n    '../../tag/tag.component.scss',\n    './multi-select.component.scss',\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => MultiSelectComponent),\n      multi: true,\n    },\n    {\n      provide: BaseSelect,\n      useExisting: MultiSelectComponent,\n    },\n  ],\n  imports: [\n    TooltipDirective,\n    IconComponent,\n    NgFor,\n    TagComponent,\n    NgClass,\n    NgIf,\n    NgTemplateOutlet,\n    OptionComponent,\n    AsyncPipe,\n    I18nPipe,\n  ],\n})\nexport class MultiSelectComponent<T = unknown>\n  extends BaseSelect<T, T[]>\n  implements AfterContentInit, AfterViewInit\n{\n  bem: Bem = buildBem('aui-multi-select');\n  bemSelectAll: Bem = buildBem('aui-option');\n  selectedOptions$: Observable<Array<SelectFilterOption<T>>>;\n  selectAllStatus$: Observable<SelectAllStatus>;\n  selectAllStatus: SelectAllStatus;\n  hasEnabledOptions$: Observable<boolean>;\n\n  override isMulti = true;\n  override model: T[] = [];\n\n  values$ = this.model$;\n\n  @Input()\n  tagClassFn: TagClassFn<T>;\n\n  @Input()\n  maxRowCount = 0;\n\n  @Input()\n  customRowHeight = 0; // 0: use default style const value, > 1: for ```tagClassFn``` maybe affect lineHeight\n\n  @Input({ transform: coerceAttrBoolean })\n  allowSelectAll: boolean;\n\n  @ViewChild('inputRef', { static: true })\n  inputRef: ElementRef<HTMLInputElement>;\n\n  @ViewChild('inputValueMirror', { static: true })\n  inputValueMirror: ElementRef<HTMLElement>;\n\n  @HostBinding('style.position')\n  get hostPosition() {\n    return this.withMaxRowCount.hostPosition();\n  }\n\n  @HostBinding('style.display')\n  get hostDisplay() {\n    return this.withMaxRowCount.hostDisplay();\n  }\n\n  inputValue = '';\n  hasDisabledOption = false;\n\n  get rootClass() {\n    const size = this.size || ComponentSize.Medium;\n    return `aui-input ${this.bem.block(size)}`;\n  }\n\n  get tagSize() {\n    return this.size === ComponentSize.Large\n      ? ComponentSize.Medium\n      : ComponentSize.Mini;\n  }\n\n  get inputClass() {\n    return `${this.bem.element('input', {\n      hidden: this.inaction,\n    })} aui-tag aui-tag--${this.tagSize}`;\n  }\n\n  get displayClearBtn() {\n    return !this.disabled && this.clearable && this.model.length;\n  }\n\n  get maxHeight() {\n    return this.withMaxRowCount.maxHeight();\n  }\n\n  private readonly withMaxRowCount = createWithMaxRowCount(this);\n\n  focused = false;\n\n  trackByValue = (_: number, item: SelectFilterOption<T>) =>\n    this.trackFn(item.value);\n\n  constructor(cdr: ChangeDetectorRef, private readonly renderer: Renderer2) {\n    super(cdr);\n  }\n\n  override ngAfterContentInit() {\n    super.ngAfterContentInit();\n\n    this.selectedOptions$ = combineLatest([\n      this.model$,\n      (\n        this.contentOptions.changes as Observable<QueryList<OptionComponent<T>>>\n      ).pipe(\n        startWith(this.contentOptions),\n        switchMap((options: QueryList<OptionComponent<T>>) =>\n          options.length > 0\n            ? combineLatest(\n                options.map(option =>\n                  combineLatest([\n                    option.value$,\n                    option.label$,\n                    option.labelContext$,\n                    option.disabled$,\n                  ]).pipe(\n                    map(([value, label, labelContext, disabled]) => ({\n                      value,\n                      label,\n                      labelContext,\n                      disabled,\n                    })),\n                  ),\n                ),\n              )\n            : of([] as Array<SelectFilterOption<T>>),\n        ),\n      ),\n    ]).pipe(\n      map(([values, options]) =>\n        values\n          .map(value => {\n            const option = options.find(\n              option => this.trackFn(option.value) === this.trackFn(value),\n            );\n            return option\n              ? {\n                  label:\n                    option.label || coerceString(this.trackFn(option.value)),\n                  labelContext: option.labelContext,\n                  value: option.value,\n                  disabled: option.disabled,\n                }\n              : {\n                  label:\n                    this.labelFn?.(value) || coerceString(this.trackFn(value)),\n                  value,\n                };\n          })\n          // sort disabled options as first\n          .sort((a, b) => {\n            if (a.disabled) {\n              return -1;\n            }\n\n            if (b.disabled) {\n              return 1;\n            }\n\n            return 0;\n          }),\n      ),\n      tap(options => (this.hasDisabledOption = options.some(o => o.disabled))),\n      publishRef(),\n    );\n  }\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n    this.selectAllStatus$ = combineLatest([\n      this.allOptions$,\n      this.filterString$,\n    ]).pipe(\n      switchMap(([allOptions]) =>\n        combineLatest(\n          (allOptions ?? [])\n            .filter(({ visible, disabled }) => visible && !disabled)\n            .map(({ selected$ }) => selected$),\n        ),\n      ),\n      map(statuses => {\n        const selected = statuses.filter(Boolean);\n        return selected.length === 0\n          ? SelectAllStatus.Empty\n          : selected.length === statuses.length\n          ? SelectAllStatus.Checked\n          : SelectAllStatus.Indeterminate;\n      }),\n      startWith(SelectAllStatus.Empty),\n      tap(selectAllStatus => (this.selectAllStatus = selectAllStatus)),\n      publishRef(),\n    );\n    this.hasEnabledOptions$ = combineLatest([\n      this.allOptions$,\n      this.filterString$,\n    ]).pipe(\n      map(\n        ([allOptions]) =>\n          !!allOptions.filter(({ visible, disabled }) => visible && !disabled)\n            .length,\n      ),\n    );\n  }\n\n  onVisibleOptions(visible: boolean) {\n    if (visible) {\n      super.onShowOptions();\n      this.inputRef.nativeElement.focus();\n    } else {\n      super.onHideOptions();\n      this.inputRef.nativeElement.value = '';\n      this.renderer.removeStyle(this.inputRef.nativeElement, 'width');\n    }\n  }\n\n  override onInput(event: Event) {\n    super.onInput(event);\n    this.setInputWidth();\n    this.tooltipRef.updatePosition();\n  }\n\n  onInputFocus() {\n    this.focused = true;\n  }\n\n  onInputBlur() {\n    this.focused = false;\n    this.closeOption();\n  }\n\n  override onKeyDown(event: KeyboardEvent) {\n    if (\n      event.key === 'Backspace' &&\n      this.filterString === '' &&\n      this.model.length > 0 &&\n      !this.hasDisabledOption // Disabled backspace when any of select options have disabled state.\n    ) {\n      this.removeValue(this.model.at(-1));\n      event.stopPropagation();\n      event.preventDefault();\n    } else if (event.key === 'Enter') {\n      if (\n        this.model\n          .map(value => this.trackFn(value))\n          .includes((event.target as HTMLInputElement).value)\n      ) {\n        return;\n      }\n      this.selectFocusedOption();\n      event.stopPropagation();\n      event.preventDefault();\n    } else {\n      super.onKeyDown(event);\n    }\n  }\n\n  selectOption(option: OptionComponent<T>) {\n    if (option.selected) {\n      this.removeValue(option.value);\n    } else {\n      this.addValue(option.value);\n    }\n    const isCustom = !this.contentOptions.some(\n      ({ value }) => value === option.value,\n    );\n    if (isCustom) {\n      this.resetFocusedOption();\n    }\n  }\n\n  addValue(value: T) {\n    const values = this.model.concat(value);\n    this.emitValue(values);\n    if (this.onChange) {\n      this.resetInput();\n      requestAnimationFrame(() => {\n        this.tooltipRef.updatePosition();\n      });\n    }\n  }\n\n  removeValue(value: T) {\n    const values = this.model.filter(\n      item => this.trackFn(item) !== this.trackFn(value),\n    );\n    this.emitValue(values);\n    if (this.onChange) {\n      this.resetInput();\n      requestAnimationFrame(() => {\n        this.tooltipRef.updatePosition();\n      });\n    }\n  }\n\n  clearValue(event: Event) {\n    this.emitValue([]);\n    event.stopPropagation();\n    event.preventDefault();\n  }\n\n  onSelectAllClick() {\n    if (this.disabled) {\n      return;\n    }\n    const visibleOptionsValue = this.allOptions\n      .filter(({ visible, disabled }) => visible && !disabled)\n      .map(({ value }) => value);\n\n    if (this.selectAllStatus === SelectAllStatus.Checked) {\n      this.emitValue(\n        this.model.filter(value => !this.includes(visibleOptionsValue, value)),\n      );\n    } else {\n      this.emitValue(\n        this.model.concat(visibleOptionsValue).reduce<T[]>((acc, curr) => {\n          if (!this.includes(acc, curr)) {\n            acc.push(curr);\n          }\n          return acc;\n        }, []),\n      );\n    }\n  }\n\n  private includes(values: T[], value: T) {\n    return values.some(v => this.trackFn(v) === this.trackFn(value));\n  }\n\n  protected override valueIn(v: T[]): T[] {\n    this.resetInput();\n    requestAnimationFrame(() => {\n      this.tooltipRef.updatePosition();\n    });\n    return v || [];\n  }\n\n  private resetInput() {\n    this.inputRef.nativeElement.value = '';\n    this.setInputWidth();\n    this.filterString = '';\n  }\n\n  // calculate input element width according to its value\n  private setInputWidth() {\n    const { value } = this.inputRef.nativeElement;\n    if (value.length) {\n      this.inputValue = value;\n      requestAnimationFrame(() => {\n        this.renderer.setStyle(\n          this.inputRef.nativeElement,\n          'width',\n          `${this.inputValueMirror.nativeElement.scrollWidth}px`,\n        );\n      });\n    } else {\n      this.inputValue = '';\n      requestAnimationFrame(() => {\n        this.renderer.removeStyle(this.inputRef.nativeElement, 'width');\n      });\n    }\n  }\n}\n","<div\n  [class]=\"rootClass\"\n  [ngClass]=\"{\n    isDisabled: disabled,\n    isFocused: focused,\n    isClearable: displayClearBtn,\n    withHeightLimit: maxRowCount > 0,\n    isReadonly: readonly,\n  }\"\n  #selectRef\n  #tooltipRef=\"auiTooltip\"\n  [auiTooltip]=\"templateRef\"\n  auiTooltipAnimType=\"scaleY\"\n  [auiTooltipDisabled]=\"disabled\"\n  auiTooltipTrigger=\"click\"\n  auiTooltipPosition=\"bottom start\"\n  auiTooltipType=\"plain\"\n  (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n  (mousedown)=\"$event.preventDefault()\"\n  [style.max-height]=\"maxHeight\"\n>\n  <div class=\"aui-multi-select__suffix\">\n    <span class=\"aui-multi-select__icon-container\">\n      <aui-icon\n        class=\"aui-multi-select__indicator\"\n        [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n      ></aui-icon>\n      <aui-icon\n        class=\"aui-multi-select__clear\"\n        icon=\"xmark_small\"\n        (click)=\"clearValue($event)\"\n      ></aui-icon>\n    </span>\n  </div>\n  <span\n    [hidden]=\"model.length || inputRef.value.length\"\n    [class]=\"bem.element('placeholder')\"\n  >\n    {{ placeholder }}\n  </span>\n  <aui-tag\n    *ngFor=\"let option of selectedOptions$ | async; trackBy: trackByValue\"\n    type=\"info\"\n    [round]=\"true\"\n    [border]=\"true\"\n    [size]=\"tagSize\"\n    [closeable]=\"!disabled && !option.disabled\"\n    (close)=\"removeValue(option.value)\"\n    [ngClass]=\"tagClassFn && tagClassFn(option.label, option.value)\"\n  >\n    <ng-container\n      *ngIf=\"isTemplateRef(option.label); else label\"\n      [ngTemplateOutlet]=\"option.label\"\n      [ngTemplateOutletContext]=\"option.labelContext\"\n    ></ng-container>\n    <ng-template #label>\n      {{ option.label }}\n    </ng-template>\n  </aui-tag>\n  <input\n    #inputRef\n    autocomplete=\"off\"\n    [readonly]=\"readonly\"\n    [class]=\"inputClass\"\n    (focus)=\"onInputFocus()\"\n    (blur)=\"onInputBlur()\"\n    (keydown)=\"onKeyDown($event)\"\n    (input)=\"onInput($event)\"\n  />\n  <span\n    #inputValueMirror\n    [class]=\"bem.element('mirror')\"\n  >\n    {{ inputValue }}\n  </span>\n</div>\n\n<ng-template #templateRef>\n  <div\n    class=\"aui-option-container\"\n    [style.minWidth]=\"containerWidth\"\n    (mousedown)=\"$event.preventDefault()\"\n  >\n    <div\n      #optionListRef\n      class=\"aui-option-container__content\"\n    >\n      <ng-container\n        *ngIf=\"\n          allowSelectAll &&\n          (hasEnabledOptions$ | async) &&\n          ((hasVisibleOption$ | async) ||\n            (allowCreate && (customCreatedOptions$ | async).length) ||\n            (allowCreate && filterString))\n        \"\n      >\n        <div\n          class=\"aui-option\"\n          [class]=\"bemSelectAll.block(size$ | async)\"\n          [class.isDisabled]=\"disabled\"\n          [class.isSelected]=\"!!(selectAllStatus$ | async)\"\n          [class.isIndeterminate]=\"\n            (selectAllStatus$ | async) === 'indeterminate'\n          \"\n          [class.isMulti]=\"true\"\n          (click)=\"onSelectAllClick()\"\n        >\n          <i class=\"aui-option__pointer\">\n            <aui-icon\n              *ngIf=\"(selectAllStatus$ | async) === 'checked'\"\n              icon=\"check\"\n            ></aui-icon>\n          </i>\n          {{ 'select_all' | auiI18n }}\n        </div>\n        <div class=\"aui-option__divider\"></div>\n      </ng-container>\n      <aui-option\n        #inputtingOption\n        *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n        [value]=\"filterString\"\n      >\n        {{ filterString }}\n      </aui-option>\n      <ng-container *ngIf=\"allowCreate\">\n        <aui-option\n          *ngFor=\"let option of customCreatedOptions$ | async\"\n          [label]=\"option.label\"\n          [value]=\"option.value\"\n        >\n          {{ option.label }}\n        </aui-option>\n      </ng-container>\n      <ng-content></ng-content>\n    </div>\n    <div\n      *ngIf=\"\n        !(\n          (hasVisibleOption$ | async) ||\n          (allowCreate && (customCreatedOptions$ | async).length) ||\n          (allowCreate && filterString)\n        )\n      \"\n      class=\"aui-option-container__placeholder\"\n    >\n      <ng-content select=\"aui-option-placeholder\"></ng-content>\n    </div>\n  </div>\n</ng-template>\n","import { AsyncPipe } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  QueryList,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { Observable, combineLatest, of, map, startWith, switchMap } from 'rxjs';\n\nimport { publishRef } from '../../internal/utils';\nimport { OptionComponent } from '../option/option.component';\n\n@Component({\n  selector: 'aui-option-group',\n  templateUrl: './option-group.component.html',\n  styleUrls: ['./option-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [AsyncPipe],\n})\nexport class OptionGroupComponent<T> implements AfterContentInit {\n  @ContentChildren(forwardRef(() => OptionComponent))\n  options: QueryList<OptionComponent<T>>;\n\n  hasVisibleOption$: Observable<boolean>;\n\n  ngAfterContentInit() {\n    this.hasVisibleOption$ = this.options.changes.pipe(\n      startWith(this.options),\n      switchMap((options: QueryList<OptionComponent<T>>) =>\n        options.length > 0\n          ? combineLatest(options.map(node => node.visible$))\n          : of([false]),\n      ),\n      map(visible => visible.some(Boolean)),\n      publishRef(),\n    );\n  }\n}\n","<div\n  [hidden]=\"!(hasVisibleOption$ | async)\"\n  class=\"aui-option-group\"\n>\n  <ng-content select=\"[auiOptionGroupTitle]\"></ng-content>\n  <div class=\"aui-option-group__content\"><ng-content></ng-content></div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-option-placeholder',\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class OptionPlaceholderComponent {}\n","import { AfterContentInit, Directive, Input, forwardRef } from '@angular/core';\nimport {\n  AbstractControl,\n  NG_VALIDATORS,\n  ValidationErrors,\n  Validator,\n  ValidatorFn,\n} from '@angular/forms';\nimport { startWith } from 'rxjs';\n\nimport { coerceAttrBoolean } from '../internal/utils';\n\nimport { SelectComponent } from './select.component';\nimport { TrackFn } from './select.types';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class AuiSelectValidators {\n  static includes<T>(\n    options: T[],\n    trackFn: TrackFn<T> = val => val,\n  ): ValidatorFn {\n    return (control: AbstractControl) =>\n      options.some(option => trackFn(option) === trackFn(control.value))\n        ? null\n        : {\n            includes: control.value,\n          };\n  }\n}\n\n@Directive({\n  selector:\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    'aui-select[ngModel][includes],aui-select[formControl][includes],aui-select[formControlName][includes]',\n  providers: [\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => IncludesDirective),\n      multi: true,\n    },\n  ],\n  standalone: true,\n})\nexport class IncludesDirective<T> implements Validator, AfterContentInit {\n  @Input()\n  get includes() {\n    return this._includes;\n  }\n\n  set includes(val: boolean | '') {\n    this._includes = coerceAttrBoolean(val);\n    if (this.onValidatorChange) {\n      this.onValidatorChange();\n    }\n  }\n\n  @Input()\n  trackFn: TrackFn<T>;\n\n  private _includes = false;\n\n  onValidatorChange: () => void;\n\n  constructor(private readonly selectRef: SelectComponent<T>) {}\n\n  ngAfterContentInit() {\n    this.selectRef.contentOptions.changes\n      .pipe(startWith(this.selectRef.contentOptions))\n      .subscribe(() => {\n        if (this.onValidatorChange) {\n          this.onValidatorChange();\n        }\n      });\n  }\n\n  registerOnValidatorChange(fn: () => void) {\n    this.onValidatorChange = fn;\n  }\n\n  validate(control: AbstractControl): ValidationErrors {\n    if (!this.selectRef.contentOptions || !control.value) {\n      return;\n    }\n    return this.includes\n      ? AuiSelectValidators.includes(\n          this.selectRef.contentOptions\n            .filter(option => !option.disabled)\n            .map(option => option.value),\n          this.trackFn,\n        )(control)\n      : null;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { I18nModule } from '../i18n';\nimport { IconModule } from '../icon';\nimport { InputModule } from '../input';\nimport { TagModule } from '../tag';\nimport { TooltipModule } from '../tooltip';\n\nimport {\n  OptionContentDirective,\n  OptionGroupTitleDirective,\n} from './helper-directives';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { OptionComponent } from './option/option.component';\nimport { OptionGroupComponent } from './option-group/option-group.component';\nimport { OptionPlaceholderComponent } from './option-placeholder.component';\nimport { SelectComponent } from './select.component';\nimport { IncludesDirective } from './validators';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    InputModule,\n    I18nModule,\n    IconModule,\n    TooltipModule,\n    TagModule,\n    SelectComponent,\n    OptionComponent,\n    OptionGroupComponent,\n    OptionPlaceholderComponent,\n    MultiSelectComponent,\n    IncludesDirective,\n    OptionGroupTitleDirective,\n    OptionContentDirective,\n  ],\n  exports: [\n    SelectComponent,\n    OptionComponent,\n    OptionGroupComponent,\n    OptionPlaceholderComponent,\n    MultiSelectComponent,\n    IncludesDirective,\n    OptionGroupTitleDirective,\n    OptionContentDirective,\n  ],\n})\nexport class SelectModule {}\n\nexport const SELECT_MODULE = [\n  SelectComponent,\n  OptionComponent,\n  OptionGroupComponent,\n  OptionPlaceholderComponent,\n  MultiSelectComponent,\n  IncludesDirective,\n  OptionGroupTitleDirective,\n  OptionContentDirective,\n] as const;\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon';\nimport { InputModule } from '../input';\nimport { SelectModule } from '../select';\n\nimport { PaginatorComponent } from './paginator.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    ButtonModule,\n    IconModule,\n    SelectModule,\n    InputModule,\n    PaginatorComponent,\n  ],\n  exports: [PaginatorComponent],\n})\nexport class PaginatorModule {}\n","import { ValueOf } from '../internal/types';\n\nexport const RadioSize = {\n  Medium: 'medium',\n  Small: 'small',\n  Mini: 'mini',\n} as const;\n\nexport type RadioSize = ValueOf<typeof RadioSize>;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, Observable, distinctUntilChanged } from 'rxjs';\n\nimport { CommonFormControl } from '../../form';\nimport { RadioSize } from '../radio.types';\n\n@Component({\n  selector: 'aui-radio-group',\n  templateUrl: './radio-group.component.html',\n  styleUrls: ['./radio-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioGroupComponent),\n      multi: true,\n    },\n  ],\n  standalone: true,\n})\nexport class RadioGroupComponent extends CommonFormControl<any> {\n  private readonly size$$ = new BehaviorSubject<RadioSize>(RadioSize.Medium);\n  private readonly isPlain$$ = new BehaviorSubject<boolean>(true);\n  private readonly name$$ = new BehaviorSubject<string>('');\n\n  @Input()\n  set size(val: RadioSize) {\n    this.size$$.next(val);\n  }\n\n  @Input()\n  direction: 'column' | 'row' = 'row';\n\n  @Input()\n  set plain(val: boolean) {\n    this.isPlain$$.next(val);\n  }\n\n  @Input()\n  set name(val: string) {\n    this.name$$.next(val);\n  }\n\n  size$: Observable<RadioSize> = this.size$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  isPlain$: Observable<boolean> = this.isPlain$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  name$: Observable<string> = this.name$$\n    .asObservable()\n    .pipe(distinctUntilChanged());\n\n  onRadioChange(value: any) {\n    this.emitValue(value);\n  }\n\n  onRadioBlur() {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n  }\n}\n","<div class=\"aui-radio-group aui-radio-group--{{ direction }}\">\n  <ng-content></ng-content>\n</div>\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, Subject, combineLatest, map, takeUntil } from 'rxjs';\n\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\n\nlet uniqueId = 0;\n\n@Directive()\nexport class BaseRadio implements OnInit, AfterViewInit, OnDestroy {\n  id = `aui-radio-${uniqueId++}`;\n\n  @Input()\n  disabled: boolean | '' = false;\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(val) {\n    this._value = val;\n    this.value$$.next(val);\n  }\n\n  @ViewChild('elRef', { static: true })\n  elRef: ElementRef;\n\n  checked = false;\n  name = '';\n\n  protected _value: unknown;\n  protected readonly value$$ = new BehaviorSubject(this.value);\n  protected destroy$$ = new Subject<void>();\n\n  constructor(\n    protected radioGroup: RadioGroupComponent,\n    protected focusMonitor: FocusMonitor,\n    protected cdr: ChangeDetectorRef,\n  ) {}\n\n  ngOnInit() {\n    this.radioGroup.name$.pipe(takeUntil(this.destroy$$)).subscribe(name => {\n      this.name = name;\n      this.cdr.markForCheck();\n    });\n\n    combineLatest([this.radioGroup.model$, this.value$$])\n      .pipe(\n        takeUntil(this.destroy$$),\n        map(([groupValue, selfValue]) => groupValue === selfValue),\n      )\n      .subscribe(checked => {\n        this.checked = checked;\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngAfterViewInit() {\n    this.focusMonitor.monitor(this.elRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.focusMonitor.stopMonitoring(this.elRef.nativeElement);\n  }\n\n  onClick() {\n    if (this.checked || this.disabled) {\n      return;\n    }\n    this.radioGroup.onRadioChange(this.value);\n  }\n\n  onBlur() {\n    this.radioGroup.onRadioBlur();\n  }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { BaseRadio } from './base-radio';\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\n\n@Component({\n  selector: 'aui-radio',\n  templateUrl: './radio.component.html',\n  styleUrls: ['./radio.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgClass],\n})\nexport class RadioComponent extends BaseRadio {\n  bem: Bem = buildBem('aui-radio');\n\n  get rootClass() {\n    return `${this.bem.block()} ${this.disabled ? 'isDisabled' : ''} ${\n      this.checked ? 'isChecked' : ''\n    }`;\n  }\n\n  constructor(\n    radioGroup: RadioGroupComponent,\n    focusMonitor: FocusMonitor,\n    cdr: ChangeDetectorRef,\n  ) {\n    super(radioGroup, focusMonitor, cdr);\n  }\n}\n","<div\n  #elRef\n  [ngClass]=\"rootClass\"\n>\n  <input\n    [name]=\"name\"\n    [id]=\"id\"\n    class=\"aui-radio__input\"\n    type=\"radio\"\n    [disabled]=\"disabled\"\n    [checked]=\"checked\"\n    (click)=\"onClick()\"\n    (blur)=\"onBlur()\"\n  />\n  <label\n    class=\"aui-radio__label\"\n    [for]=\"id\"\n  >\n    <i class=\"aui-radio__pointer\"></i>\n    <span class=\"aui-radio__content\"><ng-content></ng-content></span>\n  </label>\n</div>\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgClass, NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  OnInit,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntil } from 'rxjs';\n\nimport { IconComponent } from '../../icon/icon.component';\nimport { Bem, buildBem } from '../../internal/utils';\nimport { BaseRadio } from '../base-radio';\nimport { RadioGroupComponent } from '../radio-group/radio-group.component';\nimport { RadioSize } from '../radio.types';\n\n@Component({\n  selector: 'aui-radio-button',\n  templateUrl: './radio-button.component.html',\n  styleUrls: ['./radio-button.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgClass, NgIf, IconComponent],\n})\nexport class RadioButtonComponent extends BaseRadio implements OnInit {\n  bem: Bem = buildBem('aui-radio-button');\n\n  size: RadioSize = RadioSize.Medium;\n  isPlain = true;\n\n  get rootClass() {\n    return `${this.bem.block(this.size)} ${this.disabled ? 'isDisabled' : ''} ${\n      this.checked ? 'isChecked' : ''\n    } ${this.isPlain ? 'isPlain' : ''}`;\n  }\n\n  constructor(\n    radioGroup: RadioGroupComponent,\n    focusMonitor: FocusMonitor,\n    cdr: ChangeDetectorRef,\n  ) {\n    super(radioGroup, focusMonitor, cdr);\n  }\n\n  override ngOnInit() {\n    super.ngOnInit();\n    this.radioGroup.size$.pipe(takeUntil(this.destroy$$)).subscribe(size => {\n      this.size = size;\n      this.cdr.markForCheck();\n    });\n    this.radioGroup.isPlain$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(isPlain => {\n        this.isPlain = isPlain;\n        this.cdr.markForCheck();\n      });\n  }\n}\n","<div\n  #elRef\n  [ngClass]=\"rootClass\"\n>\n  <input\n    [name]=\"name\"\n    [id]=\"id\"\n    class=\"aui-radio-button__input\"\n    type=\"radio\"\n    [disabled]=\"disabled\"\n    [checked]=\"checked\"\n    (click)=\"onClick()\"\n    (blur)=\"onBlur()\"\n  />\n  <i\n    *ngIf=\"checked && isPlain\"\n    class=\"aui-radio-button__pointer\"\n  >\n    <aui-icon icon=\"check\"></aui-icon>\n  </i>\n  <label\n    class=\"aui-radio-button__label\"\n    [for]=\"id\"\n  >\n    <span class=\"aui-radio-button__content\"><ng-content></ng-content></span>\n  </label>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\nimport { RadioComponent } from './radio.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    IconModule,\n    RadioComponent,\n    RadioGroupComponent,\n    RadioButtonComponent,\n  ],\n  exports: [RadioComponent, RadioGroupComponent, RadioButtonComponent],\n})\nexport class RadioModule {}\n\nexport const RADIO_MODULE = [\n  RadioComponent,\n  RadioGroupComponent,\n  RadioButtonComponent,\n] as const;\n","import { RowOutlet } from '@angular/cdk/table';\nimport {\n  Directive,\n  ElementRef,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n  selector: 'ng-template[auiTablePlaceholderDef]',\n  standalone: true,\n})\nexport class TablePlaceholderDefDirective {\n  constructor(public templateRef: TemplateRef<any>) {}\n}\n\n@Directive({\n  selector: '[auiTablePlaceholderOutlet]',\n  standalone: true,\n})\nexport class TablePlaceholderOutletDirective implements RowOutlet {\n  constructor(\n    public viewContainer: ViewContainerRef,\n    public elementRef: ElementRef,\n  ) {}\n}\n","import {\n  _DisposeViewRepeaterStrategy,\n  _VIEW_REPEATER_STRATEGY,\n} from '@angular/cdk/collections';\nimport {\n  CDK_TABLE,\n  CDK_TABLE_TEMPLATE,\n  CdkTable,\n  _COALESCED_STYLE_SCHEDULER,\n  _CoalescedStyleScheduler,\n  CdkTableModule,\n} from '@angular/cdk/table';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  inject,\n  Input,\n  OnDestroy,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { buildBem } from '../internal/utils';\n\nimport {\n  TablePlaceholderDefDirective,\n  TablePlaceholderOutletDirective,\n} from './table-placeholder.directive';\n\nexport const tableBem = buildBem('aui-table');\n\n@Component({\n  selector: 'aui-table',\n  exportAs: 'auiTable',\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['table.component.scss', 'table-scroll.scss'],\n  template:\n    CDK_TABLE_TEMPLATE +\n    '<ng-container auiTablePlaceholderOutlet></ng-container>',\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: CDK_TABLE,\n      useExisting: TableComponent,\n    },\n    {\n      provide: _VIEW_REPEATER_STRATEGY,\n      useClass: _DisposeViewRepeaterStrategy,\n    },\n    {\n      provide: _COALESCED_STYLE_SCHEDULER,\n      useClass: _CoalescedStyleScheduler,\n    },\n  ],\n  imports: [CdkTableModule, TablePlaceholderOutletDirective],\n})\nexport class TableComponent<T>\n  extends CdkTable<T>\n  implements AfterContentInit, OnDestroy\n{\n  @Input()\n  enableScrollWrapper: boolean;\n\n  @ViewChild(TablePlaceholderOutletDirective, { static: true })\n  _placeholderOutlet: TablePlaceholderOutletDirective;\n\n  @ContentChild(TablePlaceholderDefDirective, { static: true })\n  _placeholderDef: TablePlaceholderDefDirective;\n\n  @HostBinding('class')\n  className = tableBem.block();\n\n  elementRef = inject(ElementRef);\n\n  // FIXME: workaround to override because it will break constructor if it is field, but why MatTable works?\n  // @ts-expect-error workaround to override because it will break constructor if it is field\n  protected get stickyCssClass() {\n    return 'aui-table-sticky';\n  }\n\n  protected override set stickyCssClass(_: string) {\n    // nothing\n  }\n\n  override ngAfterContentInit() {\n    super.ngAfterContentInit();\n    this._createPlaceholder();\n  }\n\n  private _createPlaceholder() {\n    const footerRow = this._placeholderDef;\n    if (!footerRow) {\n      return;\n    }\n\n    this._placeholderOutlet.viewContainer.createEmbeddedView(\n      footerRow.templateRef,\n    );\n  }\n\n  private _clearPlaceholder() {\n    this._placeholderOutlet.viewContainer.clear();\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    this._clearPlaceholder();\n  }\n}\n","import { CdkCellDef } from '@angular/cdk/table';\nimport { Directive } from '@angular/core';\n\n/**\n * Cell definition for the aui-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n  selector: '[auiTableCellDef]',\n  providers: [\n    {\n      provide: CdkCellDef,\n      useExisting: TableCellDefDirective,\n    },\n  ],\n  standalone: true,\n})\nexport class TableCellDefDirective extends CdkCellDef {}\n","import {\n  animate,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\nimport { CdkCell } from '@angular/cdk/table';\nimport { NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n  selector: 'aui-table-cell[auiExpandButton]',\n  template: `\n    <button\n      type=\"button\"\n      class=\"aui-expand-button\"\n      [class.isExpanded]=\"expand\"\n      [disabled]=\"disabled\"\n      (click)=\"expandChange.next(null)\"\n    >\n      <aui-icon icon=\"angle_right\"></aui-icon>\n    </button>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [IconComponent],\n})\nexport class TableExpandButtonCellComponent extends CdkCell {\n  @Input()\n  expand = false;\n\n  @Input()\n  disabled = false;\n\n  @Output()\n  expandChange = new EventEmitter();\n\n  get expanded() {\n    return this.expand ? 'expanded' : null;\n  }\n}\n@Component({\n  selector: 'aui-table-cell[auiExpandPanel]',\n  template: `\n    <div\n      *ngIf=\"expand\"\n      class=\"aui-table__cell-expand-panel\"\n      [@expand]=\"expanded\"\n    >\n      <div\n        class=\"aui-table__cell-expand-panel-content\"\n        [class.hasBackground]=\"background\"\n      >\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  animations: [\n    trigger('expand', [\n      state('*', style({ height: 0 })),\n      state('expanded', style({ height: '*', 'margin-bottom': '15px' })),\n      transition('* <=> expanded', [animate('0.1s ease-in-out')]),\n    ]),\n  ],\n  imports: [NgIf],\n})\nexport class TableExpandPanelCellComponent extends CdkCell {\n  @Input()\n  expand = false;\n\n  @Input()\n  background = true;\n\n  get expanded() {\n    return this.expand ? 'expanded' : null;\n  }\n}\n","import { CdkCell, CdkColumnDef } from '@angular/cdk/table';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\nimport { tableBem } from './table.component';\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'aui-table-cell',\n  host: {\n    class: 'aui-table__cell',\n    role: 'gridcell',\n    '[class.aui-table__cell--column]': 'direction === \"column\"',\n  },\n  standalone: true,\n})\nexport class TableCellDirective extends CdkCell {\n  @Input()\n  direction: 'column' | 'row' = 'row';\n\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef<HTMLElement>) {\n    super(columnDef, elementRef);\n    elementRef.nativeElement.classList.add(\n      tableBem.element(`column-${columnDef.cssClassFriendlyName}`),\n    );\n  }\n}\n","import { CdkColumnDef } from '@angular/cdk/table';\nimport { Directive, Input } from '@angular/core';\n\n/**\n * Column definition for the aui-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n  selector: '[auiTableColumnDef]',\n  providers: [\n    {\n      provide: CdkColumnDef,\n      useExisting: TableColumnDefDirective,\n    },\n  ],\n  inputs: ['sticky'],\n  standalone: true,\n})\nexport class TableColumnDefDirective extends CdkColumnDef {\n  // Unique name for this column\n  // Why it does not work in `inputs` property?\n  @Input()\n  set auiTableColumnDef(value: string) {\n    this.name = value;\n  }\n}\n","import {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  inject,\n  Input,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n} from '@angular/core';\nimport {\n  fromEvent,\n  map,\n  merge,\n  Subscription,\n  switchMap,\n  take,\n  takeUntil,\n} from 'rxjs';\n\nimport { buildBem, getCompatibleStylesRenderer } from '../internal/utils';\n\nimport { TableColumnDefDirective } from './table-column-def.directive';\nimport { tableBem, TableComponent } from './table.component';\n\nlet tableColumnResizableID = 0;\n\nconst resizableBem = buildBem('aui-table-column-resizable');\nconst markLineWidth = 1;\n\n@Directive({\n  selector: '[auiTableColumnResizable]',\n  standalone: true,\n})\nexport class TableColumnResizableDirective\n  implements OnInit, AfterViewInit, OnDestroy\n{\n  @Input()\n  minWidth = '40px';\n\n  @Input()\n  maxWidth = '80%';\n\n  private readonly renderer2 = inject(Renderer2);\n  private readonly tableColumnDefDirective = inject(TableColumnDefDirective);\n  private readonly tableComponent = inject(TableComponent);\n\n  private readonly columnElement: HTMLElement =\n    inject(ElementRef).nativeElement;\n\n  private readonly containerElement: HTMLElement =\n    this.tableComponent.elementRef.nativeElement;\n\n  private readonly hostAttr = `table-column-resizable-${tableColumnResizableID++}`;\n  private readonly stylesRenderer = getCompatibleStylesRenderer();\n  private resizeSubscription: Subscription;\n\n  ngOnInit() {\n    this.containerElement.setAttribute(this.hostAttr, '');\n  }\n\n  ngAfterViewInit() {\n    const resizeHandle = this.createResizeHandle();\n    this.bindResizable(resizeHandle);\n  }\n\n  ngOnDestroy() {\n    this.resizeSubscription?.unsubscribe();\n    this.containerElement.removeAttribute(this.hostAttr);\n    this.stylesRenderer.cleanup();\n  }\n\n  private bindResizable(resizeHandle: HTMLElement) {\n    const mouseUp$ = fromEvent<MouseEvent>(document, 'mouseup').pipe(take(1));\n\n    const mouseMove$ = fromEvent<MouseEvent>(document, 'mousemove').pipe(\n      takeUntil(mouseUp$),\n    );\n\n    this.resizeSubscription = fromEvent<MouseEvent>(resizeHandle, 'mousedown')\n      .pipe(\n        switchMap(mouseDownEvent => {\n          mouseDownEvent.preventDefault();\n          mouseDownEvent.stopPropagation();\n\n          this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');\n          const resizeRange = this.getResizeRange();\n          const initialMouseX = mouseDownEvent.clientX;\n          const columnWidth = this.getColumnWidth();\n          const columnOffset = this.getColumnOffset();\n          const resizeMarkLine = this.createResizeMarkLine(\n            columnOffset + columnWidth,\n          );\n          const resizeOverlay = this.createResizeOverlay();\n\n          return merge(\n            mouseMove$.pipe(\n              map(\n                mouseMoveEvent => () =>\n                  resizeMarkLine.updateOffset(\n                    columnOffset +\n                      this.getWidthInRange(\n                        resizeRange,\n                        columnWidth + mouseMoveEvent.clientX - initialMouseX,\n                      ),\n                  ),\n              ),\n            ),\n            mouseUp$.pipe(\n              map(mouseUpEvent => () => {\n                this.renderer2.removeStyle(resizeHandle, 'visibility');\n                resizeMarkLine.destroy();\n                resizeOverlay.destroy();\n\n                this.renderWidthStyles(\n                  this.getWidthInRange(\n                    resizeRange,\n                    columnWidth + mouseUpEvent.clientX - initialMouseX,\n                  ),\n                );\n              }),\n            ),\n          );\n        }),\n      )\n      .subscribe(exec => {\n        exec();\n      });\n  }\n\n  private createResizeHandle() {\n    const resizeHandle: HTMLDivElement = this.renderer2.createElement('div');\n    this.renderer2.addClass(resizeHandle, resizableBem.element('handle'));\n    this.renderer2.appendChild(this.columnElement, resizeHandle);\n\n    return resizeHandle;\n  }\n\n  private createResizeMarkLine(initialOffset: number) {\n    const markLine: HTMLElement = this.renderer2.createElement('div');\n    this.renderer2.addClass(markLine, resizableBem.element('mark-line'));\n    this.renderer2.setStyle(\n      markLine,\n      'left',\n      initialOffset - markLineWidth + 'px',\n    );\n    if (this.isStickyLeftBorderColumn()) {\n      this.renderer2.addClass(markLine, 'inStickyBorderElemLeft');\n    }\n    this.renderer2.appendChild(this.containerElement, markLine);\n    return {\n      element: markLine,\n      updateOffset: (offset: number) => {\n        this.renderer2.setStyle(\n          markLine,\n          'left',\n          offset - markLineWidth + 'px',\n        );\n      },\n      destroy: () => {\n        this.renderer2.removeChild(this.containerElement, markLine);\n      },\n    };\n  }\n\n  private createResizeOverlay() {\n    const resizeOverlay = this.renderer2.createElement('div');\n    this.renderer2.addClass(resizeOverlay, resizableBem.element('overlay'));\n    this.renderer2.appendChild(this.containerElement, resizeOverlay);\n    return {\n      element: resizeOverlay,\n      destroy: () => {\n        this.renderer2.removeChild(this.containerElement, resizeOverlay);\n      },\n    };\n  }\n\n  private getColumnWidth() {\n    return this.columnElement.clientWidth;\n  }\n\n  private getColumnOffset() {\n    return (\n      this.columnElement.getBoundingClientRect().left -\n      this.containerElement.getBoundingClientRect().left\n    );\n  }\n\n  private getWidthInRange(\n    [minWidth, maxWidth]: [number, number],\n    width: number,\n  ): number {\n    return Math.min(Math.max(width, minWidth), maxWidth);\n  }\n\n  private getResizeRange(): [number, number] {\n    const minWidth = this.getActualWidth(this.minWidth);\n    const maxWidth = this.getActualWidth(this.maxWidth);\n    return [minWidth, maxWidth];\n  }\n\n  private getActualWidth(width: number | string): number {\n    if (typeof width === 'number') {\n      return width;\n    }\n    if (width.endsWith('%')) {\n      return (\n        (this.containerElement.clientWidth * parseInt(width.slice(0, -1))) / 100\n      );\n    }\n    if (width.endsWith('px')) {\n      return parseInt(width.slice(0, -2));\n    }\n    return parseInt(width);\n  }\n\n  private isStickyLeftBorderColumn() {\n    return this.columnElement.classList.contains(\n      'aui-table-sticky-border-elem-left',\n    );\n  }\n\n  private renderWidthStyles(width: number) {\n    const className = tableBem.element(\n      `column-${this.tableColumnDefDirective.cssClassFriendlyName}`,\n    );\n\n    const styleString = `[${this.hostAttr}] .${className} {\n      flex: none !important;\n      width: ${width}px !important;\n      min-width: ${width}px !important;\n      max-width: ${width}px !important;\n    }`;\n\n    this.stylesRenderer.render(styleString);\n    this.tableComponent.updateStickyColumnStyles();\n  }\n}\n","import { CdkHeaderCellDef } from '@angular/cdk/table';\nimport { Directive } from '@angular/core';\n\n/**\n * Header cell definition for the aui-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n  selector: '[auiTableHeaderCellDef]',\n  providers: [\n    {\n      provide: CdkHeaderCellDef,\n      useExisting: TableHeaderCellDefDirective,\n    },\n  ],\n  standalone: true,\n})\nexport class TableHeaderCellDefDirective extends CdkHeaderCellDef {}\n","import { CdkColumnDef, CdkHeaderCell } from '@angular/cdk/table';\nimport { Directive, ElementRef } from '@angular/core';\n\nimport { tableBem } from './table.component';\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'aui-table-header-cell',\n  host: {\n    class: 'aui-table__header-cell',\n    role: 'columnheader',\n  },\n  standalone: true,\n})\nexport class TableHeaderCellDirective extends CdkHeaderCell {\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef<HTMLElement>) {\n    super(columnDef, elementRef);\n    elementRef.nativeElement.classList.add(\n      tableBem.element(`column-${columnDef.cssClassFriendlyName}`),\n    );\n  }\n}\n","import { CdkHeaderRowDef } from '@angular/cdk/table';\nimport { Directive, Input } from '@angular/core';\n\n/**\n * Header row definition for the aui-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n  selector: '[auiTableHeaderRowDef]',\n  providers: [\n    {\n      provide: CdkHeaderRowDef,\n      useExisting: TableHeaderRowDefDirective,\n    },\n  ],\n  standalone: true,\n})\nexport class TableHeaderRowDefDirective extends CdkHeaderRowDef {\n  @Input('auiTableHeaderRowDef')\n  override columns: Iterable<string> = [];\n\n  @Input('auiTableHeaderRowDefSticky')\n  set auiTableHeaderRowDefSticky(val) {\n    this.sticky = val;\n  }\n\n  get auiTableHeaderRowDefSticky() {\n    return this.sticky;\n  }\n}\n","import {\n  CDK_ROW_TEMPLATE,\n  CdkHeaderRow,\n  CdkTableModule,\n} from '@angular/cdk/table';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n  selector: 'aui-table-header-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    class: 'aui-table__header-row',\n    role: 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  exportAs: 'auiTableHeaderRow',\n  preserveWhitespaces: false,\n  imports: [CdkTableModule],\n})\nexport class TableHeaderRowComponent extends CdkHeaderRow {}\n","import { CdkRowDef } from '@angular/cdk/table';\nimport { Directive, Input } from '@angular/core';\n\n/**\n * Data row definition for the aui-table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n  selector: '[auiTableRowDef]',\n  providers: [\n    {\n      provide: CdkRowDef,\n      useExisting: TableRowDefDirective,\n    },\n  ],\n  standalone: true,\n})\nexport class TableRowDefDirective<T> extends CdkRowDef<T> {\n  @Input('auiTableRowDefColumns')\n  override columns: Iterable<string> = [];\n\n  @Input()\n  set auiTableRowDefWhen(v: (index: number, rowData: T) => boolean) {\n    this.when = v;\n  }\n}\n","import { CDK_ROW_TEMPLATE, CdkRow, CdkTableModule } from '@angular/cdk/table';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  HostBinding,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n  selector: 'aui-table-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    class: 'aui-table__row',\n    role: 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  exportAs: 'auiTableRow',\n  preserveWhitespaces: false,\n  imports: [CdkTableModule],\n})\nexport class TableRowComponent extends CdkRow implements AfterContentInit {\n  @Input()\n  @HostBinding('class.isDisabled')\n  disabled = false;\n\n  @HostBinding('class.hasPanel')\n  hasPanel = false;\n\n  constructor(private readonly elRef: ElementRef<HTMLElement>) {\n    super();\n  }\n\n  ngAfterContentInit() {\n    const panel = this.elRef.nativeElement.querySelector(\n      'aui-table-cell[auiExpandPanel]',\n    );\n    this.hasPanel = !!panel;\n  }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling';\nimport {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Host,\n  HostBinding,\n  inject,\n  Input,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Optional,\n} from '@angular/core';\nimport {\n  Subject,\n  fromEvent,\n  merge,\n  startWith,\n  takeUntil,\n  switchMap,\n  NEVER,\n  BehaviorSubject,\n} from 'rxjs';\n\nimport {\n  buildBem,\n  coerceAttrBoolean,\n  observeResizeOn,\n} from '../internal/utils';\n\nimport { tableBem, TableComponent } from './table.component';\n\nconst shadowClass = tableBem.element('scroll-shadow');\nconst shadowBem = buildBem(shadowClass);\nconst scrollBeforeEndClass = shadowBem.modifier('before-end');\n\nconst HAS_TABLE_TOP_SHADOW = 'hasTableTopShadow';\nconst HAS_TABLE_BOTTOM_SHADOW = 'hasTableBottomShadow';\nconst HAS_TABLE_VERTICAL_SCROLL = 'hasTableVerticalScroll';\n\n@Directive({\n  selector: '[auiTableScrollWrapper]',\n  host: {\n    class: 'aui-table__scroll-wrapper',\n  },\n  standalone: true,\n})\nexport class TableScrollWrapperDirective {\n  @HostBinding('style.max-height')\n  @Input()\n  auiTableScrollWrapper = '100%';\n\n  elementRef = inject(ElementRef);\n}\n\n@Directive({\n  selector: '[auiTableScrollable]',\n  providers: [\n    { provide: CdkScrollable, useExisting: TableScrollableDirective },\n  ],\n  standalone: true,\n})\nexport class TableScrollableDirective\n  extends CdkScrollable\n  implements AfterViewInit, OnInit, OnDestroy\n{\n  @Input('auiTableScrollable')\n  set scrollable(scrollable: boolean | '') {\n    this._scrollable = coerceAttrBoolean(scrollable);\n    this.scrollable$$.next(this._scrollable);\n  }\n\n  get scrollable() {\n    return this._scrollable;\n  }\n\n  private _scrollable = true;\n\n  scrollable$$ = new BehaviorSubject<boolean>(this._scrollable);\n  destroy$$ = new Subject<void>();\n\n  constructor(\n    private readonly el: ElementRef<HTMLElement>,\n    scrollDispatcher: ScrollDispatcher,\n    ngZone: NgZone,\n    @Host() private readonly table: TableComponent<unknown>,\n    @Optional() dir?: Directionality,\n  ) {\n    super(el, scrollDispatcher, ngZone, dir);\n  }\n\n  @HostBinding('class')\n  className = `${scrollBeforeEndClass} ${shadowClass}`;\n\n  get containerEl() {\n    return this.el.nativeElement;\n  }\n\n  override ngOnInit() {\n    if (this.scrollable) {\n      this.scrollDispatcher.register(this);\n    }\n  }\n\n  ngAfterViewInit() {\n    this.viewMutation();\n  }\n\n  override ngOnDestroy() {\n    super.ngOnDestroy();\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n\n  viewMutation() {\n    this.scrollable$$\n      .pipe(\n        switchMap(scrollable => {\n          if (scrollable) {\n            this.scrollDispatcher.register(this);\n            return merge(\n              observeResizeOn(this.containerEl),\n              fromEvent(this.containerEl, 'scroll'),\n            ).pipe(startWith(null));\n          }\n\n          this.scrollDispatcher.deregister(this);\n          return NEVER;\n        }),\n      )\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(() => {\n        this.mutateVerticalScroll();\n        this.mutateHorizontalScroll();\n      });\n  }\n\n  mutateVerticalScroll() {\n    const scrollDis =\n      this.containerEl.scrollHeight - this.containerEl.offsetHeight;\n\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollDis > 0,\n      HAS_TABLE_VERTICAL_SCROLL,\n    );\n\n    const scrollTop = this.containerEl.scrollTop;\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollTop > 0,\n      HAS_TABLE_TOP_SHADOW,\n    );\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollTop < scrollDis,\n      HAS_TABLE_BOTTOM_SHADOW,\n    );\n\n    // 兼容屏幕缩放是 sticky多列的样式问题\n    this.table.updateStickyColumnStyles();\n  }\n\n  mutateHorizontalScroll() {\n    const scrollDis =\n      this.containerEl.scrollWidth - this.containerEl.offsetWidth;\n\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollDis > 0,\n      shadowBem.modifier('has-scroll'),\n    );\n\n    const scrollLeft = this.containerEl.scrollLeft;\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollLeft > 0,\n      shadowBem.modifier('scrolling'),\n    );\n    this.placeClassList(\n      this.containerEl.classList,\n      scrollLeft < scrollDis,\n      scrollBeforeEndClass,\n    );\n  }\n\n  placeClassList(\n    classList: DOMTokenList,\n    condition: boolean,\n    className: string,\n  ) {\n    classList[condition ? 'add' : 'remove'](className);\n  }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TableCellDefDirective } from './table-cell-def.directive';\nimport {\n  TableExpandButtonCellComponent,\n  TableExpandPanelCellComponent,\n} from './table-cell.component';\nimport { TableCellDirective } from './table-cell.directive';\nimport { TableColumnDefDirective } from './table-column-def.directive';\nimport { TableColumnResizableDirective } from './table-column-resizable.directive';\nimport { TableHeaderCellDefDirective } from './table-header-cell-def.directive';\nimport { TableHeaderCellDirective } from './table-header-cell.directive';\nimport { TableHeaderRowDefDirective } from './table-header-row-def.directive';\nimport { TableHeaderRowComponent } from './table-header-row.component';\nimport {\n  TablePlaceholderDefDirective,\n  TablePlaceholderOutletDirective,\n} from './table-placeholder.directive';\nimport { TableRowDefDirective } from './table-row-def.directive';\nimport { TableRowComponent } from './table-row.component';\nimport {\n  TableScrollableDirective,\n  TableScrollWrapperDirective,\n} from './table-scroll.directive';\nimport { TableComponent } from './table.component';\n\nexport const TABLE_MODULE = [\n  TableComponent,\n  TableRowComponent,\n  TableHeaderRowComponent,\n  TableExpandButtonCellComponent,\n  TableExpandPanelCellComponent,\n  TableCellDirective,\n  TableCellDefDirective,\n  TableHeaderCellDirective,\n  TableRowDefDirective,\n  TableHeaderRowDefDirective,\n  TableHeaderCellDefDirective,\n  TableColumnDefDirective,\n  TableColumnResizableDirective,\n  TablePlaceholderOutletDirective,\n  TablePlaceholderDefDirective,\n  TableScrollWrapperDirective,\n  TableScrollableDirective,\n] as const;\n\n@NgModule({\n  imports: [...TABLE_MODULE],\n  exports: [...TABLE_MODULE],\n})\nexport class TableModule {}\n","import { ListRange } from '@angular/cdk/collections';\nimport {\n  CdkVirtualScrollViewport,\n  VirtualScrollStrategy,\n} from '@angular/cdk/scrolling';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject, distinctUntilChanged } from 'rxjs';\n\n@Injectable()\nexport class FixedSizeTableVirtualScrollStrategy\n  implements VirtualScrollStrategy\n{\n  private _rowHeight = 42;\n  private _headerHeight = 42;\n  private _bufferSize = 10;\n  private readonly _indexChange = new Subject<number>();\n  viewport: CdkVirtualScrollViewport;\n\n  scrolledIndexChange = this._indexChange.pipe(distinctUntilChanged());\n  stickyChange = new Subject<number>();\n\n  renderedRangeStream = new BehaviorSubject<ListRange>({ start: 0, end: 0 });\n\n  get dataLength(): number {\n    return this._dataLength;\n  }\n\n  set dataLength(value: number) {\n    if (value !== this._dataLength) {\n      this._dataLength = value;\n      this.onDataLengthChanged();\n    }\n  }\n\n  private _dataLength = 0;\n\n  attach(viewport: CdkVirtualScrollViewport): void {\n    this.viewport = viewport;\n    this.viewport.renderedRangeStream.subscribe(this.renderedRangeStream);\n    this.onDataLengthChanged();\n  }\n\n  detach(): void {\n    this._indexChange.complete();\n    this.renderedRangeStream.complete();\n    this.stickyChange.complete();\n  }\n\n  onContentScrolled(): void {\n    this._updateContent();\n  }\n\n  onDataLengthChanged(): void {\n    if (this.viewport) {\n      this.viewport.setTotalContentSize(this._rowHeight * this.dataLength);\n    }\n    this._updateContent();\n  }\n\n  onContentRendered(): void {\n    // no-op\n  }\n\n  onRenderedOffsetChanged(): void {\n    // no-op\n  }\n\n  scrollToIndex(index: number, behavior: ScrollBehavior): void {\n    if (!this.viewport || !this._rowHeight) {\n      return;\n    }\n    this.viewport.scrollToOffset(\n      (index - 1) * this._rowHeight + this._headerHeight,\n      behavior,\n    );\n  }\n\n  setConfig(rowHeight: number, headerHeight: number, bufferSize: number) {\n    this._rowHeight = rowHeight;\n    this._headerHeight = headerHeight;\n    this._bufferSize = bufferSize;\n    this.onDataLengthChanged();\n  }\n\n  private _updateContent() {\n    if (!this.viewport) {\n      return;\n    }\n    const newIndex =\n      Math.round(\n        (this.viewport.measureScrollOffset() - this._headerHeight) /\n          this._rowHeight,\n      ) + 1;\n    const start = Math.max(0, newIndex - this._bufferSize);\n    const end = Math.min(\n      this._dataLength,\n      newIndex +\n        Math.ceil(this.viewport.getViewportSize() / this._rowHeight) +\n        this._bufferSize,\n    );\n    const renderedOffset = start * this._rowHeight;\n    this.viewport.setRenderedContentOffset(renderedOffset);\n    this.viewport.setRenderedRange({ start, end });\n    this.stickyChange.next(renderedOffset);\n    this._indexChange.next(newIndex);\n  }\n}\n","import { VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';\nimport { CdkHeaderRowDef } from '@angular/cdk/table';\nimport {\n  AfterContentInit,\n  ContentChild,\n  Directive,\n  Input,\n  OnChanges,\n  OnDestroy,\n  SimpleChanges,\n  forwardRef,\n} from '@angular/core';\nimport {\n  BehaviorSubject,\n  Subject,\n  combineLatest,\n  filter,\n  map,\n  takeUntil,\n  tap,\n} from 'rxjs';\n\nimport { TableComponent } from '../table';\n\nimport { FixedSizeTableVirtualScrollStrategy } from './fixed-size-table-virtual-scroll-strategy';\n\nexport function _tableVirtualScrollDirectiveStrategyFactory(\n  tableDir: FixedSizeTableVirtualScrollDirective,\n) {\n  return tableDir.scrollStrategy;\n}\n\nconst stickyHeaderSelector = '.aui-table__header-row.aui-table-sticky';\n\nconst defaults = {\n  rowHeight: 42,\n  headerHeight: 42,\n  buffer: 10,\n};\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'aui-virtual-scroll-viewport[fixedSize]',\n  exportAs: 'viewPort',\n  providers: [\n    {\n      provide: VIRTUAL_SCROLL_STRATEGY,\n      useFactory: _tableVirtualScrollDirectiveStrategyFactory,\n      deps: [forwardRef(() => FixedSizeTableVirtualScrollDirective)],\n    },\n  ],\n  standalone: true,\n})\nexport class FixedSizeTableVirtualScrollDirective<T = unknown>\n  implements AfterContentInit, OnChanges, OnDestroy\n{\n  private readonly onDestroy$ = new Subject();\n  private readonly _dataSource$$ = new BehaviorSubject<T[]>([]);\n\n  @Input()\n  rowHeight: number = defaults.rowHeight;\n\n  @Input()\n  headerHeight: number = defaults.headerHeight;\n\n  @Input()\n  buffer: number = defaults.buffer;\n\n  @Input()\n  set dataSource(dataSource: T[]) {\n    this._dataSource$$.next(dataSource);\n    this.scrollStrategy.dataLength = dataSource?.length;\n  }\n\n  @ContentChild(TableComponent, { static: false })\n  table: TableComponent<any>;\n\n  scrollStrategy = new FixedSizeTableVirtualScrollStrategy();\n\n  private stickyPositions: Map<HTMLElement, number>;\n\n  ngAfterContentInit() {\n    this.scrollStrategy.stickyChange\n      .pipe(\n        filter(() => this.isStickyEnabled()),\n        tap(() => {\n          if (!this.stickyPositions) {\n            this.initStickyPositions();\n          }\n        }),\n        takeUntil(this.onDestroy$),\n      )\n      .subscribe(stickyOffset => {\n        this.setSticky(stickyOffset);\n      });\n    combineLatest([this.scrollStrategy.renderedRangeStream, this._dataSource$$])\n      .pipe(\n        map(([{ start, end }, dataSource]) =>\n          typeof start !== 'number' || typeof end !== 'number'\n            ? dataSource\n            : dataSource?.slice(start, end),\n        ),\n        takeUntil(this.onDestroy$),\n      )\n      .subscribe(data => {\n        this.table.dataSource = data;\n      });\n  }\n\n  ngOnChanges({ rowHeight, headerHeight, buffer }: SimpleChanges) {\n    if (rowHeight || headerHeight || buffer) {\n      this.scrollStrategy.setConfig(\n        this.rowHeight,\n        this.headerHeight,\n        this.buffer,\n      );\n    }\n  }\n\n  ngOnDestroy() {\n    this.onDestroy$.next(null);\n    this.onDestroy$.complete();\n  }\n\n  private isStickyEnabled(): boolean {\n    return (\n      !!this.scrollStrategy.viewport &&\n      // @ts-expect-error should get private property _headerRowDefs\n      (this.table._headerRowDefs as CdkHeaderRowDef[])\n        .map(def => def.sticky)\n        .reduce((prev, curr) => prev && curr, true)\n    );\n  }\n\n  private initStickyPositions() {\n    this.stickyPositions = new Map<HTMLElement, number>();\n    this.scrollStrategy.viewport.elementRef.nativeElement\n      .querySelectorAll(stickyHeaderSelector)\n      .forEach(el => {\n        const parent = el.parentElement;\n        if (!this.stickyPositions.has(parent)) {\n          this.stickyPositions.set(parent, parent.offsetTop);\n        }\n      });\n  }\n\n  private setSticky(offset: number) {\n    this.scrollStrategy.viewport.elementRef.nativeElement\n      .querySelectorAll<HTMLElement>(stickyHeaderSelector)\n      .forEach(el => {\n        const parent = el.parentElement;\n        let baseOffset = 0;\n        if (this.stickyPositions.has(parent)) {\n          baseOffset = this.stickyPositions.get(parent);\n        }\n        el.style.top = `${baseOffset - offset}px`;\n      });\n  }\n}\n","import {\n  CdkFixedSizeVirtualScroll,\n  VIRTUAL_SCROLL_STRATEGY,\n  _fixedSizeVirtualScrollStrategyFactory,\n} from '@angular/cdk/scrolling';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'aui-virtual-scroll-viewport[itemSize]',\n  providers: [\n    {\n      provide: VIRTUAL_SCROLL_STRATEGY,\n      useFactory: _fixedSizeVirtualScrollStrategyFactory,\n      deps: [forwardRef(() => FixedSizeVirtualScrollDirective)],\n    },\n  ],\n  standalone: true,\n})\nexport class FixedSizeVirtualScrollDirective extends CdkFixedSizeVirtualScroll {}\n","import { DataSource } from '@angular/cdk/collections';\nimport {\n  CdkVirtualForOf,\n  CdkVirtualForOfContext,\n} from '@angular/cdk/scrolling';\nimport {\n  Directive,\n  Input,\n  NgIterable,\n  TemplateRef,\n  TrackByFunction,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Directive({\n  selector: '[auiVirtualFor][auiVirtualForOf]',\n  standalone: true,\n})\nexport class VirtualForOfDirective<T> extends CdkVirtualForOf<T> {\n  @Input()\n  set auiVirtualForOf(\n    value: DataSource<T> | NgIterable<T> | Observable<T[]> | null | undefined,\n  ) {\n    this.cdkVirtualForOf = value;\n  }\n\n  @Input()\n  set auiVirtualForTrackBy(fn: TrackByFunction<T> | undefined) {\n    this.cdkVirtualForTrackBy = fn;\n  }\n\n  @Input()\n  set auiVirtualForTemplate(value: TemplateRef<CdkVirtualForOfContext<T>>) {\n    this.cdkVirtualForTemplate = value;\n  }\n\n  @Input()\n  set auiVirtualForTemplateCacheSize(size: number) {\n    this.cdkVirtualForTemplateCacheSize = size;\n  }\n}\n","import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-virtual-scroll-viewport',\n  templateUrl: 'virtual-scroll-viewport.component.html',\n  styleUrls: ['virtual-scroll-viewport.component.scss'],\n  host: {\n    class: 'aui-virtual-scroll-viewport',\n    '[class.aui-virtual-scroll-orientation-horizontal]':\n      'orientation === \"horizontal\"',\n    '[class.aui-virtual-scroll-orientation-vertical]':\n      'orientation !== \"horizontal\"',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: CdkVirtualScrollViewport,\n      useExisting: VirtualScrollViewportComponent,\n    },\n  ],\n  standalone: true,\n})\nexport class VirtualScrollViewportComponent extends CdkVirtualScrollViewport {}\n","<!--\n  Wrap the rendered content in an element that will be used to offset it based on the scroll\n  position.\n-->\n<div\n  #contentWrapper\n  class=\"aui-virtual-scroll-content-wrapper\"\n>\n  <ng-content></ng-content>\n</div>\n<!--\n  Spacer used to force the scrolling container to the correct size for the *total* number of items\n  so that the scrollbar captures the size of the entire data set.\n-->\n<div\n  class=\"aui-virtual-scroll-spacer\"\n  [style.width]=\"_totalContentWidth\"\n  [style.height]=\"_totalContentHeight\"\n></div>\n","import { NgModule } from '@angular/core';\n\nimport { FixedSizeTableVirtualScrollDirective } from './fixed-size-table-virtual-scroll.directive';\nimport { FixedSizeVirtualScrollDirective } from './fixed-size-virtual-scroll.directive';\nimport { VirtualForOfDirective } from './virtual-for-of.directive';\nimport { VirtualScrollViewportComponent } from './virtual-scroll-viewport.component';\n\nconst EXPORTABLE_COMPONENTS = [VirtualScrollViewportComponent];\nconst EXPORTABLE_DIRECTIVES = [\n  FixedSizeTableVirtualScrollDirective,\n  FixedSizeVirtualScrollDirective,\n  VirtualForOfDirective,\n];\n\nconst EXPORTABLE = [...EXPORTABLE_COMPONENTS, ...EXPORTABLE_DIRECTIVES];\n\n@NgModule({\n  imports: [...EXPORTABLE],\n  exports: EXPORTABLE,\n})\nexport class ScrollingModule {}\n","/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n  return new Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n  return new Error(\n    `MatSortHeader must be placed within a parent element with the MatSort directive.`,\n  );\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n  return new Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n  return new Error(\n    `${direction} is not a valid sort direction ('asc' or 'desc').`,\n  );\n}\n","// Original code from material2\n\nimport {\n  Directive,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  isDevMode,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport {\n  getSortDuplicateSortableIdError,\n  getSortHeaderMissingIdError,\n  getSortInvalidDirectionError,\n} from './sort-errors';\nimport { Sort, SortDirection, Sortable } from './sort.types';\n\n@Directive({\n  selector: '[auiSort]',\n  exportAs: 'auiSort',\n  standalone: true,\n})\nexport class SortDirective implements OnChanges, OnDestroy {\n  sortables = new Map<string, Sortable>();\n\n  readonly _stateChanges = new Subject<void>();\n\n  @Input()\n  active: string;\n\n  @Input()\n  start: 'asc' | 'desc' = 'asc';\n\n  @Input()\n  get direction(): SortDirection {\n    return this._direction;\n  }\n\n  set direction(direction: SortDirection) {\n    if (\n      isDevMode() &&\n      direction &&\n      direction !== 'asc' &&\n      direction !== 'desc'\n    ) {\n      throw getSortInvalidDirectionError(direction);\n    }\n    this._direction = direction;\n  }\n\n  private _direction: SortDirection = '';\n\n  @Output()\n  readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n  register(sortable: Sortable): void {\n    if (!sortable.id) {\n      throw getSortHeaderMissingIdError();\n    }\n\n    if (this.sortables.has(sortable.id)) {\n      throw getSortDuplicateSortableIdError(sortable.id);\n    }\n\n    this.sortables.set(sortable.id, sortable);\n  }\n\n  deregister(sortable: Sortable): void {\n    this.sortables.delete(sortable.id);\n  }\n\n  sort(sortable: Sortable): void {\n    if (this.active === sortable.id) {\n      this.direction = this.direction === 'asc' ? 'desc' : 'asc';\n    } else {\n      this.active = sortable.id;\n      this.direction = sortable.start || this.start;\n    }\n\n    this.sortChange.emit({\n      active: this.active,\n      direction: this.direction,\n    });\n  }\n\n  ngOnChanges() {\n    this._stateChanges.next();\n  }\n\n  ngOnDestroy() {\n    this._stateChanges.complete();\n  }\n}\n","import { CdkColumnDef } from '@angular/cdk/table';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription, merge } from 'rxjs';\n\n/*\n * TODO: prevent ```public property '' of exported class has or is using name ''\n * from external module '' but cannot be named``` issue.\n */\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { getSortHeaderNotContainedWithinSortError } from './sort-errors';\nimport { SortDirective } from './sort.directive';\nimport { ArrowViewState, SortDirection, Sortable } from './sort.types';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: '[aui-sort-header]',\n  templateUrl: 'sort-header.component.html',\n  styleUrls: ['sort-header.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class SortHeaderComponent implements Sortable, OnInit, OnDestroy {\n  private readonly _rerenderSubscription: Subscription;\n\n  _viewState: ArrowViewState;\n\n  arrowDirection: SortDirection = '';\n\n  @Input('aui-sort-header')\n  id: string;\n\n  @Input()\n  start: 'asc' | 'desc';\n\n  bem: Bem = buildBem('aui-sort-header');\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    @Optional() public _sort: SortDirective,\n    @Optional() public _cdkColumnRef: CdkColumnDef,\n  ) {\n    if (!_sort) {\n      throw getSortHeaderNotContainedWithinSortError();\n    }\n\n    this._rerenderSubscription = merge(\n      _sort.sortChange,\n      _sort._stateChanges,\n    ).subscribe(() => {\n      if (this._isSorted()) {\n        this._updateArrowDirection();\n      }\n\n      if (!this._isSorted() && this._viewState === 'active') {\n        this._viewState = '';\n      }\n\n      cdr.markForCheck();\n    });\n  }\n\n  ngOnInit() {\n    if (!this.id && this._cdkColumnRef) {\n      this.id = this._cdkColumnRef.name;\n    }\n    this._updateArrowDirection();\n    this._viewState = this._isSorted() ? 'active' : '';\n    this._sort.register(this);\n  }\n\n  ngOnDestroy() {\n    this._sort.deregister(this);\n    this._rerenderSubscription.unsubscribe();\n  }\n\n  _handleClick() {\n    this._sort.sort(this);\n    this._viewState = this._isSorted() ? 'active' : '';\n  }\n\n  _isSorted() {\n    return (\n      this._sort.active === this.id &&\n      ['asc', 'desc'].includes(this._sort.direction)\n    );\n  }\n\n  _updateArrowDirection() {\n    this.arrowDirection = this._isSorted()\n      ? this._sort.direction\n      : this.start || this._sort.start;\n  }\n}\n","<div\n  [class]=\"bem.block({ active: _isSorted() })\"\n  (click)=\"_handleClick()\"\n>\n  <button\n    [class]=\"bem.element('button')\"\n    type=\"button\"\n  >\n    <ng-content></ng-content>\n  </button>\n  <div [class]=\"bem.element('indicator', arrowDirection)\"></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SortHeaderComponent } from './sort-header.component';\nimport { SortDirective } from './sort.directive';\n\n@NgModule({\n  imports: [CommonModule, SortDirective, SortHeaderComponent],\n  exports: [SortDirective, SortHeaderComponent],\n})\nexport class SortModule {}\n\nexport const SORT_MODULE = [SortDirective, SortHeaderComponent] as const;\n","import { ValueOf } from '../internal/types';\n\nexport interface Status {\n  type?: StatusType;\n  class?: string;\n  scale: number;\n  [key: string]: unknown;\n}\n\nexport const StatusType = {\n  Primary: 'primary',\n  Success: 'success',\n  Warning: 'warning',\n  Error: 'error',\n  Info: 'info',\n  Pending: 'pending',\n} as const;\n\nexport type StatusType = ValueOf<typeof StatusType>;\n\nexport const StatusBarSize = {\n  Medium: 'medium',\n  Small: 'small',\n} as const;\n\nexport type StatusBarSize = ValueOf<typeof StatusBarSize>;\n","import { NgFor, NgIf, NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../internal/utils';\nimport { TooltipDirective } from '../tooltip/tooltip.directive';\n\nimport { Status, StatusBarSize } from './status-bar.types';\n\n@Component({\n  selector: 'aui-status-bar',\n  templateUrl: './status-bar.component.html',\n  styleUrls: ['./status-bar.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgFor, NgIf, NgClass, TooltipDirective],\n})\nexport class StatusBarComponent {\n  bem: Bem = buildBem('aui-status-bar');\n\n  @Input()\n  status: Status[] = [];\n\n  @Input()\n  size: StatusBarSize = StatusBarSize.Medium;\n\n  @Input()\n  template: TemplateRef<any>;\n\n  @Output()\n  statusClick = new EventEmitter<Status>();\n}\n","<div [class]=\"bem.block(size)\">\n  <ng-container *ngFor=\"let item of status\">\n    <div\n      *ngIf=\"item.scale\"\n      [ngClass]=\"[bem.element('chunk', item.type), item.class || '']\"\n      [style.width]=\"item.scale * 100 + '%'\"\n      (click)=\"statusClick.emit(item)\"\n      [auiTooltip]=\"template\"\n      [auiTooltipContext]=\"item\"\n    ></div>\n  </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TooltipModule } from '../tooltip';\n\nimport { StatusBarComponent } from './status-bar.component';\n\n@NgModule({\n  imports: [CommonModule, TooltipModule, StatusBarComponent],\n  exports: [StatusBarComponent],\n})\nexport class StatusBarModule {}\n","import { ValueOf } from '../internal/types';\n\nexport const StepState = {\n  Default: 'default',\n  Done: 'done',\n  Error: 'error',\n  Pending: 'pending',\n} as const;\n\nexport type StepState = ValueOf<typeof StepState>;\n\nexport interface StepItem {\n  label: string;\n  description?: string;\n  state?: StepState;\n  optional?: boolean;\n}\n\nexport type StepsOrientation = 'horizontal' | 'vertical';\n\nexport type StepsType = 'progress' | 'step';\n","import {\n  NgFor,\n  NgIf,\n  NgSwitch,\n  NgSwitchCase,\n  NgSwitchDefault,\n} from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { BehaviorSubject, Subject, takeUntil } from 'rxjs';\n\nimport { IconComponent } from '../icon/icon.component';\n\nimport { StepItem, StepState, StepsOrientation, StepsType } from './types';\n\nconst StepDefaultIcon = {\n  [StepState.Default]: 'number',\n  [StepState.Done]: 'check_circle',\n  [StepState.Error]: 'close_circle',\n  [StepState.Pending]: 'sync_circle',\n};\n\nconst StepSelectedIcon = {\n  [StepState.Default]: 'number',\n  [StepState.Done]: 'check_circle_s',\n  [StepState.Error]: 'close_circle_s',\n  [StepState.Pending]: 'sync_circle_s',\n};\n\n@Component({\n  selector: 'aui-steps',\n  exportAs: 'auiSteps',\n  templateUrl: './steps.component.html',\n  styleUrls: ['./steps.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    NgFor,\n    NgIf,\n    NgSwitch,\n    NgSwitchCase,\n    IconComponent,\n    NgSwitchDefault,\n  ],\n})\nexport class StepsComponent implements OnInit, OnDestroy {\n  _currentIndex: number;\n  private _steps: StepItem[] = [];\n  @Input()\n  get steps() {\n    return this._steps;\n  }\n\n  set steps(val: StepItem[]) {\n    this._steps = val;\n    this.stepsChange$$.next(val);\n  }\n\n  @Input()\n  get currentIndex() {\n    return this._currentIndex;\n  }\n\n  set currentIndex(index: number) {\n    this.currentIndexChange$$.next(index);\n  }\n\n  @Input()\n  orientation: StepsOrientation = 'horizontal';\n\n  @Input()\n  type: StepsType = 'step';\n\n  @Input()\n  selectable = false;\n\n  @Output()\n  currentIndexChange = new EventEmitter<number>();\n\n  @Output()\n  selectedIndexChange = new EventEmitter<number>();\n\n  currentIndexChange$$ = new BehaviorSubject<number>(0);\n  stepsChange$$ = new BehaviorSubject<StepItem[]>([]);\n\n  selectedIndex: number;\n\n  private readonly destroy$$ = new Subject<void>();\n\n  ngOnInit() {\n    this.currentIndexChange$$\n      .pipe(takeUntil(this.destroy$$))\n      .subscribe(index => {\n        if (this.type === 'step') {\n          this.setCurrentIndex(index);\n        }\n      });\n    this.stepsChange$$.pipe(takeUntil(this.destroy$$)).subscribe(steps => {\n      if (this.type === 'progress') {\n        this.getProgressCurrentIndex(steps);\n      }\n    });\n  }\n\n  private setCurrentIndex(index: number) {\n    this._currentIndex = this.selectedIndex = index;\n  }\n\n  private getProgressCurrentIndex(steps: StepItem[]) {\n    if (steps?.length) {\n      const reversedSteps = this.steps.slice(0).reverse();\n      const doneStepIndex = reversedSteps.findIndex(\n        step => step.state === StepState.Done,\n      );\n      const lastDoneStepIndex =\n        doneStepIndex > -1 ? reversedSteps.length - doneStepIndex : 0;\n      const newIndex = Math.min(lastDoneStepIndex, steps.length - 1);\n      if (this._currentIndex !== newIndex) {\n        this.currentIndexChange.emit(newIndex);\n      }\n      this._currentIndex =\n        this._currentIndex === this.selectedIndex\n          ? (this.selectedIndex = newIndex)\n          : newIndex;\n    } else {\n      if (this._currentIndex !== 0) {\n        this.currentIndexChange.emit(0);\n      }\n      this._currentIndex = 0;\n    }\n  }\n\n  get isVertical() {\n    return this.orientation === 'vertical';\n  }\n\n  get isProgress() {\n    return this.type === 'progress';\n  }\n\n  get activeIndex() {\n    return this.selectedIndex ?? this.currentIndex ?? 0;\n  }\n\n  getIcon(i: number, state?: StepState): string {\n    if (!state) {\n      return StepDefaultIcon.default;\n    }\n    return this.getActiveIndex() === i\n      ? StepSelectedIcon[state]\n      : StepDefaultIcon[state];\n  }\n\n  select(i: number) {\n    if (this.isSelectable(i)) {\n      if (this.isProgress) {\n        this.selectedIndexChange.emit(i);\n        this.selectedIndex = i;\n      } else {\n        this.currentIndexChange.emit(i);\n        this._currentIndex = i;\n        this.selectedIndex = i;\n      }\n    }\n  }\n\n  isSelectable(i: number) {\n    const currentStep = this.steps[this._currentIndex];\n    if (!this.selectable || this.selectedIndex === i) {\n      return false;\n    }\n    const isLinear = this.isProgress;\n    if (\n      isLinear &&\n      !currentStep.optional &&\n      ((currentStep.state === StepState.Done && i > this._currentIndex + 1) ||\n        (currentStep.state !== StepState.Done && i > this._currentIndex))\n    ) {\n      return false;\n    }\n    // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n    if (i < this._currentIndex && !this.selectable) {\n      return false;\n    }\n    return true;\n  }\n\n  getActiveIndex() {\n    return this.selectedIndex === undefined\n      ? this._currentIndex\n      : this.selectedIndex;\n  }\n\n  isLastActive(i: number, steps: StepItem[]) {\n    const firstDefaultIndex = steps.findIndex(\n      step => !step.state || step.state === StepState.Default,\n    );\n    return i === this.selectedIndex\n      ? true\n      : firstDefaultIndex === 0\n      ? false\n      : firstDefaultIndex === i;\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n  }\n}\n","<div\n  class=\"aui-steps aui-steps--{{ orientation || 'horizontal' }} aui-steps--{{\n    type || 'step'\n  }}\"\n>\n  <ng-container *ngFor=\"let step of steps; let i = index; let isLast = last\">\n    <div\n      class=\"aui-step\"\n      (click)=\"select(i)\"\n      [class.isLastActive]=\"isLastActive(i, steps)\"\n      [class.clickable]=\"isSelectable(i)\"\n    >\n      <div class=\"aui-step__indicator\">\n        <ng-container *ngIf=\"isProgress\">\n          <ng-container [ngSwitch]=\"step.state\">\n            <aui-icon\n              *ngSwitchCase=\"'pending'\"\n              class=\"aui-step__indicator--pending\"\n              [class.isActive]=\"i === activeIndex\"\n              icon=\"rotate\"\n            ></aui-icon>\n            <aui-icon\n              *ngSwitchCase=\"'done'\"\n              class=\"aui-step__indicator--done\"\n              [class.isActive]=\"i === activeIndex\"\n              icon=\"check\"\n            ></aui-icon>\n            <aui-icon\n              *ngSwitchCase=\"'error'\"\n              class=\"aui-step__indicator--error\"\n              [class.isActive]=\"i === activeIndex\"\n              icon=\"xmark_small\"\n            ></aui-icon>\n            <span\n              *ngSwitchDefault\n              class=\"aui-step__indicator--index\"\n              [class.isActive]=\"i === activeIndex\"\n            >\n              {{ i + 1 }}\n            </span>\n          </ng-container>\n        </ng-container>\n        <ng-container *ngIf=\"!isProgress\">\n          <span\n            *ngIf=\"i >= currentIndex\"\n            class=\"aui-step__indicator--index\"\n            [class.isActive]=\"currentIndex === i\"\n          >\n            {{ i + 1 }}\n          </span>\n          <aui-icon\n            *ngIf=\"i < currentIndex\"\n            class=\"aui-step__indicator--done\"\n            [class.isActive]=\"_currentIndex === i\"\n            icon=\"check\"\n          ></aui-icon>\n        </ng-container>\n        <div\n          *ngIf=\"!isLast && isVertical\"\n          class=\"aui-steps__vertical-line aui-steps__vertical-line--{{\n            step.state\n          }}\"\n        ></div>\n      </div>\n      <div\n        class=\"aui-step__info aui-step__info--{{\n          isProgress\n            ? step.state || 'default'\n            : i < _currentIndex\n              ? 'done'\n              : 'default'\n        }}\"\n        [class.aui-step__info--selected]=\"getActiveIndex() === i\"\n      >\n        <div class=\"aui-step__name\">\n          {{ step.label }}\n        </div>\n        <div\n          class=\"aui-step__description\"\n          *ngIf=\"step.description\"\n        >\n          {{ step.description }}\n        </div>\n      </div>\n    </div>\n    <div\n      *ngIf=\"!isLast && !isVertical\"\n      class=\"aui-steps__horizontal-line\"\n    ></div>\n  </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\n\nimport { StepsComponent } from './steps.component';\n\n@NgModule({\n  imports: [CommonModule, IconModule, StepsComponent],\n  exports: [StepsComponent],\n})\nexport class StepsModule {}\n","import { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonFormControl } from '../form';\nimport { Bem, buildBem } from '../internal/utils';\n\nconst prefix = 'aui-switch';\n\n@Component({\n  selector: 'aui-switch',\n  templateUrl: './switch.component.html',\n  styleUrls: ['./switch.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SwitchComponent),\n      multi: true,\n    },\n  ],\n  imports: [NgClass],\n})\nexport class SwitchComponent extends CommonFormControl<boolean> {\n  bem: Bem = buildBem(prefix);\n\n  @Input()\n  loading = false;\n\n  onSwitch() {\n    if (this.disabled) {\n      return;\n    }\n    this.emitValue(!this.model);\n  }\n\n  onBlur() {\n    if (this.onTouched) {\n      this.onTouched();\n    }\n  }\n}\n","<div\n  class=\"aui-switch\"\n  [class.isLoading]=\"loading\"\n  [class.isDisabled]=\"disabled\"\n  [class.isChecked]=\"model\"\n  (click)=\"onSwitch()\"\n>\n  <input\n    #input\n    [ngClass]=\"bem.element('input')\"\n    type=\"checkbox\"\n    [disabled]=\"disabled\"\n    [checked]=\"model\"\n    (blur)=\"onBlur()\"\n  />\n  <span [ngClass]=\"bem.element('bar')\">\n    <i [ngClass]=\"bem.element('dot')\"></i>\n  </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SwitchComponent } from './switch.component';\n\n@NgModule({\n  imports: [CommonModule, SwitchComponent],\n  exports: [SwitchComponent],\n})\nexport class SwitchModule {}\n","import {\n  AfterContentInit,\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  OnDestroy,\n  Output,\n} from '@angular/core';\nimport {\n  EMPTY,\n  Subject,\n  Subscription,\n  animationFrameScheduler,\n  of,\n  debounceTime,\n  endWith,\n  map,\n  observeOn,\n  repeat,\n  startWith,\n  switchMap,\n  takeUntil,\n  takeWhile,\n  tap,\n} from 'rxjs';\n\nimport { TocContentDirective } from './toc-content.directive';\n\n@Directive({\n  selector: '[auiTocContainer]',\n  exportAs: 'auiTocContainer',\n  standalone: true,\n})\nexport class TocContainerDirective implements AfterContentInit, OnDestroy {\n  @Output()\n  activedChange = new EventEmitter<string>();\n\n  private _contents: TocContentDirective[] = [];\n  private readonly _scrollTop$ = new Subject<number>();\n  private readonly _scrollTo$ = new Subject<string>();\n  private readonly _onDestroy$ = new Subject<void>();\n  private readonly _subs: Subscription[] = [];\n  private readonly _nativeElement: HTMLElement;\n\n  get scrollTop(): number {\n    return this._nativeElement.scrollTop || 0;\n  }\n\n  set scrollTop(value: number) {\n    this._nativeElement.scrollTop = value;\n  }\n\n  get isScrollEnd() {\n    return (\n      this._nativeElement.scrollHeight - this._nativeElement.scrollTop ===\n      this._nativeElement.clientHeight\n    );\n  }\n\n  constructor(\n    elementRef: ElementRef<HTMLElement>,\n    private readonly cdr: ChangeDetectorRef,\n  ) {\n    this._nativeElement = elementRef.nativeElement;\n  }\n\n  getOffsetTop(element: HTMLElement): number {\n    if (element.parentElement === this._nativeElement) {\n      return element.offsetTop;\n    }\n    return element.offsetTop + this.getOffsetTop(element.parentElement);\n  }\n\n  private getMinContent(scrollTop: number) {\n    return (minContent: TocContentDirective, content: TocContentDirective) => {\n      if (\n        Math.abs(scrollTop - this.getOffsetTop(content.nativeElement)) <\n        Math.abs(scrollTop - this.getOffsetTop(minContent.nativeElement))\n      ) {\n        minContent = content;\n      }\n      return minContent;\n    };\n  }\n\n  private getMaxContent(\n    maxContent: TocContentDirective,\n    content: TocContentDirective,\n  ) {\n    if (\n      this.getOffsetTop(content.nativeElement) >\n      this.getOffsetTop(maxContent.nativeElement)\n    ) {\n      maxContent = content;\n    }\n    return maxContent;\n  }\n\n  @HostListener('scroll')\n  onScroll() {\n    this._scrollTop$.next(this.scrollTop);\n  }\n\n  ngAfterContentInit() {\n    const actived$ = this._scrollTop$\n      .pipe(\n        startWith(this.scrollTop),\n        debounceTime(200),\n        map(scrollTop =>\n          this._contents.reduce(\n            this.isScrollEnd\n              ? this.getMaxContent.bind(this)\n              : this.getMinContent(scrollTop),\n          ),\n        ),\n        map(actived => actived.auiTocContent),\n      )\n      .pipe(\n        tap(actived => {\n          this._contents.forEach(content => {\n            content.active = actived === content.auiTocContent;\n          });\n          this.cdr.detectChanges();\n        }),\n      );\n\n    const scrollTween$ = this._scrollTo$.pipe(\n      switchMap(name => {\n        const target = this._contents.find(\n          content => content.auiTocContent === name,\n        );\n\n        if (!target) {\n          return EMPTY;\n        }\n        const destination = this.getOffsetTop(target.nativeElement);\n\n        const start = performance.now();\n        const source = this.scrollTop;\n        const duration = 500;\n\n        return of(0).pipe(\n          observeOn(animationFrameScheduler),\n          repeat(),\n          map(() => (performance.now() - start) / duration),\n          takeWhile(t => t < 1),\n          endWith(1),\n          map(t => t * t * t),\n          map(t => source * (1 - t) + destination * t),\n        );\n      }),\n      takeUntil(this._onDestroy$),\n    );\n\n    this._subs.push(\n      actived$.subscribe(this.activedChange),\n      scrollTween$.subscribe(tweenValue => {\n        this.scrollTop = tweenValue;\n      }),\n    );\n  }\n\n  ngOnDestroy() {\n    this._subs.forEach(sub => sub.unsubscribe());\n    this._onDestroy$.next();\n  }\n\n  scrollTo(content: string[] | string) {\n    if (Array.isArray(content)) {\n      this._scrollTo$.next(content[0]);\n    } else {\n      this._scrollTo$.next(content);\n    }\n  }\n\n  registerContent(tocContent: TocContentDirective) {\n    this._contents = [...this._contents, tocContent];\n  }\n\n  deregisterContent(tocContent: TocContentDirective) {\n    this._contents = this._contents.filter(\n      content => content.auiTocContent !== tocContent.auiTocContent,\n    );\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n} from '@angular/core';\n\nimport { TocContainerDirective } from './toc-container.directive';\n\n@Directive({\n  selector: '[auiTocContent]',\n  standalone: true,\n})\nexport class TocContentDirective implements OnInit, OnDestroy {\n  @HostBinding('class.isActive')\n  active: boolean;\n\n  @Input()\n  auiTocContent: string;\n\n  nativeElement: HTMLElement;\n\n  constructor(\n    elemRef: ElementRef<HTMLElement>,\n    @Optional() private readonly containerDirective: TocContainerDirective,\n  ) {\n    this.nativeElement = elemRef.nativeElement;\n  }\n\n  ngOnInit(): void {\n    if (this.containerDirective) {\n      this.containerDirective.registerContent(this);\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.containerDirective) {\n      this.containerDirective.deregisterContent(this);\n    }\n  }\n}\n","import {\n  ChangeDetectorRef,\n  Directive,\n  HostBinding,\n  HostListener,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TocContainerDirective } from './toc-container.directive';\n\n@Directive({\n  selector: '[auiTocLink]',\n  standalone: true,\n})\nexport class TocLinkDirective implements OnInit, OnDestroy {\n  @HostBinding('class.isActive')\n  active: boolean;\n\n  @Input()\n  for: TocContainerDirective;\n\n  @Input()\n  auiTocLink: string[] | string;\n\n  private readonly _subs: Subscription[] = [];\n\n  @HostListener('click')\n  onClick() {\n    this.for.scrollTo(this.auiTocLink);\n  }\n\n  constructor(private readonly cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    if (!this.for || !this.auiTocLink) {\n      return;\n    }\n    this._subs.push(\n      this.for.activedChange.subscribe((actived: string) => {\n        this.active = Array.isArray(this.auiTocLink)\n          ? this.auiTocLink.includes(actived)\n          : actived === this.auiTocLink;\n        this.cdr.detectChanges();\n      }),\n    );\n  }\n\n  ngOnDestroy() {\n    this._subs.forEach(sub => sub.unsubscribe());\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TocContainerDirective } from './toc-container.directive';\nimport { TocContentDirective } from './toc-content.directive';\nimport { TocLinkDirective } from './toc-link.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    TocContentDirective,\n    TocContainerDirective,\n    TocLinkDirective,\n  ],\n  exports: [TocContentDirective, TocContainerDirective, TocLinkDirective],\n})\nexport class TableOfContentsModule {}\n\nexport const TABLE_OF_CONTENTS_MODULE = [\n  TocContentDirective,\n  TocContainerDirective,\n  TocLinkDirective,\n] as const;\n","import {\n  CdkPortal,\n  CdkPortalOutlet,\n  TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ComponentFactoryResolver,\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n  forwardRef,\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport { coerceAttrBoolean } from '../internal/utils';\n\n@Component({\n  selector: 'aui-tab-body',\n  templateUrl: './tab-body.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [forwardRef(() => TabBodyPortalDirective)],\n})\nexport class TabBodyComponent implements OnDestroy {\n  private _content: TemplatePortal;\n\n  content$ = new BehaviorSubject<TemplatePortal>(null);\n\n  /** The portal host inside of this container into which the tab body content will be loaded. */\n  @ViewChild(CdkPortalOutlet, { static: true })\n  _portalOutlet: CdkPortalOutlet;\n\n  /** The tab body content to display. */\n  @Input()\n  get content() {\n    return this._content;\n  }\n\n  set content(content: TemplatePortal) {\n    if (this._content !== content) {\n      this.content$.next(content);\n    }\n    this._content = content;\n  }\n\n  ngOnDestroy() {\n    this.content$.complete();\n  }\n}\n\n/** Used to flag tab labels for use with the portal directive */\n@Directive({\n  selector: '[auiTabLabel]',\n  standalone: true,\n})\nexport class TabLabelDirective extends CdkPortal {\n  constructor(\n    templateRef: TemplateRef<any>,\n    viewContainerRef: ViewContainerRef,\n  ) {\n    super(templateRef, viewContainerRef);\n  }\n}\n\n/**\n * Lazy load the embedded template for a tab content.\n */\n@Directive({\n  selector: '[auiTabContent]',\n  standalone: true,\n})\nexport class TabContentDirective {\n  constructor(public template: TemplateRef<any>) {}\n}\n\n/** Used to project additional template from host to the tab header. */\n@Directive({\n  selector: '[auiTabHeaderAddon]',\n  standalone: true,\n})\nexport class TabHeaderAddonDirective extends CdkPortal {\n  constructor(\n    templateRef: TemplateRef<any>,\n    viewContainerRef: ViewContainerRef,\n  ) {\n    super(templateRef, viewContainerRef);\n  }\n}\n\n/**\n * Used in the `aui-tab-group` view to display tab labels.\n */\n@Directive({\n  selector: '[auiTabLabelWrapper]',\n  host: {\n    '[class.aui-tab-label]': 'true',\n    '[class.aui-tab-label--disabled]': '!!disabled',\n  },\n  standalone: true,\n})\nexport class TabLabelWrapperDirective {\n  /** Whether or not the tab is disabled  */\n  @Input({ transform: coerceAttrBoolean })\n  disabled: boolean;\n\n  getOffsetLeft(): number {\n    return this.elementRef.nativeElement.offsetLeft;\n  }\n\n  getOffsetWidth(): number {\n    return this.elementRef.nativeElement.offsetWidth;\n  }\n\n  /** Sets focus on the wrapper element */\n  focus(): void {\n    this.elementRef.nativeElement.focus();\n  }\n\n  constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n\n@Directive({\n  selector: '[auiTabTitle]',\n  standalone: true,\n})\nexport class TabTitleDirective extends CdkPortal {\n  constructor(\n    templateRef: TemplateRef<any>,\n    viewContainerRef: ViewContainerRef,\n  ) {\n    super(templateRef, viewContainerRef);\n  }\n}\n\n/**\n * The portal host directive for the contents of the tab.\n */\n@Directive({\n  selector: '[auiTabBodyHost]',\n  standalone: true,\n})\nexport class TabBodyPortalDirective\n  extends CdkPortalOutlet\n  implements OnInit, OnDestroy\n{\n  private _hostSubscription = Subscription.EMPTY;\n\n  constructor(\n    componentFactoryResolver: ComponentFactoryResolver,\n    viewContainerRef: ViewContainerRef,\n    private readonly _host: TabBodyComponent,\n  ) {\n    super(componentFactoryResolver, viewContainerRef);\n  }\n\n  /** Set initial visibility or set up subscription for changing visibility. */\n  override ngOnInit(): void {\n    super.ngOnInit();\n    this._hostSubscription = this._host.content$.subscribe(content => {\n      if (this.hasAttached) {\n        this.detach();\n      }\n      this.attach(content);\n    });\n  }\n\n  override ngOnDestroy() {\n    this._hostSubscription.unsubscribe();\n  }\n}\n","<div class=\"aui-tab-body\">\n  <div\n    #content\n    class=\"aui-tab-body__content\"\n  >\n    <ng-template auiTabBodyHost></ng-template>\n  </div>\n</div>\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport {\n  BehaviorSubject,\n  Observable,\n  combineLatest,\n  distinctUntilChanged,\n  map,\n} from 'rxjs';\n\n@Injectable()\nexport class TabContextService {\n  private readonly active$$ = new BehaviorSubject(false);\n\n  /**\n   * Whether the tab is currently active.\n   */\n  get isActive() {\n    return this.active$$.value;\n  }\n\n  set isActive(isActive: boolean) {\n    this.active$$.next(isActive);\n  }\n\n  readonly active$: Observable<boolean>;\n\n  constructor(\n    @Optional()\n    @SkipSelf()\n    readonly _parent: TabContextService,\n  ) {\n    this.active$ = (\n      _parent\n        ? combineLatest([_parent.active$, this.active$$]).pipe(\n            map(([a, b]) => a && b),\n          )\n        : this.active$$\n    ).pipe(distinctUntilChanged());\n  }\n}\n","/* eslint-disable no-prototype-builtins */\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { coerceAttrBoolean } from '../internal/utils';\n\nimport { TabContentDirective, TabLabelDirective } from './tab-body.component';\nimport { TabContextService } from './tab-context.service';\n\n@Component({\n  selector: 'aui-tab',\n  exportAs: 'auiTab',\n  templateUrl: './tab.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  providers: [TabContextService],\n  standalone: true,\n})\nexport class TabComponent implements AfterContentInit, OnDestroy, OnChanges {\n  @Input()\n  name: string;\n\n  /** Plain text label for the tab, used when there is no template label. */\n  @Input('label')\n  textLabel = '';\n\n  /** Whether or not to show the close button in the header */\n  @Input()\n  closeable = false;\n\n  /** Whether or not the tab is disabled  */\n  @Input({ transform: coerceAttrBoolean })\n  disabled: boolean;\n\n  @Output()\n  close = new EventEmitter<void>();\n\n  /** Content for the tab label given by `<ng-template [auiTabLabel]>`. */\n  @ContentChild(TabLabelDirective, { static: false })\n  templateLabel: TabLabelDirective;\n\n  /**\n   * Template provided in the tab content that will be used if present, used to enable lazy-loading\n   */\n  @ContentChild(TabContentDirective, { read: TemplateRef, static: false })\n  _explicitContent: TemplateRef<any>;\n\n  /** Template inside the AuiTab view that contains an `<ng-content>`. */\n  @ViewChild(TemplateRef, { static: true })\n  _implicitContent: TemplateRef<any>;\n\n  get content(): TemplatePortal | null {\n    return this._contentPortal;\n  }\n\n  /**\n   * The relatively indexed position where 0 represents the center, negative is left, and positive\n   * represents the right.\n   */\n  position: number | null = null;\n\n  /**\n   * The initial relatively index origin of the tab if it was created and selected after there\n   * was already a selected tab. Provides context of what position the tab should originate from.\n   */\n  origin: number | null = null;\n\n  /** Emits whenever the internal state of the tab changes. */\n  readonly _stateChanges = new Subject<void>();\n\n  /** Portal that will be the hosted content of the tab */\n  private _contentPortal: TemplatePortal | null = null;\n\n  constructor(\n    private readonly _viewContainerRef: ViewContainerRef,\n    public readonly tabContext: TabContextService,\n  ) {}\n\n  ngAfterContentInit(): void {\n    this._contentPortal = new TemplatePortal(\n      this._explicitContent || this._implicitContent,\n      this._viewContainerRef,\n    );\n  }\n\n  ngOnDestroy(): void {\n    this._stateChanges.complete();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (\n      changes.hasOwnProperty('textLabel') ||\n      changes.hasOwnProperty('disabled') ||\n      changes.hasOwnProperty('closeable')\n    ) {\n      this._stateChanges.next();\n    }\n  }\n}\n","<!--\n  Create a template for the content of the <aui-tab> so that we can grab a reference to this\n  TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n  tab-group.\n-->\n<ng-template><ng-content></ng-content></ng-template>\n","import { ValueOf } from '../internal/types';\n\nexport const TabSize = {\n  /** 卡片级尺寸 */\n  Large: 'large',\n\n  /** 页面级尺寸 */\n  Medium: 'medium',\n\n  /** 小尺寸 */\n  Small: 'small',\n} as const;\n\nexport type TabSize = ValueOf<typeof TabSize>;\n\nexport const TabType = {\n  Line: 'line',\n  Card: 'card',\n} as const;\n\nexport type TabType = ValueOf<typeof TabType>;\n","import { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  NgZone,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { Bem, buildBem } from '../internal/utils';\n\nimport { TabType } from './tabs.types';\n\n@Component({\n  selector: 'aui-tab-header-active-indicator',\n  templateUrl: './tab-header-active-indicator.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [NgClass],\n})\nexport class TabHeaderActiveIndicatorComponent {\n  @Input()\n  type: TabType = TabType.Line;\n\n  bem: Bem = buildBem('aui-tab-header-active-indicator');\n\n  constructor(\n    private readonly _elementRef: ElementRef<HTMLElement>,\n    private readonly _ngZone: NgZone,\n  ) {}\n\n  /**\n   * Calculates the styles from the provided element in order to align the indicator to that element.\n   * Shows the indicator if previously set as hidden.\n   * @param element\n   */\n  alignToElement(element: HTMLElement) {\n    this._ngZone.runOutsideAngular(() => {\n      requestAnimationFrame(() => this._setStyles(element));\n    });\n  }\n\n  /**\n   * Sets the proper styles to the element.\n   * @param element\n   */\n  private _setStyles(element: HTMLElement) {\n    const positions = this._getElementPosition(element);\n    const nativeEl = this._elementRef.nativeElement;\n    nativeEl.style.left = positions.left;\n    nativeEl.style.width = positions.width;\n  }\n\n  private _getElementPosition(element: HTMLElement) {\n    return {\n      left: element ? (element.offsetLeft || 0) + 'px' : '0',\n      width: element ? (element.offsetWidth || 0) + 'px' : '0',\n    };\n  }\n}\n","<div [ngClass]=\"bem.block(type)\"></div>\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgClass, NgIf } from '@angular/common';\nimport {\n  AfterContentChecked,\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subject, debounceTime, merge, takeUntil } from 'rxjs';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { Bem, buildBem, observeResizeOn } from '../internal/utils';\n\nimport {\n  TabHeaderAddonDirective,\n  TabLabelWrapperDirective,\n  TabTitleDirective,\n} from './tab-body.component';\nimport { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';\nimport { TabSize, TabType } from './tabs.types';\n\n/**\n * The directions that scrolling can go in when the header's tabs exceed the header width. 'After'\n * will scroll the header towards the end of the tabs list and 'before' will scroll towards the\n * beginning of the list.\n */\nexport type ScrollDirection = 'after' | 'before';\n/**\n * The distance in pixels that will be overshot when scrolling a tab label into view. This helps\n * provide a small affordance to the label next to it.\n */\nconst EXAGGERATED_OVERSCROLL = 60;\n\n@Component({\n  selector: 'aui-tab-header',\n  templateUrl: './tab-header.component.html',\n  styleUrls: ['./tab-header.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgClass,\n    NgIf,\n    PortalModule,\n    IconComponent,\n    ObserversModule,\n    TabHeaderActiveIndicatorComponent,\n  ],\n})\nexport class TabHeaderComponent\n  implements OnDestroy, AfterContentChecked, AfterContentInit\n{\n  bem: Bem = buildBem('aui-tab-header');\n\n  _showAddon = false;\n\n  /** Whether the controls for pagination should be displayed */\n  _showPaginationControls = false;\n\n  /** Whether the tab list can be scrolled more towards the end of the tab label list. */\n  _disableScrollAfter = true;\n\n  /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */\n  _disableScrollBefore = true;\n\n  /** Whether the scroll distance has changed and should be applied after the view is checked. */\n  private _scrollDistanceChanged: boolean;\n\n  /** Whether the header should scroll to the selected index after the view has been checked. */\n  private _selectedIndexChanged = false;\n\n  /** The distance in pixels that the tab labels should be translated to the left. */\n  private _scrollDistance = 0;\n\n  private _selectedIndex = 0;\n\n  /** Emits when the component is destroyed. */\n  private readonly _destroyed = new Subject<void>();\n\n  /** Used to manage focus between the tabs. */\n  private _keyManager: FocusKeyManager<TabLabelWrapperDirective>;\n\n  @Input()\n  type: TabType = TabType.Line;\n\n  @Input()\n  size: TabSize = TabSize.Medium;\n\n  /** The index of the active tab. */\n  @Input()\n  get selectedIndex(): number {\n    return this._selectedIndex;\n  }\n\n  set selectedIndex(value: number) {\n    this._selectedIndexChanged = this._selectedIndex !== value;\n    this._selectedIndex = value;\n\n    if (this._keyManager) {\n      this._keyManager.updateActiveItem(value);\n    }\n  }\n\n  /** Event emitted when the option is selected. */\n  @Output()\n  readonly selectFocusedIndex = new EventEmitter<number>();\n\n  /** Event emitted when a label is focused. */\n  @Output()\n  readonly indexFocused = new EventEmitter<number>();\n\n  @ContentChild(TabHeaderAddonDirective, { static: false })\n  _headerAddon: TabHeaderAddonDirective;\n\n  @ContentChild(TabTitleDirective, { static: false })\n  _title: TabTitleDirective;\n\n  @ContentChildren(TabLabelWrapperDirective)\n  /**\n   * workaround for @link https://github.com/microsoft/TypeScript/pull/42425\n   */\n  _labelWrappers: QueryList<TabLabelWrapperDirective & { disabled?: boolean }>;\n\n  @ViewChild('tabListContainer', { static: true })\n  _tabListContainer: ElementRef<HTMLElement>;\n\n  @ViewChild('tabList', { static: true })\n  _tabList: ElementRef<HTMLElement>;\n\n  @ViewChild('paginationWrapper', { static: true })\n  _paginationWrapper: ElementRef<HTMLElement>;\n\n  @ViewChild(TabHeaderActiveIndicatorComponent, { static: true })\n  _activeIndicator: TabHeaderActiveIndicatorComponent;\n\n  ngOnDestroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n  }\n\n  ngAfterContentChecked(): void {\n    // If the selected index has changed, scroll to the label and check if the scrolling controls\n    // should be disabled.\n    if (this._selectedIndexChanged) {\n      this._scrollToLabel(this._selectedIndex);\n      this._checkScrollingControls();\n      this._alignActiveIndicatorToSelectedTab();\n      this._selectedIndexChanged = false;\n      this._changeDetectorRef.markForCheck();\n    }\n\n    // If the scroll distance has been changed (tab selected, focused, scroll controls activated),\n    // then translate the header to reflect this.\n    if (this._scrollDistanceChanged) {\n      this._updateTabScrollPosition();\n      this._scrollDistanceChanged = false;\n      this._changeDetectorRef.markForCheck();\n    }\n\n    if (this._showAddon !== !!this._headerAddon) {\n      this._showAddon = !!this._headerAddon;\n      this._updatePagination();\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n\n  /**\n   * Aligns the ink bar to the selected tab on load.\n   */\n  ngAfterContentInit() {\n    const realign = () => {\n      this._updatePagination();\n      this._alignActiveIndicatorToSelectedTab();\n      requestAnimationFrame(() => {\n        this._scrollToLabel(this._selectedIndex);\n      });\n    };\n\n    this._keyManager = new FocusKeyManager(this._labelWrappers)\n      .withHorizontalOrientation('ltr')\n      .withWrap();\n    this._keyManager.updateActiveItem(0);\n\n    // On tab list resize, realign the ink bar and update the orientation of\n    // the key manager if the direction has changed.\n    merge(\n      observeResizeOn(this._tabList.nativeElement),\n      observeResizeOn(this._tabListContainer.nativeElement),\n      observeResizeOn(this._paginationWrapper.nativeElement),\n    )\n      .pipe(debounceTime(100), takeUntil(this._destroyed))\n      .subscribe(realign);\n\n    // If there is a change in the focus key manager we need to emit the `indexFocused`\n    // event in order to provide a public event that notifies about focus changes. Also we realign\n    // the tabs container by scrolling the new focused tab into the visible section.\n    this._keyManager.change\n      .pipe(takeUntil(this._destroyed))\n      .subscribe(newFocusIndex => {\n        this.indexFocused.emit(newFocusIndex);\n        this._setTabFocus(newFocusIndex);\n      });\n  }\n\n  /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */\n  get scrollDistance(): number {\n    return this._scrollDistance;\n  }\n\n  set scrollDistance(v: number) {\n    this._scrollDistance = Math.max(\n      0,\n      Math.min(this._getMaxScrollDistance(), v),\n    );\n    // Mark that the scroll distance has changed so that after the view is checked, the CSS\n    // transformation can move the header.\n    this._scrollDistanceChanged = true;\n    this._checkScrollingControls();\n  }\n\n  /** Tracks which element has focus; used for keyboard navigation */\n  get focusIndex(): number {\n    return this._keyManager ? this._keyManager.activeItemIndex : 0;\n  }\n\n  /** When the focus index is set, we must manually send focus to the correct label */\n  set focusIndex(value: number) {\n    if (\n      !this._isValidIndex(value) ||\n      this.focusIndex === value ||\n      !this._keyManager\n    ) {\n      return;\n    }\n    this._keyManager.setActiveItem(value);\n  }\n\n  /**\n   * Determines if an index is valid.  If the tabs are not ready yet, we assume that the user is\n   * providing a valid index and return true.\n   */\n  _isValidIndex(index: number): boolean {\n    if (!this._labelWrappers) {\n      return true;\n    }\n    const tab = this._labelWrappers\n      ? this._labelWrappers.toArray()[index]\n      : null;\n    return !!tab && !tab.disabled;\n  }\n\n  _handleKeydown(event: KeyboardEvent) {\n    switch (event.key) {\n      case 'Home': {\n        this._keyManager.setFirstItemActive();\n        event.preventDefault();\n        break;\n      }\n      case 'End': {\n        this._keyManager.setLastItemActive();\n        event.preventDefault();\n        break;\n      }\n      case 'Enter':\n      case 'Space': {\n        this.selectFocusedIndex.emit(this.focusIndex);\n        event.preventDefault();\n        break;\n      }\n      default: {\n        this._keyManager.onKeydown(event);\n      }\n    }\n  }\n\n  /**\n   * Sets focus on the HTML element for the label wrapper and scrolls it into the view if\n   * scrolling is enabled.\n   */\n  _setTabFocus(tabIndex: number) {\n    if (this._showPaginationControls) {\n      this._scrollToLabel(tabIndex);\n    }\n    if (this._labelWrappers?.length > 0) {\n      this._labelWrappers.toArray()[tabIndex].focus();\n      // Do not let the browser manage scrolling to focus the element, this will be handled\n      // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width\n      // should be the full width minus the offset width.\n      const containerEl = this._tabListContainer.nativeElement;\n      containerEl.scrollLeft = 0;\n    }\n  }\n\n  /**\n   * Moves the tab list such that the desired tab label (marked by index) is moved into view.\n   *\n   * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n   * should be called sparingly.\n   */\n  _scrollToLabel(labelIndex: number) {\n    const selectedLabel = this._labelWrappers\n      ? this._labelWrappers.toArray()[labelIndex]\n      : null;\n    if (!selectedLabel) {\n      return;\n    }\n    // The view length is the visible width of the tab labels.\n    const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n    const labelBeforePos = selectedLabel.getOffsetLeft();\n    const labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();\n    const beforeVisiblePos = this.scrollDistance;\n    const afterVisiblePos = this.scrollDistance + viewLength;\n    if (labelBeforePos < beforeVisiblePos) {\n      // Scroll header to move label to the before direction\n      this.scrollDistance -=\n        beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;\n    } else if (labelAfterPos > afterVisiblePos) {\n      // Scroll header to move label to the after direction\n      this.scrollDistance +=\n        labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;\n    }\n  }\n\n  /**\n   * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or\n   * the end of the list, respectively). The distance to scroll is computed to be a third of the\n   * length of the tab list view window.\n   *\n   * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n   * should be called sparingly.\n   */\n  _scrollHeader(scrollDir: ScrollDirection) {\n    const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n    // Move the scroll distance one-third the length of the tab list's viewport.\n    this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * viewLength) / 3;\n  }\n\n  /**\n   * Callback for when the MutationObserver detects that the content has changed.\n   */\n  _onContentChanges() {\n    this._updatePagination();\n    this._alignActiveIndicatorToSelectedTab();\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Updating the view whether pagination should be enabled or not\n   */\n  _updatePagination() {\n    this._checkPaginationEnabled();\n    this._checkScrollingControls();\n    this._updateTabScrollPosition();\n  }\n\n  /**\n   * Evaluate whether the pagination controls should be displayed. If the scroll width of the\n   * tab list is wider than the size of the header container, then the pagination controls should\n   * be shown.\n   *\n   * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n   * should be called sparingly.\n   */\n  _checkPaginationEnabled() {\n    const isEnabled =\n      this._tabList.nativeElement.scrollWidth >\n      this._paginationWrapper.nativeElement.offsetWidth + 2; // 2 is the border size\n    if (!isEnabled) {\n      this.scrollDistance = 0;\n    }\n    const detectChanges = isEnabled !== this._showPaginationControls;\n    this._showPaginationControls = isEnabled;\n\n    if (detectChanges) {\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n\n  /**\n   * Evaluate whether the before and after controls should be enabled or disabled.\n   * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the\n   * before button. If the header is at the end of the list (scroll distance is equal to the\n   * maximum distance we can scroll), then disable the after button.\n   *\n   * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n   * should be called sparingly.\n   */\n  _checkScrollingControls() {\n    // Check if the pagination arrows should be activated.\n    this._disableScrollBefore = this.scrollDistance === 0;\n    this._disableScrollAfter =\n      this.scrollDistance === this._getMaxScrollDistance();\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Determines what is the maximum length in pixels that can be set for the scroll distance. This\n   * is equal to the difference in width between the tab list container and tab header container.\n   *\n   * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n   * should be called sparingly.\n   */\n  _getMaxScrollDistance(): number {\n    const lengthOfTabList = this._tabList.nativeElement.scrollWidth;\n    const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n    return lengthOfTabList - viewLength || 0;\n  }\n\n  /** Performs the CSS transformation on the tab list that will cause the list to scroll. */\n  _updateTabScrollPosition() {\n    const scrollDistance = this.scrollDistance;\n    const translateX = -scrollDistance;\n    // Don't use `translate3d` here because we don't want to create a new layer. A new layer\n    // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar\n    // and ripples will exceed the boundaries of the visible tab bar.\n    // See: https://github.com/angular/material2/issues/10276\n    this._tabList.nativeElement.style.transform = `translateX(${translateX}px)`;\n  }\n\n  /** Tells the active indicator to align itself to the current label wrapper */\n  _alignActiveIndicatorToSelectedTab(): void {\n    const selectedLabelWrapper =\n      this._labelWrappers?.length > 0\n        ? this._labelWrappers.toArray()[this.selectedIndex].elementRef\n            .nativeElement\n        : null;\n    this._activeIndicator.alignToElement(selectedLabelWrapper);\n  }\n\n  constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n}\n","<div [ngClass]=\"bem.block(type, size)\">\n  <ng-container *ngIf=\"_title\">\n    <div [ngClass]=\"bem.element('title')\">\n      <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n    </div>\n  </ng-container>\n  <div [ngClass]=\"bem.element('header-wrapper')\">\n    <div\n      [ngClass]=\"bem.element('pagination-wrapper')\"\n      #paginationWrapper\n    >\n      <div\n        *ngIf=\"_showPaginationControls\"\n        (click)=\"_scrollHeader('before')\"\n        [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n        [ngClass]=\"bem.element('pagination-button')\"\n      >\n        <aui-icon icon=\"angle_left\"></aui-icon>\n      </div>\n      <div\n        [ngClass]=\"bem.element('tab-list-container')\"\n        (keydown)=\"_handleKeydown($event)\"\n        #tabListContainer\n      >\n        <div\n          role=\"tablist\"\n          (cdkObserveContent)=\"_onContentChanges()\"\n          [ngClass]=\"bem.element('tab-list')\"\n          #tabList\n        >\n          <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n          <aui-tab-header-active-indicator\n            [type]=\"type\"\n          ></aui-tab-header-active-indicator>\n        </div>\n      </div>\n      <div\n        *ngIf=\"_showPaginationControls\"\n        (click)=\"_scrollHeader('after')\"\n        [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n        [ngClass]=\"bem.element('pagination-button')\"\n      >\n        <aui-icon icon=\"angle_right\"></aui-icon>\n      </div>\n    </div>\n    <!-- If there is addon template, use it. -->\n    <ng-container *ngIf=\"_showAddon\">\n      <div [ngClass]=\"bem.element('addon')\">\n        <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n      </div>\n    </ng-container>\n  </div>\n</div>\n","/* eslint-disable no-prototype-builtins */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgClass, NgIf, NgFor } from '@angular/common';\nimport {\n  AfterContentChecked,\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subject, Subscription, merge } from 'rxjs';\n\nimport { IconComponent } from '../icon/icon.component';\nimport { Bem, buildBem } from '../internal/utils';\n\nimport {\n  TabHeaderAddonDirective,\n  TabTitleDirective,\n  TabLabelWrapperDirective,\n  TabBodyComponent,\n} from './tab-body.component';\nimport { TabHeaderComponent } from './tab-header.component';\nimport { TabComponent } from './tab.component';\nimport { TabSize, TabType } from './tabs.types';\n\n/** A simple change event emitted on focus or selection changes. */\nexport class TabChangeEvent {\n  /** Index of the currently-selected tab. */\n  index: number;\n  /** Reference to the currently-selected tab. */\n  tab: TabComponent;\n}\n\n@Component({\n  selector: 'aui-tab-group',\n  exportAs: 'auiTabGroup',\n  templateUrl: './tab-group.component.html',\n  styleUrls: ['./tab-group.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  imports: [\n    NgClass,\n    TabHeaderComponent,\n    NgIf,\n    TabTitleDirective,\n    PortalModule,\n    NgFor,\n    TabLabelWrapperDirective,\n    A11yModule,\n    IconComponent,\n    TabHeaderAddonDirective,\n    TabBodyComponent,\n  ],\n})\nexport class TabGroupComponent\n  implements OnChanges, AfterContentChecked, AfterContentInit, OnDestroy\n{\n  bem: Bem = buildBem('aui-tab-group');\n\n  @ContentChildren(TabComponent)\n  _tabs: QueryList<TabComponent>;\n\n  @ContentChild(TabHeaderAddonDirective, { static: false })\n  _headerAddon: TabHeaderAddonDirective;\n\n  @ViewChild(TabHeaderComponent, { static: false })\n  _tabHeader: TabHeaderComponent;\n\n  @ContentChild(TabTitleDirective, { static: false })\n  _tabTitle: TabTitleDirective;\n\n  /** The tab index that should be selected after the content has been checked. */\n  private _indexToSelect = 0;\n\n  /** Subscription to tabs being added/removed. */\n  private _tabsSubscription = Subscription.EMPTY;\n\n  /** Subscription to changes in the tab labels. */\n  private _tabLabelSubscription = Subscription.EMPTY;\n\n  private _selectedIndex: number | null = null;\n  private _tab: string = null;\n  private _type: TabType = TabType.Line;\n  private _size: TabSize = TabSize.Medium;\n\n  /** true lazy mode for template ref children */\n  private _lazy: boolean;\n\n  private _previousHeaderAddon: TabHeaderAddonDirective;\n\n  /** Emits whenever the type changes */\n  readonly _typeChange = new Subject<void>();\n\n  /** Emits whenever the size changes */\n  readonly _sizeChange = new Subject<void>();\n\n  /** The index of the active tab. */\n  @Input()\n  get selectedIndex(): number {\n    return this._selectedIndex;\n  }\n\n  set selectedIndex(value: number) {\n    this._indexToSelect = value;\n    this._changeActivatedTabs();\n  }\n\n  @Input()\n  get tab(): string {\n    return this._tab;\n  }\n\n  set tab(value: string) {\n    this._tab = value;\n    if (this._tabs) {\n      this.selectedIndex = this._findIndexByTab(value);\n    }\n  }\n\n  @Input()\n  get type() {\n    return this._type;\n  }\n\n  set type(type: TabType) {\n    this._type = type;\n  }\n\n  @Input()\n  title: TemplateRef<unknown> | string;\n\n  @Input()\n  get size() {\n    return this._size;\n  }\n\n  set size(val) {\n    if (!val || this._size === val) {\n      return;\n    }\n    this._size = val;\n  }\n\n  @Input()\n  get lazy() {\n    return this._lazy;\n  }\n\n  set lazy(lazy: boolean) {\n    if (this._lazy === lazy) {\n      return;\n    }\n    this._lazy = lazy;\n    if (lazy) {\n      this._changeActivatedTabs();\n    } else {\n      this.activatedTabs.length = 0;\n    }\n  }\n\n  /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n  @Output()\n  readonly selectedIndexChange = new EventEmitter<number>();\n\n  @Output()\n  readonly tabChange = new EventEmitter<string>();\n\n  /** Event emitted when the tab selection has changed. */\n  @Output()\n  readonly selectedTabChange = new EventEmitter<TabChangeEvent>(true);\n\n  /** Event emitted when focus has changed within a tab group. */\n  @Output()\n  readonly focusChange: EventEmitter<TabChangeEvent> =\n    new EventEmitter<TabChangeEvent>();\n\n  constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n\n  activatedTabs: TabComponent[] = [];\n\n  get activeTab() {\n    return this._tabs.length > 0 && this.selectedIndex !== null\n      ? this._tabs.toArray()[this.selectedIndex]\n      : null;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.hasOwnProperty('type')) {\n      this._typeChange.next();\n    }\n\n    if (changes.hasOwnProperty('size')) {\n      this._sizeChange.next();\n    }\n  }\n\n  /**\n   * After the content is checked, this component knows what tabs have been defined\n   * and what the selected index should be. This is where we can know exactly what position\n   * each tab should be in according to the new selected index.\n   */\n  ngAfterContentChecked(): void {\n    // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n    // the amount of tabs changes before the actual change detection runs.\n    const indexToSelect = (this._indexToSelect = this._clampTabIndex(\n      this._indexToSelect,\n    ));\n\n    // If there is a change in selected index, emit a change event. Should not trigger if\n    // the selected index has not yet been initialized.\n    if (this._selectedIndex !== indexToSelect && this._selectedIndex != null) {\n      this._changeActivatedTabs();\n      const tabChangeEvent = this._createChangeEvent(indexToSelect);\n      this.selectedTabChange.emit(tabChangeEvent);\n      // Emitting this value after change detection has run\n      // since the checked content may contain this variable'\n      Promise.resolve().then(() => {\n        this.selectedIndexChange.emit(indexToSelect);\n        this.tabChange.emit(this._tabs.get(indexToSelect).name);\n      });\n    }\n\n    // Setup the position for each tab and optionally setup an origin on the next selected tab.\n    this._tabs.forEach((tab: TabComponent, index: number) => {\n      tab.position = index - indexToSelect;\n      tab.tabContext.isActive = index === indexToSelect;\n      // If there is already a selected tab, then set up an origin for the next selected tab\n      // if it doesn't have one already.\n      if (this._selectedIndex != null && tab.position === 0 && !tab.origin) {\n        tab.origin = indexToSelect - this._selectedIndex;\n      }\n    });\n\n    if (this._selectedIndex !== indexToSelect) {\n      this._selectedIndex = indexToSelect;\n      this._changeDetectorRef.markForCheck();\n    }\n\n    if (this._previousHeaderAddon !== this._headerAddon) {\n      this._previousHeaderAddon = this._headerAddon;\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n\n  ngAfterContentInit() {\n    if (this.tab) {\n      this._indexToSelect = this._findIndexByTab(this.tab);\n    }\n\n    this._changeActivatedTabs();\n    this._subscribeToTabLabels();\n    // Subscribe to changes in the amount of tabs, in order to be\n    // able to re-render the content as new tabs are added or removed.\n    this._tabsSubscription = this._tabs.changes.subscribe(() => {\n      const tabs = this._tabs.toArray();\n      if (this._lazy) {\n        this.activatedTabs = this.activatedTabs.filter(tab =>\n          tabs.includes(tab),\n        );\n      }\n      const indexToSelect = this._clampTabIndex(this._indexToSelect);\n      // Maintain the previously-selected tab if a new tab is added or removed and there is no\n      // explicit change that selects a different tab.\n      if (indexToSelect === this._selectedIndex) {\n        for (const [i, tab] of tabs.entries()) {\n          if (tab.tabContext.isActive) {\n            // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed\n            // event, otherwise the consumer may end up in an infinite loop in some edge cases like\n            // adding a tab within the `selectedIndexChange` event.\n            this._indexToSelect = this._selectedIndex = i;\n            break;\n          }\n        }\n      }\n      this._changeActivatedTabs();\n      this._subscribeToTabLabels();\n      this._changeDetectorRef.markForCheck();\n    });\n  }\n\n  ngOnDestroy() {\n    this._tabsSubscription.unsubscribe();\n    this._tabLabelSubscription.unsubscribe();\n\n    this._typeChange.complete();\n    this._sizeChange.complete();\n  }\n\n  /** Handle click events, setting new selected index if appropriate. */\n  _handleClick(tab: TabComponent, idx: number) {\n    if (!tab.disabled) {\n      this.selectedIndex = this._tabHeader.focusIndex = idx;\n    }\n  }\n\n  _focusChanged(index: number) {\n    this.focusChange.emit(this._createChangeEvent(index));\n  }\n\n  /** Re-aligns the ink bar to the selected tab element. */\n  realignActiveIndicator() {\n    if (this._tabHeader) {\n      this._tabHeader._alignActiveIndicatorToSelectedTab();\n    }\n  }\n\n  private _changeActivatedTabs() {\n    if (\n      !this._lazy ||\n      !this._tabs ||\n      this._indexToSelect < 0 ||\n      this._indexToSelect >= this._tabs.length\n    ) {\n      return;\n    }\n    const tab = this._tabs.find((_, index) => index === this._indexToSelect);\n    if (tab && !this.activatedTabs.includes(tab)) {\n      this.activatedTabs.push(tab);\n    }\n  }\n\n  /** Clamps the given index to the bounds of 0 and the tabs length. */\n  private _clampTabIndex(index: number | null): number {\n    // Note the `|| 0`, which ensures that values like NaN can't get through\n    // and which would otherwise throw the component into an infinite loop\n    // (since Math.max(NaN, 0) === NaN).\n    return Math.min(this._tabs.length - 1, Math.max(index || 0, 0));\n  }\n\n  private _findIndexByTab(name: string) {\n    return Math.max(\n      this._tabs.toArray().findIndex(tab => tab.name === name),\n      0,\n    );\n  }\n\n  private _createChangeEvent(index: number): TabChangeEvent {\n    const event = new TabChangeEvent();\n    event.index = index;\n    if (this._tabs?.length > 0) {\n      event.tab = this._tabs.toArray()[index];\n    }\n    return event;\n  }\n\n  /**\n   * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is\n   * on the Tab component, whereas the data binding is inside the TabGroup. In order for the\n   * binding to be updated, we need to subscribe to changes in it and trigger change detection\n   * manually.\n   */\n  private _subscribeToTabLabels() {\n    if (this._tabLabelSubscription) {\n      this._tabLabelSubscription.unsubscribe();\n    }\n    this._tabLabelSubscription = merge(\n      ...this._tabs.map(tab => tab._stateChanges),\n      this._typeChange,\n      this._sizeChange,\n    ).subscribe(() => {\n      this.realignActiveIndicator();\n      this._changeDetectorRef.markForCheck();\n    });\n  }\n\n  /** Retrieves the tabindex for the tab. */\n  _getTabIndex(tab: TabComponent, idx: number): number | null {\n    if (tab.disabled) {\n      return null;\n    }\n    return this.selectedIndex === idx ? 0 : -1;\n  }\n}\n","<div [ngClass]=\"bem.block()\">\n  <aui-tab-header\n    [selectedIndex]=\"selectedIndex\"\n    [type]=\"type\"\n    [size]=\"size\"\n    (indexFocused)=\"_focusChanged($event)\"\n    (selectFocusedIndex)=\"selectedIndex = $event\"\n  >\n    <ng-container *ngIf=\"_tabTitle\">\n      <ng-container *auiTabTitle>\n        <ng-template [cdkPortalOutlet]=\"_tabTitle\"></ng-template>\n      </ng-container>\n    </ng-container>\n    <div\n      role=\"tab\"\n      *ngFor=\"let tab of _tabs; let i = index\"\n      auiTabLabelWrapper\n      cdkMonitorElementFocus\n      [class.isActive]=\"selectedIndex === i\"\n      [class.closeable]=\"tab.closeable && !tab.disabled\"\n      [disabled]=\"tab.disabled\"\n      (click)=\"_handleClick(tab, i)\"\n      [title]=\"tab.textLabel\"\n      [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n      [attr.aria-posinset]=\"i + 1\"\n      [attr.aria-setsize]=\"_tabs.length\"\n      [attr.aria-label]=\"tab.textLabel\"\n    >\n      <div class=\"aui-tab-label__content\">\n        <!-- If there is a label template, use it. -->\n        <ng-template [ngIf]=\"tab.templateLabel\">\n          <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n        </ng-template>\n        <!-- If there is not a label template, fall back to the text label. -->\n        <ng-template [ngIf]=\"!tab.templateLabel\">\n          {{ tab.textLabel }}\n        </ng-template>\n      </div>\n\n      <aui-icon\n        *ngIf=\"tab.closeable && !tab.disabled\"\n        class=\"aui-tab-label__close\"\n        icon=\"xmark_small\"\n        (click)=\"tab.close.emit(); $event.stopPropagation()\"\n      ></aui-icon>\n    </div>\n\n    <ng-container *ngIf=\"_headerAddon\">\n      <ng-container *auiTabHeaderAddon>\n        <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n      </ng-container>\n    </ng-container>\n  </aui-tab-header>\n\n  <div [class]=\"bem.element('body-wrapper')\">\n    <ng-container *ngIf=\"lazy\">\n      <aui-tab-body\n        role=\"tabpanel\"\n        *ngFor=\"let tab of activatedTabs\"\n        [content]=\"tab.content\"\n        [hidden]=\"tab !== activeTab\"\n      ></aui-tab-body>\n    </ng-container>\n    <aui-tab-body\n      role=\"tabpanel\"\n      *ngIf=\"!lazy && activeTab\"\n      [content]=\"activeTab.content\"\n    ></aui-tab-body>\n  </div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon';\n\nimport {\n  TabBodyComponent,\n  TabBodyPortalDirective,\n  TabContentDirective,\n  TabHeaderAddonDirective,\n  TabLabelDirective,\n  TabLabelWrapperDirective,\n  TabTitleDirective,\n} from './tab-body.component';\nimport { TabGroupComponent } from './tab-group.component';\nimport { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';\nimport { TabHeaderComponent } from './tab-header.component';\nimport { TabComponent } from './tab.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormsModule,\n    PortalModule,\n    ButtonModule,\n    IconModule,\n    A11yModule,\n    ObserversModule,\n    TabGroupComponent,\n    TabComponent,\n    TabLabelDirective,\n    TabContentDirective,\n    TabHeaderAddonDirective,\n    TabTitleDirective,\n    TabHeaderComponent,\n    TabBodyComponent,\n    TabBodyPortalDirective,\n    TabLabelWrapperDirective,\n    TabHeaderActiveIndicatorComponent,\n  ],\n  exports: [\n    TabGroupComponent,\n    TabComponent,\n    TabLabelDirective,\n    TabContentDirective,\n    TabHeaderAddonDirective,\n    TabTitleDirective,\n    TabLabelWrapperDirective,\n    TabHeaderComponent,\n  ],\n})\nexport class TabsModule {}\n\nexport const TABS_MODULE = [\n  TabGroupComponent,\n  TabComponent,\n  TabLabelDirective,\n  TabContentDirective,\n  TabHeaderAddonDirective,\n  TabTitleDirective,\n  TabLabelWrapperDirective,\n  TabHeaderComponent,\n] as const;\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n  selector: 'aui-tree-node-placeholder',\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  standalone: true,\n})\nexport class TreeNodePlaceholderComponent {}\n","import { NgFor, NgIf } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n  ViewChild,\n  ViewChildren,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n  BehaviorSubject,\n  combineLatest,\n  map,\n  Observable,\n  of,\n  startWith,\n  Subject,\n  switchMap,\n  takeUntil,\n  tap,\n} from 'rxjs';\n\nimport { CommonFormControl } from '../form';\nimport { IconComponent } from '../icon/icon.component';\nimport { InputSuffixDirective } from '../input/helper-directives';\nimport { InputGroupComponent } from '../input/input-group/input-group.component';\nimport { InputComponent } from '../input/input.component';\nimport {\n  Bem,\n  buildBem,\n  coerceAttrBoolean,\n  coerceString,\n  publishRef,\n  scrollIntoView,\n} from '../internal/utils';\nimport { TrackFn } from '../select/select.types';\nimport { TooltipDirective } from '../tooltip/tooltip.directive';\n\nimport { TreeNode } from './tree-select.types';\n\n@Component({\n  selector: 'aui-tree-select',\n  templateUrl: './tree-select.component.html',\n  styleUrls: ['./tree-select.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TreeSelectComponent),\n      multi: true,\n    },\n  ],\n  imports: [\n    InputGroupComponent,\n    InputComponent,\n    InputSuffixDirective,\n    IconComponent,\n    TooltipDirective,\n    NgIf,\n    NgFor,\n    forwardRef(() => TreeNodeComponent),\n  ],\n})\nexport class TreeSelectComponent<T = unknown> extends CommonFormControl<T> {\n  @Input()\n  get nodesData() {\n    return this._nodesData;\n  }\n\n  set nodesData(val) {\n    if (!val || val === this._nodesData) {\n      return;\n    }\n    this._nodesData = val;\n    this.flattedNodes = this.flatNodesData(val);\n    this.updateSelectDisplay(this.model);\n  }\n\n  @Input()\n  loading = false;\n\n  @Input()\n  placeholder = '';\n\n  @Input({ transform: coerceAttrBoolean })\n  filterable: boolean;\n\n  @Input({ transform: coerceAttrBoolean })\n  clearable: boolean;\n\n  @Input({ transform: coerceAttrBoolean })\n  leafOnly: boolean;\n\n  @Input()\n  filterFn = this._filterFn;\n\n  @Input()\n  trackFn: TrackFn<T> = this._trackFn;\n\n  @Input()\n  labelFn?: (value: T) => string;\n\n  @Output()\n  filterChange = new EventEmitter<string>();\n\n  @Output()\n  show = new EventEmitter<void>();\n\n  @Output()\n  hide = new EventEmitter<void>();\n\n  @ViewChild('selectRef', { static: true })\n  protected selectRef: ElementRef<HTMLElement>;\n\n  @ViewChild('tooltipRef', { static: true })\n  protected tooltipRef: TooltipDirective;\n\n  @ViewChild('nodeListRef', { static: true })\n  nodeListRef: ElementRef<HTMLElement>;\n\n  @ViewChild('inputRef', { static: true })\n  inputRef: InputComponent;\n\n  private _nodesData: Array<TreeNode<T>> = [];\n  private _filterString = '';\n  private readonly filterString$$ = new BehaviorSubject(this.filterString);\n\n  filterString$: Observable<string> = this.filterString$$.asObservable();\n\n  containerWidth: string;\n  displayText = '';\n  flattedNodes: Array<TreeNode<T>> = [];\n\n  get isClearable() {\n    return !this.disabled && this.clearable && this.getInputValue();\n  }\n\n  get opened() {\n    return this.tooltipRef.isCreated;\n  }\n\n  get inputReadonly() {\n    return !(this.filterable && this.opened);\n  }\n\n  get filterString() {\n    return this._filterString;\n  }\n\n  set filterString(val) {\n    if (val !== this._filterString) {\n      this._filterString = val;\n      this.filterString$$.next(val);\n      this.filterChange.emit(val);\n    }\n  }\n\n  updatePosition() {\n    this.tooltipRef.updatePosition();\n  }\n\n  onVisibleNodes(visible: boolean) {\n    if (visible) {\n      this.containerWidth = this.selectRef.nativeElement.offsetWidth + 'px';\n      this.show.emit();\n      this.cdr.detectChanges();\n    } else {\n      if (this.onTouched) {\n        this.onTouched();\n      }\n      this.filterString = '';\n      this.hide.emit();\n    }\n  }\n\n  onInput(event: Event) {\n    this.filterString = (event.target as HTMLInputElement).value;\n    this.cdr.markForCheck();\n  }\n\n  onNodeClick(node: TreeNodeComponent<T>) {\n    this.selectNode(node);\n  }\n\n  getVisibleNodeCount() {\n    return this.flattedNodes.filter(node =>\n      this.filterFn(this.filterString, node),\n    ).length;\n  }\n\n  selectNode(node: TreeNodeComponent<T>) {\n    if (!node.selected) {\n      this.emitValue(node.nodeData.value);\n      if (this.onChange) {\n        this.closeOption();\n      }\n    }\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    if (event.key === 'Escape') {\n      this.closeOption();\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  }\n\n  openOption() {\n    this.tooltipRef.show();\n  }\n\n  closeOption() {\n    this.inputRef.elementRef.nativeElement.value = this.displayText;\n    this.tooltipRef.hide();\n  }\n\n  updateSelectDisplay(value: any) {\n    const pickedNode = this.flattedNodes.find(\n      node => this.trackFn(node.value) === this.trackFn(value),\n    );\n    this.displayText = pickedNode\n      ? this.getLabelFromNode(pickedNode).toString()\n      : coerceString(this.trackFn(value));\n  }\n\n  clearValue(event: Event) {\n    this.emitValue(null);\n    event.stopPropagation();\n    event.preventDefault();\n  }\n\n  protected override valueIn(v: T): T {\n    this.updateSelectDisplay(v);\n    this.closeOption();\n    return v;\n  }\n\n  getPlaceholder() {\n    return this.filterable && this.opened ? this.displayText : this.placeholder;\n  }\n\n  getInputValue() {\n    return this.filterable && this.opened ? '' : this.displayText;\n  }\n\n  // `this` is not available in `trackBy`...\n  trackByLabel = (_: number, node: TreeNode<T>) => this.getLabelFromNode(node);\n\n  private flatNodesData(nodes: Array<TreeNode<T>> = []): Array<TreeNode<T>> {\n    return nodes.reduce(\n      (prevValue: Array<TreeNode<T>>, currentNode) =>\n        prevValue.concat(currentNode, this.flatNodesData(currentNode.children)),\n      [],\n    );\n  }\n\n  private getLabelFromNode(node: TreeNode<T>) {\n    return (\n      this.labelFn?.(node.value) ||\n      node.label ||\n      coerceString(this.trackFn(node.value))\n    );\n  }\n\n  private _filterFn(filterString: string, node: TreeNode<T>) {\n    return this.getLabelFromNode(node)?.includes(filterString ?? '');\n  }\n\n  private _trackFn<T>(value: T) {\n    return value;\n  }\n}\n\n@Component({\n  selector: 'aui-tree-node',\n  templateUrl: './tree-node.component.html',\n  styleUrls: ['./tree-node.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  imports: [NgIf, IconComponent, NgFor],\n})\nexport class TreeNodeComponent<T> implements AfterViewInit, OnDestroy {\n  bem: Bem = buildBem('aui-tree-node');\n\n  private _nodeData: TreeNode<T>;\n  private readonly nodeData$$ = new BehaviorSubject<TreeNode<T>>(this.nodeData);\n  private readonly destroy$$ = new Subject<void>();\n\n  @Input()\n  get nodeData() {\n    return this._nodeData;\n  }\n\n  set nodeData(val) {\n    if (val === this._nodeData) {\n      return;\n    }\n    this._nodeData = val;\n    this.nodeData$$.next(val);\n  }\n\n  @Input({ transform: coerceAttrBoolean })\n  leafOnly = true;\n\n  @ViewChild('titleRef', { static: true })\n  titleRef: ElementRef<HTMLElement>;\n\n  @ViewChildren('treeNodes')\n  childNodes: QueryList<TreeNodeComponent<T>>;\n\n  selected = false;\n  visible = true;\n  isLeaf = false;\n\n  private readonly select: TreeSelectComponent<T>;\n  selected$: Observable<boolean>;\n  selfVisible$: Observable<boolean>;\n  visible$: Observable<boolean>;\n\n  constructor(\n    select: TreeSelectComponent<T>,\n    private readonly cdr: ChangeDetectorRef,\n  ) {\n    this.select = select;\n    this.selected$ = combineLatest([\n      this.select.model$,\n      this.nodeData$$.pipe(map(data => data.value)),\n    ]).pipe(\n      map(\n        ([selectValue, selfValue]) =>\n          selectValue &&\n          this.select.trackFn(selectValue) === this.select.trackFn(selfValue),\n      ),\n      tap(selected => {\n        this.selected = selected;\n      }),\n      publishRef(),\n    );\n    this.selfVisible$ = combineLatest([\n      this.select.filterString$,\n      this.nodeData$$,\n    ]).pipe(\n      map(([filterString, nodeData]) =>\n        this.select.filterFn(filterString, nodeData),\n      ),\n      publishRef(),\n    );\n  }\n\n  ngAfterViewInit() {\n    const hasVisibleChildNodes$ = this.childNodes.changes.pipe(\n      startWith(this.childNodes),\n      switchMap((nodes: QueryList<TreeNodeComponent<T>>) =>\n        nodes.length > 0\n          ? combineLatest(nodes.map(node => node.visible$))\n          : of([false]),\n      ),\n      map(visible => visible.some(Boolean)),\n      tap(hasVisibleChildren => (this.isLeaf = !hasVisibleChildren)),\n    );\n    this.visible$ = combineLatest([\n      this.selfVisible$,\n      hasVisibleChildNodes$,\n    ]).pipe(\n      map(visible => visible.some(Boolean)),\n      publishRef(),\n    );\n\n    this.visible$.pipe(takeUntil(this.destroy$$)).subscribe(visible => {\n      this.visible = visible;\n      this.cdr.markForCheck();\n    });\n    this.selected$.pipe(takeUntil(this.destroy$$)).subscribe(selected => {\n      this.selected = selected;\n      this.cdr.markForCheck();\n    });\n\n    if (this.selected) {\n      requestAnimationFrame(() => {\n        this.scrollToNode(this);\n      });\n    }\n  }\n\n  ngOnDestroy() {\n    this.destroy$$.next();\n    this.destroy$$.complete();\n  }\n\n  onClick() {\n    if (this.nodeData.disabled || this.nodeData.loading) {\n      return;\n    }\n    if (this.leafOnly && !this.isLeaf) {\n      this.switchExpanded();\n      return;\n    }\n    this.select.onNodeClick(this);\n  }\n\n  switchExpanded() {\n    this.nodeData.expanded = !this.nodeData.expanded;\n    if (this.nodeData.expanded && this.childNodes.last) {\n      requestAnimationFrame(() => {\n        this.scrollToNode(this.childNodes.last);\n      });\n    }\n    requestAnimationFrame(() => {\n      this.select.updatePosition();\n    });\n  }\n\n  getIcon() {\n    return this.nodeData.expanded\n      ? this.nodeData.expandedIcon || this.nodeData.icon\n      : this.nodeData.icon;\n  }\n\n  trackByLabel(_: number, data: TreeNode<T>) {\n    return data.label;\n  }\n\n  scrollToNode(node: TreeNodeComponent<T>) {\n    if (this.select.nodeListRef) {\n      scrollIntoView(\n        this.select.nodeListRef.nativeElement,\n        node.titleRef.nativeElement,\n      );\n    }\n  }\n}\n","<div\n  class=\"aui-tree-select\"\n  [class.isDisabled]=\"disabled\"\n  [class.isClearable]=\"isClearable\"\n  #selectRef\n  #tooltipRef=\"auiTooltip\"\n  [auiTooltip]=\"templateRef\"\n  [auiTooltipDisabled]=\"disabled\"\n  auiTooltipAnimType=\"scaleY\"\n  auiTooltipTrigger=\"click\"\n  auiTooltipPosition=\"bottom start\"\n  auiTooltipType=\"plain\"\n  (auiTooltipVisibleChange)=\"onVisibleNodes($event)\"\n>\n  <aui-input-group>\n    <input\n      #inputRef\n      class=\"aui-tree-select__input\"\n      autocomplete=\"off\"\n      aui-input\n      [value]=\"getInputValue()\"\n      [disabled]=\"disabled\"\n      [placeholder]=\"getPlaceholder()\"\n      [readonly]=\"inputReadonly\"\n      (input)=\"onInput($event)\"\n      (blur)=\"closeOption()\"\n      (keydown)=\"onKeyDown($event)\"\n    />\n    <span\n      auiInputSuffix\n      class=\"aui-tree-select__icon-container\"\n    >\n      <aui-icon\n        class=\"aui-tree-select__indicator\"\n        [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n      ></aui-icon>\n      <aui-icon\n        class=\"aui-tree-select__clear\"\n        icon=\"xmark_small\"\n        (click)=\"clearValue($event)\"\n      ></aui-icon>\n    </span>\n  </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n  <div\n    class=\"aui-tree-node-container\"\n    [style.minWidth]=\"containerWidth\"\n    (mousedown)=\"$event.preventDefault()\"\n  >\n    <div\n      #nodeListRef\n      class=\"aui-tree-node-container__content\"\n    >\n      <aui-tree-node\n        *ngFor=\"let data of nodesData; trackBy: trackByLabel\"\n        [nodeData]=\"data\"\n        [leafOnly]=\"leafOnly\"\n      ></aui-tree-node>\n    </div>\n    <div\n      *ngIf=\"!getVisibleNodeCount()\"\n      class=\"aui-tree-node-container__placeholder\"\n    >\n      <ng-content select=\"aui-tree-node-placeholder\"></ng-content>\n    </div>\n  </div>\n</ng-template>\n","<div\n  [hidden]=\"!visible\"\n  class=\"aui-tree-node\"\n  [class.isDisabled]=\"nodeData.disabled\"\n  [class.isSelected]=\"selected\"\n  [attr.data-value]=\"nodeData.value\"\n>\n  <div\n    class=\"aui-tree-node__content\"\n    [class.isLeftOnly]=\"leafOnly && !isLeaf && !nodeData.disabled\"\n  >\n    <aui-icon\n      *ngIf=\"nodeData.loading\"\n      class=\"aui-tree-node__loading\"\n      margin=\"left\"\n      size=\"16\"\n      [icon]=\"'spinner'\"\n    ></aui-icon>\n    <aui-icon\n      *ngIf=\"!nodeData.loading\"\n      class=\"aui-tree-node__indicator\"\n      [class.isVisible]=\"nodeData.children\"\n      margin=\"left\"\n      size=\"16\"\n      [icon]=\"nodeData.expanded ? 'angle_down' : 'angle_right'\"\n      (click)=\"switchExpanded()\"\n    ></aui-icon>\n    <span\n      #titleRef\n      class=\"aui-tree-node__title\"\n      [class.isDisabled]=\"nodeData.disabled || nodeData.loading\"\n      [class.isSelected]=\"selected\"\n      [class.unselectable]=\"leafOnly && !isLeaf\"\n      (click)=\"onClick()\"\n    >\n      <aui-icon\n        *ngIf=\"nodeData.icon\"\n        margin=\"right\"\n        [icon]=\"getIcon()\"\n      ></aui-icon>\n      {{ nodeData.label }}\n    </span>\n  </div>\n  <div\n    *ngIf=\"nodeData.children\"\n    [hidden]=\"!nodeData.expanded\"\n    class=\"aui-tree-node__children\"\n  >\n    <aui-tree-node\n      #treeNodes\n      *ngFor=\"let data of nodeData.children; trackBy: trackByLabel\"\n      [nodeData]=\"data\"\n      [leafOnly]=\"leafOnly\"\n    ></aui-tree-node>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from '../icon';\nimport { InputModule } from '../input';\nimport { TooltipModule } from '../tooltip';\n\nimport { TreeNodePlaceholderComponent } from './tree-node-placeholder.component';\nimport {\n  TreeNodeComponent,\n  TreeSelectComponent,\n} from './tree-select.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    TooltipModule,\n    IconModule,\n    InputModule,\n    TreeSelectComponent,\n    TreeNodeComponent,\n    TreeNodePlaceholderComponent,\n  ],\n  exports: [\n    TreeSelectComponent,\n    TreeNodeComponent,\n    TreeNodePlaceholderComponent,\n  ],\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThemeService","i1.IconRegisterService","prefix","i1","i1.AccordionComponent","i2","merge","bem","duration","i1.BaseTooltip","i2.TooltipCopyIntl","i1.FormDirective","uniqueId","i1.I18nService","i1.DialogRef","i2.DialogService","CdkScrollable","i1.DrawerService","i1.PaginatorIntl","i1.SelectComponent","i1.RadioGroupComponent","i2.TableComponent","i3","i1.SortDirective","i1.TocContainerDirective","i1.TabContextService"],"mappings":"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"}