{"version":3,"file":"universal-material-angular.mjs","sources":["../../../../src/ripple/ripple.directive.ts","../../../../src/ripple/ripple.module.ts","../../../../src/coercion/boolean.coercion.ts","../../../../src/form-field/form-field.component.ts","../../../../src/form-field/form-field.component.html","../../../../src/shared/text-input-base.ts","../../../../src/text-field/text-input.directive.ts","../../../../src/text-field/text-field.module.ts","../../../../src/util/scrollable-container-wrapper.ts","../../../../src/util/scroll-behavior.ts","../../../../src/dialog/dialog-body.directive.ts","../../../../src/util/animations/animation-events.ts","../../../../src/dialog/dialog-config.model.ts","../../../../src/dialog/dialog-base.component.ts","../../../../src/dialog/dialog.component.ts","../../../../src/dialog/dialog.component.html","../../../../src/dialog/dialog-injector.ts","../../../../src/util/key.ts","../../../../src/dialog/dialog-stack.service.ts","../../../../src/dialog/dialog.service.ts","../../../../src/dialog/confirm-dialog/confirm-dialog-config.model.ts","../../../../src/dialog/confirm-dialog/confirm-dialog.component.ts","../../../../src/dialog/progress-dialog/progress-dialog.component.ts","../../../../src/dialog/progress-dialog/progress-dialog.component.html","../../../../src/dialog/progress-dialog/progress-dialog.service.ts","../../../../src/dialog/dialog.module.ts","../../../../src/form-field/label.directive.ts","../../../../src/form-field/form-field.module.ts","../../../../src/value-accessors/radio-control-value-accessor.ts","../../../../src/value-accessors/check-control-value-accessor.ts","../../../../src/value-accessors/chip-field-control-value-accessor.ts","../../../../src/value-accessors/default-control-value-accessor.ts","../../../../src/value-accessors/typeahead-control-value-accessor.ts","../../../../src/value-accessors/select-control-value-accessor.ts","../../../../src/value-accessors/slider-control-value-accessor.ts","../../../../src/value-accessors/datepicker-control-value-accessor.ts","../../../../src/value-accessors/date-range-control-value-accessors.ts","../../../../src/validators/datepicker-validators.ts","../../../../src/tab-bar/tab-bar.directive.ts","../../../../src/floating-action-behavior/floating-action-behavior.directive.ts","../../../../src/dialog/confirm-dialog/confirm-dialog.service.ts","../../../../src/snackbar/snackbar-config.model.ts","../../../../src/snackbar/snackbar-duration.ts","../../../../src/snackbar/snackbar.service.ts","../../../../src/index.ts","../../../../src/universal-material-angular.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, HostListener, input, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { RippleConfig } from './ripple-config.model';\n\n@Directive({\n  selector: '[uRipple]',\n  standalone: false,\n})\nexport class RippleDirective implements AfterViewInit {\n  protected readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n  private document = inject(DOCUMENT);\n\n\n  readonly rippleConfig = input<RippleConfig>({});\n  readonly disabled = input(false, { alias: \"rippleDisabled\" });\n\n  isTouching = false;\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n  }\n\n  private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {\n    element.style.top = '50%';\n    element.style.left = '50%';\n    element.style.width = `${size}px`;\n    element.style.height = `${size}px`;\n    element.style.marginLeft = `${-size / 2}px`;\n    element.style.marginTop = `${-size / 2}px`;\n  }\n\n  @HostListener('mousedown', ['$event']) _mousedown = (e: MouseEvent) => {\n    if (this.disabled() ||\n      this._elementRef.nativeElement.hasAttribute('disabled') ||\n      this._elementRef.nativeElement.classList.contains('disabled')) {\n      return;\n    }\n\n    if (!this.isTouching) {\n      this.createRipple('mouseup', null, e.clientX, e.clientY);\n    }\n  }\n\n  @HostListener('touchstart', ['$event']) _touchstart = (e: TouchEvent) => {\n    if (this.disabled() ||\n      this._elementRef.nativeElement.hasAttribute('disabled') ||\n      this._elementRef.nativeElement.classList.contains('disabled')) {\n      return;\n    }\n\n    this.isTouching = true;\n    this.createRipple('touchend', () => {\n      setTimeout(() => this.isTouching = false, 100);\n    }, e.touches[0].clientX, e.touches[0].clientY);\n  }\n\n  ngAfterViewInit(): void {\n    const {position} = document.defaultView!.getComputedStyle(this._elementRef.nativeElement);\n\n    const rippleConfig = this.rippleConfig();\n    if (position !== 'absolute' &&\n      position !== 'fixed' &&\n      (!rippleConfig || !rippleConfig.dontChangePositioning)) {\n      this._elementRef.nativeElement.style.position = 'relative';\n    }\n  }\n\n  createRipple(releaseEventName: string, releaseCallback: Function | null, pageX: number, pageY: number) {\n    if (this.disabled() ||\n      this._elementRef.nativeElement.hasAttribute('disabled') ||\n      this._elementRef.nativeElement.classList.contains('disabled')) {\n      return;\n    }\n\n    let release: () => void;\n\n    const cancelRippleIfNecessary = () => {\n\n      this._elementRef.nativeElement.removeEventListener(\"touchmove\", cancelRippleIfNecessary);\n      window.removeEventListener(releaseEventName, cancelRippleIfNecessary);\n\n      if (release) {\n        release();\n      }\n    };\n\n    this._elementRef.nativeElement.addEventListener(\"touchmove\", cancelRippleIfNecessary);\n    window.addEventListener(releaseEventName, cancelRippleIfNecessary);\n\n    const rippleWrapper = document.createElement('DIV');\n    rippleWrapper.classList.add('u-ripple-wrapper');\n\n    const ripple = document.createElement('DIV');\n    ripple.classList.add('u-ripple');\n    rippleWrapper.appendChild(ripple);\n    this._elementRef.nativeElement.insertAdjacentElement('afterbegin', rippleWrapper);\n\n    const rippleConfig = this.rippleConfig();\n    if (rippleConfig.size) {\n      RippleDirective._setElementSquareSizeAndCenter(rippleWrapper, rippleConfig.size);\n    }\n\n    if (rippleConfig.borderRadius) {\n      rippleWrapper.style.borderRadius = rippleConfig.borderRadius;\n    }\n\n    release = () => {\n\n      if (ripple.classList.contains('dismiss')) {\n        return;\n      }\n\n      ripple.classList.add('dismiss');\n\n      ripple.addEventListener('transitionend', () => {\n        this._elementRef.nativeElement.removeChild(rippleWrapper);\n        this._elementRef.nativeElement.removeEventListener('touchend', release);\n        this._elementRef.nativeElement.removeEventListener('mouseleave', release);\n        this._elementRef.nativeElement.removeEventListener('mouseup', release);\n      });\n\n      if (releaseCallback) {\n        releaseCallback();\n        releaseCallback = null;\n      }\n    };\n\n    this._elementRef.nativeElement.addEventListener('touchend', release);\n    this._elementRef.nativeElement.addEventListener('mouseleave', release);\n    this._elementRef.nativeElement.addEventListener('mouseup', release);\n\n    requestAnimationFrame(() => {\n      const clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n      const largestDimensionSize = Math.max(rippleWrapper.clientWidth, rippleWrapper.clientHeight);\n      const rippleSize = this.rippleConfig().size || largestDimensionSize * 2;\n      RippleDirective._setElementSquareSizeAndCenter(ripple, rippleSize);\n      ripple.style.transitionDuration = `${1080 * Math.pow(rippleSize, 0.3)}ms, 750ms`;\n\n      const x = (pageX - clientRect.left) + ((rippleSize - this._elementRef.nativeElement.clientWidth) / 2);\n      const y = (pageY - clientRect.top) + ((rippleSize - this._elementRef.nativeElement.clientHeight) / 2);\n\n      ripple.style.transformOrigin = `${x}px ${y}px`;\n      ripple.classList.add('show');\n    });\n  }\n}\n","import {NgModule} from '@angular/core';\r\nimport {RippleDirective} from './ripple.directive';\r\n\r\n@NgModule({\r\n  declarations: [RippleDirective],\r\n  exports: [RippleDirective]\r\n})\r\nexport class RippleModule {\r\n\r\n}\r\n","/**\r\n * @license\r\n * Copyright Google LLC All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n\r\n/** Coerces a data-bound value (typically a string) to a boolean. */\r\nexport function coerceBooleanProperty(value: any): boolean {\r\n  return value != null && `${value}` !== 'false';\r\n}\r\n","import { Component, ContentChild, ElementRef, HostBinding, HostListener, InjectionToken, Input, ViewChild, output, input, inject } from '@angular/core';\nimport { LabelDirective } from './label.directive';\nimport { InputBaseComponent } from '../shared/input-base.component';\nimport { FormFieldAppearance } from './form-field-appearance';\n\nexport const FORM_FIELD_DEFAULT_APPEARANCE = new InjectionToken('FORM_FIELD_DEFAULT_APPEARANCE');\n\n@Component({\n  selector: 'u-form-field',\n  templateUrl: './form-field.component.html',\n  styleUrls: ['./form-field.component.scss'],\n  standalone: false,\n})\nexport class FormFieldComponent {\n  readonly _elementRef = inject(ElementRef);\n\n\n  _appearanceClass!: string;\n  _appearance!: FormFieldAppearance;\n  _defaultAppearance: FormFieldAppearance;\n  _input: InputBaseComponent | null = null;\n  _hasLabel = false;\n\n  @HostBinding('class.u-form-field-selection')\nreadonly selectionField = input(false);\n\n  set labelWidth(width: number) {\n    this._elementRef.nativeElement.style.setProperty('--u-text-field-label-width', `${width}px`);\n    this._elementRef.nativeElement.style.setProperty('--u-text-field-label-half-width', `${width / 2}px`);\n  }\n\n  @HostBinding('style.margin-bottom')\n  get removeMarginStyle() {\n    return this.removeMargin() ? '0' : '';\n  }\n\n  readonly invalid = input(false);\n  readonly removeMargin = input(false);\n  readonly supportingText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly activated = output<void>();\n\n  @Input()\n  get appearance(): FormFieldAppearance {\n    return this._appearance;\n  }\n  set appearance(value: FormFieldAppearance) {\n    this._appearance = value;\n\n    if (!value || value === 'default') {\n      value = this._defaultAppearance;\n    }\n\n    if (value.indexOf('search') > -1) {\n      this._appearanceClass = 'u-search-field';\n      return;\n    }\n\n    this._appearanceClass = `u-text-field-${value}`;\n  }\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    const _elementRef = this._elementRef;\n    const defaultAppearance = inject<FormFieldAppearance>(FORM_FIELD_DEFAULT_APPEARANCE, { optional: true })!;\n\n    this._defaultAppearance = defaultAppearance || 'box';\n    this.appearance = this._defaultAppearance;\n    _elementRef.nativeElement.classList.add('u-form-field');\n  }\n\n  click(): void {\n\n    if (!this._input?.disabled) {\n      this._input?.focus();\n      this.activated.emit();\n    }\n  }\n\n  @HostListener('mousedown', ['$event'])\n  mouseDown(e: MouseEvent): void {\n    if (!this._input?.disabled) {\n      e.preventDefault();\n    }\n  }\n}\n","<div class=\"u-text-field\"\n  tabindex=\"-1\"\n  [ngClass]=\"_appearanceClass\"\n  [class.u-text-field-hidden-label]=\"!_hasLabel\"\n  [class.invalid]=\"invalid()\"\n  [class.disabled]=\"_input?.disabled\"\n  [class.focus]=\"_input?.focused\"\n  [class.empty]=\"_input?.empty\"\n  (click)=\"click()\">\n  <div\n    uRipple\n    [rippleDisabled]=\"_input?.disabled || !selectionField()\"\n  class=\"u-text-field-state\"></div>\n  <ng-content></ng-content>\n\n</div>\n\n@if (invalid() && (errorText() || errorTextContainer.children.length)) {\n  <div class=\"u-text-field-supporting-text\">{{errorText()}}</div>\n} @else {\n  @if (supportingText()) {\n    <div\n    class=\"u-text-field-supporting-text\">{{supportingText()}}</div>\n  }\n  <div class=\"u-text-field-supporting-text\"\n    [class.d-none]=\"!supportingTextContainer.children.length\"\n    #supportingTextContainer>\n    <ng-content select=\"[uSupportingText]\"></ng-content>\n  </div>\n}\n<div class=\"u-text-field-supporting-text\"\n  [class.d-none]=\"!invalid() || !errorTextContainer.children.length\"\n  #errorTextContainer>\n  <ng-content select=\"[uErrorText]\"></ng-content>\n</div>\n\n","import { Directive, ElementRef, HostBinding, HostListener, Input, inject } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { FormFieldComponent } from '../form-field/form-field.component';\r\nimport { coerceBooleanProperty } from '../coercion/boolean.coercion';\r\n\r\n@Directive()\r\nexport abstract class TextInputBase {\r\n  protected readonly _elementRef = inject(ElementRef);\r\n\r\n  focused = false;\r\n\r\n  @Input()\r\n  get disabled(): boolean {\r\n    if (this.ngControl && this.ngControl.disabled !== null) {\r\n      return this.ngControl.disabled;\r\n    }\r\n    return this._disabled;\r\n  }\r\n  set disabled(value: boolean) {\r\n    this._disabled = (value as any === '') || value;\r\n\r\n    // Browsers may not fire the blur event if the input is disabled too quickly.\r\n    // Reset from here to ensure that the element doesn't become stuck.\r\n    if (this.focused) {\r\n      this.focused = false;\r\n    }\r\n  }\r\n\r\n  protected _disabled = false;\r\n  static ngAcceptInputType_disabled: boolean | '';\r\n\r\n  /** Whether the element is readonly. */\r\n  @Input()\r\n  get readonly(): boolean { return this._readonly; }\r\n  set readonly(value: boolean) { this._readonly = coerceBooleanProperty(value); }\r\n  private _readonly = false;\r\n\r\n  get empty(): boolean {\r\n    return !this._elementRef.nativeElement.value;\r\n  }\r\n\r\n  @HostListener('blur') _blur = () => this._focusChanged(false);\r\n  @HostListener('focus') _focus = () => this._focusChanged(true);\r\n  @HostBinding('attr.disabled') get _disabledAttribute() {\r\n    return this.disabled ? true : null;\r\n  }\r\n\r\n  protected constructor(readonly ngControl: NgControl | null,\r\n                        formField: FormFieldComponent | null) {\r\n\r\n    if (formField) {\r\n      formField._input = this;\r\n    }\r\n  }\r\n\r\n  focus(): void {\r\n    if (document.activeElement !== this._elementRef.nativeElement) {\r\n      this._elementRef.nativeElement.focus();\r\n    }\r\n  }\r\n\r\n  /** Callback for the cases where the focused state of the input changes. */\r\n  _focusChanged(focused: boolean) {\r\n    if (focused !== this.focused && (!this.readonly || !focused)) {\r\n      this.focused = focused;\r\n    }\r\n  }\r\n\r\n  @HostListener('mousedown', ['$event'])\r\n  mouseDown(e: MouseEvent): void {\r\n    e.stopPropagation();\r\n  }\r\n}\r\n","import { Directive, HostBinding, inject, input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { TextInputBase } from '../shared/text-input-base';\r\nimport { FormFieldComponent } from '../form-field/form-field.component';\r\n\r\n@Directive({\r\n  selector: '[uTextInput]',\r\n  standalone: false,\r\n})\r\nexport class TextInputDirective extends TextInputBase {\r\n  override readonly ngControl: NgControl;\r\n\r\n\r\n  @HostBinding('class.u-text-input')\r\nreadonly setInputClass = input(true);\r\n\r\n  constructor() {\r\n    const ngControl = inject(NgControl, { optional: true, self: true })!;\r\n    const formField = inject(FormFieldComponent, { optional: true })!;\r\n\r\n    super(ngControl, formField);\r\n    this.ngControl = ngControl;\r\n\r\n    this._elementRef.nativeElement.addEventListener('click', (e: Event) => e.stopPropagation());\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TextInputDirective } from './text-input.directive';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  declarations: [\r\n    TextInputDirective\r\n  ],\r\n  exports: [\r\n    TextInputDirective\r\n  ]\r\n})\r\nexport class TextFieldModule {\r\n\r\n}\r\n","import { BehaviorSubject, Observable } from \"rxjs\";\nimport { distinctUntilChanged } from \"rxjs/operators\";\n\nexport class ScrollableContainerWrapper {\n  private _container: EventTarget | any;\n  defaultTarget: EventTarget | any;\n\n  _innerScrollTop = new BehaviorSubject<number | null>(null);\n\n  scrollTop: number | null = null;\n  scrollTop$: Observable<number | null> = this._innerScrollTop.pipe(distinctUntilChanged());\n\n  private _emitScroll = () => {\n    this.scrollTop = this._getScrollTop();\n    this._innerScrollTop.next(this.scrollTop);\n  };\n\n  private _getScrollTop(): number | null{\n    if (typeof this._container.scrollY === 'number') {\n      return this._container.scrollY;\n    }\n\n    if (typeof this._container.scrollTop === 'number') {\n      return this._container.scrollTop;\n    }\n\n    if (this._container.body && typeof this._container.body.scrollTop === 'number') {\n      return this._container.body.scrollTop;\n    }\n\n    return null;\n  }\n\n  get container(): EventTarget | any {\n    return this._container;\n  }\n\n  set container(value: EventTarget | any) {\n    value = value || this.defaultTarget;\n    if (value === this._container) {\n      return;\n    }\n\n    if (this._container) {\n      this._container.removeEventListener('scroll', this._emitScroll);\n    }\n\n    this._container = value;\n\n    if (this._container) {\n      this._container.addEventListener('scroll', this._emitScroll);\n    }\n\n    this._emitScroll();\n  }\n}\n","import { AfterContentInit, Directive, OnChanges, SimpleChanges, input } from '@angular/core';\r\n\r\nimport { ScrollableContainerWrapper } from './scrollable-container-wrapper';\r\n\r\n@Directive()\r\nexport abstract class ScrollBehavior implements AfterContentInit, OnChanges {\r\n  readonly scrollContainer = input<HTMLElement | null>(null);\r\n  protected _scrollableWrapper: ScrollableContainerWrapper | null = null;\r\n\r\n  protected abstract _processBehavior: (scrollTop: number | null) => void;\r\n  protected defaultTarget: EventTarget | any;\r\n\r\n  protected _setScrollWrapper() {\r\n    this._scrollableWrapper = new ScrollableContainerWrapper();\r\n    this._scrollableWrapper.defaultTarget = this.defaultTarget;\r\n    this._scrollableWrapper.container = this.scrollContainer();\r\n    this._scrollableWrapper.scrollTop$.subscribe(this._processBehavior.bind(this));\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    this._setScrollWrapper();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['scrollContainer'] && this._scrollableWrapper) {\r\n      this._scrollableWrapper.container = this.scrollContainer();\r\n    }\r\n  }\r\n}\r\n","import { Directive, ElementRef, inject } from '@angular/core';\n\nimport { ScrollBehavior } from '../util/scroll-behavior';\n\n@Directive({\n  selector: '[uDialogBody]',\n  standalone: false,\n})\nexport class DialogBodyDirective extends ScrollBehavior {\n  dialog: any;\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    const _elementRef = inject(ElementRef);\n\n    super();\n    this.defaultTarget = _elementRef.nativeElement\n  }\n\n  _processBehavior = () => {\n\n    if (!this.dialog || !this._scrollableWrapper) {\n      return;\n    }\n\n    const scrollTop = this._scrollableWrapper.scrollTop;\n    this.dialog.scrollTopDivider.set(!!scrollTop);\n\n    if (scrollTop === null) {\n      this.dialog.scrollBottomDivider.set(false);\n      return;\n    }\n\n    const scrollBottom = scrollTop + this._scrollableWrapper.container.offsetHeight;\n    this.dialog.scrollBottomDivider.set(scrollBottom !== this._scrollableWrapper.container.scrollHeight);\n  }\n}\n","export class AnimationEvents {\n  private static readonly _animationEndEvents = ['webkitAnimationEnd', 'oanimationend', 'msAnimationEnd', 'animationend'];\n\n  static attachAnimationEndEvents(element: Element, listener: EventListenerOrEventListenerObject) {\n    AnimationEvents\n      ._animationEndEvents\n      .forEach(eventName => {\n        element.addEventListener(eventName, listener);\n      });\n  }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const DIALOG_DEFAULT_OPTIONS = new InjectionToken<DialogConfig>('DIALOG_DEFAULT_OPTIONS');\n\nexport interface DialogConfig {\n  closeOnBackdropClick?: boolean;\n  closeOnEsc?: boolean;\n}\n","import {\n  Component,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  inject,\n  model,\n  signal,\n  ViewChild,\n  output\n} from '@angular/core';\n\nimport { DialogBodyDirective } from \"./dialog-body.directive\";\nimport { AnimationEvents } from '../util/animations/animation-events';\nimport { DIALOG_DEFAULT_OPTIONS, DialogConfig } from './dialog-config.model';\n\nexport const DefaultDialogConfig: DialogConfig = {\n  closeOnBackdropClick: true,\n  closeOnEsc: true\n};\n\n@Component({\n  selector: 'u-dialog-base',\n  template: '',\n  host: {\n    '[class.hide]': '_hiding()',\n    '[class.show]': 'show()',\n    '[class.u-dialog-scroll-top-divider]': 'scrollTopDivider()',\n    '[class.u-dialog-scroll-bottom-divider]': 'scrollBottomDivider()',\n    '[attr.tabindex]': '-1',\n  }\n})\nexport class DialogBaseComponent {\n\n  protected readonly _elementRef = inject(ElementRef);\n  readonly #defaultOptions = inject(DIALOG_DEFAULT_OPTIONS, {optional: true});\n\n  _dialogConfig = {...DefaultDialogConfig, ...this.#defaultOptions};\n\n  protected readonly _hiding = signal(false);\n  readonly show = model(false);\n  readonly afterClose = output();\n  readonly closedFromBackdrop = output();\n\n  @ContentChild(DialogBodyDirective)\n  set _contentChildBody(dialogBody: DialogBodyDirective) {\n    this.#setDialogBody(dialogBody);\n  }\n\n  @ViewChild(DialogBodyDirective)\n  set _viewChildBody(dialogBody: DialogBodyDirective) {\n    this.#setDialogBody(dialogBody);\n  }\n\n  dialogBody: DialogBodyDirective | null = null;\n\n  readonly scrollTopDivider = signal(false);\n  readonly scrollBottomDivider = signal(false);\n\n  constructor() {\n    this._elementRef.nativeElement.classList.add('u-dialog');\n  }\n\n  #addAnimationEndEvents() {\n    AnimationEvents.attachAnimationEndEvents(this._elementRef.nativeElement, this.#onAnimationEnd.bind(this));\n  }\n\n  #onAnimationEnd = (event: Event) => {\n    this._elementRef.nativeElement.removeEventListener(event.type, this.#onAnimationEnd);\n    this._hiding.set(false);\n    this.afterClose.emit();\n  }\n\n  #setDialogBody(dialogBody: DialogBodyDirective): void {\n    this.dialogBody = dialogBody;\n\n    if (!this.dialogBody) {\n      return;\n    }\n\n    this.dialogBody.dialog = this;\n    this.dialogBody._processBehavior();\n  }\n\n  protected backdropClick() {\n    if (this._dialogConfig.closeOnBackdropClick) {\n      this.close();\n      this.closedFromBackdrop.emit();\n    }\n  }\n\n  close() {\n\n    if (!this.show()) {\n      return;\n    }\n\n    this.show.set(false);\n    this._hiding.set(true);\n    this.#addAnimationEndEvents();\n  }\n}\n","import { Component } from '@angular/core';\n\nimport { DialogBaseComponent } from './dialog-base.component';\n\n@Component({\n  selector: 'u-legacy-dialog',\n  templateUrl: './dialog.component.html',\n  styleUrls: ['./dialog.component.scss'],\n  standalone: false,\n})\nexport class DialogComponent extends DialogBaseComponent {\n\n}\n","<div class=\"u-dialog-backdrop\" (click)=\"backdropClick()\"></div>\n<ng-content></ng-content>\n","import { Injector } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n  constructor(\n    private _parentInjector: Injector,\n    private _customTokens: WeakMap<any, any>\n  ) {}\n\n  get(token: any, notFoundValue?: any): any {\n    const value = this._customTokens.get(token);\n\n    if (typeof value !== 'undefined') {\n      return value;\n    }\n\n    return this._parentInjector.get<any>(token, notFoundValue);\n  }\n\n}\n","export enum Key {\n  Tab = 9,\n  Enter = 13,\n  Escape = 27,\n  Space = 32,\n  PageUp = 33,\n  PageDown = 34,\n  End = 35,\n  Home = 36,\n  ArrowLeft = 37,\n  ArrowUp = 38,\n  ArrowRight = 39,\n  ArrowDown = 40\n}\n","import { Injectable, inject } from '@angular/core';\nimport { first } from 'rxjs/operators';\n\nimport { DialogComponent } from './dialog.component';\nimport { DOCUMENT } from '@angular/common';\nimport { Key } from '../util/key';\nimport { toObservable } from '@angular/core/rxjs-interop';\n\n@Injectable({providedIn: 'root'})\nexport class DialogStackService {\n  private readonly _document = inject(DOCUMENT);\n\n  private static _dialogStack: DialogComponent[] = [];\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    this._document.body.addEventListener('keydown', (e: KeyboardEvent) => {\n      if (e.keyCode === Key.Escape) {\n        this.closeTopMostDialog();\n      }\n    });\n  }\n\n  removeDialog(dialog: DialogComponent) {\n    const index = DialogStackService._dialogStack.indexOf(dialog);\n\n    if (index < 0) {\n      return;\n    }\n\n    DialogStackService._dialogStack.splice(index, 1);\n  }\n\n  addDialog(dialog: DialogComponent) {\n    const index = DialogStackService._dialogStack.indexOf(dialog);\n\n    if (index < 0) {\n      return;\n    }\n\n    DialogStackService._dialogStack.unshift(dialog);\n  }\n\n  add(dialog: DialogComponent) {\n\n    if (dialog.show()) {\n      this.addDialog(dialog);\n    } else {\n      dialog.show\n        .subscribe(show => {\n          if (show) {\n            this.addDialog(dialog);\n          }\n        });\n    }\n\n    dialog.afterClose\n      .subscribe(() => this.removeDialog(dialog));\n\n    DialogStackService._dialogStack.unshift(dialog);\n  }\n\n  closeTopMostDialog() {\n    for (const dialog of DialogStackService._dialogStack) {\n      if (dialog._dialogConfig && dialog._dialogConfig.closeOnEsc) {\n        dialog.close();\n        break;\n      }\n    }\n  }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Injectable, InjectionToken, Injector, Type, inject } from '@angular/core';\n\nimport { DialogInjector } from './dialog-injector';\nimport { DialogStackService } from './dialog-stack.service';\nimport { DialogComponent } from './dialog.component';\n\nexport const DIALOG_DATA = new InjectionToken<any>('DIALOG_DATA');\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DialogService {\n  private readonly _componentFactoryResolver = inject(ComponentFactoryResolver);\n  private readonly _appRef = inject(ApplicationRef);\n  private readonly _injector = inject(Injector);\n  private readonly _dialogStackService = inject(DialogStackService);\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n\n  constructor() {\n\n  }\n\n  _internalOpen<T extends DialogComponent>(dialogType: Type<T>, customInjectionTokens: WeakMap<any, any>): T {\n    const dialogComponent = this._componentFactoryResolver.resolveComponentFactory(dialogType);\n\n    const dialogComponentRef = dialogComponent.create(new DialogInjector(this._injector, customInjectionTokens));\n\n    dialogComponentRef.instance.afterClose.subscribe(() => {\n      this._appRef.detachView(dialogComponentRef.hostView);\n      dialogComponentRef.destroy();\n    });\n\n    this._appRef.attachView(dialogComponentRef.hostView);\n\n    this._dialogStackService.add(dialogComponentRef.instance);\n\n    document\n      .querySelector('body')!\n      .appendChild(dialogComponentRef.location.nativeElement);\n\n    return dialogComponentRef.instance;\n  }\n\n  open<T extends DialogComponent>(dialogType: Type<T>, data?: any): T {\n    return this._internalOpen(dialogType, new WeakMap(data && [[DIALOG_DATA, data]]));\n  }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { DialogConfig } from '../dialog-config.model';\nimport { DefaultDialogConfig } from '../dialog-base.component';\nimport { ButtonColor, ButtonVariant } from '@universal-material/web';\n\nexport const CONFIRM_DIALOG_DEFAULT_OPTIONS = new InjectionToken<any>('CONFIRM_DIALOG_DEFAULT_OPTIONS');\n\nexport const DefaultConfirmDialogConfig: ConfirmDialogConfig = {\n  ...DefaultDialogConfig,\n  confirmButton: {\n    text: 'OK',\n    variant: 'text'\n  },\n  cancelButton: {\n    text: 'Cancel',\n    variant: 'text'\n  },\n};\n\nexport interface ConfirmDialogButtonConfig {\n  text?: string;\n  variant?: ButtonVariant;\n  color?: ButtonColor;\n}\n\nexport class ConfirmDialogConfig implements DialogConfig {\n  title?: string;\n  confirmButton?: ConfirmDialogButtonConfig;\n  cancelButton?: ConfirmDialogButtonConfig;\n  closeOnBackdropClick?: boolean;\n  closeOnEsc?: boolean;\n}\n","import { Component, SecurityContext, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\n\nimport { DialogComponent } from '../dialog.component';\nimport {\n  CONFIRM_DIALOG_DEFAULT_OPTIONS,\n  ConfirmDialogConfig,\n  DefaultConfirmDialogConfig\n} from './confirm-dialog-config.model';\n\n@Component({\n  template: '',\n})\nexport abstract class ConfirmDialogComponent extends DialogComponent {\n  private readonly sanitizer = inject(DomSanitizer);\n\n  safeMessage: string | null = null;\n\n  set message(value: string) {\n    this.safeMessage = this.sanitizer.sanitize(SecurityContext.HTML, value);\n  }\n\n  private _closed = false;\n  readonly _confirmDialogConfig: ConfirmDialogConfig;\n\n  onCancel = new Subject<void>();\n  onConfirm = new Subject<void>();\n  confirmed = false;\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    const confirmDialogConfig = inject(ConfirmDialogConfig, { optional: true })!;\n    const defaultOptions = inject<ConfirmDialogConfig>(CONFIRM_DIALOG_DEFAULT_OPTIONS, { optional: true })!;\n\n    super();\n    this._confirmDialogConfig = DefaultConfirmDialogConfig;\n    this._confirmDialogConfig = this._assignConfig(this._confirmDialogConfig, defaultOptions);\n    this._confirmDialogConfig = this._assignConfig(this._confirmDialogConfig, confirmDialogConfig);\n\n    this._dialogConfig = this._confirmDialogConfig;\n  }\n\n  private _assignConfig(baseConfig: ConfirmDialogConfig, partialConfig: ConfirmDialogConfig): ConfirmDialogConfig {\n\n    if (partialConfig) {\n      baseConfig.confirmButton = {...baseConfig.confirmButton, ...partialConfig.confirmButton};\n      baseConfig.cancelButton = {...baseConfig.cancelButton, ...partialConfig.cancelButton};\n      delete partialConfig.confirmButton;\n      delete partialConfig.cancelButton;\n    }\n\n    return {...baseConfig, ...partialConfig};\n  }\n\n  override close() {\n    super.close();\n    this._closed = true;\n  }\n\n  _cancelClick() {\n    if (this._closed) {\n      return;\n    }\n\n    this.close();\n    this.onCancel.next();\n  }\n\n  _confirmClick() {\n    if (this._closed) {\n      return;\n    }\n\n    this.close();\n    this.confirmed = true;\n    this.onConfirm.next();\n  }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, signal } from '@angular/core';\n\nimport { DialogComponent } from '../dialog.component';\nimport { DIALOG_DEFAULT_OPTIONS } from '../dialog-config.model';\n\n@Component({\n  selector: 'u-progress-dialog',\n  templateUrl: './progress-dialog.component.html',\n  styles: [\n    `\n      u-circular-progress {\n        margin-inline: 0;\n      }\n    `\n  ],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  providers: [\n    {\n      provide: DIALOG_DEFAULT_OPTIONS,\n      useValue: {\n        closeOnBackdropClick: false,\n        closeOnEsc: false\n      }\n    }\n  ]\n})\nexport class ProgressDialogComponent extends DialogComponent {\n  readonly message = signal<string | null>(null);\n\n  constructor() {\n    super();\n    this._elementRef.nativeElement.classList.add('u-dialog-progress');\n  }\n}\n","<div class=\"u-dialog-backdrop\"></div>\n<div class=\"u-dialog-content\">\n  <div class=\"u-dialog-body\">\n    <u-circular-progress></u-circular-progress>\n    <div class=\"u-dialog-progress-message u-title-l u-text-low-contrast u-text-nowrap\">{{message()}}</div>\n  </div>\n</div>\n","import { Injectable, inject } from '@angular/core';\n\nimport { ProgressDialogComponent } from './progress-dialog.component';\nimport { DialogService } from '../dialog.service';\n\n@Injectable({providedIn: 'root'})\nexport class ProgressDialogService {\n  private readonly _dialogService = inject(DialogService);\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n\n  }\n\n  open(message: string | null = null): ProgressDialogComponent {\n    const progressDialog = this._dialogService.open(ProgressDialogComponent);\n    progressDialog.message.set(message);\n    progressDialog.show.set(true);\n\n    return progressDialog;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DialogComponent } from './dialog.component';\nimport { DialogBodyDirective } from './dialog-body.directive';\nimport { ProgressDialogComponent } from './progress-dialog/progress-dialog.component';\n\nexport { DialogBaseComponent } from './dialog-base.component';\nexport { type DialogConfig, DIALOG_DEFAULT_OPTIONS } from './dialog-config.model';\nexport { DialogComponent } from './dialog.component';\nexport { DialogBodyDirective } from './dialog-body.directive';\nexport { DialogService, DIALOG_DATA } from './dialog.service';\n\nexport { ConfirmDialogConfig, CONFIRM_DIALOG_DEFAULT_OPTIONS } from './confirm-dialog/confirm-dialog-config.model';\nexport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\n\nexport { ProgressDialogComponent } from './progress-dialog/progress-dialog.component';\nexport { ProgressDialogService } from './progress-dialog/progress-dialog.service';\n\n@NgModule({\n  imports: [\n    CommonModule\n  ],\n  declarations: [\n    DialogComponent,\n    DialogBodyDirective\n  ],\n  exports: [\n    DialogComponent,\n    DialogBodyDirective\n  ]\n})\nexport class DialogModule {\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\r\n\r\nimport { FormFieldComponent } from './form-field.component';\r\n\r\n@Directive({\r\n  selector: '[uLabel]',\r\n  standalone: false,\r\n})\r\nexport class LabelDirective {\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\r\n  constructor() {\n    const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n    const formField = inject(FormFieldComponent, { optional: true })!;\n\r\n    if (formField) {\r\n      elementRef.nativeElement.classList.add('u-text-field-label');\r\n      formField._hasLabel = true;\r\n      formField.labelWidth = elementRef.nativeElement.offsetWidth;\r\n      new ResizeObserver(() => formField.labelWidth = elementRef.nativeElement.offsetWidth)\r\n        .observe(elementRef.nativeElement);\r\n\r\n    }\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormFieldComponent } from './form-field.component';\nimport { LabelDirective } from './label.directive';\nimport { RippleModule } from '../ripple/ripple.module';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    RippleModule\n  ],\n  declarations: [\n    FormFieldComponent,\n    LabelDirective\n  ],\n  exports: [\n    FormFieldComponent,\n    LabelDirective\n  ]\n})\nexport class FormFieldModule { }\n","import { Directive, forwardRef, OnInit, Provider } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, RadioControlValueAccessor } from '@angular/forms';\r\n\r\nconst RADIO_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => UmRadioControlValueAccessor),\r\n  multi: true,\r\n};\r\n\r\n@Directive({\r\n  selector: 'u-radio[ngModel],u-radio[formControlName],u-radio[formControl],u-radio-list-item[ngModel],u-radio-list-item[formControlName],u-radio-list-item[formControl]',\r\n  providers: [RADIO_VALUE_ACCESSOR],\r\n  standalone: false,\r\n})\r\nexport class UmRadioControlValueAccessor extends RadioControlValueAccessor {\r\n\r\n}\r\n","import { Directive, forwardRef, OnInit, Provider } from '@angular/core';\r\nimport { CheckboxControlValueAccessor, NG_VALUE_ACCESSOR, RadioControlValueAccessor } from '@angular/forms';\r\n\r\nconst CHECK_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => UmCheckControlValueAccessor),\r\n  multi: true,\r\n};\r\n\r\n@Directive({\r\n  selector: 'u-checkbox[ngModel],u-checkbox[formControlName],u-checkbox[formControl],u-switch[ngModel],u-switch[formControlName],u-switch[formControl],u-checkbox-list-item[ngModel],u-checkbox-list-item[formControlName],u-checkbox-list-item[formControl],u-switch-list-item[ngModel],u-switch-list-item[formControlName],u-switch-list-item[formControl]',\r\n  providers: [CHECK_VALUE_ACCESSOR],\r\n  standalone: false,\r\n})\r\nexport class UmCheckControlValueAccessor extends CheckboxControlValueAccessor {\r\n\r\n}\r\n","import { ControlValueAccessor, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Directive, ElementRef, forwardRef, Provider, Renderer2, inject } from '@angular/core';\r\nimport { ChipField } from '@universal-material/web';\r\n\r\nconst CHIP_FIELD_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => UmChipFieldControlValueAccessor),\r\n  multi: true,\r\n};\r\n\r\n@Directive({\r\n  selector: 'u-chip-field[ngModel],u-chip-field[formControlName],u-chip-field[formControl]',\r\n  providers: [CHIP_FIELD_VALUE_ACCESSOR],\r\n  host: {\r\n    '(change)': '_handleChange($any($event).target.value)',\r\n  },\r\n  standalone: false,\r\n})\r\nexport class UmChipFieldControlValueAccessor implements ControlValueAccessor {\r\n  private _renderer = inject(Renderer2);\r\n  private _elementRef = inject<ElementRef<ChipField>>(ElementRef);\r\n\r\n\r\n  onChange = (_: any) => {};\r\n  onTouched = () => {};\r\n\r\n  /** Inserted by Angular inject() migration for backwards compatibility */\r\n  constructor(...args: unknown[]);\r\n\r\n  constructor() {}\r\n\r\n  writeValue(obj: any): void {\r\n    this._elementRef.nativeElement.value = obj ?? [];\r\n  }\r\n\r\n  protected setProperty(key: string, value: any): void {\r\n    this._renderer.setProperty(this._elementRef.nativeElement, key, value);\r\n  }\r\n\r\n  registerOnTouched(fn: () => void): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  registerOnChange(fn: (_: any) => {}): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.setProperty('disabled', isDisabled);\r\n  }\r\n\r\n  _handleChange(value: []) {\r\n    this.onChange(value);\r\n  }\r\n}\r\n","import { Directive, ElementRef, Renderer2, inject } from '@angular/core';\r\nimport { COMPOSITION_BUFFER_MODE, DefaultValueAccessor, NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n  // NOTE: u-button-field is intentionally excluded — it exposes a `value` setter but dispatches no\r\n  // input/change events, so DefaultValueAccessor cannot observe user changes (display-only control).\r\n  selector: 'u-text-field[ngModel],u-text-field[formControlName],u-text-field[formControl],u-text-area[ngModel],u-text-area[formControlName],u-text-area[formControl],u-search[ngModel],u-search[formControlName],u-search[formControl]',\r\n  standalone: false,\r\n})\r\nexport class UmDefaultControlValueAccessor extends DefaultValueAccessor {\r\n\r\n  /** Inserted by Angular inject() migration for backwards compatibility */\r\n  constructor(...args: unknown[]);\r\n\r\n  constructor() {\r\n    const renderer = inject(Renderer2);\r\n    const elementRef = inject(ElementRef);\r\n    const _compositionMode = inject(COMPOSITION_BUFFER_MODE, { optional: true })!;\r\n    const ngControl = inject(NgControl, { optional: true })!;\r\n\r\n    super(renderer, elementRef, _compositionMode);\r\n\r\n    if (!ngControl || ngControl.valueAccessor) {\r\n      return;\r\n    }\r\n\r\n    ngControl.valueAccessor = this;\r\n  }\r\n}\r\n","import { ControlValueAccessor, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Directive, ElementRef, forwardRef, Provider, Renderer2, inject } from '@angular/core';\r\nimport { Typeahead } from '@universal-material/web';\r\n\r\nconst TYPEAHEAD_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => UmTypeaheadControlValueAccessor),\r\n  multi: true,\r\n};\r\n\r\n@Directive({\r\n  selector: 'u-typeahead[ngModel],u-typeahead[formControlName],u-typeahead[formControl]',\r\n  providers: [TYPEAHEAD_VALUE_ACCESSOR],\r\n  host: {\r\n    '(change)': '_handleChange($any($event).target.value)'\r\n  },\r\n  standalone: false,\r\n})\r\nexport class UmTypeaheadControlValueAccessor implements ControlValueAccessor {\r\n  private _renderer = inject(Renderer2);\r\n  private _elementRef = inject<ElementRef<Typeahead>>(ElementRef);\r\n\r\n\r\n  onChange = (_: any) => {};\r\n  onTouched = () => {};\r\n\r\n  /** Inserted by Angular inject() migration for backwards compatibility */\r\n  constructor(...args: unknown[]);\r\n\r\n  constructor() {\r\n  }\r\n\r\n  writeValue(obj: any): void {\r\n    this._elementRef.nativeElement.value = obj;\r\n  }\r\n\r\n  protected setProperty(key: string, value: any): void {\r\n    this._renderer.setProperty(this._elementRef.nativeElement, key, value);\r\n  }\r\n\r\n  registerOnTouched(fn: () => void): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  registerOnChange(fn: (_: any) => {}): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.setProperty('disabled', isDisabled);\r\n  }\r\n\r\n  _handleChange(value: [] | null) {\r\n    this.onChange(value);\r\n  }\r\n}\r\n","import { afterNextRender, Directive, ElementRef, forwardRef, Provider, Renderer2, inject } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\r\n\r\nconst SELECT_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => UmSelectControlValueAccessor),\r\n  multi: true,\r\n};\r\n\r\n@Directive({\r\n  selector: 'u-select[ngModel],u-select[formControlName],u-select[formControl]',\r\n  providers: [SELECT_VALUE_ACCESSOR],\r\n  standalone: false,\r\n})\r\nexport class UmSelectControlValueAccessor extends SelectControlValueAccessor {\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\r\n\r\n  constructor() {\n    const _element = inject(ElementRef);\n    const _renderer = inject(Renderer2);\n\r\n    super(_renderer, _element);\r\n  }\r\n\r\n  _writeValueAfterRender(): void {\r\n    // @ts-ignore\r\n    queueMicrotask(() => super['_writeValueAfterRender']());\r\n  }\r\n}\r\n\r\n@Directive({\r\n  selector: 'u-option',\r\n  standalone: false,\r\n})\r\nexport class UmSelectOption extends NgSelectOption {\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\r\n  constructor() {\n    const _element = inject(ElementRef);\n    const _renderer = inject(Renderer2);\n    const _select = inject(UmSelectControlValueAccessor, { optional: true, host: true })!;\n\r\n    super(_element, _renderer, _select);\r\n  }\r\n\r\n  override ngOnDestroy() {\r\n    setTimeout(() =>\r\n      super.ngOnDestroy(), 1000);\r\n  }\r\n}\r\n","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Directive, ElementRef, forwardRef, Provider, Renderer2, inject } from '@angular/core';\nimport { Slider } from '@universal-material/web';\n\nconst SLIDER_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => UmSliderControlValueAccessor),\n  multi: true,\n};\n\n@Directive({\n  selector: 'u-slider[ngModel],u-slider[formControlName],u-slider[formControl]',\n  providers: [SLIDER_VALUE_ACCESSOR],\n  host: {\n    '(input)': '_handleChange()',\n    '(change)': '_handleChange()',\n    '(blur)': 'onTouched()',\n  },\n  standalone: false,\n})\nexport class UmSliderControlValueAccessor implements ControlValueAccessor {\n  private _renderer = inject(Renderer2);\n  private _elementRef = inject<ElementRef<Slider>>(ElementRef);\n\n  onChange = (_: any) => {};\n  onTouched = () => {};\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {}\n\n  writeValue(value: any): void {\n    const el = this._elementRef.nativeElement;\n\n    if (el.range || (value !== null && typeof value === 'object')) {\n      const start = Array.isArray(value) ? value[0] : value?.start;\n      const end = Array.isArray(value) ? value[1] : value?.end;\n      this.setProperty('valueStart', start ?? null);\n      this.setProperty('valueEnd', end ?? null);\n    } else {\n      this.setProperty('value', value ?? null);\n    }\n  }\n\n  protected setProperty(key: string, value: any): void {\n    this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n  }\n\n  registerOnChange(fn: (_: any) => {}): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.setProperty('disabled', isDisabled);\n  }\n\n  _handleChange(): void {\n    const el = this._elementRef.nativeElement;\n    this.onChange(el.range ? { start: el.valueStart, end: el.valueEnd } : el.value);\n  }\n}\n","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Directive, ElementRef, forwardRef, Provider, Renderer2, inject } from '@angular/core';\nimport { Datepicker, RangeDatepicker } from '@universal-material/web';\n\nconst DATEPICKER_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => UmDatepickerControlValueAccessor),\n  multi: true,\n};\n\n@Directive({\n  selector:\n    'u-datepicker[ngModel],u-datepicker[formControlName],u-datepicker[formControl],' +\n    'u-range-datepicker[ngModel],u-range-datepicker[formControlName],u-range-datepicker[formControl]',\n  providers: [DATEPICKER_VALUE_ACCESSOR],\n  host: {\n    '(input)': '_handleChange()',\n    '(change)': '_handleChange()',\n    '(blur)': 'onTouched()',\n  },\n  standalone: false,\n})\nexport class UmDatepickerControlValueAccessor implements ControlValueAccessor {\n  private _renderer = inject(Renderer2);\n  private _elementRef = inject<ElementRef<Datepicker | RangeDatepicker>>(ElementRef);\n\n  onChange = (_: any) => {};\n  onTouched = () => {};\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {}\n\n  writeValue(value: any): void {\n    this.setProperty('value', value ?? null);\n  }\n\n  protected setProperty(key: string, value: any): void {\n    this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n  }\n\n  registerOnChange(fn: (_: any) => {}): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.setProperty('disabled', isDisabled);\n  }\n\n  _handleChange(): void {\n    this.onChange(this._elementRef.nativeElement.value);\n  }\n}\n","import { Directive, ElementRef, forwardRef, inject, OnDestroy, Provider, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateRangeValue, RangeDatepicker } from '@universal-material/web';\n\n/**\n * Coordinates the `uStartDate`/`uEndDate` value accessors of a\n * `u-range-datepicker`, splitting and combining the element's\n * `YYYY-MM-DD - YYYY-MM-DD` value so each end binds to its own form control,\n * mirroring `mat-date-range-input` with `matStartDate`/`matEndDate`.\n */\n@Directive({\n  selector: 'u-range-datepicker',\n  standalone: false,\n})\nexport class UmRangeDatepickerDirective {\n  readonly element: RangeDatepicker = inject<ElementRef<RangeDatepicker>>(ElementRef).nativeElement;\n\n  private readonly _renderer = inject(Renderer2);\n  private readonly _disabledParts = [false, false];\n\n  getPart(index: 0 | 1): string | Date | null {\n    if (this.element.valueType === 'date') {\n      const value = this.element.value as DateRangeValue | null;\n\n      return (index === 0 ? value?.start : value?.end) ?? null;\n    }\n\n    const parts = ((this.element.value as string) ?? '').split(' - ');\n\n    return parts.length === 2 ? parts[index] : '';\n  }\n\n  setPart(index: 0 | 1, value: string | Date | null): void {\n    if (this.element.valueType === 'date') {\n      const current = (this.element.value ?? { start: null, end: null }) as DateRangeValue;\n      const next: DateRangeValue = {\n        start: index === 0 ? (value as Date | null) : current.start,\n        end: index === 1 ? (value as Date | null) : current.end,\n      };\n\n      this._renderer.setProperty(this.element, 'value', !next.start && !next.end ? null : next);\n      return;\n    }\n\n    const parts = [this.getPart(0) as string, this.getPart(1) as string];\n    parts[index] = (value as string) ?? '';\n\n    const combined = !parts[0] && !parts[1] ? '' : `${parts[0]} - ${parts[1]}`;\n    this._renderer.setProperty(this.element, 'value', combined);\n  }\n\n  /** The range datepicker is only disabled when both ends are disabled, like `mat-date-range-input`. */\n  setPartDisabled(index: 0 | 1, disabled: boolean): void {\n    this._disabledParts[index] = disabled;\n    this._renderer.setProperty(this.element, 'disabled', this._disabledParts[0] && this._disabledParts[1]);\n  }\n}\n\n@Directive()\nexport abstract class UmRangeDatepickerPartControlValueAccessor implements ControlValueAccessor, OnDestroy {\n  protected abstract readonly _index: 0 | 1;\n\n  private readonly _rangeDatepicker = inject(UmRangeDatepickerDirective, { optional: true });\n\n  onChange = (_: any) => {};\n  onTouched = () => {};\n\n  constructor() {\n    if (!this._rangeDatepicker) {\n      throw new Error('uStartDate/uEndDate must be placed inside a <u-range-datepicker> element.');\n    }\n\n    this._rangeDatepicker.element.addEventListener('input', this._handleChange);\n    this._rangeDatepicker.element.addEventListener('change', this._handleChange);\n    this._rangeDatepicker.element.addEventListener('blur', this._handleTouched);\n  }\n\n  ngOnDestroy(): void {\n    this._rangeDatepicker!.element.removeEventListener('input', this._handleChange);\n    this._rangeDatepicker!.element.removeEventListener('change', this._handleChange);\n    this._rangeDatepicker!.element.removeEventListener('blur', this._handleTouched);\n  }\n\n  writeValue(value: any): void {\n    this._rangeDatepicker!.setPart(this._index, value ?? null);\n  }\n\n  registerOnChange(fn: (_: any) => {}): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this._rangeDatepicker!.setPartDisabled(this._index, isDisabled);\n  }\n\n  private readonly _handleChange = (): void => {\n    this.onChange(this._rangeDatepicker!.getPart(this._index));\n  };\n\n  private readonly _handleTouched = (): void => {\n    this.onTouched();\n  };\n}\n\nconst START_DATE_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => UmStartDateControlValueAccessor),\n  multi: true,\n};\n\n/**\n * Binds a form control to the start date of the enclosing `u-range-datepicker`.\n * The input is a hidden value carrier — the range datepicker renders its own\n * field — so it only exists to anchor `formControlName`/`ngModel`.\n */\n@Directive({\n  selector: 'input[uStartDate]',\n  providers: [START_DATE_VALUE_ACCESSOR],\n  host: { hidden: '' },\n  standalone: false,\n})\nexport class UmStartDateControlValueAccessor extends UmRangeDatepickerPartControlValueAccessor {\n  protected readonly _index = 0;\n}\n\nconst END_DATE_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => UmEndDateControlValueAccessor),\n  multi: true,\n};\n\n/**\n * Binds a form control to the end date of the enclosing `u-range-datepicker`.\n * The input is a hidden value carrier — the range datepicker renders its own\n * field — so it only exists to anchor `formControlName`/`ngModel`.\n */\n@Directive({\n  selector: 'input[uEndDate]',\n  providers: [END_DATE_VALUE_ACCESSOR],\n  host: { hidden: '' },\n  standalone: false,\n})\nexport class UmEndDateControlValueAccessor extends UmRangeDatepickerPartControlValueAccessor {\n  protected readonly _index = 1;\n}\n","import { Directive, forwardRef, Input, OnChanges, Provider, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nconst ISO_DATE = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst ISO_DATE_RANGE = /^\\d{4}-\\d{2}-\\d{2} - \\d{4}-\\d{2}-\\d{2}$/;\n\nconst getIsoDate = (value: unknown): string | null => {\n  if (value instanceof Date) {\n    const month = (value.getMonth() + 1).toString().padStart(2, '0');\n    const day = value.getDate().toString().padStart(2, '0');\n\n    return `${value.getFullYear()}-${month}-${day}`;\n  }\n\n  if (typeof value === 'string' && ISO_DATE.test(value)) {\n    return value;\n  }\n\n  return null;\n};\n\nconst getStartDate = (value: unknown): string | null => {\n  if (typeof value === 'string' && ISO_DATE_RANGE.test(value)) {\n    return value.split(' - ')[0];\n  }\n\n  if (value && typeof value === 'object' && !(value instanceof Date)) {\n    return getIsoDate((value as { start?: Date | null }).start);\n  }\n\n  return getIsoDate(value);\n};\n\nconst getEndDate = (value: unknown): string | null => {\n  if (typeof value === 'string' && ISO_DATE_RANGE.test(value)) {\n    return value.split(' - ')[1];\n  }\n\n  if (value && typeof value === 'object' && !(value instanceof Date)) {\n    return getIsoDate((value as { end?: Date | null }).end);\n  }\n\n  return getIsoDate(value);\n};\n\nconst DATEPICKER_MIN_VALIDATOR: Provider = {\n  provide: NG_VALIDATORS,\n  useExisting: forwardRef(() => UmDatepickerMinValidator),\n  multi: true,\n};\n\n/**\n * Validator directive for the `min` bound of `u-datepicker`/`u-range-datepicker`.\n * Declaring `min` as an input keeps the binding from reaching the element, so the\n * directive re-reflects it via `attr.min` to keep the calendar constrained.\n * On a range value, `min` validates the range start.\n */\n@Directive({\n  selector:\n    'u-datepicker[min][formControlName],u-datepicker[min][formControl],u-datepicker[min][ngModel],' +\n    'u-range-datepicker[min][formControlName],u-range-datepicker[min][formControl],u-range-datepicker[min][ngModel]',\n  providers: [DATEPICKER_MIN_VALIDATOR],\n  host: { '[attr.min]': 'min ?? null' },\n  standalone: false,\n})\nexport class UmDatepickerMinValidator implements Validator, OnChanges {\n  @Input() min: string | null = null;\n\n  private _onChange?: () => void;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if ('min' in changes) {\n      this._onChange?.();\n    }\n  }\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    const value = control.value;\n\n    if (!value || !this.min || !ISO_DATE.test(this.min)) {\n      return null;\n    }\n\n    const start = getStartDate(value);\n\n    if (!start || start >= this.min) {\n      return null;\n    }\n\n    return { min: { min: this.min, actual: value } };\n  }\n\n  registerOnValidatorChange(fn: () => void): void {\n    this._onChange = fn;\n  }\n}\n\nconst DATEPICKER_MAX_VALIDATOR: Provider = {\n  provide: NG_VALIDATORS,\n  useExisting: forwardRef(() => UmDatepickerMaxValidator),\n  multi: true,\n};\n\n/**\n * Validator directive for the `max` bound of `u-datepicker`/`u-range-datepicker`.\n * Declaring `max` as an input keeps the binding from reaching the element, so the\n * directive re-reflects it via `attr.max` to keep the calendar constrained.\n * On a range value, `max` validates the range end.\n */\n@Directive({\n  selector:\n    'u-datepicker[max][formControlName],u-datepicker[max][formControl],u-datepicker[max][ngModel],' +\n    'u-range-datepicker[max][formControlName],u-range-datepicker[max][formControl],u-range-datepicker[max][ngModel]',\n  providers: [DATEPICKER_MAX_VALIDATOR],\n  host: { '[attr.max]': 'max ?? null' },\n  standalone: false,\n})\nexport class UmDatepickerMaxValidator implements Validator, OnChanges {\n  @Input() max: string | null = null;\n\n  private _onChange?: () => void;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if ('max' in changes) {\n      this._onChange?.();\n    }\n  }\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    const value = control.value;\n\n    if (!value || !this.max || !ISO_DATE.test(this.max)) {\n      return null;\n    }\n\n    const end = getEndDate(value);\n\n    if (!end || end <= this.max) {\n      return null;\n    }\n\n    return { max: { max: this.max, actual: value } };\n  }\n\n  registerOnValidatorChange(fn: () => void): void {\n    this._onChange = fn;\n  }\n}\n","import { Directive, effect, ElementRef, model, inject } from '@angular/core';\n\nimport { TabBar } from '@universal-material/web';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n  selector: 'u-tab-bar'\n})\nexport class TabBarDirective {\n\n  #activeTabIndex = 0;\n  readonly #tabBar: TabBar;\n  readonly #mutationObserver: MutationObserver;\n\n  #justSetTabIndex = false;\n\n  readonly activeTabIndex = model(0);\n\n  #tabChangedSubject = new Subject<void>();\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    const elementRef = inject<ElementRef<TabBar>>(ElementRef);\n\n    this.#tabBar = elementRef.nativeElement;\n\n    effect(() => {\n      const index = this.activeTabIndex();\n      this.#activeTabIndex = index;\n      this.#tabBar.activeTabIndex = index;\n      this.#justSetTabIndex = true;\n      this.#tabChangedSubject.next();\n    });\n\n    elementRef.nativeElement.addEventListener('change', () =>\n      this.activeTabIndex.set(this.#tabBar.activeTabIndex));\n    this.#mutationObserver = new MutationObserver(() => this.#tabChangedSubject.next());\n    this.#mutationObserver.observe(elementRef.nativeElement, {characterData: true, childList: true, subtree: true});\n\n    this.#tabChangedSubject\n      .pipe(debounceTime(100))\n      .subscribe(() => this.#ensureCorrectTabIndex());\n  }\n\n  #ensureCorrectTabIndex() {\n    if (this.#activeTabIndex === this.#tabBar.activeTabIndex) {\n      return;\n    }\n\n    if (!this.#justSetTabIndex) {\n      this.#activeTabIndex = this.#tabBar.activeTabIndex;\n      this.activeTabIndex.set(this.#activeTabIndex);\n      return;\n    }\n\n    this.#justSetTabIndex = false;\n    this.#tabBar.activeTabIndex = this.#activeTabIndex;\n\n    if (this.#activeTabIndex === this.#tabBar.activeTabIndex) {\n      return;\n    }\n\n    this.#activeTabIndex = this.#tabBar.activeTabIndex;\n    this.activeTabIndex.set(this.#activeTabIndex);\n  }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { ScrollBehavior } from '../util/scroll-behavior';\n\n@Directive({\n  selector: '[uFloatingActionBehavior]'\n})\nexport class FloatingActionBehaviorDirective extends ScrollBehavior {\n  private readonly elementRef = inject(ElementRef);\n\n\n  private _lastScrollY: number | null = null;\n  override defaultTarget = window;\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    super();\n\n    this.elementRef.nativeElement.style.transition = 'transform 150ms linear';\n  }\n\n  protected _processBehavior = (scrollTop: number | null) => {\n    if (this._lastScrollY === null) {\n      this._lastScrollY = scrollTop;\n      return;\n    }\n\n    if (this._lastScrollY < scrollTop!) {\n      this.elementRef.nativeElement.style.transform = 'translateY(150%)';\n    } else {\n      this.elementRef.nativeElement.style.transform = '';\n    }\n\n    this._lastScrollY = scrollTop;\n  };\n}\n","import { Injectable } from '@angular/core';\nimport { ConfirmDialogConfig } from './confirm-dialog-config.model';\nimport { ConfirmDialogBuilder, ButtonColor, ButtonVariant } from '@universal-material/web';\nimport { ConfirmDialogRef } from './confirm-dialog-ref';\nimport { fromPromise } from 'rxjs/internal/observable/innerFrom';\nimport { filter } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class ConfirmDialogService {\n  open(message: string, config?: ConfirmDialogConfig): ConfirmDialogRef {\n    const builder = ConfirmDialogBuilder.create(message);\n\n    if (!config) {\n      return this.#open(builder);\n    }\n\n    if (config.confirmButton) {\n      builder.confirmButton({\n        label: config.confirmButton.text,\n        variant: config.confirmButton.variant as ButtonVariant ?? 'text',\n        color: config.confirmButton.color as ButtonColor\n      })\n    }\n\n    if (config.cancelButton) {\n      builder.cancelButton({\n        label: config.cancelButton.text,\n        variant: config.cancelButton.variant as ButtonVariant ?? 'text',\n        color: config.cancelButton.color as ButtonColor\n      })\n    }\n\n    if (config.title) {\n      builder.headline(config.title);\n    }\n\n    return this.#open(builder);\n  }\n\n  #open(builder: ConfirmDialogBuilder): ConfirmDialogRef {\n    const result$ = fromPromise(builder.show());\n\n    return {\n      onConfirm: result$\n        .pipe(filter(confirmed => confirmed)) as Observable<any>,\n      onCancel: result$\n        .pipe(filter(confirmed => !confirmed)) as Observable<any>\n    }\n  }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const SNACKBAR_DEFAULT_OPTIONS = new InjectionToken('SNACKBAR_DEFAULT_OPTIONS');\n\nexport interface SnackbarConfig {\n  actionLabel?: string | null;\n  duration?: number;\n}\n","export enum SnackbarDuration {\n  infinite = -1,\n  short = 2500,\n  long = 5000\n}\n","import { Injectable, inject } from '@angular/core';\nimport { SNACKBAR_DEFAULT_OPTIONS, SnackbarConfig } from './snackbar-config.model';\nimport { SnackbarDuration } from './snackbar-duration';\nimport { SnackbarRef } from './snackbar-ref.model';\nimport { Snackbar } from '@universal-material/web';\nimport { fromEvent } from 'rxjs';\n\nconst _defaultConfig: SnackbarConfig = {\n  duration: SnackbarDuration.long\n};\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SnackbarService {\n\n  private readonly _defaultConfig: SnackbarConfig;\n\n  /** Inserted by Angular inject() migration for backwards compatibility */\n  constructor(...args: unknown[]);\n\n  constructor() {\n    const userOptions = inject<SnackbarConfig>(SNACKBAR_DEFAULT_OPTIONS, { optional: true })!;\n\n\n\n    this._defaultConfig = { ..._defaultConfig, ... userOptions };\n\n  }\n\n  open(message: string, config?: SnackbarConfig): SnackbarRef {\n\n    const snackbar = Snackbar.show({\n      message: message,\n      action: config?.actionLabel!,\n      duration: config?.duration || this._defaultConfig.duration,\n    });\n\n    return {\n      get message(): string {\n        return snackbar.message\n      },\n      set message(value: string) {\n        snackbar.message = value;\n      },\n      get action(): string {\n        return snackbar.action\n      },\n      set action(value: string) {\n        snackbar.action = value;\n      },\n      dismiss: () => snackbar.dismiss(),\n      onAction: fromEvent(snackbar, 'actionClick')\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\n\nimport { RippleModule } from './ripple/ripple.module';\nimport { TextFieldModule } from './text-field/text-field.module';\nimport { DialogModule } from './dialog/dialog.module';\nimport { FormFieldModule } from './form-field/form-field.module';\nimport { UmRadioControlValueAccessor } from './value-accessors/radio-control-value-accessor';\nimport { UmCheckControlValueAccessor } from './value-accessors/check-control-value-accessor';\nimport { UmChipFieldControlValueAccessor } from './value-accessors/chip-field-control-value-accessor';\nimport { UmDefaultControlValueAccessor } from './value-accessors/default-control-value-accessor';\nimport { UmTypeaheadControlValueAccessor } from './value-accessors/typeahead-control-value-accessor';\nimport { UmSelectControlValueAccessor, UmSelectOption } from './value-accessors/select-control-value-accessor';\nimport { UmSliderControlValueAccessor } from './value-accessors/slider-control-value-accessor';\nimport { UmDatepickerControlValueAccessor } from './value-accessors/datepicker-control-value-accessor';\nimport {\n  UmEndDateControlValueAccessor,\n  UmRangeDatepickerDirective,\n  UmStartDateControlValueAccessor,\n} from './value-accessors/date-range-control-value-accessors';\nimport { UmDatepickerMaxValidator, UmDatepickerMinValidator } from './validators/datepicker-validators';\nimport { TabBarDirective } from './tab-bar/tab-bar.directive';\nimport { FloatingActionBehaviorDirective } from './floating-action-behavior/floating-action-behavior.directive';\n\nconst UniversalMaterialModules = [\n  DialogModule,\n  RippleModule,\n  FormFieldModule,\n  TextFieldModule,\n  TabBarDirective,\n  FloatingActionBehaviorDirective,\n];\n\nconst FormComponents = [\n  UmDefaultControlValueAccessor,\n  UmCheckControlValueAccessor,\n  UmRadioControlValueAccessor,\n  UmChipFieldControlValueAccessor,\n  UmTypeaheadControlValueAccessor,\n  UmSelectControlValueAccessor,\n  UmSelectOption,\n  UmSliderControlValueAccessor,\n  UmDatepickerControlValueAccessor,\n  UmRangeDatepickerDirective,\n  UmStartDateControlValueAccessor,\n  UmEndDateControlValueAccessor,\n  UmDatepickerMinValidator,\n  UmDatepickerMaxValidator,\n];\n\nexport { RippleModule } from './ripple/ripple.module';\nexport { RippleDirective } from './ripple/ripple.directive';\n\nexport { TextFieldModule } from './text-field/text-field.module';\nexport { TextInputDirective } from './text-field/text-input.directive';\n\nexport { FormFieldComponent, FORM_FIELD_DEFAULT_APPEARANCE } from './form-field/form-field.component';\nexport { LabelDirective } from './form-field/label.directive';\nexport { FormFieldModule } from './form-field/form-field.module';\nexport { type FormFieldAppearance } from './form-field/form-field-appearance';\n\nexport { type InputBaseComponent } from './shared/input-base.component';\nexport { TextInputBase } from './shared/text-input-base';\n\nexport * from './dialog/dialog.module';\n\nexport * from './dialog/confirm-dialog/confirm-dialog-ref';\nexport * from './dialog/confirm-dialog/confirm-dialog.service';\nexport * from './snackbar/snackbar.service';\nexport { SnackbarDuration } from '@universal-material/web';\nexport * from './snackbar/snackbar-config.model';\nexport * from './floating-action-behavior/floating-action-behavior.directive';\n\nexport * from './tab-bar/tab-bar.directive';\nexport * from './value-accessors/default-control-value-accessor';\nexport * from './value-accessors/check-control-value-accessor';\nexport * from './value-accessors/radio-control-value-accessor';\nexport * from './value-accessors/chip-field-control-value-accessor';\nexport * from './value-accessors/typeahead-control-value-accessor';\nexport * from './value-accessors/select-control-value-accessor';\nexport * from './value-accessors/slider-control-value-accessor';\nexport * from './value-accessors/datepicker-control-value-accessor';\nexport * from './value-accessors/date-range-control-value-accessors';\nexport * from './validators/datepicker-validators';\n\n@NgModule({\n  declarations: FormComponents,\n  imports: UniversalMaterialModules,\n  exports: [...UniversalMaterialModules, ...FormComponents]\n})\nexport class UniversalMaterialModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.RippleDirective","i1","i2.FormFieldComponent"],"mappings":"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"}