@dontdrinkandroot/ngx-material-extensions 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"dontdrinkandroot-ngx-material-extensions.mjs","sources":["../../src/sidenav/sidenav.service.ts","../../src/sidenav/sidenav-toggle.component.ts","../../src/gridlist/grid-tile-lazy-img.directive.ts","../../src/gridlist/grid-tile-lazy-image-container.directive.ts","../../src/sidenav/sidenav-container.component.ts","../../src/sidenav/sidenav-container.component.html","../../src/filter/filter.component.ts","../../src/filter/filter.component.html","../../src/theme/theme-config.ts","../../src/theme/theme-scroll.service.ts","../../src/toolbar/toolbar-fixed-top.directive.ts","../../src/button/fab-fixed.directive.ts","../../src/ddr-material-extensions.module.ts","../../public-api.ts","../../dontdrinkandroot-ngx-material-extensions.ts"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport {MatDrawerMode, MatDrawerToggleResult, MatSidenav} from '@angular/material/sidenav';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {NavigationStart, Router} from '@angular/router';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidenavService {\n private sidenav!: MatSidenav;\n\n private stayOpenOnLargeScreen = true;\n\n private largeBreakpoints = [\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge\n ];\n\n private screenLarge$: Observable<boolean>;\n\n private mode$: Observable<MatDrawerMode>;\n\n private opened$: Observable<boolean>;\n\n private sidenavContentScrolled$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private breakpointObserver: BreakpointObserver,\n private router: Router,\n @Inject(DOCUMENT) private document: Document,\n ) {\n this.screenLarge$ = this.breakpointObserver.observe(this.largeBreakpoints).pipe(\n map(result => result.matches)\n );\n this.mode$ = this.screenLarge$.pipe(\n map(large => large && this.stayOpenOnLargeScreen ? 'side' : 'over')\n );\n this.opened$ = this.screenLarge$.pipe(\n map(large => large && this.stayOpenOnLargeScreen)\n );\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.closeSidebar();\n }\n });\n }\n\n public setSidenav(sidenav: MatSidenav): void {\n this.sidenav = sidenav;\n }\n\n\n public getStayOpenOnLargeScreen(): boolean {\n return this.stayOpenOnLargeScreen;\n }\n\n public setStayOpenOnLargeScreen(value: boolean): void {\n this.stayOpenOnLargeScreen = value;\n }\n\n public toggle(): Promise<MatDrawerToggleResult> {\n if (null == this.sidenav) {\n return Promise.reject('No MatSidenav found. Use setSidenav() of SidenavService');\n }\n\n if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n return this.sidenav.toggle();\n }\n\n return Promise.resolve(this.sidenav.opened ? 'open' : 'close');\n }\n\n public closeSidebar(): void {\n if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n this.sidenav.close();\n }\n }\n\n public getModeObservable(): Observable<MatDrawerMode> {\n return this.mode$;\n }\n\n public getOpenedObservable(): Observable<boolean> {\n return this.opened$;\n }\n\n public watchToggleVisible() {\n return this.screenLarge$.pipe(\n map(large => !large || !this.stayOpenOnLargeScreen)\n );\n }\n\n public watchContentScrolled() {\n return this.sidenavContentScrolled$.asObservable();\n }\n}\n","import {Component} from '@angular/core';\nimport {SidenavService} from './sidenav.service';\nimport {toSignal} from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'ddr-mat-sidenav-toggle',\n template: `\n <button mat-icon-button (click)=\"toggleSidenav()\">\n <mat-icon>menu</mat-icon>\n </button>`,\n host: {\n '[style.display]': 'visible() ? \"block\" : \"none\"'\n }\n})\nexport class SidenavToggleComponent\n{\n public visible = toSignal(this.sidenavService.watchToggleVisible(), {initialValue: false});\n\n constructor(private sidenavService: SidenavService)\n {\n }\n\n public toggleSidenav()\n {\n this.sidenavService.toggle();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {NumberUtils, StringUtils} from '@dontdrinkandroot/ngx-extensions';\n\n@Directive({selector: '[ddrGridTileLazyImg]'})\nexport class GridTileLazyImgDirective implements OnChanges\n{\n @Input('ddrGridTileLazyImg')\n public src!: string;\n\n @HostBinding('src')\n public hostSrc = 'assets/placeholder.gif';\n\n @HostBinding('style.object-fit')\n public hostStyleObjectFit = 'contain';\n\n @HostBinding('style.width.px')\n public hostStyleWidthPx!: number;\n\n @HostBinding('style.height.px')\n public hostStyleHeightPx!: number;\n\n @HostBinding('style.opacity')\n public hostStyleOpacity = 0;\n\n @Input()\n public offset = 1000;\n\n @Input()\n public objectFit = 'cover';\n\n private displayed = false;\n\n private maxLoadedDimension: { width: number, height: number } | null = null;\n\n constructor(private element: ElementRef, private cd: ChangeDetectorRef)\n {\n }\n\n public recheck()\n {\n this.displayed = false;\n this.check();\n }\n\n public check()\n {\n if (\n this.displayed\n || this.isHidden(this.element.nativeElement)\n || !this.isInsideViewport(this.element.nativeElement, this.offset)\n ) {\n return;\n }\n\n this.displayed = true;\n const dimension = this.getDimension();\n\n if (\n null != this.maxLoadedDimension\n && this.maxLoadedDimension.width >= dimension.width\n && this.maxLoadedDimension.height >= dimension.height\n ) {\n return;\n }\n\n this.maxLoadedDimension = dimension;\n this.hostStyleWidthPx = dimension.width;\n this.hostStyleHeightPx = dimension.height;\n let wantedSize: number;\n if (this.objectFit === 'cover') {\n wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));\n this.hostStyleObjectFit = 'cover';\n } else {\n wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));\n this.hostStyleObjectFit = 'contain';\n }\n this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));\n this.hostStyleOpacity = 1;\n this.cd.detectChanges();\n }\n\n /**\n * @override\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n this.displayed = false;\n this.maxLoadedDimension = null;\n this.hostStyleOpacity = 0;\n if (this.element.nativeElement.parentElement.offsetWidth > 0) {\n this.check();\n }\n }\n\n private isInsideViewport(nativeElement: HTMLElement, offset: number): boolean\n {\n // console.log('isInsideViewport');\n const ownerDocument = nativeElement.ownerDocument;\n const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;\n const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;\n\n const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);\n const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);\n const topOffset = nativeElement.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;\n const leftOffset = nativeElement.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;\n\n // console.log(documentWidth, documentHeight, topOffset, leftOffset);\n\n const isBelowViewport = documentHeight + documentTop <= topOffset - offset;\n const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - offset;\n const isAboveViewport = documentTop >= topOffset + offset + nativeElement.offsetHeight;\n const isAtLeftOfViewport = documentLeft >= leftOffset + offset + nativeElement.offsetWidth;\n\n return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;\n }\n\n private getDimension(): { width: number, height: number }\n {\n return {\n width: this.element.nativeElement.parentElement.offsetWidth,\n height: this.element.nativeElement.parentElement.offsetHeight,\n };\n }\n\n private isHidden(nativeElement: HTMLElement)\n {\n // console.log('isHidden');\n return window.getComputedStyle(nativeElement).display === 'none';\n }\n}\n","import {AfterContentInit, ContentChildren, Directive, HostListener, OnDestroy, QueryList} from '@angular/core';\nimport {GridTileLazyImgDirective} from './grid-tile-lazy-img.directive';\nimport {Subscription} from 'rxjs';\nimport {Debounce, Limit} from '@dontdrinkandroot/ngx-extensions';\n\n@Directive({selector: '[ddrGridTileLazyImgContainer]'})\nexport class GridTileLazyImageContainerDirective implements AfterContentInit, OnDestroy\n{\n @ContentChildren(GridTileLazyImgDirective, {descendants: true}) lazyImages!: QueryList<GridTileLazyImgDirective>;\n\n private changeSubscription!: Subscription;\n\n @HostListener('window:resize', ['$event'])\n @Debounce()\n public windowResized($event: Event)\n {\n if (null != this.lazyImages) {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective, index) => lazyImage.recheck());\n }\n }\n\n @HostListener('window:scroll', ['$event'])\n @Limit()\n public windowScroll($event: Event)\n {\n if (null != this.lazyImages) {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective, index) => lazyImage.check());\n }\n }\n\n /**\n * @override\n */\n public ngAfterContentInit(): void\n {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective, index) => lazyImage.check());\n this.changeSubscription = this.lazyImages.changes.subscribe(() => {\n /* Wait one tick until layout is ready */\n setTimeout(\n () => this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective, index) => lazyImage.recheck())\n , 1\n );\n });\n }\n\n /**\n * @override\n */\n public ngOnDestroy(): void\n {\n this.changeSubscription.unsubscribe();\n }\n}\n","import {Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild} from '@angular/core';\nimport {MatDrawerMode, MatSidenav} from '@angular/material/sidenav';\nimport {SidenavService} from './sidenav.service';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'ddr-mat-sidenav-container',\n templateUrl: './sidenav-container.component.html'\n})\nexport class SidenavContainerComponent implements OnInit, OnChanges, OnDestroy\n{\n @ViewChild('sidenav', {static: true})\n public sidenav!: MatSidenav;\n\n @Input()\n public stayOpenOnLargeScreen = true;\n\n public mode$: Observable<MatDrawerMode> = this.sidenavService.getModeObservable();\n\n public opened$: Observable<boolean> = this.sidenavService.getOpenedObservable();\n\n private scrollSubscription!: Subscription;\n\n constructor(\n private sidenavService: SidenavService,\n )\n {\n }\n\n /**\n * @override\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n this.sidenavService.setStayOpenOnLargeScreen(changes['stayOpenOnLargeScreen'].currentValue);\n }\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.sidenavService.setSidenav(this.sidenav);\n }\n\n /**\n * @override\n */\n public ngOnDestroy()\n {\n this.scrollSubscription.unsubscribe();\n }\n}\n","<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n [mode]=\"(mode$|async) ?? 'over'\"\n [opened]=\"(opened$|async)\"\n [fixedInViewport]=\"true\"\n >\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content #sidenavContent>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {interval, Subscription} from 'rxjs';\nimport {debounce} from 'rxjs/operators';\n\n@Component({\n selector: 'ddr-filter',\n templateUrl: './filter.component.html',\n})\nexport class FilterComponent implements OnInit, OnDestroy, AfterContentInit\n{\n public formControl: FormControl = new FormControl();\n\n @Output()\n public onFilterChanged = new EventEmitter<string>();\n\n @Input()\n public bouncePeriod = 500;\n\n @ViewChild('input', {static: true})\n public inputElement!: ElementRef;\n\n private valueChangesSubscription!: Subscription;\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.valueChangesSubscription = this.formControl.valueChanges\n .pipe(debounce(() => interval(this.bouncePeriod)))\n .subscribe((value => this.onFilterChanged.emit(value)));\n }\n\n /**\n * @override\n */\n public ngOnDestroy(): void\n {\n this.valueChangesSubscription.unsubscribe();\n }\n\n /**\n * @override\n */\n public ngAfterContentInit()\n {\n this.inputElement.nativeElement.focus();\n }\n\n\n public clear()\n {\n this.formControl.setValue(null);\n this.onFilterChanged.emit(undefined);\n }\n}\n","<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input />\n <button mat-icon-button matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n","import {InjectionToken} from \"@angular/core\";\n\nexport const DDR_MATERIAL_EXTENSIONS_THEME = new InjectionToken<ThemeConfig>('DDR_MATERIAL_EXTENSIONS_THEME');\n\nexport interface ThemeConfig {\n themeColorLight: string,\n themeColorDark: string,\n themeColorLightScrolled: string,\n themeColorDarkScrolled: string,\n}\n","import {Inject, Injectable} from \"@angular/core\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {distinctUntilChanged, fromEvent} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport {DDR_MATERIAL_EXTENSIONS_THEME, ThemeConfig} from \"./theme-config\";\n\n@Injectable()\nexport class ThemeScrollService {\n constructor(\n @Inject(DOCUMENT) private readonly document: Document,\n @Inject(DDR_MATERIAL_EXTENSIONS_THEME) private readonly themeConfig: ThemeConfig\n ) {\n }\n\n public init() {\n const lightMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: light)', this.themeConfig.themeColorLight);\n const darkMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: dark)', this.themeConfig.themeColorDark);\n\n fromEvent(this.document, 'scroll')\n .pipe(\n map(() => this.document.documentElement.scrollTop > 0),\n distinctUntilChanged()\n ).subscribe((scrolled) => {\n scrolled ? this.document.body.classList.add('ddr-mat-scrolled') : this.document.body.classList.remove('ddr-mat-scrolled');\n\n lightMetaElement.content = scrolled ? this.themeConfig.themeColorLightScrolled : this.themeConfig.themeColorLight;\n darkMetaElement.content = scrolled ? this.themeConfig.themeColorDarkScrolled : this.themeConfig.themeColorDark;\n });\n }\n\n private findOrCreateThemeColorMetaElement(media: string, content: string) {\n let metaElement = this.document.head.querySelector<HTMLMetaElement>(`meta[name=\"theme-color\"][media=\"${media}\"]`);\n if (null == metaElement) {\n metaElement = this.createThemeColorMetaElement(media, content);\n }\n return metaElement;\n }\n\n private createThemeColorMetaElement(media: string, content: string) {\n const metaElement = this.document.createElement('meta');\n metaElement.name = 'theme-color';\n metaElement.media = media;\n metaElement.content = content;\n this.document.head.appendChild(metaElement);\n\n return metaElement;\n }\n}\n","import {Directive, ElementRef, Input, OnInit} from '@angular/core';\n\n@Directive({\n selector: '[ddrMatToolbarFixedTop]'\n})\nexport class ToolbarFixedTopDirective implements OnInit\n{\n\n @Input()\n public ddrMatToolbarFixedTop: string[] | '' = '';\n\n constructor(private el: ElementRef)\n {\n }\n\n /**\n * @override\n */\n public ngOnInit()\n {\n const container = document.createElement('div');\n container.classList.add('ddr-mat-toolbar-fixed-top-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n\n if ('' !== this.ddrMatToolbarFixedTop) {\n this.ddrMatToolbarFixedTop.forEach((className: string) => {\n container.classList.add(className);\n });\n }\n }\n}\n","import {Directive, ElementRef, OnInit} from \"@angular/core\";\n\n@Directive({\n selector: '[ddrMatFabFixed]'\n})\nexport class FabFixedDirective implements OnInit {\n constructor(private el: ElementRef) {\n }\n\n /**\n * @override\n */\n public ngOnInit() {\n const container = document.createElement('div');\n container.classList.add('ddr-mat-fab-fixed-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n }\n}\n","import {ENVIRONMENT_INITIALIZER, inject, NgModule} from '@angular/core';\nimport {SidenavToggleComponent} from './sidenav/sidenav-toggle.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {GridTileLazyImageContainerDirective} from './gridlist/grid-tile-lazy-image-container.directive';\nimport {GridTileLazyImgDirective} from './gridlist/grid-tile-lazy-img.directive';\nimport {SidenavContainerComponent} from './sidenav/sidenav-container.component';\nimport {CommonModule} from '@angular/common';\nimport {FilterComponent} from './filter/filter.component';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {DDR_MATERIAL_EXTENSIONS_THEME} from \"./theme/theme-config\";\nimport {ThemeScrollService} from \"./theme/theme-scroll.service\";\nimport {ToolbarFixedTopDirective} from \"./toolbar/toolbar-fixed-top.directive\";\nimport {FabFixedDirective} from \"./button/fab-fixed.directive\";\n\n@NgModule({\n declarations: [\n FabFixedDirective,\n FilterComponent,\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent,\n ToolbarFixedTopDirective\n ],\n imports: [\n CommonModule,\n MatCardModule,\n MatSidenavModule,\n MatIconModule,\n MatInputModule,\n MatButtonModule,\n MatFormFieldModule,\n MatToolbarModule,\n ReactiveFormsModule\n ],\n exports: [\n FabFixedDirective,\n FilterComponent,\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent,\n ToolbarFixedTopDirective\n ],\n providers: [\n ThemeScrollService,\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue() {\n inject(ThemeScrollService).init()\n }\n },\n {\n provide: DDR_MATERIAL_EXTENSIONS_THEME,\n multi: false,\n useValue: {\n themeColorLight: '#fdfbff',\n themeColorDark: '#1a1b1f',\n themeColorLightScrolled: '#efedf1',\n themeColorDarkScrolled: '#1e1f23',\n }\n }\n ]\n})\nexport class DdrMaterialExtensionsModule\n{\n}\n","/*\n * Public API Surface of ngx-material-extensions\n */\n\nexport * from './src/ddr-material-extensions.module';\n\nexport * from './src/button/fab-fixed.directive'\n\nexport * from './src/filter/filter.component';\n\nexport * from './src/gridlist/grid-tile-lazy-image-container.directive';\nexport * from './src/gridlist/grid-tile-lazy-img.directive';\n\nexport * from './src/sidenav/sidenav-container.component';\nexport * from './src/sidenav/sidenav-toggle.component';\nexport * from './src/sidenav/sidenav.service';\n\nexport * from './src/theme/theme-config'\n\nexport * from './src/toolbar/toolbar-fixed-top.directive'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SidenavService","i2","i3","i1","i5"],"mappings":"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"}
1
+ {"version":3,"file":"dontdrinkandroot-ngx-material-extensions.mjs","sources":["../../src/sidenav/sidenav.service.ts","../../src/sidenav/sidenav-toggle.component.ts","../../src/gridlist/grid-tile-lazy-img.directive.ts","../../src/gridlist/grid-tile-lazy-image-container.directive.ts","../../src/sidenav/sidenav-container.component.ts","../../src/sidenav/sidenav-container.component.html","../../src/filter/filter.component.ts","../../src/filter/filter.component.html","../../src/theme/theme-config.ts","../../src/theme/theme-scroll.service.ts","../../src/toolbar/toolbar-fixed-top.directive.ts","../../src/button/fab-fixed.directive.ts","../../src/ddr-material-extensions.module.ts","../../public-api.ts","../../dontdrinkandroot-ngx-material-extensions.ts"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport {MatDrawerMode, MatDrawerToggleResult, MatSidenav} from '@angular/material/sidenav';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {NavigationStart, Router} from '@angular/router';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidenavService {\n private sidenav!: MatSidenav;\n\n private stayOpenOnLargeScreen = true;\n\n private largeBreakpoints = [\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge\n ];\n\n private screenLarge$: Observable<boolean>;\n\n private mode$: Observable<MatDrawerMode>;\n\n private opened$: Observable<boolean>;\n\n private sidenavContentScrolled$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private breakpointObserver: BreakpointObserver,\n private router: Router,\n @Inject(DOCUMENT) private document: Document,\n ) {\n this.screenLarge$ = this.breakpointObserver.observe(this.largeBreakpoints).pipe(\n map(result => result.matches)\n );\n this.mode$ = this.screenLarge$.pipe(\n map(large => large && this.stayOpenOnLargeScreen ? 'side' : 'over')\n );\n this.opened$ = this.screenLarge$.pipe(\n map(large => large && this.stayOpenOnLargeScreen)\n );\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.closeSidebar();\n }\n });\n }\n\n public setSidenav(sidenav: MatSidenav): void {\n this.sidenav = sidenav;\n }\n\n\n public getStayOpenOnLargeScreen(): boolean {\n return this.stayOpenOnLargeScreen;\n }\n\n public setStayOpenOnLargeScreen(value: boolean): void {\n this.stayOpenOnLargeScreen = value;\n }\n\n public toggle(): Promise<MatDrawerToggleResult> {\n if (null == this.sidenav) {\n return Promise.reject('No MatSidenav found. Use setSidenav() of SidenavService');\n }\n\n if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n return this.sidenav.toggle();\n }\n\n return Promise.resolve(this.sidenav.opened ? 'open' : 'close');\n }\n\n public closeSidebar(): void {\n if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n this.sidenav.close();\n }\n }\n\n public getModeObservable(): Observable<MatDrawerMode> {\n return this.mode$;\n }\n\n public getOpenedObservable(): Observable<boolean> {\n return this.opened$;\n }\n\n public watchToggleVisible() {\n return this.screenLarge$.pipe(\n map(large => !large || !this.stayOpenOnLargeScreen)\n );\n }\n\n public watchContentScrolled() {\n return this.sidenavContentScrolled$.asObservable();\n }\n}\n","import {Component} from '@angular/core';\nimport {SidenavService} from './sidenav.service';\nimport {toSignal} from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'ddr-mat-sidenav-toggle',\n template: `\n <button mat-icon-button (click)=\"toggleSidenav()\">\n <mat-icon>menu</mat-icon>\n </button>`,\n host: {\n '[style.display]': 'visible() ? \"block\" : \"none\"'\n },\n standalone: false\n})\nexport class SidenavToggleComponent {\n public visible;\n\n constructor(private sidenavService: SidenavService) {\n this.visible = toSignal(this.sidenavService.watchToggleVisible(), {initialValue: false});\n }\n\n public toggleSidenav() {\n this.sidenavService.toggle();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, OnChanges} from '@angular/core';\nimport {NumberUtils, StringUtils} from '@dontdrinkandroot/ngx-extensions';\n\n@Directive({\n selector: '[ddrGridTileLazyImg]',\n standalone: false\n})\nexport class GridTileLazyImgDirective implements OnChanges\n{\n @Input('ddrGridTileLazyImg')\n public src!: string;\n\n @HostBinding('src')\n public hostSrc = 'assets/placeholder.gif';\n\n @HostBinding('style.object-fit')\n public hostStyleObjectFit = 'contain';\n\n @HostBinding('style.width.px')\n public hostStyleWidthPx!: number;\n\n @HostBinding('style.height.px')\n public hostStyleHeightPx!: number;\n\n @HostBinding('style.opacity')\n public hostStyleOpacity = 0;\n\n @Input()\n public offset = 1000;\n\n @Input()\n public objectFit = 'cover';\n\n private displayed = false;\n\n private maxLoadedDimension: { width: number, height: number } | null = null;\n\n constructor(private element: ElementRef, private cd: ChangeDetectorRef)\n {\n }\n\n public recheck()\n {\n this.displayed = false;\n this.check();\n }\n\n public check()\n {\n if (\n this.displayed\n || this.isHidden(this.element.nativeElement)\n || !this.isInsideViewport(this.element.nativeElement, this.offset)\n ) {\n return;\n }\n\n this.displayed = true;\n const dimension = this.getDimension();\n\n if (\n null != this.maxLoadedDimension\n && this.maxLoadedDimension.width >= dimension.width\n && this.maxLoadedDimension.height >= dimension.height\n ) {\n return;\n }\n\n this.maxLoadedDimension = dimension;\n this.hostStyleWidthPx = dimension.width;\n this.hostStyleHeightPx = dimension.height;\n let wantedSize: number;\n if (this.objectFit === 'cover') {\n wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));\n this.hostStyleObjectFit = 'cover';\n } else {\n wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));\n this.hostStyleObjectFit = 'contain';\n }\n this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));\n this.hostStyleOpacity = 1;\n this.cd.detectChanges();\n }\n\n /**\n * @override\n */\n public ngOnChanges(): void\n {\n this.displayed = false;\n this.maxLoadedDimension = null;\n this.hostStyleOpacity = 0;\n if (this.element.nativeElement.parentElement.offsetWidth > 0) {\n this.check();\n }\n }\n\n private isInsideViewport(nativeElement: HTMLElement, offset: number): boolean\n {\n // console.log('isInsideViewport');\n const ownerDocument = nativeElement.ownerDocument;\n const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;\n const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;\n\n const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);\n const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);\n const topOffset = nativeElement.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;\n const leftOffset = nativeElement.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;\n\n // console.log(documentWidth, documentHeight, topOffset, leftOffset);\n\n const isBelowViewport = documentHeight + documentTop <= topOffset - offset;\n const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - offset;\n const isAboveViewport = documentTop >= topOffset + offset + nativeElement.offsetHeight;\n const isAtLeftOfViewport = documentLeft >= leftOffset + offset + nativeElement.offsetWidth;\n\n return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;\n }\n\n private getDimension(): { width: number, height: number }\n {\n return {\n width: this.element.nativeElement.parentElement.offsetWidth,\n height: this.element.nativeElement.parentElement.offsetHeight,\n };\n }\n\n private isHidden(nativeElement: HTMLElement)\n {\n // console.log('isHidden');\n return window.getComputedStyle(nativeElement).display === 'none';\n }\n}\n","import {AfterContentInit, ContentChildren, Directive, HostListener, OnDestroy, QueryList} from '@angular/core';\nimport {GridTileLazyImgDirective} from './grid-tile-lazy-img.directive';\nimport {Subscription} from 'rxjs';\nimport {Debounce, Limit} from '@dontdrinkandroot/ngx-extensions';\n\n@Directive({\n selector: '[ddrGridTileLazyImgContainer]',\n standalone: false\n})\nexport class GridTileLazyImageContainerDirective implements AfterContentInit, OnDestroy\n{\n @ContentChildren(GridTileLazyImgDirective, {descendants: true}) lazyImages!: QueryList<GridTileLazyImgDirective>;\n\n private changeSubscription!: Subscription;\n\n @HostListener('window:resize', ['$event'])\n @Debounce()\n public windowResized()\n {\n if (null != this.lazyImages) {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective) => lazyImage.recheck());\n }\n }\n\n @HostListener('window:scroll', ['$event'])\n @Limit()\n public windowScroll()\n {\n if (null != this.lazyImages) {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective) => lazyImage.check());\n }\n }\n\n /**\n * @override\n */\n public ngAfterContentInit(): void\n {\n this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective) => lazyImage.check());\n this.changeSubscription = this.lazyImages.changes.subscribe(() => {\n /* Wait one tick until layout is ready */\n setTimeout(\n () => this.lazyImages.forEach((lazyImage: GridTileLazyImgDirective) => lazyImage.recheck())\n , 1\n );\n });\n }\n\n /**\n * @override\n */\n public ngOnDestroy(): void\n {\n this.changeSubscription.unsubscribe();\n }\n}\n","import {Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild} from '@angular/core';\nimport {MatDrawerMode, MatSidenav} from '@angular/material/sidenav';\nimport {SidenavService} from './sidenav.service';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'ddr-mat-sidenav-container',\n templateUrl: './sidenav-container.component.html',\n standalone: false\n})\nexport class SidenavContainerComponent implements OnInit, OnChanges, OnDestroy\n{\n @ViewChild('sidenav', {static: true})\n public sidenav!: MatSidenav;\n\n @Input()\n public stayOpenOnLargeScreen = true;\n\n public mode$: Observable<MatDrawerMode>;\n\n public opened$: Observable<boolean>;\n\n private scrollSubscription!: Subscription;\n\n constructor(\n private sidenavService: SidenavService,\n )\n {\n this.mode$ = this.sidenavService.getModeObservable();\n this.opened$ = this.sidenavService.getOpenedObservable();\n }\n\n /**\n * @override\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n this.sidenavService.setStayOpenOnLargeScreen(changes['stayOpenOnLargeScreen'].currentValue);\n }\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.sidenavService.setSidenav(this.sidenav);\n }\n\n /**\n * @override\n */\n public ngOnDestroy()\n {\n this.scrollSubscription.unsubscribe();\n }\n}\n","<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n [mode]=\"(mode$|async) ?? 'over'\"\n [opened]=\"(opened$|async)\"\n [fixedInViewport]=\"true\"\n >\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content #sidenavContent>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import {AfterContentInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {interval, Subscription} from 'rxjs';\nimport {debounce} from 'rxjs/operators';\n\n@Component({\n selector: 'ddr-filter',\n templateUrl: './filter.component.html',\n standalone: false\n})\nexport class FilterComponent implements OnInit, OnDestroy, AfterContentInit\n{\n public formControl: FormControl = new FormControl();\n\n @Output()\n public filterChanged = new EventEmitter<string>();\n\n @Input()\n public bouncePeriod = 500;\n\n @ViewChild('input', {static: true})\n public inputElement!: ElementRef;\n\n private valueChangesSubscription!: Subscription;\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.valueChangesSubscription = this.formControl.valueChanges\n .pipe(debounce(() => interval(this.bouncePeriod)))\n .subscribe((value => this.filterChanged.emit(value)));\n }\n\n /**\n * @override\n */\n public ngOnDestroy(): void\n {\n this.valueChangesSubscription.unsubscribe();\n }\n\n /**\n * @override\n */\n public ngAfterContentInit()\n {\n this.inputElement.nativeElement.focus();\n }\n\n\n public clear()\n {\n this.formControl.setValue(null);\n this.filterChanged.emit(undefined);\n }\n}\n","<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input />\n <button mat-icon-button matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n","import {InjectionToken} from \"@angular/core\";\n\nexport const DDR_MATERIAL_EXTENSIONS_THEME = new InjectionToken<ThemeConfig>('DDR_MATERIAL_EXTENSIONS_THEME');\n\nexport interface ThemeConfig {\n themeColorLight: string,\n themeColorDark: string,\n themeColorLightScrolled: string,\n themeColorDarkScrolled: string,\n}\n","import {Inject, Injectable} from \"@angular/core\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {distinctUntilChanged, fromEvent} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport {DDR_MATERIAL_EXTENSIONS_THEME, ThemeConfig} from \"./theme-config\";\n\n@Injectable()\nexport class ThemeScrollService {\n constructor(\n @Inject(DOCUMENT) private readonly document: Document,\n @Inject(DDR_MATERIAL_EXTENSIONS_THEME) private readonly themeConfig: ThemeConfig\n ) {\n }\n\n public init() {\n const lightMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: light)', this.themeConfig.themeColorLight);\n const darkMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: dark)', this.themeConfig.themeColorDark);\n\n fromEvent(this.document, 'scroll')\n .pipe(\n map(() => this.document.documentElement.scrollTop > 0),\n distinctUntilChanged()\n ).subscribe((scrolled) => {\n this.document.body.classList.toggle('ddr-mat-scrolled', scrolled);\n lightMetaElement.content = scrolled ? this.themeConfig.themeColorLightScrolled : this.themeConfig.themeColorLight;\n darkMetaElement.content = scrolled ? this.themeConfig.themeColorDarkScrolled : this.themeConfig.themeColorDark;\n });\n }\n\n private findOrCreateThemeColorMetaElement(media: string, content: string) {\n let metaElement = this.document.head.querySelector<HTMLMetaElement>(`meta[name=\"theme-color\"][media=\"${media}\"]`);\n if (null == metaElement) {\n metaElement = this.createThemeColorMetaElement(media, content);\n }\n return metaElement;\n }\n\n private createThemeColorMetaElement(media: string, content: string) {\n const metaElement = this.document.createElement('meta');\n metaElement.name = 'theme-color';\n metaElement.media = media;\n metaElement.content = content;\n this.document.head.appendChild(metaElement);\n\n return metaElement;\n }\n}\n","import {Directive, ElementRef, Input, OnInit} from '@angular/core';\n\n@Directive({\n selector: '[ddrMatToolbarFixedTop]',\n standalone: false\n})\nexport class ToolbarFixedTopDirective implements OnInit {\n\n @Input()\n public ddrMatToolbarFixedTop: string[] | '' = '';\n\n constructor(private el: ElementRef) {\n }\n\n /**\n * @override\n */\n public ngOnInit() {\n const container = document.createElement('div');\n container.classList.add('ddr-mat-toolbar-fixed-top-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n\n if ('' !== this.ddrMatToolbarFixedTop) {\n this.ddrMatToolbarFixedTop.forEach((className: string) => {\n container.classList.add(className);\n });\n }\n }\n}\n","import {Directive, ElementRef, OnInit} from \"@angular/core\";\n\n@Directive({\n selector: '[ddrMatFabFixed]',\n standalone: false\n})\nexport class FabFixedDirective implements OnInit {\n constructor(private el: ElementRef) {\n }\n\n /**\n * @override\n */\n public ngOnInit() {\n const container = document.createElement('div');\n container.classList.add('ddr-mat-fab-fixed-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n }\n}\n","import {EnvironmentProviders, inject, makeEnvironmentProviders, NgModule, provideEnvironmentInitializer} from '@angular/core';\nimport {SidenavToggleComponent} from './sidenav/sidenav-toggle.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatIconModule, MatIconRegistry} from '@angular/material/icon';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {GridTileLazyImageContainerDirective} from './gridlist/grid-tile-lazy-image-container.directive';\nimport {GridTileLazyImgDirective} from './gridlist/grid-tile-lazy-img.directive';\nimport {SidenavContainerComponent} from './sidenav/sidenav-container.component';\nimport {CommonModule} from '@angular/common';\nimport {FilterComponent} from './filter/filter.component';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {DDR_MATERIAL_EXTENSIONS_THEME} from \"./theme/theme-config\";\nimport {ThemeScrollService} from \"./theme/theme-scroll.service\";\nimport {ToolbarFixedTopDirective} from \"./toolbar/toolbar-fixed-top.directive\";\nimport {FabFixedDirective} from \"./button/fab-fixed.directive\";\n\n@NgModule({\n declarations: [\n FabFixedDirective,\n FilterComponent,\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent,\n ToolbarFixedTopDirective\n ],\n imports: [\n CommonModule,\n MatCardModule,\n MatSidenavModule,\n MatIconModule,\n MatInputModule,\n MatButtonModule,\n MatFormFieldModule,\n MatToolbarModule,\n ReactiveFormsModule\n ],\n exports: [\n FabFixedDirective,\n FilterComponent,\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent,\n ToolbarFixedTopDirective\n ],\n providers: []\n})\nexport class DdrMaterialExtensionsModule {\n}\n\n// TODO: I actually want to run this when the module is loaded, but haven't figured out the correct way for Angular 19 yet as the ENVIRONMENT_INITIALIZER Token is deprecated\nexport function provideDdrMaterialExtensions(): EnvironmentProviders {\n return makeEnvironmentProviders([\n ThemeScrollService,\n {\n provide: DDR_MATERIAL_EXTENSIONS_THEME,\n multi: false,\n useValue: {\n themeColorLight: '#fdfbff',\n themeColorDark: '#1a1b1f',\n themeColorLightScrolled: '#efedf1',\n themeColorDarkScrolled: '#1e1f23',\n }\n },\n provideEnvironmentInitializer(() => {\n inject(ThemeScrollService).init();\n inject(MatIconRegistry).setDefaultFontSetClass('material-symbols-rounded');\n })\n ]);\n}\n","/*\n * Public API Surface of ngx-material-extensions\n */\n\nexport * from './src/ddr-material-extensions.module';\n\nexport * from './src/button/fab-fixed.directive'\n\nexport * from './src/filter/filter.component';\n\nexport * from './src/gridlist/grid-tile-lazy-image-container.directive';\nexport * from './src/gridlist/grid-tile-lazy-img.directive';\n\nexport * from './src/sidenav/sidenav-container.component';\nexport * from './src/sidenav/sidenav-toggle.component';\nexport * from './src/sidenav/sidenav.service';\n\nexport * from './src/theme/theme-config'\n\nexport * from './src/toolbar/toolbar-fixed-top.directive'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SidenavService","i2","i3","i1","i5"],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,18 @@
1
1
  {
2
2
  "name": "@dontdrinkandroot/ngx-material-extensions",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "^18.0",
6
- "@angular/common": "^18.0",
7
- "@angular/core": "^18.0",
8
- "@angular/material": "^18.0",
9
- "@dontdrinkandroot/ngx-extensions": "^0.6"
5
+ "@angular/cdk": "^19",
6
+ "@angular/common": "^19",
7
+ "@angular/core": "^19",
8
+ "@angular/material": "^19",
9
+ "@dontdrinkandroot/ngx-extensions": "^0.7"
10
10
  },
11
11
  "dependencies": {
12
12
  "tslib": "^2.3.0"
13
13
  },
14
+ "sideEffects": false,
15
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
14
16
  "module": "fesm2022/dontdrinkandroot-ngx-material-extensions.mjs",
15
17
  "typings": "index.d.ts",
16
18
  "exports": {
@@ -19,10 +21,7 @@
19
21
  },
20
22
  ".": {
21
23
  "types": "./index.d.ts",
22
- "esm2022": "./esm2022/dontdrinkandroot-ngx-material-extensions.mjs",
23
- "esm": "./esm2022/dontdrinkandroot-ngx-material-extensions.mjs",
24
24
  "default": "./fesm2022/dontdrinkandroot-ngx-material-extensions.mjs"
25
25
  }
26
- },
27
- "sideEffects": false
26
+ }
28
27
  }
