{"version":3,"file":"alyle-ui-expansion.mjs","sources":["../../../lib/expansion/accordion.ts","../../../lib/expansion/expansion-animations.ts","../../../lib/expansion/expansion-panel-content.ts","../../../lib/expansion/expansion-panel.ts","../../../lib/expansion/expansion-panel.html","../../../lib/expansion/expansion-panel-header.ts","../../../lib/expansion/expansion-panel-header.html","../../../lib/expansion/expansion-panel-title.ts","../../../lib/expansion/expansion-panel-description.ts","../../../lib/expansion/expansion-panel-action-row.ts","../../../lib/expansion/expansion.module.ts","../../../lib/expansion/alyle-ui-expansion.ts"],"sourcesContent":["import { Directive, Input, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport {\n  ThemeVariables,\n  LyTheme2,\n  getLyThemeVariableUndefinedError,\n  ThemeRef,\n  LyClasses,\n  StyleTemplate,\n  StyleRenderer } from '@alyle/ui';\nimport { Subject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport interface ExpansionConfig {\n  root?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;\n  defaultConfig?: {\n    appearance?: keyof ExpansionConfig['appearance']\n  };\n  appearance: {\n    popOut: (classes: LyClasses<typeof STYLES>) => StyleTemplate\n  };\n}\nexport interface ExpansionVariables {\n  expansion?: ExpansionConfig;\n}\n\nconst STYLE_PRIORITY = -0.9;\n\nexport const STYLES = (theme: ThemeVariables & ExpansionVariables, ref: ThemeRef) => {\n\n  const classes = ref.selectorsOf(STYLES);\n  const { after } = theme;\n\n  return {\n    $priority: STYLE_PRIORITY,\n    $name: LyAccordion.и,\n    $global: ( ) => (_className: string) => `${_className} ${classes.panelTitle},${_className} ${classes.panelDescription}{display:flex;margin-${after}:16px;}${_className} ${classes.panel}:not(${classes.disabled}) ${classes.panelTitle}{color:${theme.text.default};}${_className} ${classes.panel}:not(${classes.disabled}) ${classes.panelDescription}{color:${theme.text.secondary};}`,\n    root: (theme.expansion?.root) ? () => theme.expansion!.root!(classes) : null,\n    panel: ( ) => (_className: string) => `${_className}{display:block;overflow:hidden;position:relative;}${_className}:not(${classes.disabled}) ${classes.panelHeader}{cursor:pointer;}`,\n    panelHeader: ( ) => (_className: string) => `${_className}{display:flex;position:relative;flex-direction:row;align-items:center;padding:0 24px;transition:height ${theme.animations.durations.entering}ms ${theme.animations.curves.standard};font-family:${theme.typography.fontFamily};font-size:${theme.pxToRem(15)};font-weight:400;}${classes.panel}:not(${classes.expanded}):not(${classes.disabled}) ${_className}:hover{background:${theme.hover};}@media (hover: none){${classes.panel}:not(${classes.expanded}):not(${classes.disabled}) ${_className}:hover{background:none;}}`,\n    panelHeaderContent: (_className: string) => `${_className}{display:flex;flex:1;flex-direction:row;align-items:center;overflow:hidden;}`,\n    panelContent: (_className: string) => `${_className}{display:flex;flex-direction:column;overflow:visible;}`,\n    panelBody: (_className: string) => `${_className}{visibility:hidden;padding:0 24px 16px;transition:visibility ${\n        theme.animations.durations.entering}ms ${\n        theme.animations.curves.standard};font-family:${theme.typography.fontFamily};font-size:${theme.pxToRem(14)};font-weight:400;line-height:${theme.pxToRem(20)};}`,\n    panelTitle: (_className: string) => `${_className}{flex-grow:1;}`,\n    panelDescription: (_className: string) => `${_className}{flex-grow:2;}`,\n    panelActionRow: (_className: string) => `${_className}{border-top:1px solid ${theme.divider};display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;}`,\n    expanded: ( ) => (_className: string) => `${_className} ${classes.panelBody}{visibility:visible;}`,\n    disabled: (_className: string) => `${_className}{color:${theme.disabled.contrast};}`\n  };\n};\n\n@Directive({\n  selector: 'ly-accordion',\n  exportAs: 'lyAccordion',\n  providers: [\n    StyleRenderer,\n  ],\n  standalone: false\n})\nexport class LyAccordion implements OnInit {\n\n  /** @docs-private */\n  static readonly и = 'LyAccordion';\n\n  /** @docs-private */\n  readonly classes = this._theme.addStyleSheet(STYLES);\n\n  private _appearance: string;\n  private _multiple: boolean;\n  private _hasToggle = true;\n  private _appearanceClass: string;\n\n  /** Stream that emits true/false when openAll/closeAll is triggered. */\n  readonly _openCloseAllActions: Subject<boolean> = new Subject<boolean>();\n\n  @Input()\n  set appearance(val: string) {\n    this._appearance = val;\n    const newClass = this._theme.renderStyle(\n      `${LyAccordion.и}--${val}-appearance`,\n      (theme: ThemeVariables & ExpansionVariables, ref: ThemeRef) => {\n        if (!(theme.expansion!.appearance && theme.expansion!.appearance[val])) {\n          throw new Error(`Value expansion.appearance['${val}'] not found in ThemeVariables`);\n        }\n        const classes = ref.selectorsOf(STYLES);\n        return theme.expansion!.appearance[val]!(classes);\n      },\n      STYLE_PRIORITY\n    );\n    this._appearanceClass = this.sRenderer.updateClass(newClass, this._appearanceClass);\n  }\n  get appearance() {\n    return this._appearance;\n  }\n\n  @Input()\n  set multiple(val: BooleanInput) {\n    this._multiple = coerceBooleanProperty(val);\n  }\n  get multiple(): boolean {\n    return this._multiple;\n  }\n\n  @Input()\n  set hasToggle(val: BooleanInput) {\n    this._hasToggle = coerceBooleanProperty(val);\n  }\n  get hasToggle(): boolean {\n    return this._hasToggle;\n  }\n\n  constructor(\n    readonly sRenderer: StyleRenderer,\n    private _theme: LyTheme2,\n    private _renderer: Renderer2,\n    private _el: ElementRef) { }\n\n  ngOnInit() {\n    const { expansion } = this._theme.variables as ExpansionVariables;\n    if (expansion) {\n      this._renderer.addClass(this._el.nativeElement, this.classes.root);\n\n      // Apply default config\n      if (expansion.defaultConfig && expansion.defaultConfig.appearance) {\n        if (this.appearance == null) {\n          this.appearance = expansion.defaultConfig.appearance;\n        }\n      }\n    } else {\n      throw getLyThemeVariableUndefinedError('expansion');\n    }\n  }\n\n  closeAll() {\n    this._openCloseAll(true);\n  }\n\n  openAll() {\n    this._openCloseAll(false);\n  }\n\n  private _openCloseAll(expanded: boolean): void {\n    if (this.multiple) {\n      this._openCloseAllActions.next(expanded);\n    }\n  }\n\n}\n","import { trigger, state, style, transition, animate } from '@angular/animations';\n\nexport const lyExpansionAnimations = {\n  contentExpansion: trigger('contentExpansion', [\n    state('collapsed, void', style({height: '0px', visibility: 'hidden'})),\n    state('expanded', style({height: '*', visibility: 'visible'})),\n    transition('expanded <=> collapsed, void => collapsed',\n      animate('{{panelAnimationTiming}}')),\n  ])\n};\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: 'ng-template[lyExpansionPanelContent]',\n  standalone: false\n})\nexport class LyExpansionPanelContent {\n  constructor(readonly _template: TemplateRef<any>) { }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  Inject,\n  Input,\n  Renderer2,\n  OnChanges,\n  OnInit,\n  OnDestroy,\n  TemplateRef,\n  Output,\n  EventEmitter,\n  AfterContentInit\n  } from '@angular/core';\nimport {\n  LyTheme2,\n  mixinBg,\n  mixinColor,\n  mixinElevation,\n  mixinShadowColor,\n  mixinStyleUpdater,\n  } from '@alyle/ui';\n\nimport { LyAccordion } from './accordion';\nimport { lyExpansionAnimations } from './expansion-animations';\nimport { LyExpansionPanelContent } from './expansion-panel-content';\nimport { Subscription, Subject } from 'rxjs';\nimport { startWith, filter, first, distinctUntilChanged } from 'rxjs/operators';\nimport { AnimationEvent } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/** LyExpansionPanel's states. */\nexport type LyExpansionPanelState = 'expanded' | 'collapsed';\n\n/** @docs-private */\nexport class LyExpansionPanelBase {\n  constructor(\n    public _theme: LyTheme2\n  ) { }\n}\n\n/** @docs-private */\nexport const LyButtonMixinBase = mixinStyleUpdater(\n  mixinBg(\n    mixinColor(\n      mixinElevation(\n        mixinShadowColor(LyExpansionPanelBase)))));\n\n@Component({\n  selector: 'ly-expansion-panel',\n  templateUrl: './expansion-panel.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  exportAs: 'lyExpansionPanel',\n  animations: [\n    lyExpansionAnimations.contentExpansion\n  ],\n  inputs: [\n    'bg',\n    'color',\n    'elevation',\n    'shadowColor'\n  ],\n  standalone: false\n})\nexport class LyExpansionPanel extends LyButtonMixinBase implements OnChanges, OnInit, AfterContentInit, OnDestroy {\n\n  /** @docs-private */\n  readonly classes = this._accordion.classes;\n\n  readonly _panelAnimationTiming = `${\n    this._theme.variables.animations.durations.entering\n  }ms ${\n    this._theme.variables.animations.curves.standard\n  }`;\n\n  /** Subscription to openAll/closeAll events. */\n  private _openCloseAllSubscription = Subscription.EMPTY;\n\n  private _disabled: boolean;\n  private _expanded: boolean;\n  private _hasToggle = !!this._accordion.hasToggle;\n\n  _lazyContentRef: TemplateRef<any>;\n\n  /** Content that will be rendered lazily. */\n  @ContentChild(LyExpansionPanelContent) readonly _lazyContent: LyExpansionPanelContent;\n\n  /** Event emitted every time the LyExpansionPanel is closed. */\n  @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n\n  /** Event emitted every time the LyExpansionPanel is opened. */\n  @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n  /** An event emitted after the body's collapse animation happens. */\n  @Output() afterCollapse: EventEmitter<void> = new EventEmitter<void>();\n\n  /** An event emitted after the body's expansion animation happens. */\n  @Output() afterExpand: EventEmitter<void> = new EventEmitter<void>();\n\n  /** Event emitted when the LyExpansionPanel is destroyed. */\n  @Output() destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n  /** Stream of body animation done events. */\n  _bodyAnimationDone = new Subject<AnimationEvent>();\n\n  @Input()\n  set disabled(val: BooleanInput) {\n    const newVal = coerceBooleanProperty(val);\n\n    if (newVal !== this.disabled) {\n      this._disabled = newVal;\n      if (newVal) {\n        this._renderer.addClass(this._el.nativeElement, this._accordion.classes.disabled);\n      } else {\n        this._renderer.removeClass(this._el.nativeElement, this._accordion.classes.disabled);\n      }\n    }\n  }\n  get disabled(): boolean {\n    return this._disabled;\n  }\n\n  @Input()\n  set expanded(val: BooleanInput) {\n    const newVal = coerceBooleanProperty(val);\n\n    if (newVal !== this.expanded && !this.disabled) {\n\n      // unselect other panels\n      if (newVal && !this._accordion.multiple) {\n        this._accordion._openCloseAllActions.next(false);\n      }\n      this._expanded = newVal;\n      if (newVal) {\n        this._renderer.addClass(this._el.nativeElement, this._accordion.classes.expanded);\n        this.opened.emit();\n      } else {\n        this._renderer.removeClass(this._el.nativeElement, this._accordion.classes.expanded);\n        this.closed.emit();\n      }\n      this._cd.markForCheck();\n    }\n  }\n  get expanded(): boolean {\n    return this._expanded;\n  }\n\n  @Input()\n  set hasToggle(val: BooleanInput) {\n    this._hasToggle = coerceBooleanProperty(val);\n  }\n  get hasToggle(): boolean {\n    return this._hasToggle == null ? this._accordion.hasToggle : this._hasToggle;\n  }\n\n  constructor(\n    private _el: ElementRef,\n    private _renderer: Renderer2,\n    private _cd: ChangeDetectorRef,\n    _theme: LyTheme2,\n    @Inject(LyAccordion) private _accordion: LyAccordion\n  ) {\n    super(_theme);\n    _renderer.addClass(_el.nativeElement, this._accordion.classes.panel);\n    this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n\n    this._bodyAnimationDone.pipe(distinctUntilChanged((x, y) => {\n      return x.fromState === y.fromState && x.toState === y.toState;\n    })).subscribe(event => {\n      if (event.fromState !== 'void') {\n        if (event.toState === 'expanded') {\n          this.afterExpand.emit();\n        } else if (event.toState === 'collapsed') {\n          this.afterCollapse.emit();\n        }\n      }\n    });\n  }\n\n  ngOnChanges() {\n    this.updateStyle(this._el);\n  }\n\n  ngOnInit() {\n\n    let requireUpdate: boolean = false;\n\n    if (this.bg == null) {\n      this.bg = 'paper';\n      requireUpdate = true;\n    }\n    if (this.color == null) {\n      this.color = 'text';\n      requireUpdate = true;\n    }\n    if (this.elevation == null) {\n      this.elevation = 2;\n      requireUpdate = true;\n    }\n\n    if (requireUpdate) {\n      this.ngOnChanges();\n    }\n  }\n\n  ngAfterContentInit() {\n    if (this._lazyContent) {\n      this.opened.pipe(\n        startWith<void>(null!),\n        filter(() => !!this.expanded && !this._lazyContentRef),\n        first()\n      ).subscribe(() => this._lazyContentRef = this._lazyContent._template);\n    }\n  }\n\n  ngOnDestroy() {\n    this._openCloseAllSubscription.unsubscribe();\n  }\n\n  close() {\n    this.expanded = false;\n  }\n\n  open() {\n    this.expanded = true;\n  }\n\n  toggle() {\n    this.expanded = !this.expanded;\n  }\n\n  /** Gets the expanded state string. */\n  _getExpandedState(): LyExpansionPanelState {\n    return this.expanded ? 'expanded' : 'collapsed';\n  }\n\n  private _subscribeToOpenCloseAllActions(): Subscription {\n    return this._accordion._openCloseAllActions.subscribe(expanded => {\n      this.expanded = expanded;\n    });\n  }\n\n}\n","<ng-content select=\"ly-expansion-panel-header\"></ng-content>\n<div [className]=\"classes.panelContent\"\n  [@contentExpansion]=\"{\n    value: _getExpandedState(),\n    params: {\n      panelAnimationTiming: _panelAnimationTiming\n    }\n  }\"\n  (@contentExpansion.done)=\"_bodyAnimationDone.next($event)\"\n>\n  <div [className]=\"classes.panelBody\">\n    <ng-content></ng-content>\n    <ng-template [ngTransclude]=\"_lazyContentRef\"></ng-template>\n  </div>\n  <ng-content select=\"ly-action-row\"></ng-content>\n</div>","import { Component, ElementRef, Renderer2, Inject } from '@angular/core';\nimport { LyAccordion } from './accordion';\nimport { LyExpansionPanel } from './expansion-panel';\n\n@Component({\n  selector: 'ly-expansion-panel-header',\n  templateUrl: 'expansion-panel-header.html',\n  host: {\n    '(click)': '_expansionPanel.toggle()'\n  },\n  standalone: false\n})\nexport class LyExpansionPanelHeader {\n  /** @docs-private */\n  readonly classes = this._accordion.classes;\n  constructor(\n    el: ElementRef,\n    renderer: Renderer2,\n    @Inject(LyAccordion) readonly _accordion: LyAccordion,\n    @Inject(LyExpansionPanel) readonly _expansionPanel: LyExpansionPanel\n  ) {\n    renderer.addClass(el.nativeElement, this._accordion.classes.panelHeader);\n  }\n\n}\n","<span [className]=\"classes.panelHeaderContent\">\n  <ng-content select=\"ly-panel-title\"></ng-content>\n  <ng-content select=\"ly-panel-description\"></ng-content>\n  <ng-content></ng-content>\n</span>\n<ly-expansion-icon\n  *ngIf=\"!_expansionPanel.disabled && _expansionPanel.hasToggle\"\n  [up]=\"_expansionPanel.expanded\"\n></ly-expansion-icon>","import { Directive, Inject, ElementRef, Renderer2 } from '@angular/core';\nimport { LyAccordion } from './accordion';\n\n@Directive({\n  selector: 'ly-panel-title',\n  standalone: false\n})\nexport class LyExpansionPanelTitle {\n  constructor(\n    el: ElementRef,\n    renderer: Renderer2,\n    @Inject(LyAccordion) accordion: LyAccordion\n  ) {\n    renderer.addClass(el.nativeElement, accordion.classes.panelTitle);\n  }\n}\n","import { Directive, Inject, ElementRef, Renderer2 } from '@angular/core';\nimport { LyAccordion } from './accordion';\n\n@Directive({\n  selector: 'ly-panel-description',\n  standalone: false\n})\nexport class LyExpansionPanelDescription {\n  constructor(\n    el: ElementRef,\n    renderer: Renderer2,\n    @Inject(LyAccordion) accordion: LyAccordion\n  ) {\n    renderer.addClass(el.nativeElement, accordion.classes.panelDescription);\n  }\n}\n","import { Directive, Inject, ElementRef, Renderer2 } from '@angular/core';\nimport { LyAccordion } from './accordion';\n\n@Directive({\n  selector: 'ly-action-row',\n  standalone: false\n})\nexport class LyExpansionPanelAction {\n  constructor(\n    el: ElementRef,\n    renderer: Renderer2,\n    @Inject(LyAccordion) accordion: LyAccordion\n  ) {\n    renderer.addClass(el.nativeElement, accordion.classes.panelActionRow);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgTranscludeModule, LyExpansionIconModule } from '@alyle/ui';\n\nimport { LyAccordion } from './accordion';\nimport { LyExpansionPanel } from './expansion-panel';\nimport { LyExpansionPanelHeader } from './expansion-panel-header';\nimport { LyExpansionPanelContent } from './expansion-panel-content';\nimport { LyExpansionPanelTitle } from './expansion-panel-title';\nimport { LyExpansionPanelDescription } from './expansion-panel-description';\nimport { LyExpansionPanelAction } from './expansion-panel-action-row';\n\n@NgModule({\n  declarations: [\n    LyAccordion,\n    LyExpansionPanel,\n    LyExpansionPanelHeader,\n    LyExpansionPanelContent,\n    LyExpansionPanelTitle,\n    LyExpansionPanelDescription,\n    LyExpansionPanelAction\n  ],\n  imports: [\n    CommonModule,\n    LyExpansionIconModule,\n    NgTranscludeModule\n  ],\n  exports: [\n    LyAccordion,\n    LyExpansionPanel,\n    LyExpansionPanelHeader,\n    LyExpansionPanelContent,\n    LyExpansionPanelTitle,\n    LyExpansionPanelDescription,\n    LyExpansionPanelAction\n  ]\n})\nexport class LyExpansionModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2"],"mappings":"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"}