@alyle/ui
Version:
Minimal Design, a set of components for Angular
1 lines • 34.4 kB
Source Map (JSON)
{"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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"}