@@ -1,3 +1,4 @@
1
+ import { EnvironmentProviders } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  import * as i1 from "./button/fab-fixed.directive";
3
4
  import * as i2 from "./filter/filter.component";
@@ -20,3 +21,4 @@ export declare class DdrMaterialExtensionsModule {
20
21
  static ɵmod: i0.ɵɵNgModuleDeclaration<DdrMaterialExtensionsModule, [typeof i1.FabFixedDirective, typeof i2.FilterComponent, typeof i3.SidenavToggleComponent, typeof i4.GridTileLazyImageContainerDirective, typeof i5.GridTileLazyImgDirective, typeof i6.SidenavContainerComponent, typeof i7.ToolbarFixedTopDirective], [typeof i8.CommonModule, typeof i9.MatCardModule, typeof i10.MatSidenavModule, typeof i11.MatIconModule, typeof i12.MatInputModule, typeof i13.MatButtonModule, typeof i14.MatFormFieldModule, typeof i15.MatToolbarModule, typeof i16.ReactiveFormsModule], [typeof i1.FabFixedDirective, typeof i2.FilterComponent, typeof i3.SidenavToggleComponent, typeof i4.GridTileLazyImageContainerDirective, typeof i5.GridTileLazyImgDirective, typeof i6.SidenavContainerComponent, typeof i7.ToolbarFixedTopDirective]>;
21
22
  static ɵinj: i0.ɵɵInjectorDeclaration<DdrMaterialExtensionsModule>;
22
23
  }
