{"version":3,"file":"xui.mjs","sources":["../../../../libs/xui/src/config/config.ts","../../../../libs/xui/src/config/config.service.ts","../../../../libs/xui/src/config/configure.directive.ts","../../../../libs/xui/src/config/config.module.ts","../../../../libs/xui/src/badge/badge.component.ts","../../../../libs/xui/src/badge/badge.module.ts","../../../../libs/xui/src/utils/basic.ts","../../../../libs/xui/src/utils/delay.ts","../../../../libs/xui/src/utils/convert.ts","../../../../libs/xui/src/icon/icon.component.ts","../../../../libs/xui/src/banner/banner.component.ts","../../../../libs/xui/src/banner/banner.component.html","../../../../libs/xui/src/icon/icon.module.ts","../../../../libs/xui/src/banner/banner.module.ts","../../../../libs/xui/src/button/button-group.component.ts","../../../../libs/xui/src/button/button.component.ts","../../../../libs/xui/src/button/button.module.ts","../../../../libs/xui/src/card/card.component.ts","../../../../libs/xui/src/card/card.component.html","../../../../libs/xui/src/card/card-actions.directive.ts","../../../../libs/xui/src/card/card-title.directive.ts","../../../../libs/xui/src/card/card.module.ts","../../../../libs/xui/src/checkbox/checkbox.component.ts","../../../../libs/xui/src/checkbox/checkbox.module.ts","../../../../libs/xui/src/context-menu/context-menu.component.ts","../../../../libs/xui/src/context-menu/menu-trigger-for.directive.ts","../../../../libs/xui/src/context-menu/context-menu-trigger-for.directive.ts","../../../../libs/xui/src/context-menu/context-menu.module.ts","../../../../libs/xui/src/input/input.types.ts","../../../../libs/xui/src/input/input.component.ts","../../../../libs/xui/src/input/input.component.html","../../../../libs/xui/src/input/input-group.component.ts","../../../../libs/xui/src/input/input-addon.ts","../../../../libs/xui/src/input/input.module.ts","../../../../libs/xui/src/date-picker/date-picker.component.ts","../../../../libs/xui/src/date-picker/date-picker.component.html","../../../../libs/xui/src/date-picker/date-picker.module.ts","../../../../libs/xui/src/decagram/decagram.component.ts","../../../../libs/xui/src/decagram/decagram.module.ts","../../../../libs/xui/src/divider/divider.component.ts","../../../../libs/xui/src/divider/divider.module.ts","../../../../libs/xui/src/drawer/drawer.component.ts","../../../../libs/xui/src/drawer/drawer.component.html","../../../../libs/xui/src/drawer/drawer-item-template.directive.ts","../../../../libs/xui/src/drawer/drawer-header-template.directive.ts","../../../../libs/xui/src/drawer/drawer-footer-template.directive.ts","../../../../libs/xui/src/drawer/drawer.module.ts","../../../../libs/xui/src/image-upload/image-upload-cropper.ts","../../../../libs/xui/src/image-upload/image-upload.component.ts","../../../../libs/xui/src/image-upload/image-upload.component.html","../../../../libs/xui/src/image-upload/image-upload.module.ts","../../../../libs/xui/src/layout/sider.component.ts","../../../../libs/xui/src/layout/layout.component.ts","../../../../libs/xui/src/layout/header.component.ts","../../../../libs/xui/src/layout/content.component.ts","../../../../libs/xui/src/layout/footer.component.ts","../../../../libs/xui/src/layout/layout.module.ts","../../../../libs/xui/src/menu/menu.service.ts","../../../../libs/xui/src/menu/menu.component.ts","../../../../libs/xui/src/menu/menu.component.html","../../../../libs/xui/src/menu/submenu.service.ts","../../../../libs/xui/src/menu/submenu/submenu.component.ts","../../../../libs/xui/src/menu/submenu/submenu.component.html","../../../../libs/xui/src/menu/menu-group.component.ts","../../../../libs/xui/src/menu/menu-item.component.ts","../../../../libs/xui/src/menu/menu.module.ts","../../../../libs/xui/src/panelbar/panelbar.types.ts","../../../../libs/xui/src/panelbar/panelbar-item.component.ts","../../../../libs/xui/src/panelbar/panelbar-item.component.html","../../../../libs/xui/src/panelbar/panelbar.component.ts","../../../../libs/xui/src/panelbar/panelbar.component.html","../../../../libs/xui/src/panelbar/panelbar-item-template.directive.ts","../../../../libs/xui/src/panelbar/panelbar-item-title.directive.ts","../../../../libs/xui/src/panelbar/panelbar-item-content.directive.ts","../../../../libs/xui/src/panelbar/panelbar.module.ts","../../../../libs/xui/src/popover/popover.component.ts","../../../../libs/xui/src/popover/popover.component.html","../../../../libs/xui/src/popover/popover-trigger-for.directive.ts","../../../../libs/xui/src/popover/popover.module.ts","../../../../libs/xui/src/progress/progress.component.ts","../../../../libs/xui/src/progress/progress.component.html","../../../../libs/xui/src/progress/progress.module.ts","../../../../libs/xui/src/radio/radio.types.ts","../../../../libs/xui/src/radio/radio.component.ts","../../../../libs/xui/src/radio/radio-group.component.ts","../../../../libs/xui/src/radio/radio.module.ts","../../../../libs/xui/src/radio-list/radio-list.types.ts","../../../../libs/xui/src/radio-list/radio-option.component.ts","../../../../libs/xui/src/radio-list/radio-list.component.ts","../../../../libs/xui/src/radio-list/radio-list.module.ts","../../../../libs/xui/src/select/select.types.ts","../../../../libs/xui/src/select/option.component.ts","../../../../libs/xui/src/select/select.component.ts","../../../../libs/xui/src/select/select.component.html","../../../../libs/xui/src/select/select.module.ts","../../../../libs/xui/src/utils/animations.ts","../../../../libs/xui/src/settings/settings.component.ts","../../../../libs/xui/src/settings/settings.component.html","../../../../libs/xui/src/settings/settings.module.ts","../../../../libs/xui/src/tooltip/tooltip.component.ts","../../../../libs/xui/src/tooltip/tooltip.directive.ts","../../../../libs/xui/src/slider/slider.component.ts","../../../../libs/xui/src/slider/slider.component.html","../../../../libs/xui/src/tooltip/tooltip.module.ts","../../../../libs/xui/src/slider/slider.module.ts","../../../../libs/xui/src/snackbar/snack-bar-config.ts","../../../../libs/xui/src/snackbar/simple-snackbar.component.ts","../../../../libs/xui/src/snackbar/snackbar.module.ts","../../../../libs/xui/src/snackbar/snackbar.service.ts","../../../../libs/xui/src/spinner/spinner.component.ts","../../../../libs/xui/src/spinner/spinner.module.ts","../../../../libs/xui/src/status/status.component.ts","../../../../libs/xui/src/status/status.module.ts","../../../../libs/xui/src/switch/switch.component.ts","../../../../libs/xui/src/switch/switch.component.html","../../../../libs/xui/src/switch/switch.module.ts","../../../../libs/xui/src/tabs/tab.component.ts","../../../../libs/xui/src/tabs/tab-group.component.ts","../../../../libs/xui/src/tabs/tab.module.ts","../../../../libs/xui/src/textarea/textarea.component.ts","../../../../libs/xui/src/textarea/textarea.component.html","../../../../libs/xui/src/textarea/textarea.module.ts","../../../../libs/xui/src/time-picker/time-picker.types.ts","../../../../libs/xui/src/time-picker/time-picker.component.ts","../../../../libs/xui/src/time-picker/time-picker.component.html","../../../../libs/xui/src/time-picker/time-picker.module.ts","../../../../libs/xui/src/toggle/toggle.component.ts","../../../../libs/xui/src/toggle/toggle.module.ts","../../../../libs/xui/src/theming/theming.service.ts","../../../../libs/xui/src/xui.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { InputColor, InputSize } from '../input';\nimport { ButtonColor, ButtonSize, ButtonType } from '../button';\nimport { BadgeColor } from '../badge';\nimport { BannerType } from '../banner';\nimport { CheckboxColor } from '../checkbox/checkbox.types';\nimport { DatePickerColor, DatePickerSize } from '../date-picker';\n\nexport const BADGE_MODULE = 'badge';\nexport const BANNER_MODULE = 'banner';\nexport const BUTTON_MODULE = 'button';\nexport const CHECKBOX_MODULE = 'checkbox';\nexport const DATE_PICKER_MODULE = 'datePicker';\n\n// TODO: finish these\nexport const DECAGRAM_MODULE = 'decagram';\nexport const DIVIDER_MODULE = 'divider';\nexport const IMAGE_UPLOAD_MODULE = 'imageUpload';\nexport const INPUT_MODULE = 'input';\nexport const LAYOUT_MODULE = 'layout';\n// export const MENU_MODULE\n\nexport interface XuiConfig {\n  badge?: BadgeConfig;\n  banner?: BannerConfig;\n  button?: ButtonConfig;\n  input?: InputConfig;\n  checkbox?: CheckboxConfig;\n  datePicker?: DatePickerConfig;\n}\n\nexport interface BadgeConfig {\n  color?: BadgeColor;\n}\n\nexport interface BannerConfig {\n  type?: BannerType;\n  dismissible?: boolean;\n}\n\nexport interface ButtonConfig {\n  stateDelay?: number;\n\n  type?: ButtonType;\n  color?: ButtonColor;\n  size?: ButtonSize;\n}\n\nexport interface CheckboxConfig {\n  color?: CheckboxColor;\n  disabled?: boolean;\n}\n\nexport interface DatePickerConfig {\n  color?: DatePickerColor;\n  size?: DatePickerSize;\n}\n\nexport interface InputConfig {\n  color?: InputColor;\n  size?: InputSize;\n}\n\nexport const XUI_CONFIG = new InjectionToken<XuiConfig>('xui-config');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, mapTo } from 'rxjs/operators';\nimport { XuiConfig, XUI_CONFIG } from './config';\n\nexport type XuiConfigKey = keyof XuiConfig;\n\nconst isDefined = function (value?: any): boolean {\n  return value !== undefined;\n};\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class XuiConfigService {\n  private configUpdated$ = new Subject<XuiConfigKey>();\n  private readonly config: XuiConfig;\n\n  constructor(@Optional() @Inject(XUI_CONFIG) defaultConfig?: XuiConfig) {\n    this.config = defaultConfig ? JSON.parse(JSON.stringify(defaultConfig)) : {};\n  }\n\n  getConfigForComponent<T extends XuiConfigKey>(componentName: T): XuiConfig[T] {\n    return this.config[componentName];\n  }\n\n  getConfigChangeEventForComponent(componentName: XuiConfigKey): Observable<void> {\n    return this.configUpdated$.pipe(\n      filter(n => n === componentName),\n      mapTo(undefined)\n    );\n  }\n\n  set<T extends XuiConfigKey>(componentName: T, value: XuiConfig[T]): void {\n    this.config[componentName] = { ...this.config[componentName], ...value };\n    this.configUpdated$.next(componentName);\n  }\n}\n\nexport function WithConfig<T>() {\n  return function ConfigDecorator(target: any, propName: any, originalDescriptor?: TypedPropertyDescriptor<T>): any {\n    const privatePropName = `$$__assignedValue__${propName}`;\n\n    Object.defineProperty(target, privatePropName, {\n      configurable: true,\n      writable: true,\n      enumerable: false\n    });\n\n    return {\n      get(): T | undefined {\n        const originalValue = originalDescriptor?.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\n        const assignedByUser = ((this.assignmentCount || {})[propName] || 0) > 1;\n\n        if (assignedByUser && isDefined(originalValue)) {\n          return originalValue;\n        }\n\n        const componentConfig = this.configService.getConfigForComponent(this._moduleName) || {};\n        const configValue = componentConfig[propName];\n\n        return isDefined(configValue) ? configValue : originalValue;\n      },\n\n      set(value?: T): void {\n        // If the value is assigned, we consider the newly assigned value as 'assigned by user'.\n        this.assignmentCount = this.assignmentCount || {};\n        this.assignmentCount[propName] = (this.assignmentCount[propName] || 0) + 1;\n\n        if (originalDescriptor?.set) {\n          originalDescriptor.set.bind(this)(value!);\n        } else {\n          this[privatePropName] = value;\n        }\n      },\n      configurable: true,\n      enumerable: true\n    };\n  };\n}\n","import { Directive, Input } from '@angular/core';\nimport { InputColor, InputSize } from '../input/input.types';\nimport {\n  BADGE_MODULE,\n  BANNER_MODULE,\n  BUTTON_MODULE,\n  CHECKBOX_MODULE,\n  DATE_PICKER_MODULE,\n  INPUT_MODULE\n} from './config';\nimport { ButtonColor, ButtonSize, ButtonType } from '../button/button.types';\nimport { XuiConfigService } from './config.service';\nimport { BadgeColor } from '../badge';\nimport { BannerType } from '../banner';\nimport { CheckboxColor } from '../checkbox/checkbox.types';\nimport { DatePickerColor, DatePickerSize } from '../date-picker';\n\n@Directive({\n  selector: '[xuiConfigure]',\n  providers: [XuiConfigService]\n})\nexport class ConfigureDirective {\n  // Badge\n  @Input() set xuiBadgeColor(color: BadgeColor) {\n    this.configService.set(BADGE_MODULE, { color });\n  }\n\n  // Banner\n  @Input() set xuiBannerType(type: BannerType) {\n    this.configService.set(BANNER_MODULE, { type });\n  }\n\n  @Input() set xuiBannerDismissible(dismissible: boolean) {\n    this.configService.set(BANNER_MODULE, { dismissible });\n  }\n\n  // Button\n  @Input() set xuiButtonType(type: ButtonType) {\n    this.configService.set(BUTTON_MODULE, { type });\n  }\n\n  @Input() set xuiButtonColor(color: ButtonColor) {\n    this.configService.set(BUTTON_MODULE, { color });\n  }\n\n  @Input() set xuiButtonSize(size: ButtonSize) {\n    this.configService.set(BUTTON_MODULE, { size });\n  }\n\n  // Checkbox\n  @Input() set xuiCheckboxColor(color: CheckboxColor) {\n    this.configService.set(CHECKBOX_MODULE, { color });\n  }\n\n  @Input() set xuiCheckboxDisabled(disabled: boolean) {\n    this.configService.set(CHECKBOX_MODULE, { disabled });\n  }\n\n  // Date Picker\n  @Input() set xuiDatePickerColor(color: DatePickerColor) {\n    this.configService.set(DATE_PICKER_MODULE, { color });\n  }\n\n  @Input() set xuiDatePickerSize(size: DatePickerSize) {\n    this.configService.set(DATE_PICKER_MODULE, { size });\n  }\n\n  // TODO: implement these\n\n  // Input\n  @Input() set xuiInputColor(color: InputColor) {\n    this.configService.set(INPUT_MODULE, { color });\n  }\n\n  @Input() set xuiInputSize(size: InputSize) {\n    this.configService.set(INPUT_MODULE, { size });\n  }\n\n  constructor(private configService: XuiConfigService) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfigureDirective } from './configure.directive';\n\n@NgModule({\n  declarations: [ConfigureDirective],\n  exports: [ConfigureDirective],\n  imports: [CommonModule]\n})\nexport class XuiConfigModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BadgeColor } from './badge.types';\nimport { BADGE_MODULE, WithConfig, XuiConfigService } from '../config';\n\n@Component({\n  selector: 'xui-badge',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\"><ng-content></ng-content></div>`\n})\nexport class BadgeComponent {\n  private readonly _moduleName = BADGE_MODULE;\n\n  @Input() @WithConfig() color: BadgeColor = 'primary';\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-badge': true\n    };\n\n    ret[`x-badge-${this.color}`] = true;\n\n    return ret;\n  }\n\n  constructor(private configService: XuiConfigService) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n  declarations: [BadgeComponent],\n  imports: [CommonModule],\n  exports: [BadgeComponent]\n})\nexport class XuiBadgeModule {}\n","import { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nexport function parseCss(value: string | number) {\n  if (value == null) {\n    return '';\n  }\n\n  return typeof value === 'string' ? value : `${value}px`;\n}\n\nexport function inNextTick(): Promise<void> {\n  const timer = new Subject<void>();\n  Promise.resolve().then(() => timer.next());\n  return timer.pipe(take(1)).toPromise();\n}\n","export async function delay(ms: number) {\n  return new Promise(resolve => setTimeout(resolve, ms));\n}\n","import { coerceBooleanProperty, coerceCssPixelValue, _isNumberValue } from '@angular/cdk/coercion';\n\nexport function toBoolean(value: boolean | string): boolean {\n  return coerceBooleanProperty(value);\n}\n\nexport function toNumber(value: number | string): number;\nexport function toNumber<D>(value: number | string, fallback: D): number | D;\nexport function toNumber(value: number | string, fallbackValue: number = 0): number {\n  return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\nexport function toCssPixel(value: number | string): string {\n  return coerceCssPixelValue(value);\n}\n\nfunction propDecoratorFactory<T, D>(name: string, fallback: (v: T) => D): (target: any, propName: string) => void {\n  function propDecorator(target: any, propName: string, originalDescriptor?: TypedPropertyDescriptor<any>): any {\n    const privatePropName = `$$__${propName}`;\n\n    if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {\n      console.warn(`The prop \"${privatePropName}\" already exists and it will be overridden by ${name} decorator.`);\n    }\n\n    Object.defineProperty(target, privatePropName, {\n      configurable: true,\n      writable: true\n    });\n\n    return {\n      get(): string {\n        return originalDescriptor?.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\n      },\n      set(value: T): void {\n        if (originalDescriptor?.set) {\n          originalDescriptor.set.bind(this)(fallback(value));\n        }\n\n        this[privatePropName] = fallback(value);\n      }\n    };\n  }\n\n  return propDecorator;\n}\n\nexport function InputBoolean(): any {\n  return propDecoratorFactory('InputBoolean', toBoolean);\n}\n\nexport function InputCssPixel(): any {\n  return propDecoratorFactory('InputCssPixel', toCssPixel);\n}\n\nexport function InputNumber(fallbackValue?: any): any {\n  return propDecoratorFactory('InputNumber', (value: string | number) => toNumber(value, fallbackValue));\n}\n","import { Component, ElementRef, ViewChild } from '@angular/core';\n\n@Component({\n  selector: 'xui-icon',\n  // changeDetection: ChangeDetectionStrategy.OnPush, not working with checkbox\n  template: `<mat-icon [svgIcon]=\"icon\"></mat-icon>\n    <span style=\"display: none\" #iconName><ng-content></ng-content></span>`\n})\nexport class IconComponent {\n  @ViewChild('iconName', { static: true }) input!: ElementRef;\n\n  get icon() {\n    return this.input.nativeElement.innerHTML;\n  }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { InputBoolean } from '../utils';\nimport { BannerType } from './banner.types';\nimport { BANNER_MODULE, WithConfig, XuiConfigService } from '../config';\n\n@Component({\n  selector: 'xui-banner',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './banner.component.html'\n})\nexport class BannerComponent {\n  static ngAcceptInputType_dismissible: BooleanInput;\n  private readonly _moduleName = BANNER_MODULE;\n\n  @Input() @WithConfig() type: BannerType = 'info';\n  @Input() stamp!: string;\n  @Input() @InputBoolean() @WithConfig() dismissible = false;\n  @Output() bannerClose = new EventEmitter();\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-banner': true,\n      'x-banner-dismissible': this.dismissible\n    };\n    ret[`x-banner-${this.type}`] = true;\n\n    return ret;\n  }\n\n  constructor(private configService: XuiConfigService) {}\n\n  @HostListener('click')\n  dismiss() {\n    this.bannerClose.emit();\n  }\n}\n","<div [ngClass]=\"styles\">\n  <div *ngIf=\"stamp\" class=\"x-banner-stamp\">\n    {{ stamp }}\n  </div>\n  <ng-content></ng-content>\n  <xui-icon *ngIf=\"dismissible\" class=\"x-banner-close\">close-thick</xui-icon>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from './icon.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n  imports: [CommonModule, MatIconModule],\n  declarations: [IconComponent],\n  exports: [IconComponent]\n})\nexport class XuiIconModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BannerComponent } from './banner.component';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  imports: [CommonModule, XuiIconModule],\n  declarations: [BannerComponent],\n  exports: [BannerComponent]\n})\nexport class XuiBannerModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonColor, ButtonSize, ButtonType } from './button.types';\n\n@Component({\n  selector: 'xui-button-group',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class ButtonGroupComponent {\n  @Input() type?: ButtonType;\n  @Input() size?: ButtonSize;\n  @Input() color?: ButtonColor;\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Host,\n  HostListener,\n  Input,\n  Optional,\n  Output\n} from '@angular/core';\nimport { BUTTON_MODULE, WithConfig, XuiConfigService } from '../config';\nimport { delay, InputBoolean, InputNumber } from '../utils';\nimport { ButtonColor, ButtonSize, ButtonType } from './button.types';\nimport { ButtonGroupComponent } from './button-group.component';\n\n@Component({\n  selector: 'xui-button',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      [ngClass]=\"styles\"\n      [attr.disabled]=\"disabled || null\"\n      [tabindex]=\"disabled ? -1 : 0\"\n      (click)=\"_onAsync($event)\"\n    >\n      <div class=\"x-button-content\">\n        <ng-content></ng-content>\n      </div>\n      <div class=\"x-button-state-image\"></div>\n      <div class=\"x-button-shine\" *ngIf=\"shine && !disabled\">\n        <div class=\"x-button-shine-inner\">\n          <div class=\"x-button-shine-element\"></div>\n        </div>\n      </div>\n    </div>\n  `\n})\nexport class ButtonComponent {\n  static ngAcceptInputType_shine: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n  private readonly _moduleName = BUTTON_MODULE;\n\n  state: 0 | 1 | 2 | 3 = 0;\n\n  @Input() type?: ButtonType;\n  @Input() size?: ButtonSize;\n  @Input() color?: ButtonColor;\n  @Input() @InputBoolean() shine = false;\n  @Input() @InputBoolean() disabled = false;\n  @Input() onClick?: () => Promise<boolean>;\n  @Input() @InputNumber() @WithConfig() stateDelay = 5000;\n\n  // Used to emit event when user interacts with button with spacebar or enter\n  // eslint-disable-next-line @angular-eslint/no-output-native\n  @Output() readonly click = new EventEmitter<unknown>();\n\n  constructor(\n    // TODO: Anchor for popover; consider removing it and refactoring\n    public elementRef: ElementRef,\n    private configService: XuiConfigService,\n    @Optional() @Host() private group: ButtonGroupComponent,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  get styles() {\n    const config = this.configService.getConfigForComponent(BUTTON_MODULE);\n    const ret: { [klass: string]: boolean } = {\n      'x-button': true,\n      'x-button--non-idle': this.state != 0,\n      'x-button--loading': this.state == 1,\n      'x-button--succeeded': this.state == 2,\n      'x-button--failed': this.state === 3\n    };\n\n    ret[`x-button-${this.size ?? this.group?.size ?? config?.size ?? 'medium'}`] = true;\n    ret[`x-button-${this.type ?? this.group?.type ?? config?.type ?? 'normal'}`] = true;\n    ret[`x-button-${this.color ?? this.group?.color ?? config?.color ?? 'primary'}`] = true;\n\n    return ret;\n  }\n\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  async _onAsync(event?: MouseEvent | KeyboardEvent) {\n    event?.preventDefault();\n    event?.stopPropagation();\n\n    if (this.disabled) {\n      return;\n    }\n\n    this.click.emit(event);\n\n    if (!this.onClick) {\n      return;\n    }\n\n    this.state = 1;\n\n    try {\n      this.state = (await this.onClick()) ? 2 : 3;\n    } catch {\n      this.state = 2;\n    }\n\n    this.cdr.markForCheck();\n    await delay(5000);\n    this.state = 0;\n    this.cdr.markForCheck();\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { ButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [ButtonComponent, ButtonGroupComponent],\n  exports: [ButtonComponent, ButtonGroupComponent]\n})\nexport class XuiButtonModule {}\n","import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Portal, TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n  selector: 'xui-card',\n  templateUrl: 'card.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardComponent implements OnInit {\n  titleDirective?: TemplateRef<unknown>;\n  actionsDirective?: TemplateRef<unknown>;\n\n  titlePortal?: Portal<unknown>;\n  actionsPortal?: Portal<unknown>;\n\n  // @Input() loading!: boolean;\n\n  constructor(private viewContainerRef: ViewContainerRef) {}\n\n  ngOnInit() {\n    if (this.titleDirective) {\n      this.titlePortal = new TemplatePortal(this.titleDirective, this.viewContainerRef);\n    }\n\n    if (this.actionsDirective) {\n      this.actionsPortal = new TemplatePortal(this.actionsDirective, this.viewContainerRef);\n    }\n  }\n}\n","<div class=\"x-card-header\" *ngIf=\"titleDirective\">\n  <ng-template [cdkPortalOutlet]=\"titlePortal\"></ng-template>\n</div>\n\n<div class=\"x-card-content\">\n  <ng-content></ng-content>\n</div>\n\n<div class=\"x-card-actions\" *ngIf=\"actionsDirective\">\n  <ng-template [cdkPortalOutlet]=\"actionsPortal\"></ng-template>\n</div>\n","import { Directive, TemplateRef } from '@angular/core';\nimport { CardComponent } from './card.component';\n\n@Directive({\n  selector: '[xuiCardActions]',\n  exportAs: 'xuiCardActions'\n})\nexport class CardActionsDirective {\n  constructor(card: CardComponent, templateRef: TemplateRef<unknown>) {\n    card.actionsDirective = templateRef;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { CardComponent } from './card.component';\n\n@Directive({\n  selector: '[xuiCardTitle]',\n  exportAs: 'xuiCardTitle'\n})\nexport class CardTitleDirective {\n  constructor(card: CardComponent, templateRef: TemplateRef<unknown>) {\n    card.titleDirective = templateRef;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardComponent } from './card.component';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CardActionsDirective } from './card-actions.directive';\nimport { CardTitleDirective } from './card-title.directive';\n\n@NgModule({\n  imports: [CommonModule, PortalModule],\n  declarations: [CardComponent, CardActionsDirective, CardTitleDirective],\n  exports: [CardComponent, CardActionsDirective, CardTitleDirective]\n})\nexport class XuiCardModule {}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputBoolean } from '../utils';\nimport { CheckboxColor } from './checkbox.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { CHECKBOX_MODULE, WithConfig, XuiConfigService } from '../config';\n\n@Component({\n  selector: 'xui-checkbox',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: ` <div [ngClass]=\"styles\">\n    <div class=\"x-checkbox-box\" tabindex=\"0\" [class.x-checkbox-checked]=\"value\">\n      <svg\n        *ngIf=\"value\"\n        viewBox=\"0 0 24 24\"\n        height=\"100%\"\n        width=\"100%\"\n        preserveAspectRatio=\"xMidYMid meet\"\n        focusable=\"false\"\n      >\n        <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path>\n      </svg>\n    </div>\n    <ng-content></ng-content>\n  </div>`\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_value: BooleanInput;\n  private readonly _moduleName = CHECKBOX_MODULE;\n\n  private onChange?: (source: boolean) => void;\n  private onTouched?: () => void;\n  private _value = false;\n\n  @Input() @InputBoolean() @WithConfig() disabled = false;\n  @Input() @WithConfig() color: CheckboxColor = 'primary';\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-checkbox': true,\n      'x-checkbox-disabled': this.disabled\n    };\n\n    ret[`x-checkbox-${this.color}`] = true;\n    return ret;\n  }\n\n  @Input()\n  @InputBoolean()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n    }\n  }\n\n  constructor(\n    private configService: XuiConfigService,\n    private cdr: ChangeDetectorRef,\n    @Self() @Optional() public control?: NgControl\n  ) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  writeValue(source: boolean) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: boolean) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n\n  @HostListener('click')\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  private _click(event: KeyboardEvent) {\n    event?.preventDefault();\n\n    if (!this.disabled) {\n      this.value = !this.value;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n  declarations: [CheckboxComponent],\n  imports: [CommonModule],\n  exports: [CheckboxComponent]\n})\nexport class XuiCheckboxModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  HostListener,\n  Input,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef\n} from '@angular/core';\nimport { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ButtonComponent } from '../button';\nimport { first } from 'rxjs';\nimport { ContextMenuAnchor } from './context-menu.types';\n\n@Component({\n  selector: 'xui-context-menu',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template #templateRef>\n      <div class=\"x-context-menu\" cdkTrapFocus (click)=\"close()\">\n        <ng-content></ng-content>\n      </div>\n    </ng-template>\n  `\n})\nexport class ContextMenuComponent {\n  private overlayRef!: OverlayRef;\n\n  @Input() anchor!: ContextMenuAnchor;\n  @Output() afterClosed = new EventEmitter();\n\n  @ViewChild('templateRef', { static: true }) templateRef!: TemplateRef<unknown>;\n  @ContentChildren(ButtonComponent) buttons!: QueryList<ButtonComponent>;\n\n  constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n    const config: OverlayConfig = {\n      scrollStrategy: this.overlay.scrollStrategies.reposition(),\n      hasBackdrop: true,\n      backdropClass: 'x-context-menu-backdrop'\n    };\n\n    this.overlayRef = this.overlay.create(config);\n    this.overlayRef.backdropClick().subscribe(() => {\n      this.close();\n    });\n  }\n\n  open(anchor?: ContextMenuAnchor) {\n    this.overlayRef.updatePositionStrategy(this.calculatePositionStrategy(anchor ?? this.anchor));\n\n    const userProfilePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n    this.overlayRef.attach(userProfilePortal);\n\n    for (const btn of this.buttons) {\n      btn.click.pipe(first()).subscribe(() => this.close());\n    }\n  }\n\n  private calculatePositionStrategy(anchor: ContextMenuAnchor) {\n    return this.overlay\n      .position()\n      .flexibleConnectedTo((anchor as any)?.elementRef ?? anchor)\n      .withPositions([\n        new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' })\n      ])\n      .withPush(false);\n  }\n\n  @HostListener('document:keydown.esc')\n  close() {\n    this.overlayRef.detach();\n    this.afterClosed.emit();\n  }\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { ContextMenuComponent } from './context-menu.component';\n\n@Directive({\n  selector: '[xuiMenuTriggerFor]',\n  exportAs: 'xuiMenuTriggerFor'\n})\nexport class MenuTriggerForDirective {\n  @Input('xuiMenuTriggerFor') menu!: ContextMenuComponent;\n\n  constructor(private elementRef: ElementRef) {}\n\n  @HostListener('click')\n  private _click() {\n    this.menu.open(this.elementRef);\n  }\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { ContextMenuComponent } from './context-menu.component';\n\n@Directive({\n  selector: '[xuiContextMenuTriggerFor]',\n  exportAs: 'xuiContextMenuTriggerFor'\n})\nexport class ContextMenuTriggerForDirective {\n  @Input('xuiContextMenuTriggerFor') menu!: ContextMenuComponent;\n\n  constructor(private elementRef: ElementRef) {}\n\n  @HostListener('contextmenu', ['$event'])\n  private _click(event: MouseEvent) {\n    this.menu.open(this.elementRef);\n    event.preventDefault();\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContextMenuComponent } from './context-menu.component';\nimport { CdkMenuModule } from '@angular/cdk/menu';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { MenuTriggerForDirective } from './menu-trigger-for.directive';\nimport { ContextMenuTriggerForDirective } from './context-menu-trigger-for.directive';\n\n@NgModule({\n  declarations: [ContextMenuComponent, MenuTriggerForDirective, ContextMenuTriggerForDirective],\n  imports: [CommonModule, CdkMenuModule, A11yModule],\n  exports: [ContextMenuComponent, CdkMenuModule, MenuTriggerForDirective, ContextMenuTriggerForDirective]\n})\nexport class XuiContextMenuModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport type InputSize = 'large' | 'small';\nexport type InputColor = 'light' | 'dark';\nexport type InputType = 'text' | 'password' | 'color' | 'date' | 'email' | 'number';\n\nexport const INPUT_GROUP_ACCESSOR = new InjectionToken<InputGroupAccessor>('xui-input-group');\nexport interface InputGroupAccessor {\n  size?: InputSize;\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Inject,\n  Input,\n  OnInit,\n  Optional,\n  Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { InputBoolean } from '../utils';\nimport { INPUT_GROUP_ACCESSOR, InputColor, InputGroupAccessor, InputSize, InputType } from './input.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { INPUT_MODULE, WithConfig, XuiConfigService } from '../config';\n\n@Component({\n  selector: 'xui-input',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: 'input.component.html'\n})\nexport class InputComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_readOnly: BooleanInput;\n  private readonly _moduleName = INPUT_MODULE;\n\n  private onChange?: (source: string | null) => void;\n  private onTouched?: () => void;\n  private _value: string | null = null;\n\n  @Input() placeholder?: string;\n  @Input() @InputBoolean() disabled = false;\n  @Input() @InputBoolean() readOnly = false;\n  @Input() @WithConfig() color: InputColor = 'light';\n  @Input() @WithConfig() size: InputSize = 'large';\n  @Input() type: InputType = 'text';\n  @Input() dataList?: string[] | null;\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n      this.cdr.markForCheck();\n    }\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-input': true,\n      'x-input-error': this.showError\n    };\n\n    ret[`x-input-${this.color}`] = true;\n    ret[`x-input-${this.group?.size ?? this.size}`] = true;\n    return ret;\n  }\n\n  get errorMessage() {\n    const msg = this.control?.getError('message');\n    return this.translation.instant(msg);\n  }\n\n  constructor(\n    private configService: XuiConfigService,\n    private cdr: ChangeDetectorRef,\n    private translation: TranslateService,\n    @Inject(INPUT_GROUP_ACCESSOR) @Optional() private group: InputGroupAccessor,\n    @Self() @Optional() public control?: NgControl\n  ) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  get invalid(): boolean {\n    return !!this.control?.invalid;\n  }\n\n  get showError(): boolean {\n    if (!this.control) {\n      return false;\n    }\n\n    const { dirty, touched } = this.control;\n    return this.invalid ? (dirty ?? false) || (touched ?? false) : false;\n  }\n\n  writeValue(source: string) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: string | null) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n}\n","<div [ngClass]=\"styles\" [tabindex]=\"disabled ? -1 : 0\">\n  <ng-content select=\"[xuiPrefix]\"></ng-content>\n  <input\n    tabindex=\"-1\"\n    [disabled]=\"disabled\"\n    [readOnly]=\"readOnly\"\n    [type]=\"type\"\n    [placeholder]=\"placeholder ?? ''\"\n    [(ngModel)]=\"value\"\n    list=\"list\"\n  />\n  <ng-content select=\"[xuiPostfix]\"></ng-content>\n</div>\n\n<div class=\"x-input-error-text\" *ngIf=\"showError\">\n  <ng-container *ngIf=\"control?.hasError('message')\">{{ errorMessage }}</ng-container>\n  <ng-container *ngIf=\"control?.hasError('required')\">This field is required!</ng-container>\n  <ng-container *ngIf=\"control?.hasError('email')\">Email expected</ng-container>\n</div>\n\n<datalist id=\"list\" *ngIf=\"dataList\">\n  <option *ngFor=\"let item of dataList\" [value]=\"item\"></option>\n</datalist>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { INPUT_GROUP_ACCESSOR, InputGroupAccessor, InputSize } from './input.types';\n\n@Component({\n  selector: 'xui-input-group',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<div class=\"x-input-group\"><ng-content></ng-content></div>',\n  providers: [{ provide: INPUT_GROUP_ACCESSOR, useExisting: InputGroupComponent }]\n})\nexport class InputGroupComponent implements InputGroupAccessor {\n  @Input() size?: InputSize;\n\n  constructor() {}\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { InputColor } from './input.types';\n\n@Component({\n  selector: 'xui-input-addon',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<div [ngClass]=\"styles\"><ng-content></ng-content></div>'\n})\nexport class InputAddonComponent {\n  @Input() color: InputColor = 'dark';\n\n  get styles() {\n    return `x-input-addon x-input-addon-${this.color}`;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\nimport { InputGroupComponent } from './input-group.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { InputAddonComponent } from './input-addon';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, TranslateModule.forChild()],\n  declarations: [InputComponent, InputGroupComponent, InputAddonComponent],\n  exports: [InputComponent, InputGroupComponent, InputAddonComponent]\n})\nexport class XuiInputModule {}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self,\n  ViewChild\n} from '@angular/core';\nimport { DateTime } from 'luxon';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputBoolean } from '../utils';\nimport { InputComponent } from '../input';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { DatePickerColor, DatePickerSize } from './date-picker.types';\nimport { DATE_PICKER_MODULE, WithConfig, XuiConfigService } from '../config';\n\n@Component({\n  selector: 'xui-date-picker',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './date-picker.component.html'\n})\nexport class DatePickerComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_readOnly: BooleanInput;\n  private readonly _moduleName = DATE_PICKER_MODULE;\n\n  private onChange?: (source: string | null) => void;\n  private onTouched?: () => void;\n  private _value: DateTime | null = null;\n\n  focus!: DateTime;\n  indices = Array.from(Array(7 * 6)).map((x, i) => i);\n  isOpen = false;\n  isFocus = false;\n  mouseDown = false;\n\n  @Input() allowClear?: boolean; // TODO\n  @Input() disabledDate?: (current: DateTime) => boolean;\n  @Input() placeholder?: string;\n  @Input() @InputBoolean() disabled = false;\n  @Input() @InputBoolean() readOnly = false;\n  @Input() @WithConfig() color: DatePickerColor = 'light';\n  @Input() @WithConfig() size: DatePickerSize = 'large';\n\n  @ViewChild(InputComponent, { static: true }) input!: InputComponent;\n\n  @Input()\n  get value() {\n    return this._value?.toISODate() ?? null;\n  }\n\n  set value(v) {\n    if (!v) {\n      this._value = null;\n      this.input.value = null;\n      this.onChange?.(v);\n      this.cdr.markForCheck();\n\n      return;\n    }\n\n    const date = DateTime.fromISO(v).startOf('day');\n    if (this._value !== date) {\n      this._value = date;\n      this.focus = date;\n      this.input.value = date.setLocale('en-us').toLocaleString(DateTime.DATE_MED); // TODO: use globally defined locale\n      this.onChange?.(v);\n      this.cdr.markForCheck();\n    }\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-datepicker': true\n    };\n\n    ret[`x-datepicker-${this.color}`] = true;\n    ret[`x-datepicker-${this.size}`] = true;\n    return ret;\n  }\n\n  constructor(\n    private configService: XuiConfigService,\n    private cdr: ChangeDetectorRef,\n    @Self() @Optional() public control?: NgControl\n  ) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  getDay(index: number) {\n    return this.focus\n      .startOf('month')\n      .startOf('week')\n      .plus({ days: index - 1 });\n  }\n\n  isSelected(index: number) {\n    return this._value?.toISODate() === this.getDay(index).toISODate();\n  }\n\n  isOutsideOfMonth(index: number) {\n    const day = this.getDay(index);\n    return day < this.focus.startOf('month') || day > this.focus.endOf('month');\n  }\n\n  updateMonth(add: boolean) {\n    this.focus = this.focus.plus({ month: add ? 1 : -1 });\n  }\n\n  onClick(index: number) {\n    const day = this.getDay(index);\n    if (this.disabledDate?.(day)) {\n      return;\n    }\n\n    this.value = day.toISODate();\n    this.close();\n  }\n\n  writeValue(source: string) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: string | null) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  private _keyPress(event: KeyboardEvent) {\n    event?.preventDefault();\n    this.open();\n  }\n\n  isFocused(index: number) {\n    return this.focus.toISODate() === this.getDay(index).toISODate();\n  }\n\n  focusMove(days: number) {\n    const day = this.focus.plus({ days });\n    if (this.disabledDate?.(day)) {\n      return;\n    }\n\n    this.focus = day;\n  }\n\n  applyFocused() {\n    this.value = this.focus.toISODate();\n    this.close();\n  }\n\n  open() {\n    this.focus = this._value ?? DateTime.now().startOf('day');\n    this.isOpen = !this.readOnly && !this.disabled;\n  }\n\n  private close() {\n    this.isOpen = false;\n    this.isFocus = false;\n  }\n}\n","<div [ngClass]=\"styles\" [tabindex]=\"disabled ? -1 : 0\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n  <input\n    tabindex=\"-1\"\n    type=\"text\"\n    readonly\n    [disabled]=\"disabled\"\n    [placeholder]=\"placeholder ?? ''\"\n    [value]=\"value\"\n    (click)=\"open()\"\n  />\n  <xui-icon>calendar</xui-icon>\n</div>\n\n<ng-template\n  cdkConnectedOverlay\n  cdkConnectedOverlayHasBackdrop\n  [cdkConnectedOverlayBackdropClass]=\"'cdk-overlay-transparent'\"\n  [cdkConnectedOverlayOrigin]=\"trigger\"\n  [cdkConnectedOverlayOpen]=\"isOpen\"\n  (backdropClick)=\"isOpen = false\"\n>\n  <div class=\"x-datepicker-popup\" cdkTrapFocus>\n    <div class=\"x-datepicker-header\">\n      <div\n        class=\"x-datepicker-button\"\n        tabindex=\"0\"\n        (click)=\"updateMonth(false)\"\n        (keydown.enter)=\"updateMonth(false)\"\n        (keydown.space)=\"updateMonth(false)\"\n      >\n        <xui-icon>chevron-left</xui-icon>\n      </div>\n      {{ focus.toFormat('MMMM yyyy') }}\n      <div\n        class=\"x-datepicker-button\"\n        tabindex=\"0\"\n        (click)=\"updateMonth(true)\"\n        (keydown.enter)=\"updateMonth(true)\"\n        (keydown.space)=\"updateMonth(true)\"\n      >\n        <xui-icon>chevron-right</xui-icon>\n      </div>\n    </div>\n\n    <div class=\"x-datepicker-title\">\n      <div>SU</div>\n      <div>MO</div>\n      <div>TU</div>\n      <div>WE</div>\n      <div>TH</div>\n      <div>FR</div>\n      <div>SA</div>\n    </div>\n    <div\n      class=\"x-datepicker-calendar\"\n      tabindex=\"0\"\n      (mousedown)=\"mouseDown = true\"\n      (mouseup)=\"mouseDown = false\"\n      (keydown.enter)=\"applyFocused()\"\n      (keydown.space)=\"applyFocused()\"\n      (keydown.arrowUp)=\"focusMove(-7)\"\n      (keydown.arrowDown)=\"focusMove(7)\"\n      (keydown.arrowLeft)=\"focusMove(-1)\"\n      (keydown.arrowRight)=\"focusMove(1)\"\n      (focusin)=\"isFocus = !mouseDown\"\n      (focusout)=\"isFocus = false\"\n    >\n      <div\n        *ngFor=\"let index of indices\"\n        class=\"x-datepicker-day\"\n        [class.x-datepicker--outside]=\"isOutsideOfMonth(index)\"\n        [class.x-datepicker--disabled]=\"disabledDate?.(getDay(index))\"\n        [class.x-datepicker--selected]=\"isSelected(index)\"\n        [class.x-datepicker--focused]=\"isFocused(index) && isFocus\"\n        (click)=\"onClick(index)\"\n      >\n        {{ getDay(index).day }}\n      </div>\n    </div>\n  </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatePickerComponent } from './date-picker.component';\nimport { XuiIconModule } from '../icon';\nimport { XuiInputModule } from '../input';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n  declarations: [DatePickerComponent],\n  exports: [DatePickerComponent],\n  imports: [CommonModule, XuiIconModule, XuiInputModule, OverlayModule, A11yModule, ReactiveFormsModule]\n})\nexport class XuiDatePickerModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { InputNumber } from '../utils';\nimport { DecagramColor, DecagramType } from './decagram.types';\n\n@Component({\n  selector: 'xui-decagram',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <xui-icon [ngClass]=\"style\">{{ this.type }}</xui-icon>\n    <xui-icon [style.width.%]=\"iconSize\" [ngClass]=\"iconStyle\"><ng-content></ng-content></xui-icon>\n  `\n})\nexport class DecagramComponent {\n  @Input() @InputNumber() iconSize = 65;\n  @Input() type: DecagramType = 'decagram';\n  @Input() color: DecagramColor = 'primary';\n\n  get style() {\n    return `x-decagram-${this.color}`;\n  }\n\n  get iconStyle() {\n    const ret: { [klass: string]: boolean } = {\n      'x-decagram-icon': true\n    };\n\n    ret[`x-decagram-${this.type}`] = true;\n    return ret;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DecagramComponent } from './decagram.component';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  imports: [CommonModule, XuiIconModule],\n  declarations: [DecagramComponent],\n  exports: [DecagramComponent]\n})\nexport class XuiDecagramModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { InputNumber } from '../utils';\n\n@Component({\n  selector: 'xui-divider',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: ''\n})\nexport class DividerComponent {\n  @Input()\n  @InputNumber()\n  get marginTop() {\n    return this._marginTop;\n  }\n\n  set marginTop(value: number | undefined) {\n    this._marginTop = value;\n  }\n\n  @Input()\n  @InputNumber()\n  get marginBottom() {\n    return this._marginBottom;\n  }\n\n  set marginBottom(value: number | undefined) {\n    this._marginBottom = value;\n  }\n\n  @HostBinding('style.margin-top.px')\n  private _marginTop?: number;\n\n  @HostBinding('style.margin-bottom.px')\n  private _marginBottom?: number;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n  declarations: [DividerComponent],\n  exports: [DividerComponent],\n  imports: [CommonModule]\n})\nexport class XuiDividerModule {}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { DrawerItem, DrawerMode } from './drawer.types';\nimport { Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { InputBoolean } from '../utils';\n\n@Component({\n  selector: 'xui-drawer',\n  templateUrl: './drawer.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent {\n  itemTemplate?: TemplateRef<unknown>;\n  headerTemplate?: TemplateRef<unknown>;\n  footerTemplate?: TemplateRef<unknown>;\n\n  footerPortal?: Portal<unknown>;\n  headerPortal?: Portal<unknown>;\n\n  @Input() mode: DrawerMode = 'push';\n  @Input() @InputBoolean() expanded = true;\n  @Input() items!: DrawerItem[];\n\n  constructor(private viewContainerRef: ViewContainerRef) {}\n\n  ngOnInit() {\n    if (this.footerTemplate) {\n      this.footerPortal = new TemplatePortal(this.footerTemplate, this.viewContainerRef);\n    }\n\n    if (this.headerTemplate) {\n      this.headerPortal = new TemplatePortal(this.headerTemplate, this.viewContainerRef);\n    }\n  }\n\n  clickGroup(item: DrawerItem) {\n    if (item.children) {\n      for (const x of this.items) {\n        x.expanded = false;\n      }\n\n      item.expanded = true;\n    }\n  }\n}\n","<div class=\"x-drawer\" [class.x-drawer-expanded]=\"expanded\">\n  <div class=\"x-drawer-header\" *ngIf=\"headerTemplate\">\n    <ng-template [cdkPortalOutlet]=\"headerPortal\"></ng-template>\n    <div class=\"x-drawer-divider\"></div>\n  </div>\n\n  <!--  <div class=\"x-drawer-item x-drawer-group x-drawer-active\">-->\n  <!--    <xui-icon>menu</xui-icon>-->\n  <!--    Menu-->\n  <!--  </div>-->\n\n  <!--  <div class=\"x-drawer-item x-drawer-active\">-->\n  <!--    <xui-icon>menu</xui-icon>-->\n  <!--    Menu-->\n  <!--  </div>-->\n  <!--  <div class=\"x-drawer-item x-drawer-selected\">-->\n  <!--    <xui-icon>menu</xui-icon>-->\n  <!--    Menu-->\n  <!--  </div>-->\n\n  <!--  <div class=\"x-drawer-item x-drawer-group\">-->\n  <!--    <xui-icon>menu</xui-icon>-->\n  <!--    Menu-->\n  <!--  </div>-->\n\n  <!--  <div class=\"x-drawer-item x-drawer-group\">-->\n  <!--    <xui-icon>menu</xui-icon>-->\n  <!--    Menu-->\n  <!--  </div>-->\n\n  <ng-container *ngTemplateOutlet=\"menuRef; context: { items }\"></ng-container>\n\n  <ng-template #menuRef let-items=\"items\">\n    <ng-container *ngFor=\"let item of items\">\n      <div\n        class=\"x-drawer-item\"\n        [class.x-drawer-active]=\"item.children && item.expanded\"\n        [class.x-drawer-group]=\"item.children\"\n        (click)=\"clickGroup(item)\"\n      >\n        <xui-icon>{{ item.icon }}</xui-icon>\n        {{ item.label }}\n      </div>\n\n      <ng-container *ngTemplateOutlet=\"menuRef; context: { items: item.children }\"></ng-container>\n    </ng-container>\n  </ng-template>\n\n  <div class=\"x-drawer-footer\" *ngIf=\"footerTemplate\">\n    <div class=\"x-drawer-divider\"></div>\n    <ng-template [cdkPortalOutlet]=\"footerPortal\"></ng-template>\n  </div>\n</div>\n","import { Directive, TemplateRef } from '@angular/core';\nimport { DrawerComponent } from './drawer.component';\n\n@Directive({\n  selector: '[xuiDrawerItemTemplate]',\n  exportAs: 'xuiDrawerItemTemplate'\n})\nexport class DrawerItemTemplateDirective {\n  constructor(drawer: DrawerComponent, templateRef: TemplateRef<unknown>) {\n    drawer.itemTemplate = templateRef;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { DrawerComponent } from './drawer.component';\n\n@Directive({\n  selector: '[xuiDrawerHeaderTemplate]',\n  exportAs: 'xuiDrawerHeaderTemplate'\n})\nexport class DrawerHeaderTemplateDirective {\n  constructor(drawer: DrawerComponent, templateRef: TemplateRef<unknown>) {\n    drawer.headerTemplate = templateRef;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { DrawerComponent } from './drawer.component';\n\n@Directive({\n  selector: '[xuiDrawerFooterTemplate]',\n  exportAs: 'xuiDrawerFooterTemplate'\n})\nexport class DrawerFooterTemplateDirective {\n  constructor(drawer: DrawerComponent, templateRef: TemplateRef<unknown>) {\n    drawer.footerTemplate = templateRef;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrawerComponent } from './drawer.component';\nimport { DrawerItemTemplateDirective } from './drawer-item-template.directive';\nimport { DrawerHeaderTemplateDirective } from './drawer-header-template.directive';\nimport { DrawerFooterTemplateDirective } from './drawer-footer-template.directive';\nimport { XuiIconModule } from '../icon';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n  declarations: [\n    DrawerComponent,\n    DrawerItemTemplateDirective,\n    DrawerHeaderTemplateDirective,\n    DrawerFooterTemplateDirective\n  ],\n  imports: [CommonModule, PortalModule, XuiIconModule],\n  exports: [DrawerComponent, DrawerFooterTemplateDirective, DrawerHeaderTemplateDirective]\n})\nexport class XuiDrawerModule {}\n","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\n@Component({\n  selector: 'xui-image-upload-cropper',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"x-image-upload-cropper\">\n      <image-cropper\n        [imageChangedEvent]=\"data.imageChangedEvent\"\n        [maintainAspectRatio]=\"true\"\n        [aspectRatio]=\"data.aspectRatio\"\n        format=\"webp\"\n        [roundCropper]=\"data.type === 'round'\"\n        (imageCropped)=\"data.imageCropped($event)\"\n      ></image-cropper>\n    </div>\n    <div class=\"x-image-upload-cropper-actions\">\n      <xui-button type=\"raised\" (click)=\"data.save()\">{{ 'xui.image_upload.save' | translate }}</xui-button>\n    </div>\n  `\n})\nexport class ImageUploadCropperComponent {\n  constructor(@Inject(DIALOG_DATA) public data: any) {}\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self,\n  ViewChild\n} from '@angular/core';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\nimport { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputBoolean, InputNumber } from '../utils';\nimport { ImageUploadCropperComponent } from './image-upload-cropper';\nimport { ImageUploadType } from './image-upload.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-image-upload',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './image-upload.component.html'\n})\nexport class ImageUploadComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  private onChange?: (source: string | null) => void;\n  private onTouched?: () => void;\n  private _backgroundImage: string | null = null;\n  private dialogRef?: DialogRef<unknown, ImageUploadCropperComponent>;\n  private croppedImage: string | null = null;\n\n  @Input() hoverLabel = 'xui.image_upload.change_image';\n  @Input() type: ImageUploadType = 'square';\n  @Input() @InputNumber() aspectRatio = 1;\n  @Input() @InputBoolean() disabled = false;\n  @ViewChild('input') inputElm!: ElementRef;\n\n  get classes() {\n    const ret: { [klass: string]: boolean } = {\n      'x-image-upload': true,\n      'x-image-upload-disabled': this.disabled,\n      'x-image-upload-square': this.type === 'square'\n    };\n\n    return ret;\n  }\n\n  get styles() {\n    return {\n      'border-radius.%': this.borderRadius,\n      'aspect-ratio': this.aspectRatio,\n      'background-image': this.backgroundImage\n    };\n  }\n\n  get backgroundImage() {\n    return this._backgroundImage ? `url(${this._backgroundImage})` : null;\n  }\n\n  get borderRadius() {\n    return this.type === 'round' ? 50 : 4;\n  }\n\n  constructor(private cdr: ChangeDetectorRef, private dialog: Dialog, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  handleFileInput(event: unknown) {\n    this.dialogRef = this.dialog.open(ImageUploadCropperComponent, {\n      data: {\n        type: this.type,\n        aspectRatio: this.aspectRatio,\n        save: this.save,\n        imageChangedEvent: event,\n        imageCropped: this.imageCropped\n      }\n    });\n  }\n\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  private _keyPress(event: KeyboardEvent) {\n    event?.preventDefault();\n    this.inputElm.nativeElement.click();\n  }\n\n  imageCropped = (event: ImageCroppedEvent) => {\n    this.croppedImage = event.base64 ?? null;\n  };\n\n  save = () => {\n    this.onChange?.(this.croppedImage);\n    this._backgroundImage = this.croppedImage;\n    this.dialogRef?.close();\n    this.cdr.markForCheck();\n  };\n\n  writeValue(source: string) {\n    this.croppedImage = source;\n    this._backgroundImage = source;\n  }\n\n  registerOnChange(onChange: (source: string | null) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n}\n","<div [ngClass]=\"classes\" [ngStyle]=\"styles\" tabindex=\"0\">\n  <input #input type=\"file\" [disabled]=\"disabled\" (change)=\"handleFileInput($event)\" accept=\"image/*\" tabindex=\"-1\" />\n  <div class=\"x-image-upload-hover\" [style.border-radius.%]=\"borderRadius\">{{ hoverLabel | translate }}</div>\n  <div *ngIf=\"!backgroundImage\" class=\"x-image-upload-no-image\">{{ 'xui.image_upload.no_image' | translate }}</div>\n\n  <div class=\"x-image-upload-icon\">\n    <xui-icon>image-plus-outline</xui-icon>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageUploadComponent } from './image-upload.component';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { XuiIconModule } from '../icon';\nimport { XuiButtonModule } from '../button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ImageUploadCropperComponent } from './image-upload-cropper';\n\n@NgModule({\n  declarations: [ImageUploadComponent, ImageUploadCropperComponent],\n  imports: [CommonModule, ImageCropperModule, DialogModule, XuiIconModule, XuiButtonModule, TranslateModule.forChild()],\n  exports: [ImageUploadComponent]\n})\nexport class XuiImageUploadModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnInit,\n  ViewEncapsulation\n} from '@angular/core';\nimport { parseCss } from '../utils';\n\n@Component({\n  selector: 'xui-sider',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class SiderComponent implements OnInit, OnChanges {\n  @HostBinding('style.width')\n  private _width: string | null = null;\n\n  @Input() width: string | number = 'inherit';\n\n  ngOnInit() {\n    this.updateStyles();\n  }\n\n  ngOnChanges() {\n    this.updateStyles();\n  }\n\n  private updateStyles() {\n    this._width = parseCss(this.width);\n  }\n}\n","import { ChangeDetectionStrategy, Component, ContentChildren, HostBinding, QueryList } from '@angular/core';\nimport { SiderComponent } from './sider.component';\n\n@Component({\n  selector: 'xui-layout',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class LayoutComponent {\n  @ContentChildren(SiderComponent) set siders(value: QueryList<SiderComponent>) {\n    this.hasSider = value.length > 0;\n  }\n\n  @HostBinding('class.x-layout-sider') hasSider = false;\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'xui-header',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class HeaderComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'xui-content',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class ContentComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'xui-footer',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-content></ng-content>'\n})\nexport class FooterComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutComponent } from './layout.component';\nimport { HeaderComponent } from './header.component';\nimport { SiderComponent } from './sider.component';\nimport { ContentComponent } from './content.component';\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [LayoutComponent, HeaderComponent, SiderComponent, ContentComponent, FooterComponent],\n  exports: [LayoutComponent, HeaderComponent, SiderComponent, ContentComponent, FooterComponent]\n})\nexport class XuiLayoutModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { XuiMenuType } from './menu.types';\n\n@Injectable()\nexport class MenuService {\n  _inlineIndent$ = new BehaviorSubject<number>(24);\n  _mode$ = new BehaviorSubject<XuiMenuType>('default');\n\n  get inlineIndent$() {\n    return this._inlineIndent$.asObservable();\n  }\n\n  get mode$() {\n    return this._mode$.asObservable();\n  }\n\n  setMode(mode: XuiMenuType) {\n    this._mode$.next(mode);\n  }\n\n  setInlineIndent(indent: number) {\n    this._inlineIndent$.next(indent);\n  }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { MenuService } from './menu.service';\nimport { XuiMenuType } from './menu.types';\n\n@Component({\n  selector: 'xui-menu',\n  providers: [MenuService],\n  templateUrl: './menu.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MenuComponent implements OnChanges {\n  @Input() inlineIndent = 24;\n  @Input() mode: XuiMenuType = 'default';\n\n  constructor(private menuService: MenuService) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    const { inlineIndent, mode } = changes;\n\n    if (inlineIndent) {\n      this.menuService.setInlineIndent(this.inlineIndent);\n    }\n\n    if (mode) {\n      this.menuService.setMode(this.mode);\n    }\n  }\n}\n","<ng-content></ng-content>\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\n\n@Injectable()\nexport class SubmenuService {\n  level = 1;\n\n  constructor(@SkipSelf() @Optional() submenuService: SubmenuService) {\n    this.level = (submenuService?.level ?? 0) + 1;\n  }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SubmenuService } from '../submenu.service';\nimport { InputBoolean } from '../../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-submenu',\n  providers: [SubmenuService],\n  templateUrl: './submenu.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n  // host: {\n  // '[style.paddingLeft.px]': 'paddingLeft'\n  // }\n})\nexport class SubMenuComponent {\n  static ngAcceptInputType_open: BooleanInput;\n\n  @Input() title!: string;\n  @Input() icon!: string;\n  @Input() @InputBoolean() open = false;\n  @Output() readonly openChange: EventEmitter<boolean> = new EventEmitter();\n\n  paddingLeft = this.submenuService.level * 24;\n\n  constructor(private submenuService: SubmenuService) {}\n\n  toggleSubmenu() {\n    this.open = !this.open;\n    this.openChange.emit();\n  }\n}\n","<div class=\"x-submenu-entry x-menu-hover\" [style.paddingLeft.px]=\"paddingLeft\" (click)=\"toggleSubmenu()\">\n  <div class=\"x-submenu-title x-menu-item\">\n    <ng-container *ngIf=\"icon\">\n      <xui-icon>{{ icon }}</xui-icon>\n    </ng-container>\n    {{ title }}\n  </div>\n\n  <xui-icon>{{ this.open ? 'chevron-down' : 'chevron-up' }}</xui-icon>\n</div>\n<ng-content *ngIf=\"this.open\"></ng-content>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, Optional } from '@angular/core';\nimport { MenuService } from './menu.service';\nimport { SubmenuService } from './submenu.service';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { combineLatest } from 'rxjs';\n\n@UntilDestroy()\n@Component({\n  selector: 'xui-menu-group',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div class=\"x-menu-group-title\" [style.paddingLeft.px]=\"paddingLeft\">\n      {{ title }}\n    </div>\n    <ng-content></ng-content>`\n})\nexport class MenuGroupComponent implements OnInit {\n  @Input() title!: string;\n  paddingLeft: number | null = null;\n  private level = (this.submenuService?.level ?? 0) + 0.5;\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private menuService: MenuService,\n    @Optional() private submenuService: SubmenuService\n  ) {}\n\n  ngOnInit() {\n    combineLatest([this.menuService.mode$, this.menuService.inlineIndent$])\n      .pipe(untilDestroyed(this))\n      .subscribe(([mode, inlineIndent]) => {\n        this.paddingLeft = mode === 'default' ? this.level * inlineIndent : null;\n        this.cdr.markForCheck();\n      });\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  Optional\n} from '@angular/core';\nimport { SubmenuService } from './submenu.service';\nimport { MenuService } from './menu.service';\nimport { combineLatest, filter, map } from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { InputBoolean } from '../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@UntilDestroy()\n@Component({\n  selector: 'xui-menu-item',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *ngIf=\"icon\">\n      <xui-icon>{{ icon }}</xui-icon>\n    </ng-container>\n    <ng-content *ngIf=\"showLabel$ | async\"></ng-content>\n  `,\n  host: {\n    class: 'x-menu-item x-menu-hover',\n    '[style.paddingLeft.px]': 'paddingLeft',\n    '(click)': 'clickMenuItem($event)'\n  }\n})\nexport class MenuItemComponent implements OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input() icon!: string;\n  @Input() link!: string;\n  @Input() @InputBoolean() disabled = false;\n\n  @HostBinding('class.x-menu-item-selected') selected = false;\n\n  get showLabel$() {\n    return this.menuService.mode$.pipe(map(x => x === 'default'));\n  }\n\n  private level = (this.submenuService?.level ?? 0) + 1;\n  paddingLeft: number | null = null;\n\n  constructor(\n    private router: Router,\n    private cdr: ChangeDetectorRef,\n    private menuService: MenuService,\n    @Optional() private submenuService: SubmenuService\n  ) {}\n\n  ngOnInit() {\n    combineLatest([this.menuService.mode$, this.menuService.inlineIndent$])\n      .pipe(untilDestroyed(this))\n      .subscribe(([mode, inlineIndent]) => {\n        this.paddingLeft = mode === 'default' ? this.level * inlineIndent : null;\n        this.cdr.markForCheck();\n      });\n\n    this.router.events\n      .pipe(\n        untilDestroyed(this),\n        filter(x => x instanceof NavigationEnd),\n        map(x => (x as NavigationEnd).url === this.link)\n      )\n      .subscribe(selected => (this.selected = selected));\n  }\n\n  clickMenuItem(e: MouseEvent) {\n    if (this.disabled) {\n      e.preventDefault();\n      e.stopPropagation();\n    } else {\n      // Do stuff\n      this.router.navigateByUrl(this.link);\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuComponent } from './menu.component';\nimport { SubMenuComponent } from './submenu/submenu.component';\nimport { MenuGroupComponent } from './menu-group.component';\nimport { MenuItemComponent } from './menu-item.component';\nimport { RouterModule } from '@angular/router';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  imports: [CommonModule, RouterModule, XuiIconModule],\n  declarations: [MenuComponent, SubMenuComponent, MenuGroupComponent, MenuItemComponent],\n  exports: [MenuComponent, SubMenuComponent, MenuGroupComponent, MenuItemComponent]\n})\nexport class XuiMenuModule {}\n","import { InjectionToken, TemplateRef } from '@angular/core';\n\nexport interface PanelBarItem {\n  title: string;\n  content?: any;\n  // disabled?: boolean;\n  // expanded: boolean;\n  // focused: boolean;\n  // hidden?: boolean;\n\n  icon?: string;\n  iconClass?: string;\n\n  // id: string; // probably ARIA?\n  // selected: boolean;\n\n  children?: PanelBarItem[];\n}\n\nexport const PANEL_BAR_ACCESSOR = new InjectionToken<PanelBarAccessor>('xui-panelbar');\nexport interface PanelBarAccessor {\n  itemTemplate?: TemplateRef<unknown>;\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  OnInit,\n  Optional,\n  SkipSelf,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef\n} from '@angular/core';\nimport { Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { PANEL_BAR_ACCESSOR, PanelBarAccessor, PanelBarItem } from './panelbar.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-panelbar-item',\n  templateUrl: './panelbar-item.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PanelBarItemComponent implements OnInit {\n  static ngAcceptInputType_expanded: BooleanInput;\n  contentPortal?: Portal<unknown>;\n  titlePortal?: Portal<unknown>;\n\n  contentDirective?: TemplateRef<unknown>;\n  titleDirective?: TemplateRef<unknown>;\n\n  @Input() title!: string;\n  @Input() content: any;\n  @Input() icon?: string;\n  @Input() iconClass?: string;\n  @Input() expanded = false;\n\n  @Input() _children?: PanelBarItem[];\n\n  @ViewChild('contentTemplate', { static: true }) contentTemplate!: TemplateRef<unknown>;\n  @ViewChild('titleTemplate', { static: true }) titleTemplate!: TemplateRef<unknown>;\n  @ViewChild('contentRef', { static: true }) contentRef!: ElementRef;\n\n  get offset(): number {\n    return this.parentItem ? this.parentItem.offset + 1 : 0;\n  }\n\n  get paddingLeft() {\n    return 8 + this.offset * 24;\n  }\n\n  get hasContent() {\n    return this.content ?? this._children ?? this.contentDirective ?? this.contentRef.nativeElement.children.length;\n  }\n\n  constructor(\n    @Inject(PANEL_BAR_ACCESSOR) private panelBar: PanelBarAccessor,\n    private viewContainerRef: ViewContainerRef,\n    @Optional() @SkipSelf() private parentItem: PanelBarItemComponent\n  ) {}\n\n  ngOnInit() {\n    const content = this.contentDirective ?? this.panelBar.itemTemplate ?? this.contentTemplate;\n    this.contentPortal = new TemplatePortal(content, this.viewContainerRef, {\n      $implicit: <PanelBarItem>{\n        title: this.title,\n        content: this.content\n      }\n    });\n\n    const title = this.titleDirective ?? this.titleTemplate;\n    this.titlePortal = new TemplatePortal(title, this.viewContainerRef, {\n      $implicit: <PanelBarItem>{\n        title: this.title,\n        content: this.content\n      }\n    });\n  }\n\n  clickItem() {\n    if (this.hasContent) {\n      this.expanded = !this.expanded;\n      // TODO; emit event\n    } else {\n      // TODO: emit click event?\n    }\n  }\n}\n","<div class=\"x-panelbar-item\">\n  <div (click)=\"clickItem()\" class=\"x-panelbar-item-title\" [style.padding-left.px]=\"paddingLeft\">\n    <ng-template [cdkPortalOutlet]=\"titlePortal\"></ng-template>\n    <div class=\"x-panelbar-item-spacer\"></div>\n    <xui-icon class=\"x-panelbar-item-chevron\" *ngIf=\"hasContent\">{{\n      expanded ? 'chevron-down' : 'chevron-up'\n    }}</xui-icon>\n  </div>\n\n  <div [style.display]=\"expanded ? 'block' : 'none'\" #contentRef>\n    <ng-container *ngIf=\"contentDirective || content\">\n      <ng-template [cdkPortalOutlet]=\"contentPortal\"></ng-template>\n    </ng-container>\n    <ng-content select=\"xui-panelbar-item\"></ng-content>\n\n    <xui-panelbar-item *ngFor=\"let child of _children\" [title]=\"child.title\" [_children]=\"child.children\">\n    </xui-panelbar-item>\n  </div>\n</div>\n\n<ng-template #contentTemplate>\n  <div class=\"x-panelbar-item-content\" [style.padding-left.px]=\"paddingLeft\">\n    {{ content }}\n  </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n  <xui-icon [class]=\"iconClass\" *ngIf=\"icon\">{{ icon }}</xui-icon>\n  {{ title }}\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef } from '@angular/core';\nimport { PANEL_BAR_ACCESSOR, PanelBarAccessor, PanelBarItem } from './panelbar.types';\n\n@Component({\n  selector: 'xui-panelbar',\n  templateUrl: './panelbar.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: PANEL_BAR_ACCESSOR, useExisting: PanelBarComponent }]\n})\nexport class PanelBarComponent implements PanelBarAccessor {\n  itemTemplate?: TemplateRef<unknown>;\n\n  @Input() items?: PanelBarItem[];\n}\n","<div class=\"x-panelbar\">\n  <!--  <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { items }\"></ng-container>-->\n\n  <xui-panelbar-item\n    *ngFor=\"let item of items\"\n    [title]=\"item.title\"\n    [content]=\"item.content\"\n    [icon]=\"item.icon\"\n    [iconClass]=\"item.iconClass\"\n    [_children]=\"item.children\"\n  >\n  </xui-panelbar-item>\n  <ng-content select=\"xui-panelbar-item\"></ng-content>\n</div>\n\n<!--<ng-template #itemsTemplate let-data=\"items\">-->\n<!--  <xui-panelbar-item-->\n<!--    #itemRef-->\n<!--    *ngFor=\"let item of data\"-->\n<!--    [title]=\"item.title\"-->\n<!--    [content]=\"item.content\"-->\n<!--    [icon]=\"item.icon\"-->\n<!--    [iconClass]=\"item.iconClass\"-->\n<!--  >-->\n<!--        <ng-template-->\n<!--          ngProjectAs=\"xui-panelbar-item\"-->\n<!--          [ngTemplateOutlet]=\"itemsTemplate\"-->\n<!--          [ngTemplateOutletContext]=\"{ items: item.children }\"-->\n<!--          [ngTemplateOutletInjector]=\"itemRef._injector\"-->\n<!--        ></ng-template>-->\n<!--  </xui-panelbar-item>-->\n<!--</ng-template>-->\n","import { Directive, Inject, TemplateRef } from '@angular/core';\nimport { PANEL_BAR_ACCESSOR, PanelBarAccessor } from './panelbar.types';\n\n@Directive({\n  selector: '[xuiPanelBarItemTemplate]',\n  exportAs: 'xuiPanelBarItemTemplate'\n})\nexport class PanelBarItemTemplateDirective {\n  constructor(@Inject(PANEL_BAR_ACCESSOR) panelBar: PanelBarAccessor, templateRef: TemplateRef<unknown>) {\n    panelBar.itemTemplate = templateRef;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { PanelBarItemComponent } from './panelbar-item.component';\n\n@Directive({\n  selector: '[xuiPanelBarItemTitle]',\n  exportAs: 'xuiPanelBarItemTitle'\n})\nexport class PanelBarItemTitleDirective {\n  constructor(panelBarItem: PanelBarItemComponent, templateRef: TemplateRef<unknown>) {\n    panelBarItem.titleDirective = templateRef;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { PanelBarItemComponent } from './panelbar-item.component';\n\n@Directive({\n  selector: '[xuiPanelBarItemContent]',\n  exportAs: 'xuiPanelBarItemContent'\n})\nexport class PanelBarItemContentDirective {\n  constructor(panelBarItem: PanelBarItemComponent, templateRef: TemplateRef<unknown>) {\n    panelBarItem.contentDirective = templateRef;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PanelBarComponent } from './panelbar.component';\nimport { PanelBarItemComponent } from './panelbar-item.component';\nimport { PanelBarItemTemplateDirective } from './panelbar-item-template.directive';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { PanelBarItemTitleDirective } from './panelbar-item-title.directive';\nimport { PanelBarItemContentDirective } from './panelbar-item-content.directive';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  declarations: [\n    PanelBarComponent,\n    PanelBarItemComponent,\n    PanelBarItemTemplateDirective,\n    PanelBarItemTitleDirective,\n    PanelBarItemContentDirective\n  ],\n  exports: [\n    PanelBarComponent,\n    PanelBarItemComponent,\n    PanelBarItemTemplateDirective,\n    PanelBarItemContentDirective,\n    PanelBarItemTitleDirective\n  ],\n  imports: [CommonModule, PortalModule, XuiIconModule]\n})\nexport class XuiPanelBarModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostListener,\n  Input,\n  Output,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef\n} from '@angular/core';\nimport { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { PopoverAnchor, PopoverPosition } from './popover.types';\n\n@Component({\n  selector: 'xui-popover',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './popover.component.html'\n})\nexport class PopoverComponent {\n  private overlayRef!: OverlayRef;\n\n  @Input() anchor!: PopoverAnchor;\n  @Input() position: PopoverPosition = 'right';\n\n  @Output() afterClosed = new EventEmitter();\n  @ViewChild('popoverTemplate', { static: true }) popoverTemplate!: TemplateRef<unknown>;\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-popover': true\n    };\n\n    ret[`x-popover-${this.position}`] = true;\n    return ret;\n  }\n\n  constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n    const config: OverlayConfig = {\n      scrollStrategy: this.overlay.scrollStrategies.reposition(),\n      hasBackdrop: true,\n      backdropClass: 'x-popover-backdrop'\n    };\n\n    this.overlayRef = this.overlay.create(config);\n    this.overlayRef.backdropClick().subscribe(() => {\n      this.close();\n    });\n  }\n\n  open(anchor?: PopoverAnchor) {\n    this.overlayRef.updatePositionStrategy(this.calculatePositionStrategy(anchor ?? this.anchor));\n\n    const userProfilePortal = new TemplatePortal(this.popoverTemplate, this.viewContainerRef);\n    this.overlayRef.attach(userProfilePortal);\n  }\n\n  @HostListener('document:keydown.esc')\n  close() {\n    this.overlayRef.detach();\n    this.afterClosed.emit();\n  }\n\n  private calculatePositionStrategy(anchor: PopoverAnchor) {\n    return this.overlay\n      .position()\n      .flexibleConnectedTo((anchor as any)?.elementRef ?? anchor)\n      .withPositions([this.getPositionStrategy()])\n      .withPush(false);\n  }\n\n  private getPositionStrategy(): ConnectionPositionPair {\n    switch (this.position) {\n      case 'right':\n        return new ConnectionPositionPair(\n          { originX: 'end', originY: 'center' },\n          { overlayX: 'start', overlayY: 'top' }\n        );\n      case 'left':\n        return new ConnectionPositionPair(\n          { originX: 'start', originY: 'center' },\n          { overlayX: 'end', overlayY: 'top' }\n        );\n      case 'top':\n        return new ConnectionPositionPair(\n          { originX: 'center', originY: 'top' },\n          { overlayX: 'center', overlayY: 'bottom' }\n        );\n      case 'bottom':\n        return new ConnectionPositionPair(\n          { originX: 'center', originY: 'bottom' },\n          { overlayX: 'center', overlayY: 'top' }\n        );\n    }\n  }\n}\n","<ng-template #popoverTemplate>\n  <div [ngClass]=\"styles\" cdkTrapFocus>\n    <div class=\"x-popover-arrow\"></div>\n    <div class=\"x-popover-content\">\n      <ng-content></ng-content>\n    </div>\n  </div>\n</ng-template>\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n  selector: '[xuiPopoverTriggerFor]',\n  exportAs: 'xuiPopoverTriggerFor'\n})\nexport class PopoverTriggerForDirective {\n  @Input('xuiPopoverTriggerFor') popover!: PopoverComponent;\n\n  constructor(private elementRef: ElementRef) {}\n\n  @HostListener('click')\n  private _click() {\n    this.popover.open(this.elementRef);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverComponent } from './popover.component';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PopoverTriggerForDirective } from './popover-trigger-for.directive';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@NgModule({\n  declarations: [PopoverComponent, PopoverTriggerForDirective],\n  exports: [PopoverComponent, PopoverTriggerForDirective],\n  imports: [CommonModule, OverlayModule, A11yModule]\n})\nexport class XuiPopoverModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { InputNumber } from '../utils';\nimport { ProgressColor, ProgressStatus, ProgressType } from './progress.types';\n\n@Component({\n  selector: 'xui-progress',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './progress.component.html'\n})\nexport class ProgressComponent {\n  @Input() @InputNumber() progress!: number;\n  @Input() type: ProgressType = 'line';\n  @Input() color: ProgressColor = 'primary';\n  @Input() status: ProgressStatus = null;\n\n  get style() {\n    const ret: { [klass: string]: boolean } = {\n      'x-progress-indicator-status': true\n    };\n\n    ret[`x-progress-${this.getColor()}`] = true;\n    return ret;\n  }\n\n  getIndicator() {\n    if (this.status === 'error') {\n      return -1;\n    }\n\n    if (this.progress === 100) {\n      return 1;\n    }\n\n    return 0;\n  }\n\n  private getColor() {\n    if (this.status === 'error') {\n      return 'error';\n    }\n\n    if (this.progress === 100) {\n      return 'success';\n    }\n\n    return this.color;\n  }\n}\n","<div class=\"x-progress\">\n  <ng-container *ngIf=\"type === 'line'\">\n    <div class=\"x-progress-indicator\">\n      <div [ngClass]=\"style\" [style.width.%]=\"progress\"></div>\n    </div>\n\n    <ng-container [ngSwitch]=\"getIndicator()\">\n      <ng-container *ngSwitchCase=\"1\">\n        <xui-decagram color=\"success\" type=\"circle\">check-bold</xui-decagram>\n      </ng-container>\n      <ng-container *ngSwitchCase=\"0\"> {{ progress }}% </ng-container>\n      <ng-container *ngSwitchCase=\"-1\">\n        <xui-decagram color=\"error\" type=\"circle\">close-thick</xui-decagram>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n\n  <ng-container *ngIf=\"type === 'circle'\">\n    <div class=\"x-progress-indicator\">\n      <div [ngClass]=\"style\" [style.width.%]=\"progress\"></div>\n    </div>\n  </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProgressComponent } from './progress.component';\nimport { XuiDecagramModule } from '../decagram';\n\n@NgModule({\n  declarations: [ProgressComponent],\n  imports: [CommonModule, XuiDecagramModule],\n  exports: [ProgressComponent]\n})\nexport class XuiProgressModule {}\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport type RadioValue = string | number | null;\nexport type RadioColor = 'primary' | 'primary-alt' | 'secondary' | 'success' | 'warning' | 'error' | 'info' | 'none';\n\nexport interface RadioItem {\n  label: string;\n  value: RadioValue;\n}\n\n// This is needed to break the injection dependency between parent <-> child elements\nexport const RADIO_GROUP_ACCESSOR = new InjectionToken<RadioGroupAccessor>('xui-radio-group');\nexport interface RadioGroupAccessor {\n  color: RadioColor;\n  value: RadioValue;\n  disabled: boolean;\n  onChange$: Observable<unknown>;\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Inject,\n  Input,\n  OnInit\n} from '@angular/core';\nimport { RADIO_GROUP_ACCESSOR, RadioColor, RadioGroupAccessor, RadioValue } from './radio.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { InputBoolean } from '../utils';\n\n@Component({\n  selector: 'xui-radio',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\">\n    <xui-icon>{{ selected ? 'radiobox-marked' : 'radiobox-blank' }}</xui-icon>\n    <ng-content></ng-content>\n  </div>`\n})\nexport class RadioComponent implements OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input() @InputBoolean() disabled = false;\n  @Input() value: RadioValue = null;\n  @Input() color?: RadioColor;\n\n  get selected() {\n    return this.group.value === this.value;\n  }\n\n  get isDisabled() {\n    return this.disabled || this.group.disabled;\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-radio': true,\n      'x-radio-disabled': this.isDisabled\n    };\n\n    ret[`x-radio-${this.color ?? this.group.color}`] = true;\n    return ret;\n  }\n\n  constructor(@Inject(RADIO_GROUP_ACCESSOR) private group: RadioGroupAccessor, private cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    this.group.onChange$.subscribe(() => this.cdr.markForCheck());\n  }\n\n  @HostListener('click')\n  private _click() {\n    if (!this.isDisabled) {\n      this.group.value = this.value;\n    }\n  }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, Self } from '@angular/core';\nimport { RADIO_GROUP_ACCESSOR, RadioColor, RadioGroupAccessor, RadioItem, RadioValue } from './radio.types';\nimport { Subject } from 'rxjs';\nimport { InputBoolean } from '../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\n@Component({\n  selector: 'xui-radio-group',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: RADIO_GROUP_ACCESSOR, useExisting: RadioGroupComponent }],\n  template: `<div class=\"x-radio-group\">\n    <ng-content select=\"xui-radio\"></ng-content>\n    <xui-radio *ngFor=\"let item of items\" [value]=\"item.value\">{{ item.label | translate }}</xui-radio>\n  </div>`\n})\nexport class RadioGroupComponent implements RadioGroupAccessor, ControlValueAccessor {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  private onChange?: (source: RadioValue) => void;\n  private onTouched?: () => void;\n  private _value: RadioValue = null;\n\n  onChange$ = new Subject();\n\n  @Input() @InputBoolean() disabled = false;\n  @Input() color: RadioColor = 'none';\n  @Input() items?: RadioItem[];\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n      this.onChange$.next(null);\n    }\n  }\n\n  constructor(private cdr: ChangeDetectorRef, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => {\n      this.cdr.markForCheck();\n    });\n  }\n\n  writeValue(source: RadioValue) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: RadioValue) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RadioComponent } from './radio.component';\nimport { RadioGroupComponent } from './radio-group.component';\nimport { XuiIconModule } from '../icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n  declarations: [RadioComponent, RadioGroupComponent],\n  imports: [CommonModule, XuiIconModule, TranslateModule.forChild()],\n  exports: [RadioComponent, RadioGroupComponent]\n})\nexport class XuiRadioModule {}\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport type RadioListValue = string | number | null;\nexport type RadioListSize = 'sm' | 'md';\nexport type RadioListColor = 'light' | 'dark';\n\nexport const RADIO_LIST_ACCESSOR = new InjectionToken<RadioListAccessor>('xui-radio-list');\nexport interface RadioListAccessor {\n  color: RadioListColor;\n  size: RadioListSize;\n  value: RadioListValue;\n  focusedValue?: RadioListValue;\n  disabled: boolean;\n  onChange$: Observable<unknown>;\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Inject,\n  Input,\n  OnInit\n} from '@angular/core';\nimport { InputBoolean } from '../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { RADIO_LIST_ACCESSOR, RadioListAccessor } from './radio-list.types';\n\n@Component({\n  selector: 'xui-radio-option',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\">\n    <xui-icon>{{ icon }}</xui-icon>\n    <div class=\"x-radio-option-content\">\n      <ng-content></ng-content>\n      <div class=\"x-radio-option-description\">\n        <ng-content select=\"[xuiDescription]\"></ng-content>\n      </div>\n    </div>\n  </div>`\n})\nexport class RadioOptionComponent implements OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input() color?: string;\n  @Input() value!: string;\n  @Input() description?: string;\n  @Input() @InputBoolean() disabled = false;\n\n  get isSelected() {\n    return this.value === this.list.value;\n  }\n\n  get isFocused() {\n    return this.value === this.list.focusedValue;\n  }\n\n  get isDisabled() {\n    return this.disabled || this.list.disabled;\n  }\n\n  get icon() {\n    return this.isSelected ? 'radiobox-marked' : 'radiobox-blank';\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-radio-option': true,\n      'x-radio-option-focus': this.isFocused,\n      'x-radio-option-active': this.isSelected,\n      'x-radio-option-disabled': this.isDisabled\n    };\n\n    ret[`x-radio-option-${this.color}`] = !!this.color;\n    ret[`x-radio-option-background-${this.list.color}`] = true;\n    ret[`x-radio-option-${this.list.size}`] = true;\n    return ret;\n  }\n\n  constructor(@Inject(RADIO_LIST_ACCESSOR) private list: RadioListAccessor, private cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    this.list.onChange$.subscribe(() => this.cdr.markForCheck());\n  }\n\n  @HostListener('click')\n  click() {\n    if (!this.isDisabled) {\n      this.list.value = this.value;\n    }\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  QueryList,\n  Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport {\n  RADIO_LIST_ACCESSOR,\n  RadioListAccessor,\n  RadioListColor,\n  RadioListSize,\n  RadioListValue\n} from './radio-list.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { InputBoolean } from '../utils';\nimport { RadioOptionComponent } from './radio-option.component';\nimport { OptionComponent } from '../select';\n\n@Component({\n  selector: 'xui-radio-list',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<div class=\"x-radio-list\" tabindex=\"0\"><ng-content></ng-content></div>',\n  providers: [{ provide: RADIO_LIST_ACCESSOR, useExisting: RadioListComponent }]\n})\nexport class RadioListComponent implements RadioListAccessor, ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  private onChange?: (source: RadioListValue) => void;\n  private onTouched?: () => void;\n  private _mouseDown = false;\n  private _value: RadioListValue = null;\n\n  @Input() size: RadioListSize = 'md';\n  @Input() color: RadioListColor = 'light';\n  @Input() @InputBoolean() disabled = false;\n\n  @ContentChildren(RadioOptionComponent) optionsRef!: QueryList<OptionComponent>;\n\n  focusedValue?: RadioListValue;\n  onChange$ = new Subject();\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n      this.onChange$.next(null);\n    }\n  }\n\n  constructor(private cdr: ChangeDetectorRef, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  writeValue(source: RadioListValue) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: RadioListValue) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('keydown.arrowup', ['$event'])\n  private prev(event: KeyboardEvent) {\n    event.preventDefault();\n    event.stopPropagation();\n    this.select(true);\n  }\n\n  @HostListener('keydown.arrowdown', ['$event'])\n  private next(event: KeyboardEvent) {\n    event.preventDefault();\n    event.stopPropagation();\n    this.select(false);\n  }\n\n  @HostListener('mousedown')\n  private mouseDown() {\n    this._mouseDown = true;\n  }\n\n  @HostListener('mouseup')\n  private mouseUp() {\n    this._mouseDown = false;\n  }\n\n  @HostListener('focusin')\n  private focus() {\n    if (!this._mouseDown) {\n      this.focusedValue = this.value;\n      this.onChange$.next(null);\n    }\n  }\n\n  @HostListener('focusout')\n  private focusout() {\n    this.focusedValue = undefined;\n    this.onChange$.next(null);\n    this.onTouched?.();\n  }\n\n  private select(prev: boolean) {\n    if (this.disabled) {\n      return;\n    }\n\n    const options = this.optionsRef.toArray();\n    let next = options.findIndex(x => x.value === this.value);\n    let iteration = 0;\n\n    do {\n      next += prev ? -1 : 1;\n\n      if (prev && next < 0) {\n        next = options.length - 1;\n        iteration++;\n      } else if (!prev && next >= options.length) {\n        next = 0;\n        iteration++;\n      }\n\n      if (iteration == 2) {\n        return;\n      }\n    } while (options[next].disabled);\n\n    this.value = options[next].value;\n    this.focusedValue = this.value;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RadioListComponent } from './radio-list.component';\nimport { XuiIconModule } from '../icon';\nimport { RadioOptionComponent } from './radio-option.component';\n\n@NgModule({\n  declarations: [RadioListComponent, RadioOptionComponent],\n  imports: [CommonModule, XuiIconModule],\n  exports: [RadioListComponent, RadioOptionComponent]\n})\nexport class XuiRadioListModule {}\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport type SelectSize = 'large' | 'small';\nexport type SelectColor = 'light' | 'dark';\nexport type SelectValue = string | number | null;\n\nexport interface SelectItem {\n  label: string;\n  value: SelectValue;\n}\n\n// This is needed to break the injection dependency between parent <-> child elements\nexport const SELECT_ACCESSOR = new InjectionToken<SelectAccessor>('xui-select');\nexport interface SelectAccessor {\n  color: SelectColor;\n  value: SelectValue;\n\n  viewValue: string | undefined;\n  onChange$: Observable<unknown>;\n\n  close(): void;\n}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostListener,\n  Inject,\n  Input,\n  OnInit,\n  ViewChild\n} from '@angular/core';\nimport { InputBoolean } from '../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { SELECT_ACCESSOR, SelectAccessor, SelectValue } from './select.types';\n\n@Component({\n  selector: 'xui-option',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\">\n    <span #content><ng-content></ng-content></span>\n    <xui-decagram *ngIf=\"isSelected\" type=\"circle\">check</xui-decagram>\n  </div>`\n})\nexport class OptionComponent implements OnInit, AfterViewInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input() value: SelectValue = null;\n  @Input() @InputBoolean() disabled = false;\n\n  @ViewChild('content') contentRef!: ElementRef;\n\n  get isSelected() {\n    return this.select.value == this.value;\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-select-option': true,\n      'x-select-option-selected': this.isSelected,\n      'x-select-option-disabled': this.disabled\n    };\n\n    ret[`x-select-option-${this.select.color}`] = true;\n    return ret;\n  }\n\n  get viewValue(): string {\n    return (this.contentRef.nativeElement.textContent || '').trim();\n  }\n\n  constructor(@Inject(SELECT_ACCESSOR) private select: SelectAccessor, private cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    this.select.onChange$.subscribe(() => this.cdr.markForCheck());\n  }\n\n  ngAfterViewInit() {\n    if (this.isSelected) {\n      this.select.viewValue = this.viewValue;\n    }\n  }\n\n  @HostListener('click')\n  click() {\n    if (!this.disabled) {\n      this.select.value = this.value;\n      this.select.viewValue = this.viewValue;\n      this.select.close();\n    }\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputBoolean } from '../utils';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { SELECT_ACCESSOR, SelectAccessor, SelectColor, SelectItem, SelectSize, SelectValue } from './select.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Subject } from 'rxjs';\n\n@UntilDestroy()\n@Component({\n  selector: 'xui-select',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: 'select.component.html',\n  providers: [{ provide: SELECT_ACCESSOR, useExisting: SelectComponent }]\n})\nexport class SelectComponent implements SelectAccessor, ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  private onChange?: (source: SelectValue) => void;\n  private onTouched?: () => void;\n  private _value: SelectValue = null;\n  private _viewValue?: string;\n  isOpen = false;\n  onChange$ = new Subject();\n\n  @Input() placeholder?: string;\n  @Input() @InputBoolean() disabled = false;\n  @Input() color: SelectColor = 'light';\n  @Input() size: SelectSize = 'large';\n  @Input() items?: SelectItem[];\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n      this.onChange$.next(null);\n    }\n  }\n\n  get width() {\n    return this.elementRef.nativeElement.offsetWidth;\n  }\n\n  get viewValue() {\n    const item = this.items?.find(x => x.value === this.value);\n    return item?.label ?? this._viewValue;\n  }\n\n  set viewValue(value: string | undefined) {\n    this._viewValue = value;\n    this.cdr.detectChanges();\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-select': true,\n      'x-select-disabled': this.disabled\n    };\n\n    ret[`x-select-${this.color}`] = true;\n    ret[`x-select-${this.size}`] = true;\n    return ret;\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef,\n    @Self() @Optional() public control?: NgControl\n  ) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => {\n      this.cdr.markForCheck();\n    });\n  }\n\n  open() {\n    this.isOpen = !this.disabled;\n    this.cdr.markForCheck();\n  }\n\n  close() {\n    this.isOpen = false;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(source: SelectValue) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: SelectValue) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n}\n","<div [ngClass]=\"styles\" [tabindex]=\"disabled ? -1 : 0\" (click)=\"open()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n  {{ !viewValue ? placeholder ?? '&nbsp;' : viewValue }}\n  <xui-icon>{{ isOpen ? 'chevron-up' : 'chevron-down' }}</xui-icon>\n</div>\n\n<ng-template\n  cdkConnectedOverlay\n  cdkConnectedOverlayHasBackdrop\n  [cdkConnectedOverlayBackdropClass]=\"'cdk-overlay-transparent'\"\n  [cdkConnectedOverlayOrigin]=\"trigger\"\n  [cdkConnectedOverlayOpen]=\"isOpen\"\n  [cdkConnectedOverlayWidth]=\"width\"\n  (backdropClick)=\"isOpen = false\"\n>\n  <div class=\"x-select-options\">\n    <xui-option *ngFor=\"let item of items\" [value]=\"item.value\">{{ item.label | translate }}</xui-option>\n    <ng-content select=\"xui-option\"></ng-content>\n  </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { SelectComponent } from './select.component';\nimport { XuiIconModule } from '../icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { OptionComponent } from './option.component';\nimport { XuiDecagramModule } from '../decagram';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, OverlayModule, XuiIconModule, XuiDecagramModule, TranslateModule.forChild()],\n  declarations: [SelectComponent, OptionComponent],\n  exports: [SelectComponent, OptionComponent]\n})\nexport class XuiSelectModule {}\n","import { animate, animation, keyframes, style } from '@angular/animations';\n\nexport const bounce = animation(\n  animate(\n    '300ms linear',\n    keyframes([\n      style({ transform: 'translate3d(-1px, 20px, 0)', offset: 0.1 }),\n      style({ transform: 'translate3d(2px, -1px, 0)', offset: 0.2 }),\n      style({ transform: 'translate3d(-20px, 2px, 0)', offset: 0.3 }),\n      style({ transform: 'translate3d(4px, -2px, 0)', offset: 0.4 }),\n      style({ transform: 'translate3d(-4px, -4px, 0)', offset: 0.5 }),\n      style({ transform: 'translate3d(4px, 4px, 0)', offset: 0.6 }),\n      style({ transform: 'translate3d(-4px, -4px, 0)', offset: 0.7 }),\n      style({ transform: 'translate3d(2px, -2px, 0)', offset: 0.8 }),\n      style({ transform: 'translate3d(-1px, -1px, 0)', offset: 0.9 })\n    ])\n  )\n);\n\nexport const fadeOutBottom = animation(\n  animate(\n    '800ms ease-in-out',\n    keyframes([\n      style({ transform: 'translate3d(0, -50px, 0)', offset: 0.3 }),\n      style({ transform: 'translate3d(0, -50px, 0)', offset: 0.5 }),\n      style({ transform: 'translate3d(0, 150px, 0)', offset: 0.9 })\n    ])\n  )\n);\n\nexport const fadeInBottom = animation(\n  animate(\n    '800ms ease-in-out',\n    keyframes([\n      style({ transform: 'translate3d(0, 150px, 0)', offset: 0 }),\n      style({ transform: 'translate3d(0, -50px, 0)', offset: 0.3 }),\n      style({ transform: 'translate3d(0, -50px, 0)', offset: 0.5 }),\n      style({ transform: 'translate3d(0, 0, 0)', offset: 0.9 })\n    ])\n  )\n);\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ComponentRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Inject,\n  Input,\n  Output\n} from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';\nimport { SettingsPage } from './settings.types';\nimport { animate, AnimationEvent, state, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { bounce, fadeInBottom, fadeOutBottom } from '../utils/animations';\nimport { lastValueFrom, Subject } from 'rxjs';\nimport { delay } from '../utils';\n\n@Component({\n  selector: 'xui-settings',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './settings.component.html',\n  animations: [\n    trigger('bounce', [transition('* => *', useAnimation(bounce))]),\n    trigger('open', [\n      state(\n        'closed',\n        style({\n          opacity: 0,\n          transform: 'scale(1.05)'\n        })\n      ),\n      state(\n        'opened',\n        style({\n          opacity: 1,\n          transform: 'scale(1)'\n        })\n      ),\n      transition('* => *', animate(100))\n    ])\n  ]\n})\nexport class SettingsComponent {\n  mouseDown = false;\n  menuFocused = false;\n  focusedItem?: number;\n\n  defaultPage = 1;\n  opened = false;\n  openedAnimation: 'opened' | 'closed' = 'closed';\n  animationState = false;\n\n  portal?: ComponentPortal<SettingsPage>;\n  instance?: SettingsPage;\n\n  private snackbarRef?: MatSnackBarRef<SaveResetSnackbarComponent>;\n  private canExit = true;\n\n  @Input() items?: MenuItem[];\n  @Output() afterClosed = new EventEmitter<void>();\n\n  @HostListener('document:keydown.escape') onKeydownHandler() {\n    this.close();\n  }\n\n  constructor(private snackBar: MatSnackBar, private cdr: ChangeDetectorRef) {}\n\n  stateChanged = (canExit: boolean) => {\n    this.canExit = canExit;\n\n    if (!canExit) {\n      if (!this.snackbarRef) {\n        this.snackbarRef = this.snackBar.openFromComponent(SaveResetSnackbarComponent, {\n          panelClass: 'x-settings-snackbar',\n          duration: undefined!,\n          data: {\n            save: async () => {\n              try {\n                await this.instance?.save();\n                await this.hideSnackbar();\n                this.cdr.markForCheck();\n              } catch (e) {\n                // TODO: show error snackbar\n              }\n            },\n            reset: async () => {\n              await this.instance?.reset();\n              await this.hideSnackbar();\n              this.cdr.markForCheck();\n            }\n          }\n        });\n      }\n    } else {\n      this.hideSnackbar();\n    }\n  };\n\n  open(page = 1) {\n    this.defaultPage = page;\n    this.opened = true;\n    this.openedAnimation = 'opened';\n    this.navigate(this.defaultPage);\n    this.cdr.markForCheck();\n  }\n\n  async close() {\n    if (!this.canExit) {\n      this.animationState = true;\n      this.snackbarRef?.instance.alert();\n      return;\n    }\n\n    this.openedAnimation = 'closed';\n    await delay(100);\n    this.opened = false;\n    this.afterClosed.emit();\n    this.cdr.markForCheck();\n  }\n\n  attached(ref: CdkPortalOutletAttachedRef) {\n    this.instance = (ref as ComponentRef<SettingsPage>).instance;\n    this.instance.stateChanged = this.stateChanged;\n  }\n\n  navigate(idx: number) {\n    if (this.instance) {\n      if (!this.canExit) {\n        return;\n      }\n    }\n\n    const item = this.items?.[idx];\n    if (item) {\n      this.defaultPage = idx;\n      this.focusedItem = idx;\n\n      if (item.action) {\n        item.action();\n      } else if (item.component) {\n        this.portal = new ComponentPortal(item.component);\n      }\n    }\n  }\n\n  focusPrev() {\n    let cur = this.focusedItem ?? this.items?.length ?? 0;\n\n    do {\n      cur--;\n      if (cur < 0) {\n        cur = (this.items?.length ?? 1) - 1;\n      }\n    } while (this.items?.[cur].type !== 'item');\n    this.focusedItem = cur;\n  }\n\n  focusNext() {\n    let cur = this.focusedItem ?? this.items?.length ?? 0;\n\n    do {\n      cur++;\n      if (cur >= (this.items?.length ?? 0)) {\n        cur = 0;\n      }\n    } while (this.items?.[cur].type !== 'item');\n    this.focusedItem = cur;\n  }\n\n  private async hideSnackbar() {\n    await this.snackbarRef?.instance.close();\n    this.snackbarRef?.dismiss();\n    this.snackbarRef = undefined;\n    this.canExit = true;\n  }\n}\n\nexport interface MenuItem {\n  type: 'category' | 'item' | 'divider';\n  name?: string;\n  critical?: boolean;\n  component?: any;\n  action?: () => void;\n}\n\n@Component({\n  selector: 'xui-settings-snackbar',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    {{ 'xui.settings.save_changes_text' | translate }}\n    <div>\n      <xui-button size=\"small\" color=\"minimal\" [onClick]=\"reset\">{{ 'xui.settings.reset' | translate }}</xui-button>\n      <xui-button size=\"small\" color=\"success\" type=\"raised\" [onClick]=\"save\">\n        {{ 'xui.settings.save' | translate }}\n      </xui-button>\n    </div>\n  `,\n  animations: [\n    trigger('fade', [\n      state(\n        'close',\n        style({\n          display: 'none'\n        })\n      ),\n      state(\n        'alert',\n        style({\n          backgroundColor: 'var(--color-error-darker)',\n          transform: 'scale(1.1)'\n        })\n      ),\n      transition('open => alert', animate(200)),\n      transition('alert => open', animate(200)),\n      transition('open => close', useAnimation(fadeOutBottom)),\n      transition('void => open', useAnimation(fadeInBottom))\n    ])\n  ]\n})\nexport class SaveResetSnackbarComponent {\n  _doneAnimating = new Subject();\n\n  @HostBinding('@fade')\n  animation = 'open';\n\n  constructor(@Inject(MAT_SNACK_BAR_DATA) private data: any, private cdr: ChangeDetectorRef) {}\n\n  async close() {\n    this.animation = 'close';\n    return await lastValueFrom(this._doneAnimating.asObservable());\n  }\n\n  async alert() {\n    this.animation = 'alert';\n    await delay(1000);\n    this.animation = 'open';\n    this.cdr.markForCheck();\n  }\n\n  save = () => {\n    return this.data.save();\n  };\n\n  reset = () => {\n    return this.data.reset();\n  };\n\n  @HostListener('@fade.done', ['$event'])\n  _animationDone(event: AnimationEvent) {\n    if (event.toState === 'close') {\n      this._doneAnimating.next(undefined);\n      this._doneAnimating.complete();\n    }\n  }\n}\n","<dialog [open]=\"opened\" cdkTrapFocus>\n  <div class=\"x-settings\" [@open]=\"openedAnimation\" [@bounce]=\"animationState\" (@bounce.done)=\"animationState = false\">\n    <div class=\"x-settings-menu\">\n      <nav\n        tabindex=\"0\"\n        (keydown.enter)=\"navigate(focusedItem ?? 0)\"\n        (keydown.space)=\"navigate(focusedItem ?? 0)\"\n        (keydown.arrowDown)=\"focusNext()\"\n        (keydown.arrowUp)=\"focusPrev()\"\n        (mousedown)=\"mouseDown = true\"\n        (mouseup)=\"mouseDown = false\"\n        (focusin)=\"menuFocused = !mouseDown\"\n        (focusout)=\"menuFocused = false\"\n      >\n        <div\n          *ngFor=\"let item of items; let i = index\"\n          [class.x-settings-menu-item]=\"item.type === 'item'\"\n          [class.x-settings-menu-item-active]=\"i === defaultPage\"\n          [class.x-settings-menu-item-focus]=\"i === focusedItem && menuFocused\"\n          [class.x-settings-menu-category]=\"item.type === 'category'\"\n          [class.x-settings-menu-divider]=\"item.type === 'divider'\"\n          [class.x-settings-menu-red]=\"item.critical\"\n          (click)=\"navigate(i); menuFocused = false\"\n        >\n          {{ item.name ? (item.name | translate) : '' }}\n        </div>\n      </nav>\n    </div>\n    <div class=\"x-settings-right\">\n      <div class=\"x-settings-content\">\n        <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n      </div>\n\n      <div class=\"x-settings-close-anchor\">\n        <div class=\"x-settings-close\" (click)=\"close()\">\n          <xui-icon tabindex=\"0\" (keydown.space)=\"close()\" (keydown.enter)=\"close()\">close-circle-outline</xui-icon>\n          ESC\n        </div>\n      </div>\n    </div>\n  </div>\n</dialog>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SaveResetSnackbarComponent, SettingsComponent } from './settings.component';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { XuiIconModule } from '../icon';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { XuiButtonModule } from '../button';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@NgModule({\n  declarations: [SettingsComponent, SaveResetSnackbarComponent],\n  imports: [\n    CommonModule,\n    MatSnackBarModule,\n    XuiIconModule,\n    XuiButtonModule,\n    PortalModule,\n    A11yModule,\n    TranslateModule.forChild()\n  ],\n  exports: [SettingsComponent]\n})\nexport class XuiSettingsModule {}\n","import {\n  ANIMATION_MODULE_TYPE,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Optional,\n  ViewChild\n} from '@angular/core';\nimport { _TooltipComponentBase } from '@angular/material/tooltip';\n\n@Component({\n  selector: 'xui-tooltip',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: ` <div\n    #tooltip\n    [ngClass]=\"tooltipClass\"\n    (animationend)=\"_handleAnimationEnd($event)\"\n    [class.mdc-tooltip--multiline]=\"_isMultiline\"\n  >\n    <div>{{ message }}</div>\n  </div>`,\n  host: {\n    // Forces the element to have a layout in IE and Edge. This fixes issues where the element\n    // won't be rendered if the animations are disabled or there is no web animations polyfill.\n    '[style.zoom]': 'isVisible() ? 1 : null',\n    '(mouseleave)': '_handleMouseLeave($event)',\n    'aria-hidden': 'true'\n  }\n})\nexport class TooltipComponent extends _TooltipComponentBase {\n  /* Whether the tooltip text overflows to multiple lines */\n  _isMultiline = false;\n\n  /** Reference to the internal tooltip element. */\n  @ViewChild('tooltip', { static: true }) _tooltip!: ElementRef<HTMLElement>;\n\n  _showAnimation = 'x-tooltip-show';\n  _hideAnimation = 'x-tooltip-hide';\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    private _elementRef: ElementRef<HTMLElement>,\n    @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string\n  ) {\n    super(cdr, animationMode);\n  }\n\n  protected override _onShow(): void {\n    this._isMultiline = this._isTooltipMultiline();\n    this._markForCheck();\n  }\n\n  /** Whether the tooltip text has overflown to the next line */\n  private _isTooltipMultiline() {\n    const rect = this._elementRef.nativeElement.getBoundingClientRect();\n    return rect.height > 24 && rect.width >= 200;\n  }\n}\n","import { Directive, ElementRef, Inject, Input, NgZone, Optional, ViewContainerRef } from '@angular/core';\nimport {\n  _MatTooltipBase,\n  MAT_TOOLTIP_DEFAULT_OPTIONS,\n  MAT_TOOLTIP_SCROLL_STRATEGY,\n  MatTooltipDefaultOptions,\n  TooltipPosition\n} from '@angular/material/tooltip';\nimport { ConnectedPosition, Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n  selector: '[xuiTooltip]',\n  exportAs: 'xuiTooltip'\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n  protected override readonly _tooltipComponent = TooltipComponent;\n  protected override readonly _cssClassPrefix = 'xui';\n\n  @Input('xuiTooltip')\n  override get message() {\n    return super.message;\n  }\n\n  override set message(value) {\n    super.message = value;\n    super.message = this.translate.instant(value);\n  }\n\n  @Input('xuiTooltipPosition')\n  override get position(): TooltipPosition {\n    return super.position;\n  }\n\n  override set position(value: TooltipPosition) {\n    super.position = value;\n  }\n\n  constructor(\n    private translate: TranslateService,\n    overlay: Overlay,\n    elementRef: ElementRef<HTMLElement>,\n    scrollDispatcher: ScrollDispatcher,\n    viewContainerRef: ViewContainerRef,\n    ngZone: NgZone,\n    platform: Platform,\n    ariaDescriber: AriaDescriber,\n    focusMonitor: FocusMonitor,\n    @Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n    @Optional() dir: Directionality,\n    @Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n    @Inject(DOCUMENT) _document: any\n  ) {\n    super(\n      overlay,\n      elementRef,\n      scrollDispatcher,\n      viewContainerRef,\n      ngZone,\n      platform,\n      ariaDescriber,\n      focusMonitor,\n      scrollStrategy,\n      dir,\n      defaultOptions,\n      _document\n    );\n    this._viewportMargin = 8; // this.MIN_VIEWPORT_TOOLTIP_THRESHOLD;\n  }\n\n  protected override _addOffset(position: ConnectedPosition): ConnectedPosition {\n    const offset = 8; //UNBOUNDED_ANCHOR_GAP;\n    const isLtr = !this._dir || this._dir.value == 'ltr';\n\n    if (position.originY === 'top') {\n      position.offsetY = -offset;\n    } else if (position.originY === 'bottom') {\n      position.offsetY = offset;\n    } else if (position.originX === 'start') {\n      position.offsetX = isLtr ? -offset : offset;\n    } else if (position.originX === 'end') {\n      position.offsetX = isLtr ? offset : -offset;\n    }\n\n    return position;\n  }\n}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostListener,\n  Input,\n  OnChanges,\n  OnInit,\n  Optional,\n  Self,\n  SimpleChanges,\n  ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { TooltipComponent } from '../tooltip/tooltip.component';\nimport { inNextTick, InputBoolean, InputNumber } from '../utils';\nimport { BehaviorSubject, map } from 'rxjs';\nimport { SliderColor, SliderMark } from './slider.types';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-slider',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: 'slider.component.html'\n})\nexport class SliderComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges {\n  static ngAcceptInputType_value: NumberInput;\n  static ngAcceptInputType_range: BooleanInput;\n  static ngAcceptInputType_tooltipDisabled: BooleanInput;\n\n  private onChange?: (source: number) => void;\n  private onTouched?: () => void;\n\n  private _posX = new BehaviorSubject<number>(0);\n  private _value: number | null = null;\n\n  position$ = this._posX.pipe(map(x => ({ x, y: 0 })));\n\n  @ViewChild('track', { static: true }) trackElm!: ElementRef;\n  @ViewChild('tooltipRef') tooltipRef!: TooltipComponent;\n\n  @Input() @InputBoolean() disabled = false;\n  @Input() @InputBoolean() tooltipDisabled = false;\n  @Input() color: SliderColor = 'primary';\n  @Input() secondColor?: SliderColor;\n\n  @Input() @InputNumber() min = 0;\n  @Input() @InputNumber() max = 100;\n  @Input() @InputNumber() step = 1;\n  @Input() tipFormatter?: (value: number) => string;\n  @Input() marks?: SliderMark[];\n  @Input() @InputBoolean() range = false;\n\n  @Input()\n  @InputNumber()\n  get value() {\n    return this._value ?? this.min;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n\n      this.onChange?.(v);\n    }\n  }\n\n  private get percentage() {\n    return this.getPercentage(this.value);\n  }\n\n  get width() {\n    return 100 - this.percentage;\n  }\n\n  get tooltip() {\n    return String(this.tipFormatter ? this.tipFormatter(this.value) : this.value);\n  }\n\n  getColor(color: string) {\n    return `x-slider-${color}`;\n  }\n\n  getPercentage(absolute: number) {\n    return ((absolute - this.min) / (this.max - this.min)) * 100;\n  }\n\n  constructor(private cdr: ChangeDetectorRef, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => {\n      this.setPositionByPercentage(this.percentage);\n      this.cdr.markForCheck();\n    });\n  }\n\n  async ngAfterViewInit() {\n    await inNextTick();\n    this.setPositionByPercentage(this.percentage);\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['value']) {\n      this.setPositionByPercentage(this.percentage);\n    }\n  }\n\n  writeValue(source: number) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: number) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n\n  @HostListener('keydown.arrowLeft')\n  private _decreaseKey() {\n    this.value = Math.min(Math.max(this.value - this.step, this.min), this.max);\n    this.setPositionByPercentage(this.percentage);\n  }\n\n  @HostListener('keydown.arrowRight')\n  private _increaseKey() {\n    this.value = Math.min(Math.max(this.value + this.step, this.min), this.max);\n    this.setPositionByPercentage(this.percentage);\n  }\n\n  @HostListener('click', ['$event.x'])\n  async move(screenX: number) {\n    if (this.disabled) {\n      return;\n    }\n\n    const cursorOffset = 5;\n    const rect = this.hostRect;\n    const width = rect.width - 10;\n\n    const pos = Math.min(Math.max(screenX - rect.x - cursorOffset, 0), width);\n    const value = (pos / width) * (this.max - this.min); // 0 <-> max - min\n    const newValue = Math.round(value / this.step) * this.step;\n\n    this.value = newValue + this.min;\n    this.setPositionByPercentage(this.percentage);\n    await inNextTick();\n\n    this.tooltipRef.show(0);\n  }\n\n  private get hostRect() {\n    return this.trackElm.nativeElement.getBoundingClientRect() as DOMRect;\n  }\n\n  private setPositionByPercentage(value: number) {\n    this._posX.next((value / 100) * this.hostRect.width - 5);\n    this.cdr.markForCheck();\n  }\n}\n","<div class=\"x-slider\" [class.x-slider-disabled]=\"disabled\">\n  <div [class]=\"'x-slider-track ' + getColor(color)\">\n    <div [style.width.%]=\"width\" [class]=\"'x-slider-track-half ' + getColor(secondColor ?? 'none')\"></div>\n  </div>\n\n  <div class=\"x-slider-container\" #track>\n    <div\n      [tabindex]=\"disabled ? -1 : 0\"\n      cdkDrag\n      [cdkDragDisabled]=\"disabled\"\n      [cdkDragFreeDragPosition]=\"(position$ | async) ?? { x: 0, y: 0 }\"\n      (cdkDragMoved)=\"move($event.pointerPosition.x)\"\n      class=\"x-slider-thumb\"\n      xuiTooltipPosition=\"above\"\n      [xuiTooltip]=\"tooltip\"\n      [matTooltipDisabled]=\"tooltipDisabled\"\n      #tooltipRef=\"xuiTooltip\"\n    ></div>\n\n    <div\n      *ngFor=\"let mark of marks\"\n      [style.left.%]=\"getPercentage(mark.value)\"\n      class=\"x-slider-mark\"\n      [class]=\"mark.color ? 'x-slider-mark-' + mark.color : ''\"\n    >\n      <div class=\"x-slider-mark-label\">{{ mark.label }}</div>\n      <div class=\"x-slider-mark-dash\"></div>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TooltipDirective } from './tooltip.directive';\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n  declarations: [TooltipDirective, TooltipComponent],\n  imports: [CommonModule, MatTooltipModule, TranslateModule.forChild()],\n  exports: [TooltipDirective]\n})\nexport class XuiTooltipModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SliderComponent } from './slider.component';\nimport { XuiTooltipModule } from '../tooltip';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, XuiTooltipModule, DragDropModule],\n  declarations: [SliderComponent],\n  exports: [SliderComponent]\n})\nexport class XuiSliderModule {}\n","import { AriaLivePoliteness } from '@angular/cdk/a11y';\nimport { ViewContainerRef } from '@angular/core';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n  MAT_SNACK_BAR_DATA,\n  MatSnackBarHorizontalPosition,\n  MatSnackBarVerticalPosition\n} from '@angular/material/snack-bar';\n\nexport const XUI_SNACK_BAR_DATA = MAT_SNACK_BAR_DATA;\n\nexport class XuiSnackBarConfig<D = any> {\n  /** The politeness level for the MatAriaLiveAnnouncer announcement. */\n  politeness?: AriaLivePoliteness = 'assertive';\n\n  /**\n   * Message to be announced by the LiveAnnouncer. When opening a snackbar without a custom\n   * component or template, the announcement message will default to the specified message.\n   */\n  announcementMessage?: string = '';\n\n  /**\n   * The view container that serves as the parent for the snackbar for the purposes of dependency\n   * injection. Note: this does not affect where the snackbar is inserted in the DOM.\n   */\n  viewContainerRef?: ViewContainerRef;\n\n  /** The length of time in milliseconds to wait before automatically dismissing the snack bar. */\n  duration?: number = 5000;\n\n  /** Extra CSS classes to be added to the snack bar container. */\n  panelClass?: string | string[] = 'xui-snackbar';\n\n  /** Text layout direction for the snack bar. */\n  direction?: Direction;\n\n  /** Data being injected into the child component. */\n  data?: D | null = null;\n\n  /** The horizontal position to place the snack bar. */\n  horizontalPosition?: MatSnackBarHorizontalPosition = 'center';\n\n  /** The vertical position to place the snack bar. */\n  verticalPosition?: MatSnackBarVerticalPosition = 'bottom';\n}\n","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';\nimport { XUI_SNACK_BAR_DATA } from './snack-bar-config';\n\n@Component({\n  selector: 'xui-simple-snack-bar',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div class=\"x-snackbar\">\n    <div>{{ data.message | translate }}</div>\n    <div *ngIf=\"hasAction\">\n      <xui-button size=\"small\" type=\"raised\" color=\"success\" (click)=\"action()\">{{\n        data.action | translate\n      }}</xui-button>\n    </div>\n  </div>`\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n  constructor(\n    public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n    @Inject(XUI_SNACK_BAR_DATA) public data: { message: string; action: string }\n  ) {}\n\n  action(): void {\n    this.snackBarRef.dismissWithAction();\n  }\n\n  get hasAction(): boolean {\n    return !!this.data.action;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { SimpleSnackBar } from './simple-snackbar.component';\nimport { XuiButtonModule } from '../button';\n\n@NgModule({\n  declarations: [SimpleSnackBar],\n  imports: [CommonModule, MatSnackBarModule, XuiButtonModule, PortalModule, TranslateModule.forChild()]\n})\nexport class XuiSnackbarModule {}\n","import { Inject, Injectable, InjectionToken, Injector, Optional, SkipSelf } from '@angular/core';\nimport {\n  _MatSnackBarBase,\n  MatSnackBarConfig,\n  MatSnackBarContainer,\n  MatSnackBarRef,\n  TextOnlySnackBar\n} from '@angular/material/snack-bar';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { XuiSnackbarModule } from './snackbar.module';\nimport { XuiSnackBarConfig } from './snack-bar-config';\nimport { SimpleSnackBar } from './simple-snackbar.component';\n\n@Injectable({ providedIn: XuiSnackbarModule })\nexport class XuiSnackBar extends _MatSnackBarBase {\n  protected override simpleSnackBarComponent = SimpleSnackBar;\n  protected override snackBarContainerComponent = MatSnackBarContainer;\n  protected override handsetCssClass = 'mat-mdc-snack-bar-handset';\n\n  constructor(\n    overlay: Overlay,\n    live: LiveAnnouncer,\n    injector: Injector,\n    breakpointObserver: BreakpointObserver,\n    @Optional() @SkipSelf() parentSnackBar: XuiSnackBar,\n    @Inject(XUI_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: XuiSnackBarConfig\n  ) {\n    super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig as MatSnackBarConfig);\n  }\n\n  override open(message: string, action?: string, config?: XuiSnackBarConfig): MatSnackBarRef<TextOnlySnackBar> {\n    return super.open(message, action!, config as MatSnackBarConfig);\n  }\n}\n\nexport function XUI_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): XuiSnackBarConfig {\n  return new XuiSnackBarConfig();\n}\n\nexport const XUI_SNACK_BAR_DEFAULT_OPTIONS = new InjectionToken<XuiSnackBarConfig>('xui-snack-bar-default-options', {\n  providedIn: 'root',\n  factory: XUI_SNACK_BAR_DEFAULT_OPTIONS_FACTORY\n});\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SpinnerColor } from './spinner.types';\n\n@Component({\n  selector: 'xui-spinner',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\"></div>`\n})\nexport class SpinnerComponent {\n  @Input() color: SpinnerColor = 'primary';\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-spinner': true\n    };\n\n    ret[`x-spinner-${this.color}`] = true;\n    return ret;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n  declarations: [SpinnerComponent],\n  imports: [CommonModule],\n  exports: [SpinnerComponent]\n})\nexport class XuiSpinnerModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { StatusType } from './status.types';\n\n@Component({\n  selector: 'xui-status',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<div [ngClass]=\"styles\"></div>\n    <svg>\n      <clipPath id=\"x-status-idle-clip-path\" clipPathUnits=\"objectBoundingBox\">\n        <path d=\"M0.564,0 A0.399,0.399,0,1,1,0,0.564 A0.502,0.502,0,1,0,0.564,0\"></path>\n      </clipPath>\n    </svg>\n    <svg>\n      <clipPath id=\"x-status-dnd-clip-path\" clipPathUnits=\"objectBoundingBox\">\n        <path\n          d=\"M0.5,0 a0.5,0.5,0,1,0,0.5,0.5 A0.5,0.5,0,0,0,0.5,0 M0.78,0.603 H0.22 a0.103,0.103,0,0,1,0,-0.205 H0.78 a0.103,0.103,0,1,1,0,0.205\"\n        ></path>\n      </clipPath>\n    </svg>\n    <svg>\n      <clipPath id=\"x-status-offline-clip-path\" clipPathUnits=\"objectBoundingBox\">\n        <path\n          d=\"M0.5,0 a0.5,0.5,0,1,0,0.5,0.5 A0.5,0.5,0,0,0,0.5,0 m0,0.76 A0.26,0.26,0,1,1,0.76,0.5 A0.26,0.26,0,0,1,0.5,0.76\"\n        ></path>\n      </clipPath>\n    </svg>`\n})\nexport class StatusComponent {\n  @Input() type?: StatusType;\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-status': true\n    };\n\n    ret[`x-status-${this.type}`] = true;\n    return ret;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusComponent } from './status.component';\n\n@NgModule({\n  declarations: [StatusComponent],\n  imports: [CommonModule],\n  exports: [StatusComponent]\n})\nexport class XuiStatusModule {}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self\n} from '@angular/core';\nimport { InputBoolean } from '../utils';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { SwitchColor } from './switch.types';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-switch',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: './switch.component.html'\n})\nexport class SwitchComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_value: BooleanInput;\n\n  private onChange?: (source: boolean) => void;\n  private onTouched?: () => void;\n  private _value = false;\n\n  @Input() @InputBoolean() disabled = false;\n  @Input() color: SwitchColor = 'success';\n\n  @Input()\n  @InputBoolean()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n    }\n  }\n\n  get style() {\n    return {\n      'x-switch': true,\n      'x-switch-disabled': this.disabled\n    };\n  }\n\n  get styleSwitch() {\n    const ret: { [klass: string]: boolean } = {\n      'x-switch-element': true,\n      'x-switch-toggled': this.value\n    };\n\n    ret[`x-switch-${this.color}`] = this.value;\n    return ret;\n  }\n\n  constructor(private cdr: ChangeDetectorRef, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  writeValue(source: boolean) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: boolean) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  _click(event?: KeyboardEvent | MouseEvent) {\n    event?.preventDefault();\n\n    if (!this.disabled) {\n      this.value = !this.value;\n    }\n  }\n}\n","<div [ngClass]=\"style\">\n  <ng-content></ng-content>\n\n  <div [ngClass]=\"styleSwitch\" (click)=\"_click()\" [tabIndex]=\"disabled ? -1 : 0\">\n    <div class=\"x-switch-handle\">\n      <xui-icon>{{ value ? 'check-bold' : 'close-thick' }}</xui-icon>\n    </div>\n    <input tabindex=\"-1\" type=\"checkbox\" [checked]=\"value\" [disabled]=\"disabled\" />\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SwitchComponent } from './switch.component';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  declarations: [SwitchComponent],\n  imports: [CommonModule, XuiIconModule],\n  exports: [SwitchComponent]\n})\nexport class XuiSwitchModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { TabGroupComponent } from './tab-group.component';\nimport { InputBoolean } from '../utils';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n  selector: 'xui-tab',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: '<ng-container *ngIf=\"isActive\"><ng-content></ng-content></ng-container>'\n})\nexport class TabComponent implements OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input() title!: string;\n  @Input() @InputBoolean() disabled = false;\n\n  get isActive() {\n    return this.tabGroup._active === this;\n  }\n\n  constructor(private tabGroup: TabGroupComponent, private cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    this.tabGroup.onChange$.subscribe(() => this.cdr.markForCheck());\n  }\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  QueryList\n} from '@angular/core';\nimport { TabComponent } from './tab.component';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'xui-tab-group',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div class=\"x-tabs-list\">\n      <div\n        class=\"x-tabs-entry\"\n        *ngFor=\"let tab of _tabs\"\n        [class.x-tabs-active]=\"tab.isActive\"\n        [attr.disabled]=\"tab.disabled || null\"\n        (click)=\"selectTab(tab)\"\n      >\n        {{ tab.title | translate }}\n      </div>\n    </div>\n\n    <ng-content select=\"xui-tab\"></ng-content>\n  `\n})\nexport class TabGroupComponent implements AfterContentInit {\n  _active?: TabComponent;\n  _tabs: TabComponent[] = [];\n  onChange$ = new Subject();\n\n  @ContentChildren(TabComponent) set tabRef(value: QueryList<TabComponent>) {\n    this._tabs = value.toArray();\n    this.cdr.markForCheck();\n  }\n\n  // Not used\n  // @Input() canNavigate?: (tab: XuiTabComponent) => boolean;\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  ngAfterContentInit() {\n    for (const tab of this._tabs) {\n      if (!tab.disabled) {\n        this._active = tab;\n        break;\n      }\n    }\n  }\n\n  selectTab(tab: TabComponent) {\n    if (tab.disabled) {\n      return;\n    }\n\n    // if (this.canNavigate && !this.canNavigate(tab)) {\n    //   return;\n    // }\n\n    this._active = tab;\n    this.onChange$.next(null);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from './tab.component';\nimport { TabGroupComponent } from './tab-group.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n  declarations: [TabComponent, TabGroupComponent],\n  imports: [CommonModule, TranslateModule.forChild()],\n  exports: [TabComponent, TabGroupComponent]\n})\nexport class XuiTabModule {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { InputBoolean, InputNumber } from '../utils';\nimport { TextareaColor, TextareaSize } from './textarea.types';\n\n@Component({\n  selector: 'xui-textarea',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  templateUrl: 'textarea.component.html'\n})\nexport class TextareaComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n\n  private onChange?: (source: string | null) => void;\n  private onTouched?: () => void;\n\n  _value: string | null = null;\n  touched = false;\n\n  @Input() placeholder?: string;\n  @Input() @InputBoolean() disabled = false;\n  @Input() color: TextareaColor = 'light';\n  @Input() size: TextareaSize = 'normal';\n  @Input() @InputNumber() rows = 3;\n  @Input() @InputNumber() maxLength?: number;\n\n  @Input()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n      this.cdr.markForCheck();\n    }\n  }\n\n  get wordCount() {\n    return (this.maxLength ?? 0) - (this.value?.length ?? 0);\n  }\n\n  get styles() {\n    const ret: { [klass: string]: boolean } = {\n      'x-textarea': true,\n      'x-textarea-disabled': this.disabled\n    };\n\n    ret[`x-textarea-${this.color}`] = true;\n    return ret;\n  }\n\n  get errorMessage() {\n    const msg = this.control?.getError('message');\n    return this.translation.instant(msg);\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translation: TranslateService,\n    @Self() @Optional() public control?: NgControl\n  ) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  get invalid(): boolean {\n    return !!this.control?.invalid;\n  }\n\n  get showError(): boolean {\n    if (!this.control) {\n      return false;\n    }\n\n    const { dirty, touched } = this.control;\n    return this.invalid ? (dirty ?? false) || (touched ?? false) : false;\n  }\n\n  writeValue(source: string) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: string | null) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  markAsTouched() {\n    if (!this.touched) {\n      this.onTouched?.();\n      this.touched = true;\n    }\n  }\n}\n","<div [ngClass]=\"styles\" [class.x-textarea-error]=\"showError\" [tabindex]=\"disabled ? -1 : 0\">\n  <textarea\n    [disabled]=\"disabled\"\n    [(ngModel)]=\"value\"\n    [rows]=\"rows\"\n    [placeholder]=\"placeholder ?? ''\"\n    [maxLength]=\"maxLength ?? 524288\"\n  ></textarea>\n\n  <div *ngIf=\"maxLength\" class=\"x-textarea-word-counter\">{{ wordCount }}</div>\n</div>\n\n<div class=\"x-textarea-error-text\" *ngIf=\"showError\">\n  <ng-container *ngIf=\"control?.hasError('message')\">{{ errorMessage }}</ng-container>\n  <ng-container *ngIf=\"control?.hasError('required')\">This field is required!</ng-container>\n  <ng-container *ngIf=\"control?.hasError('email')\">Email expected</ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { TextareaComponent } from './textarea.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, TranslateModule.forChild()],\n  declarations: [TextareaComponent],\n  exports: [TextareaComponent]\n})\nexport class XuiTextareaModule {}\n","export const _PLACEHOLDER = 'PLACEHOLDER';\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'xui-time-picker',\n  templateUrl: './time-picker.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TimePickerComponent {}\n","<p>time-picker works!</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TimePickerComponent } from './time-picker.component';\n\n@NgModule({\n  declarations: [TimePickerComponent],\n  imports: [CommonModule],\n  exports: [TimePickerComponent]\n})\nexport class XuiTimePickerModule {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputBoolean } from '../utils';\nimport { ToggleColor } from './toggle.types';\n\n@Component({\n  selector: 'xui-toggle',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div [ngClass]=\"style\" [tabindex]=\"disabled ? -1 : 0\">\n      <div [class.x-toggle-clip]=\"!value\">\n        <div class=\"x-toggle-content\">\n          <xui-icon><ng-content></ng-content></xui-icon>\n        </div>\n      </div>\n      <div [class.x-toggle-toggled]=\"!value\">\n        <div class=\"x-toggle-line\"></div>\n      </div>\n    </div>\n  `\n})\nexport class ToggleComponent implements ControlValueAccessor, OnInit {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_value: BooleanInput;\n\n  private onChange?: (source: boolean) => void;\n  private onTouched?: () => void;\n  private _value = true;\n\n  @Input() @InputBoolean() disabled = false;\n  @Input() color: ToggleColor = 'none';\n\n  @Input()\n  @InputBoolean()\n  get value() {\n    return this._value;\n  }\n\n  set value(v) {\n    if (this._value !== v) {\n      this._value = v;\n      this.onChange?.(v);\n    }\n  }\n\n  get style() {\n    const ret: { [klass: string]: boolean } = {\n      'x-toggle': true,\n      'x-toggle-disabled': this.disabled\n    };\n\n    ret[`x-toggle-${this.color}`] = this.color !== 'none';\n    return ret;\n  }\n\n  constructor(private cdr: ChangeDetectorRef, @Self() @Optional() public control?: NgControl) {\n    if (this.control) {\n      this.control.valueAccessor = this;\n    }\n  }\n\n  ngOnInit() {\n    this.control?.statusChanges?.subscribe(() => this.cdr.markForCheck());\n  }\n\n  writeValue(source: boolean) {\n    this.value = source;\n  }\n\n  registerOnChange(onChange: (source: boolean) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  @HostListener('focusout')\n  private _focusOut() {\n    this.onTouched?.();\n  }\n\n  @HostListener('click', ['$event'])\n  @HostListener('keydown.enter', ['$event'])\n  @HostListener('keydown.space', ['$event'])\n  _click(event?: KeyboardEvent | MouseEvent) {\n    event?.preventDefault();\n\n    if (!this.disabled) {\n      this.value = !this.value;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToggleComponent } from './toggle.component';\nimport { XuiIconModule } from '../icon';\n\n@NgModule({\n  declarations: [ToggleComponent],\n\n  exports: [ToggleComponent],\n  imports: [CommonModule, XuiIconModule]\n})\nexport class XuiToggleModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ThemingService {\n  setStyle(key: string, href: string) {\n    this.getLinkElementForKey(key).setAttribute('href', href);\n  }\n\n  removeStyle(key: string) {\n    const existingLinkElement = this.getExistingLinkElementByKey(key);\n    if (existingLinkElement) {\n      document.head.removeChild(existingLinkElement);\n    }\n  }\n\n  private getLinkElementForKey(key: string) {\n    return this.getExistingLinkElementByKey(key) || this.createLinkElementWithKey(key);\n  }\n\n  private getExistingLinkElementByKey(key: string) {\n    return document.head.querySelector(`link[rel=\"stylesheet\"].${this.getClassNameForKey(key)}`);\n  }\n\n  private createLinkElementWithKey(key: string) {\n    const linkEl = document.createElement('link');\n    linkEl.setAttribute('rel', 'stylesheet');\n    linkEl.classList.add(this.getClassNameForKey(key));\n\n    document.head.appendChild(linkEl);\n    return linkEl;\n  }\n\n  private getClassNameForKey(key: string) {\n    return `xui-${key}`;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.XuiConfigService","i2","i1","i3.IconComponent","i2.ButtonGroupComponent","i3","i1.CardComponent","i4","i4.IconComponent","i5","i6","i2.IconComponent","i1.DrawerComponent","i2.ButtonComponent","i1.MenuService","i1.SubmenuService","i2.SubmenuService","filter","i2.MenuService","i3.SubmenuService","i5.IconComponent","i2.PanelBarItemComponent","i1.PanelBarItemComponent","i2.DecagramComponent","i3.RadioComponent","i5.OptionComponent","i7.ButtonComponent","i3.TooltipDirective","i3.ButtonComponent","i1.TabGroupComponent"],"mappings":"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"}