24
+ export declare function provideDdrMaterialExtensions(): EnvironmentProviders;
@@ -3,7 +3,7 @@ import { FormControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FilterComponent implements OnInit, OnDestroy, AfterContentInit {
5
5
  formControl: FormControl;
6
- onFilterChanged: EventEmitter<string>;
6
+ filterChanged: EventEmitter<string>;
7
7
  bouncePeriod: number;
8
8
  inputElement: ElementRef;
9
9
  private valueChangesSubscription;
@@ -21,5 +21,5 @@ export declare class FilterComponent implements OnInit, OnDestroy, AfterContentI
21
21
  ngAfterContentInit(): void;
22
22
  clear(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<FilterComponent, "ddr-filter", never, { "bouncePeriod": { "alias": "bouncePeriod"; "required": false; }; }, { "onFilterChanged": "onFilterChanged"; }, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterComponent, "ddr-filter", never, { "bouncePeriod": { "alias": "bouncePeriod"; "required": false; }; }, { "filterChanged": "filterChanged"; }, never, never, false, never>;
25
25
  }
@@ -4,8 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export declare class GridTileLazyImageContainerDirective implements AfterContentInit, OnDestroy {
5
5
  lazyImages: QueryList<GridTileLazyImgDirective>;
6
6
  private changeSubscription;
7
- windowResized($event: Event): void;
8
- windowScroll($event: Event): void;
7
+ windowResized(): void;
8
+ windowScroll(): void;
9
9
  /**
10
10
  * @override
11
11
  */
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, OnChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class GridTileLazyImgDirective implements OnChanges {
4
4
  private element;
@@ -19,7 +19,7 @@ export declare class GridTileLazyImgDirective implements OnChanges {
19
19
  /**
20
20
  * @override
21
21
  */
22
- ngOnChanges(changes: SimpleChanges): void;
22
+ ngOnChanges(): void;
23
23
  private isInsideViewport;
24
24
  private getDimension;
25
25
  private isHidden;
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udGRyaW5rYW5kcm9vdC1uZ3gtbWF0ZXJpYWwtZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2RvbnRkcmlua2FuZHJvb3Qtbmd4LW1hdGVyaWFsLWV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,14 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-material-extensions
3
- */
4
- export * from './src/ddr-material-extensions.module';
5
- export * from './src/button/fab-fixed.directive';
6
- export * from './src/filter/filter.component';
7
- export * from './src/gridlist/grid-tile-lazy-image-container.directive';
8
- export * from './src/gridlist/grid-tile-lazy-img.directive';
9
- export * from './src/sidenav/sidenav-container.component';
10
- export * from './src/sidenav/sidenav-toggle.component';
11
- export * from './src/sidenav/sidenav.service';
12
- export * from './src/theme/theme-config';
13
- export * from './src/toolbar/toolbar-fixed-top.directive';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsa0NBQWtDLENBQUE7QUFFaEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYywwQkFBMEIsQ0FBQTtBQUV4QyxjQUFjLDJDQUEyQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbWF0ZXJpYWwtZXh0ZW5zaW9uc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2Rkci1tYXRlcmlhbC1leHRlbnNpb25zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2J1dHRvbi9mYWItZml4ZWQuZGlyZWN0aXZlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2dyaWRsaXN0L2dyaWQtdGlsZS1sYXp5LWltYWdlLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZ3JpZGxpc3QvZ3JpZC10aWxlLWxhenktaW1nLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NpZGVuYXYvc2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NpZGVuYXYvc2lkZW5hdi10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NpZGVuYXYvc2lkZW5hdi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvdGhlbWUvdGhlbWUtY29uZmlnJ1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy90b29sYmFyL3Rvb2xiYXItZml4ZWQtdG9wLmRpcmVjdGl2ZSdcbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Directive } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class FabFixedDirective {
4
- constructor(el) {
5
- this.el = el;
6
- }
7
- /**
8
- * @override
9
- */
10
- ngOnInit() {
11
- const container = document.createElement('div');
12
- container.classList.add('ddr-mat-fab-fixed-container');
13
- this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);
14
- container.appendChild(this.el.nativeElement);
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FabFixedDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: FabFixedDirective, selector: "[ddrMatFabFixed]", ngImport: i0 }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FabFixedDirective, decorators: [{
20
- type: Directive,
21
- args: [{
22
- selector: '[ddrMatFabFixed]'
23
- }]
24
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpeGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vZmFiLWZpeGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFLNUQsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkYsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7OEdBWlEsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkZHJNYXRGYWJGaXhlZF0nXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZpeGVkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2Rkci1tYXQtZmFiLWZpeGVkLWNvbnRhaW5lcicpO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUoY29udGFpbmVyLCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iXX0=
@@ -1,127 +0,0 @@
1
- import { ENVIRONMENT_INITIALIZER, inject, NgModule } from '@angular/core';
2
- import { SidenavToggleComponent } from './sidenav/sidenav-toggle.component';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatSidenavModule } from '@angular/material/sidenav';
6
- import { GridTileLazyImageContainerDirective } from './gridlist/grid-tile-lazy-image-container.directive';
7
- import { GridTileLazyImgDirective } from './gridlist/grid-tile-lazy-img.directive';
8
- import { SidenavContainerComponent } from './sidenav/sidenav-container.component';
9
- import { CommonModule } from '@angular/common';
10
- import { FilterComponent } from './filter/filter.component';
11
- import { ReactiveFormsModule } from '@angular/forms';
12
- import { MatFormFieldModule } from '@angular/material/form-field';
13
- import { MatInputModule } from '@angular/material/input';
14
- import { MatCardModule } from '@angular/material/card';
15
- import { MatToolbarModule } from '@angular/material/toolbar';
16
- import { DDR_MATERIAL_EXTENSIONS_THEME } from "./theme/theme-config";
17
- import { ThemeScrollService } from "./theme/theme-scroll.service";
18
- import { ToolbarFixedTopDirective } from "./toolbar/toolbar-fixed-top.directive";
19
- import { FabFixedDirective } from "./button/fab-fixed.directive";
20
- import * as i0 from "@angular/core";
21
- export class DdrMaterialExtensionsModule {
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DdrMaterialExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DdrMaterialExtensionsModule, declarations: [FabFixedDirective,
24
- FilterComponent,
25
- SidenavToggleComponent,
26
- GridTileLazyImageContainerDirective,
27
- GridTileLazyImgDirective,
28
- SidenavContainerComponent,
29
- ToolbarFixedTopDirective], imports: [CommonModule,
30
- MatCardModule,
31
- MatSidenavModule,
32
- MatIconModule,
33
- MatInputModule,
34
- MatButtonModule,
35
- MatFormFieldModule,
36
- MatToolbarModule,
37
- ReactiveFormsModule], exports: [FabFixedDirective,
38
- FilterComponent,
39
- SidenavToggleComponent,
40
- GridTileLazyImageContainerDirective,
41
- GridTileLazyImgDirective,
42
- SidenavContainerComponent,
43
- ToolbarFixedTopDirective] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DdrMaterialExtensionsModule, providers: [
45
- ThemeScrollService,
46
- {
47
- provide: ENVIRONMENT_INITIALIZER,
48
- multi: true,
49
- useValue() {
50
- inject(ThemeScrollService).init();
51
- }
52
- },
53
- {
54
- provide: DDR_MATERIAL_EXTENSIONS_THEME,
55
- multi: false,
56
- useValue: {
57
- themeColorLight: '#fdfbff',
58
- themeColorDark: '#1a1b1f',
59
- themeColorLightScrolled: '#efedf1',
60
- themeColorDarkScrolled: '#1e1f23',
61
- }
62
- }
63
- ], imports: [CommonModule,
64
- MatCardModule,
65
- MatSidenavModule,
66
- MatIconModule,
67
- MatInputModule,
68
- MatButtonModule,
69
- MatFormFieldModule,
70
- MatToolbarModule,
71
- ReactiveFormsModule] }); }
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DdrMaterialExtensionsModule, decorators: [{
74
- type: NgModule,
75
- args: [{
76
- declarations: [
77
- FabFixedDirective,
78
- FilterComponent,
79
- SidenavToggleComponent,
80
- GridTileLazyImageContainerDirective,
81
- GridTileLazyImgDirective,
82
- SidenavContainerComponent,
83
- ToolbarFixedTopDirective
84
- ],
85
- imports: [
86
- CommonModule,
87
- MatCardModule,
88
- MatSidenavModule,
89
- MatIconModule,
90
- MatInputModule,
91
- MatButtonModule,
92
- MatFormFieldModule,
93
- MatToolbarModule,
94
- ReactiveFormsModule
95
- ],
96
- exports: [
97
- FabFixedDirective,
98
- FilterComponent,
99
- SidenavToggleComponent,
100
- GridTileLazyImageContainerDirective,
101
- GridTileLazyImgDirective,
102
- SidenavContainerComponent,
103
- ToolbarFixedTopDirective
104
- ],
105
- providers: [
106
- ThemeScrollService,
107
- {
108
- provide: ENVIRONMENT_INITIALIZER,
109
- multi: true,
110
- useValue() {
111
- inject(ThemeScrollService).init();
112
- }
113
- },
114
- {
115
- provide: DDR_MATERIAL_EXTENSIONS_THEME,
116
- multi: false,
117
- useValue: {
118
- themeColorLight: '#fdfbff',
119
- themeColorDark: '#1a1b1f',
120
- themeColorLightScrolled: '#efedf1',
121
- themeColorDarkScrolled: '#1e1f23',
122
- }
123
- }
124
- ]
125
- }]
126
- }] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGRyLW1hdGVyaWFsLWV4dGVuc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rkci1tYXRlcmlhbC1leHRlbnNpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7QUFxRC9ELE1BQU0sT0FBTywyQkFBMkI7OEdBQTNCLDJCQUEyQjsrR0FBM0IsMkJBQTJCLGlCQWpEaEMsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsd0JBQXdCLGFBR3hCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsbUJBQW1CLGFBR25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLG1DQUFtQztZQUNuQyx3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLHdCQUF3QjsrR0F1Qm5CLDJCQUEyQixhQXJCekI7WUFDUCxrQkFBa0I7WUFDbEI7Z0JBQ0ksT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUTtvQkFDSixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDckMsQ0FBQzthQUNKO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLDZCQUE2QjtnQkFDdEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFO29CQUNOLGVBQWUsRUFBRSxTQUFTO29CQUMxQixjQUFjLEVBQUUsU0FBUztvQkFDekIsdUJBQXVCLEVBQUUsU0FBUztvQkFDbEMsc0JBQXNCLEVBQUUsU0FBUztpQkFDcEM7YUFDSjtTQUNKLFlBdENHLFlBQVk7WUFDWixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsbUJBQW1COzsyRkFnQ2QsMkJBQTJCO2tCQW5EdkMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsbUNBQW1DO3dCQUNuQyx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1DQUFtQzt3QkFDbkMsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEI7NEJBQ0ksT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7NEJBQ1gsUUFBUTtnQ0FDSixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTs0QkFDckMsQ0FBQzt5QkFDSjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsNkJBQTZCOzRCQUN0QyxLQUFLLEVBQUUsS0FBSzs0QkFDWixRQUFRLEVBQUU7Z0NBQ04sZUFBZSxFQUFFLFNBQVM7Z0NBQzFCLGNBQWMsRUFBRSxTQUFTO2dDQUN6Qix1QkFBdUIsRUFBRSxTQUFTO2dDQUNsQyxzQkFBc0IsRUFBRSxTQUFTOzZCQUNwQzt5QkFDSjtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RU5WSVJPTk1FTlRfSU5JVElBTElaRVIsIGluamVjdCwgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTaWRlbmF2VG9nZ2xlQ29tcG9uZW50fSBmcm9tICcuL3NpZGVuYXYvc2lkZW5hdi10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0U2lkZW5hdk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge0dyaWRUaWxlTGF6eUltYWdlQ29udGFpbmVyRGlyZWN0aXZlfSBmcm9tICcuL2dyaWRsaXN0L2dyaWQtdGlsZS1sYXp5LWltYWdlLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtHcmlkVGlsZUxhenlJbWdEaXJlY3RpdmV9IGZyb20gJy4vZ3JpZGxpc3QvZ3JpZC10aWxlLWxhenktaW1nLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NpZGVuYXZDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vc2lkZW5hdi9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0ZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQge01hdFRvb2xiYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHtERFJfTUFURVJJQUxfRVhURU5TSU9OU19USEVNRX0gZnJvbSBcIi4vdGhlbWUvdGhlbWUtY29uZmlnXCI7XG5pbXBvcnQge1RoZW1lU2Nyb2xsU2VydmljZX0gZnJvbSBcIi4vdGhlbWUvdGhlbWUtc2Nyb2xsLnNlcnZpY2VcIjtcbmltcG9ydCB7VG9vbGJhckZpeGVkVG9wRGlyZWN0aXZlfSBmcm9tIFwiLi90b29sYmFyL3Rvb2xiYXItZml4ZWQtdG9wLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtGYWJGaXhlZERpcmVjdGl2ZX0gZnJvbSBcIi4vYnV0dG9uL2ZhYi1maXhlZC5kaXJlY3RpdmVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRmFiRml4ZWREaXJlY3RpdmUsXG4gICAgICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgU2lkZW5hdlRvZ2dsZUNvbXBvbmVudCxcbiAgICAgICAgR3JpZFRpbGVMYXp5SW1hZ2VDb250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIEdyaWRUaWxlTGF6eUltZ0RpcmVjdGl2ZSxcbiAgICAgICAgU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgVG9vbGJhckZpeGVkVG9wRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEZhYkZpeGVkRGlyZWN0aXZlLFxuICAgICAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIFNpZGVuYXZUb2dnbGVDb21wb25lbnQsXG4gICAgICAgIEdyaWRUaWxlTGF6eUltYWdlQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBHcmlkVGlsZUxhenlJbWdEaXJlY3RpdmUsXG4gICAgICAgIFNpZGVuYXZDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJGaXhlZFRvcERpcmVjdGl2ZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRoZW1lU2Nyb2xsU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZVZhbHVlKCkge1xuICAgICAgICAgICAgICAgIGluamVjdChUaGVtZVNjcm9sbFNlcnZpY2UpLmluaXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBERFJfTUFURVJJQUxfRVhURU5TSU9OU19USEVNRSxcbiAgICAgICAgICAgIG11bHRpOiBmYWxzZSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgdGhlbWVDb2xvckxpZ2h0OiAnI2ZkZmJmZicsXG4gICAgICAgICAgICAgICAgdGhlbWVDb2xvckRhcms6ICcjMWExYjFmJyxcbiAgICAgICAgICAgICAgICB0aGVtZUNvbG9yTGlnaHRTY3JvbGxlZDogJyNlZmVkZjEnLFxuICAgICAgICAgICAgICAgIHRoZW1lQ29sb3JEYXJrU2Nyb2xsZWQ6ICcjMWUxZjIzJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGRyTWF0ZXJpYWxFeHRlbnNpb25zTW9kdWxlXG57XG59XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import { interval } from 'rxjs';
4
- import { debounce } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/card";
7
- import * as i2 from "@angular/material/icon";
8
- import * as i3 from "@angular/material/input";
9
- import * as i4 from "@angular/material/form-field";
10
- import * as i5 from "@angular/material/button";
11
- import * as i6 from "@angular/forms";
12
- export class FilterComponent {
13
- constructor() {
14
- this.formControl = new FormControl();
15
- this.onFilterChanged = new EventEmitter();
16
- this.bouncePeriod = 500;
17
- }
18
- /**
19
- * @override
20
- */
21
- ngOnInit() {
22
- this.valueChangesSubscription = this.formControl.valueChanges
23
- .pipe(debounce(() => interval(this.bouncePeriod)))
24
- .subscribe((value => this.onFilterChanged.emit(value)));
25
- }
26
- /**
27
- * @override
28
- */
29
- ngOnDestroy() {
30
- this.valueChangesSubscription.unsubscribe();
31
- }
32
- /**
33
- * @override
34
- */
35
- ngAfterContentInit() {
36
- this.inputElement.nativeElement.focus();
37
- }
38
- clear() {
39
- this.formControl.setValue(null);
40
- this.onFilterChanged.emit(undefined);
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: FilterComponent, selector: "ddr-filter", inputs: { bouncePeriod: "bouncePeriod" }, outputs: { onFilterChanged: "onFilterChanged" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input />\n <button mat-icon-button matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n", dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FilterComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'ddr-filter', template: "<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input />\n <button mat-icon-button matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n" }]
48
- }], propDecorators: { onFilterChanged: [{
49
- type: Output
50
- }], bouncePeriod: [{
51
- type: Input
52
- }], inputElement: [{
53
- type: ViewChild,
54
- args: ['input', { static: true }]
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsUUFBUSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFNeEMsTUFBTSxPQUFPLGVBQWU7SUFKNUI7UUFNVyxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRzdDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUc3QyxpQkFBWSxHQUFHLEdBQUcsQ0FBQztLQXVDN0I7SUFoQ0c7O09BRUc7SUFDSSxRQUFRO1FBRVgsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWTthQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUNqRCxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBRWQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUVyQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBR00sS0FBSztRQUVSLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBOUNRLGVBQWU7a0dBQWYsZUFBZSxrUUNuQjVCLDZWQVFBOzsyRkRXYSxlQUFlO2tCQUozQixTQUFTOytCQUNJLFlBQVk7OEJBUWYsZUFBZTtzQkFEckIsTUFBTTtnQkFJQSxZQUFZO3NCQURsQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtpbnRlcnZhbCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkZHItZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXRcbntcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25GaWx0ZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBib3VuY2VQZXJpb2QgPSA1MDA7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KVxuICAgIHB1YmxpYyBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZFxuICAgIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy5ib3VuY2VQZXJpb2QpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlID0+IHRoaXMub25GaWx0ZXJDaGFuZ2VkLmVtaXQodmFsdWUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpXG4gICAge1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgY2xlYXIoKVxuICAgIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZWQuZW1pdCh1bmRlZmluZWQpO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiICNpbnB1dCAvPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cImNsZWFyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L21hdC1jYXJkPlxuIl19