@dontdrinkandroot/ngx-material-extensions 0.0.5 → 0.2.0

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.
Files changed (35) hide show
  1. package/_index.scss +149 -0
  2. package/{esm2015/dontdrinkandroot-ngx-material-extensions.js → esm2020/dontdrinkandroot-ngx-material-extensions.mjs} +1 -1
  3. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  4. package/esm2020/src/ddr-material-extensions.module.mjs +51 -0
  5. package/esm2020/src/gridlist/grid-tile-lazy-image-container.directive.mjs +55 -0
  6. package/esm2020/src/gridlist/grid-tile-lazy-img.directive.mjs +115 -0
  7. package/esm2020/src/sidenav/sidenav-container.component.mjs +39 -0
  8. package/esm2020/src/sidenav/sidenav-toggle.component.mjs +29 -0
  9. package/esm2020/src/sidenav/sidenav.service.mjs +65 -0
  10. package/fesm2015/dontdrinkandroot-ngx-material-extensions.mjs +346 -0
  11. package/fesm2015/dontdrinkandroot-ngx-material-extensions.mjs.map +1 -0
  12. package/fesm2020/dontdrinkandroot-ngx-material-extensions.mjs +346 -0
  13. package/fesm2020/dontdrinkandroot-ngx-material-extensions.mjs.map +1 -0
  14. package/{dontdrinkandroot-ngx-material-extensions.d.ts → index.d.ts} +1 -0
  15. package/package.json +26 -14
  16. package/src/ddr-material-extensions.module.d.ts +12 -0
  17. package/src/gridlist/grid-tile-lazy-image-container.directive.d.ts +3 -0
  18. package/src/gridlist/grid-tile-lazy-img.directive.d.ts +3 -0
  19. package/src/sidenav/sidenav-container.component.d.ts +3 -0
  20. package/src/sidenav/sidenav-toggle.component.d.ts +3 -0
  21. package/src/sidenav/sidenav.service.d.ts +3 -0
  22. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.js +0 -619
  23. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.js.map +0 -1
  24. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.min.js +0 -2
  25. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.min.js.map +0 -1
  26. package/dontdrinkandroot-ngx-material-extensions.metadata.json +0 -1
  27. package/esm2015/src/ddr-material-extensions.module.js +0 -34
  28. package/esm2015/src/gridlist/grid-tile-lazy-image-container.directive.js +0 -47
  29. package/esm2015/src/gridlist/grid-tile-lazy-img.directive.js +0 -102
  30. package/esm2015/src/sidenav/sidenav-container.component.js +0 -39
  31. package/esm2015/src/sidenav/sidenav-toggle.component.js +0 -23
  32. package/esm2015/src/sidenav/sidenav.service.js +0 -66
  33. package/fesm2015/dontdrinkandroot-ngx-material-extensions.js +0 -305
  34. package/fesm2015/dontdrinkandroot-ngx-material-extensions.js.map +0 -1
  35. package/style.scss +0 -130
@@ -0,0 +1,346 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component, ViewChild, Input, Directive, HostBinding, ContentChildren, HostListener, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/layout';
4
+ import { Breakpoints } from '@angular/cdk/layout';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i2 from '@angular/router';
7
+ import { NavigationStart } from '@angular/router';
8
+ import * as i3 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
+ import * as i4 from '@angular/material/sidenav';
11
+ import { MatSidenavModule } from '@angular/material/sidenav';
12
+ import * as i2$1 from '@angular/material/icon';
13
+ import { MatIconModule } from '@angular/material/icon';
14
+ import * as i3$1 from '@angular/material/button';
15
+ import { MatButtonModule } from '@angular/material/button';
16
+ import { __decorate } from 'tslib';
17
+ import { NumberUtils, StringUtils, Debounce, Limit } from '@dontdrinkandroot/ngx-extensions';
18
+
19
+ class SidenavService {
20
+ constructor(breakpointObserver, router) {
21
+ this.breakpointObserver = breakpointObserver;
22
+ this.router = router;
23
+ this.stayOpenOnLargeScreen = false;
24
+ this.largeBreakpoints = [
25
+ Breakpoints.Medium,
26
+ Breakpoints.Large,
27
+ Breakpoints.XLarge
28
+ ];
29
+ this.screenLarge$ = this.breakpointObserver.observe(this.largeBreakpoints).pipe(map(result => result.matches));
30
+ this.mode$ = this.screenLarge$.pipe(map(large => large && this.stayOpenOnLargeScreen ? 'side' : 'over'));
31
+ this.opened$ = this.screenLarge$.pipe(map(large => large && this.stayOpenOnLargeScreen));
32
+ this.router.events.subscribe(event => {
33
+ if (event instanceof NavigationStart) {
34
+ this.closeSidebar();
35
+ }
36
+ });
37
+ }
38
+ setSidenav(sidenav) {
39
+ this.sidenav = sidenav;
40
+ }
41
+ getStayOpenOnLargeScreen() {
42
+ return this.stayOpenOnLargeScreen;
43
+ }
44
+ setStayOpenOnLargeScreen(value) {
45
+ this.stayOpenOnLargeScreen = value;
46
+ }
47
+ toggle() {
48
+ if (null == this.sidenav) {
49
+ return Promise.reject('No MatSidenav found. Use setSidenav() of SidenavService');
50
+ }
51
+ if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {
52
+ return this.sidenav.toggle();
53
+ }
54
+ return Promise.resolve(this.sidenav.opened ? 'open' : 'close');
55
+ }
56
+ closeSidebar() {
57
+ if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {
58
+ this.sidenav.close();
59
+ }
60
+ }
61
+ getModeObservable() {
62
+ return this.mode$;
63
+ }
64
+ getOpenedObservable() {
65
+ return this.opened$;
66
+ }
67
+ }
68
+ SidenavService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavService, deps: [{ token: i1.BreakpointObserver }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ SidenavService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }, { type: i2.Router }]; } });
76
+
77
+ class SidenavContainerComponent {
78
+ constructor(sidenavService, breakpointObserver) {
79
+ this.sidenavService = sidenavService;
80
+ this.breakpointObserver = breakpointObserver;
81
+ this.stayOpenOnLargeScreen = false;
82
+ this.mode$ = this.sidenavService.getModeObservable();
83
+ this.opened$ = this.sidenavService.getOpenedObservable();
84
+ }
85
+ /**
86
+ * @override
87
+ */
88
+ ngOnChanges(changes) {
89
+ this.sidenavService.setStayOpenOnLargeScreen(changes['stayOpenOnLargeScreen'].currentValue);
90
+ }
91
+ /**
92
+ * @override
93
+ */
94
+ ngOnInit() {
95
+ this.sidenavService.setSidenav(this.sidenav);
96
+ }
97
+ }
98
+ SidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavContainerComponent, deps: [{ token: SidenavService }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
99
+ SidenavContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: SidenavContainerComponent, selector: "ddr-mat-sidenav-container", inputs: { stayOpenOnLargeScreen: "stayOpenOnLargeScreen" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n fixedInViewport=\"true\"\n [mode]=\"(mode$|async) ?? 'over'\"\n [opened]=\"(opened$|async)\">\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavContainerComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'ddr-mat-sidenav-container', template: "<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n fixedInViewport=\"true\"\n [mode]=\"(mode$|async) ?? 'over'\"\n [opened]=\"(opened$|async)\">\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n" }]
103
+ }], ctorParameters: function () { return [{ type: SidenavService }, { type: i1.BreakpointObserver }]; }, propDecorators: { sidenav: [{
104
+ type: ViewChild,
105
+ args: ['sidenav', { static: true }]
106
+ }], stayOpenOnLargeScreen: [{
107
+ type: Input
108
+ }] } });
109
+
110
+ class SidenavToggleComponent {
111
+ constructor(sidenavService) {
112
+ this.sidenavService = sidenavService;
113
+ }
114
+ toggleSidenav() {
115
+ this.sidenavService.toggle();
116
+ }
117
+ }
118
+ SidenavToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavToggleComponent, deps: [{ token: SidenavService }], target: i0.ɵɵFactoryTarget.Component });
119
+ SidenavToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: SidenavToggleComponent, selector: "ddr-mat-sidenav-toggle", ngImport: i0, template: `
120
+ <button mat-icon-button (click)="toggleSidenav()">
121
+ <mat-icon>menu</mat-icon>
122
+ </button>`, isInline: true, dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SidenavToggleComponent, decorators: [{
124
+ type: Component,
125
+ args: [{
126
+ selector: 'ddr-mat-sidenav-toggle',
127
+ template: `
128
+ <button mat-icon-button (click)="toggleSidenav()">
129
+ <mat-icon>menu</mat-icon>
130
+ </button>`
131
+ }]
132
+ }], ctorParameters: function () { return [{ type: SidenavService }]; } });
133
+
134
+ class GridTileLazyImgDirective {
135
+ constructor(element, cd) {
136
+ this.element = element;
137
+ this.cd = cd;
138
+ this.hostSrc = 'assets/placeholder.gif';
139
+ this.hostStyleObjectFit = 'contain';
140
+ this.hostStyleOpacity = 0;
141
+ this.offset = 1000;
142
+ this.objectFit = 'cover';
143
+ this.displayed = false;
144
+ this.maxLoadedDimension = null;
145
+ }
146
+ recheck() {
147
+ this.displayed = false;
148
+ this.check();
149
+ }
150
+ check() {
151
+ if (this.displayed
152
+ || this.isHidden(this.element.nativeElement)
153
+ || !this.isInsideViewport(this.element.nativeElement, this.offset)) {
154
+ return;
155
+ }
156
+ this.displayed = true;
157
+ const dimension = this.getDimension();
158
+ if (null != this.maxLoadedDimension
159
+ && this.maxLoadedDimension.width >= dimension.width
160
+ && this.maxLoadedDimension.height >= dimension.height) {
161
+ return;
162
+ }
163
+ this.maxLoadedDimension = dimension;
164
+ this.hostStyleWidthPx = dimension.width;
165
+ this.hostStyleHeightPx = dimension.height;
166
+ let wantedSize;
167
+ if (this.objectFit === 'cover') {
168
+ wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));
169
+ this.hostStyleObjectFit = 'cover';
170
+ }
171
+ else {
172
+ wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));
173
+ this.hostStyleObjectFit = 'contain';
174
+ }
175
+ this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));
176
+ this.hostStyleOpacity = 1;
177
+ this.cd.detectChanges();
178
+ }
179
+ /**
180
+ * @override
181
+ */
182
+ ngOnChanges(changes) {
183
+ this.displayed = false;
184
+ this.maxLoadedDimension = null;
185
+ this.hostStyleOpacity = 0;
186
+ if (this.element.nativeElement.parentElement.offsetWidth > 0) {
187
+ this.check();
188
+ }
189
+ }
190
+ isInsideViewport(nativeElement, offset) {
191
+ // console.log('isInsideViewport');
192
+ const ownerDocument = nativeElement.ownerDocument;
193
+ const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;
194
+ const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;
195
+ const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);
196
+ const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);
197
+ const topOffset = nativeElement.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;
198
+ const leftOffset = nativeElement.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;
199
+ // console.log(documentWidth, documentHeight, topOffset, leftOffset);
200
+ const isBelowViewport = documentHeight + documentTop <= topOffset - offset;
201
+ const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - offset;
202
+ const isAboveViewport = documentTop >= topOffset + offset + nativeElement.offsetHeight;
203
+ const isAtLeftOfViewport = documentLeft >= leftOffset + offset + nativeElement.offsetWidth;
204
+ return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;
205
+ }
206
+ getDimension() {
207
+ return {
208
+ width: this.element.nativeElement.parentElement.offsetWidth,
209
+ height: this.element.nativeElement.parentElement.offsetHeight,
210
+ };
211
+ }
212
+ isHidden(nativeElement) {
213
+ // console.log('isHidden');
214
+ return window.getComputedStyle(nativeElement).display === 'none';
215
+ }
216
+ }
217
+ GridTileLazyImgDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridTileLazyImgDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
218
+ GridTileLazyImgDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: GridTileLazyImgDirective, selector: "[ddrGridTileLazyImg]", inputs: { src: ["ddrGridTileLazyImg", "src"], offset: "offset", objectFit: "objectFit" }, host: { properties: { "src": "this.hostSrc", "style.object-fit": "this.hostStyleObjectFit", "style.width.px": "this.hostStyleWidthPx", "style.height.px": "this.hostStyleHeightPx", "style.opacity": "this.hostStyleOpacity" } }, usesOnChanges: true, ngImport: i0 });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridTileLazyImgDirective, decorators: [{
220
+ type: Directive,
221
+ args: [{ selector: '[ddrGridTileLazyImg]' }]
222
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { src: [{
223
+ type: Input,
224
+ args: ['ddrGridTileLazyImg']
225
+ }], hostSrc: [{
226
+ type: HostBinding,
227
+ args: ['src']
228
+ }], hostStyleObjectFit: [{
229
+ type: HostBinding,
230
+ args: ['style.object-fit']
231
+ }], hostStyleWidthPx: [{
232
+ type: HostBinding,
233
+ args: ['style.width.px']
234
+ }], hostStyleHeightPx: [{
235
+ type: HostBinding,
236
+ args: ['style.height.px']
237
+ }], hostStyleOpacity: [{
238
+ type: HostBinding,
239
+ args: ['style.opacity']
240
+ }], offset: [{
241
+ type: Input
242
+ }], objectFit: [{
243
+ type: Input
244
+ }] } });
245
+
246
+ class GridTileLazyImageContainerDirective {
247
+ windowResized($event) {
248
+ if (null != this.lazyImages) {
249
+ this.lazyImages.forEach((lazyImage, index) => lazyImage.recheck());
250
+ }
251
+ }
252
+ windowScroll($event) {
253
+ if (null != this.lazyImages) {
254
+ this.lazyImages.forEach((lazyImage, index) => lazyImage.check());
255
+ }
256
+ }
257
+ /**
258
+ * @override
259
+ */
260
+ ngAfterContentInit() {
261
+ this.lazyImages.forEach((lazyImage, index) => lazyImage.check());
262
+ this.changeSubscription = this.lazyImages.changes.subscribe(() => {
263
+ /* Wait one tick until layout is ready */
264
+ setTimeout(() => this.lazyImages.forEach((lazyImage, index) => lazyImage.recheck()), 1);
265
+ });
266
+ }
267
+ /**
268
+ * @override
269
+ */
270
+ ngOnDestroy() {
271
+ this.changeSubscription.unsubscribe();
272
+ }
273
+ }
274
+ GridTileLazyImageContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridTileLazyImageContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
275
+ GridTileLazyImageContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: GridTileLazyImageContainerDirective, selector: "[ddrGridTileLazyImgContainer]", host: { listeners: { "window:resize": "windowResized($event)", "window:scroll": "windowScroll($event)" } }, queries: [{ propertyName: "lazyImages", predicate: GridTileLazyImgDirective, descendants: true }], ngImport: i0 });
276
+ __decorate([
277
+ Debounce()
278
+ ], GridTileLazyImageContainerDirective.prototype, "windowResized", null);
279
+ __decorate([
280
+ Limit()
281
+ ], GridTileLazyImageContainerDirective.prototype, "windowScroll", null);
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridTileLazyImageContainerDirective, decorators: [{
283
+ type: Directive,
284
+ args: [{ selector: '[ddrGridTileLazyImgContainer]' }]
285
+ }], propDecorators: { lazyImages: [{
286
+ type: ContentChildren,
287
+ args: [GridTileLazyImgDirective, { descendants: true }]
288
+ }], windowResized: [{
289
+ type: HostListener,
290
+ args: ['window:resize', ['$event']]
291
+ }], windowScroll: [{
292
+ type: HostListener,
293
+ args: ['window:scroll', ['$event']]
294
+ }] } });
295
+
296
+ class DdrMaterialExtensionsModule {
297
+ }
298
+ DdrMaterialExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: DdrMaterialExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
299
+ DdrMaterialExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: DdrMaterialExtensionsModule, declarations: [SidenavToggleComponent,
300
+ GridTileLazyImageContainerDirective,
301
+ GridTileLazyImgDirective,
302
+ SidenavContainerComponent], imports: [CommonModule,
303
+ MatSidenavModule,
304
+ MatIconModule,
305
+ MatButtonModule], exports: [SidenavToggleComponent,
306
+ GridTileLazyImageContainerDirective,
307
+ GridTileLazyImgDirective,
308
+ SidenavContainerComponent] });
309
+ DdrMaterialExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: DdrMaterialExtensionsModule, imports: [CommonModule,
310
+ MatSidenavModule,
311
+ MatIconModule,
312
+ MatButtonModule] });
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: DdrMaterialExtensionsModule, decorators: [{
314
+ type: NgModule,
315
+ args: [{
316
+ declarations: [
317
+ SidenavToggleComponent,
318
+ GridTileLazyImageContainerDirective,
319
+ GridTileLazyImgDirective,
320
+ SidenavContainerComponent
321
+ ],
322
+ imports: [
323
+ CommonModule,
324
+ MatSidenavModule,
325
+ MatIconModule,
326
+ MatButtonModule
327
+ ],
328
+ exports: [
329
+ SidenavToggleComponent,
330
+ GridTileLazyImageContainerDirective,
331
+ GridTileLazyImgDirective,
332
+ SidenavContainerComponent
333
+ ]
334
+ }]
335
+ }] });
336
+
337
+ /*
338
+ * Public API Surface of ngx-material-extensions
339
+ */
340
+
341
+ /**
342
+ * Generated bundle index. Do not edit.
343
+ */
344
+
345
+ export { DdrMaterialExtensionsModule, GridTileLazyImageContainerDirective, GridTileLazyImgDirective, SidenavContainerComponent, SidenavService, SidenavToggleComponent };
346
+ //# sourceMappingURL=dontdrinkandroot-ngx-material-extensions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dontdrinkandroot-ngx-material-extensions.mjs","sources":["../../src/sidenav/sidenav.service.ts","../../src/sidenav/sidenav-container.component.ts","../../src/sidenav/sidenav-container.component.html","../../src/sidenav/sidenav-toggle.component.ts","../../src/gridlist/grid-tile-lazy-img.directive.ts","../../src/gridlist/grid-tile-lazy-image-container.directive.ts","../../src/ddr-material-extensions.module.ts","../../public-api.ts","../../dontdrinkandroot-ngx-material-extensions.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {MatDrawerMode, MatDrawerToggleResult, MatSidenav} from '@angular/material/sidenav';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {NavigationStart, Router} from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidenavService\n{\n private sidenav!: MatSidenav;\n\n private stayOpenOnLargeScreen = false;\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 constructor(private breakpointObserver: BreakpointObserver, private router: Router)\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 {\n this.sidenav = sidenav;\n }\n\n public getStayOpenOnLargeScreen(): boolean\n {\n return this.stayOpenOnLargeScreen;\n }\n\n public setStayOpenOnLargeScreen(value: boolean): void\n {\n this.stayOpenOnLargeScreen = value;\n }\n\n public toggle(): Promise<MatDrawerToggleResult>\n {\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 {\n if (!(this.stayOpenOnLargeScreen && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n this.sidenav.close();\n }\n }\n\n public getModeObservable(): Observable<MatDrawerMode>\n {\n return this.mode$;\n }\n\n public getOpenedObservable(): Observable<boolean>\n {\n return this.opened$;\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild} from '@angular/core';\nimport {MatDrawerMode, MatSidenav} from '@angular/material/sidenav';\nimport {SidenavService} from './sidenav.service';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'ddr-mat-sidenav-container',\n templateUrl: './sidenav-container.component.html'\n})\nexport class SidenavContainerComponent implements OnInit, OnChanges\n{\n @ViewChild('sidenav', {static: true})\n public sidenav!: MatSidenav;\n\n @Input()\n public stayOpenOnLargeScreen = false;\n\n public mode$: Observable<MatDrawerMode> = this.sidenavService.getModeObservable();\n\n public opened$: Observable<boolean> = this.sidenavService.getOpenedObservable();\n\n constructor(private sidenavService: SidenavService, private breakpointObserver: BreakpointObserver)\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","<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n fixedInViewport=\"true\"\n [mode]=\"(mode$|async) ?? 'over'\"\n [opened]=\"(opened$|async)\">\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import {Component} from '@angular/core';\nimport {SidenavService} from './sidenav.service';\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})\nexport class SidenavToggleComponent\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 {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';\n\n@NgModule({\n declarations: [\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent\n ],\n imports: [\n CommonModule,\n MatSidenavModule,\n MatIconModule,\n MatButtonModule\n ],\n exports: [\n SidenavToggleComponent,\n GridTileLazyImageContainerDirective,\n GridTileLazyImgDirective,\n SidenavContainerComponent\n ]\n})\nexport class DdrMaterialExtensionsModule\n{\n}\n","/*\n * Public API Surface of ngx-material-extensions\n */\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/ddr-material-extensions.module';\nexport * from './src/gridlist/grid-tile-lazy-image-container.directive';\nexport * from './src/gridlist/grid-tile-lazy-img.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SidenavService","i2","i3"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@dontdrinkandroot/ngx-material-extensions" />
4
5
  export * from './public-api';
package/package.json CHANGED
@@ -1,22 +1,34 @@
1
1
  {
2
2
  "name": "@dontdrinkandroot/ngx-material-extensions",
3
- "version": "0.0.5",
3
+ "version": "0.2.0",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "^11.0.3",
6
- "@angular/common": "~11.0.5",
7
- "@angular/core": "~11.0.5",
8
- "@angular/material": "^11.0.3",
9
- "@dontdrinkandroot/ngx-extensions": "^0.0.5"
5
+ "@angular/cdk": "^14.2",
6
+ "@angular/common": "^14.2.0",
7
+ "@angular/core": "^14.2.0",
8
+ "@angular/material": "^14.2",
9
+ "@dontdrinkandroot/ngx-extensions": "^0.2"
10
10
  },
11
11
  "dependencies": {
12
- "tslib": "^2.0.0"
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "module": "fesm2015/dontdrinkandroot-ngx-material-extensions.mjs",
15
+ "es2020": "fesm2020/dontdrinkandroot-ngx-material-extensions.mjs",
16
+ "esm2020": "esm2020/dontdrinkandroot-ngx-material-extensions.mjs",
17
+ "fesm2020": "fesm2020/dontdrinkandroot-ngx-material-extensions.mjs",
18
+ "fesm2015": "fesm2015/dontdrinkandroot-ngx-material-extensions.mjs",
19
+ "typings": "index.d.ts",
20
+ "exports": {
21
+ "./package.json": {
22
+ "default": "./package.json"
23
+ },
24
+ ".": {
25
+ "types": "./index.d.ts",
26
+ "esm2020": "./esm2020/dontdrinkandroot-ngx-material-extensions.mjs",
27
+ "es2020": "./fesm2020/dontdrinkandroot-ngx-material-extensions.mjs",
28
+ "es2015": "./fesm2015/dontdrinkandroot-ngx-material-extensions.mjs",
29
+ "node": "./fesm2015/dontdrinkandroot-ngx-material-extensions.mjs",
30
+ "default": "./fesm2020/dontdrinkandroot-ngx-material-extensions.mjs"
31
+ }
13
32
  },
14
- "main": "bundles/dontdrinkandroot-ngx-material-extensions.umd.js",
15
- "module": "fesm2015/dontdrinkandroot-ngx-material-extensions.js",
16
- "es2015": "fesm2015/dontdrinkandroot-ngx-material-extensions.js",
17
- "esm2015": "esm2015/dontdrinkandroot-ngx-material-extensions.js",
18
- "fesm2015": "fesm2015/dontdrinkandroot-ngx-material-extensions.js",
19
- "typings": "dontdrinkandroot-ngx-material-extensions.d.ts",
20
- "metadata": "dontdrinkandroot-ngx-material-extensions.metadata.json",
21
33
  "sideEffects": false
22
34
  }
@@ -1,2 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./sidenav/sidenav-toggle.component";
3
+ import * as i2 from "./gridlist/grid-tile-lazy-image-container.directive";
4
+ import * as i3 from "./gridlist/grid-tile-lazy-img.directive";
5
+ import * as i4 from "./sidenav/sidenav-container.component";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@angular/material/sidenav";
8
+ import * as i7 from "@angular/material/icon";
9
+ import * as i8 from "@angular/material/button";
1
10
  export declare class DdrMaterialExtensionsModule {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DdrMaterialExtensionsModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DdrMaterialExtensionsModule, [typeof i1.SidenavToggleComponent, typeof i2.GridTileLazyImageContainerDirective, typeof i3.GridTileLazyImgDirective, typeof i4.SidenavContainerComponent], [typeof i5.CommonModule, typeof i6.MatSidenavModule, typeof i7.MatIconModule, typeof i8.MatButtonModule], [typeof i1.SidenavToggleComponent, typeof i2.GridTileLazyImageContainerDirective, typeof i3.GridTileLazyImgDirective, typeof i4.SidenavContainerComponent]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<DdrMaterialExtensionsModule>;
2
14
  }
@@ -1,5 +1,6 @@
1
1
  import { AfterContentInit, OnDestroy, QueryList } from '@angular/core';
2
2
  import { GridTileLazyImgDirective } from './grid-tile-lazy-img.directive';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class GridTileLazyImageContainerDirective implements AfterContentInit, OnDestroy {
4
5
  lazyImages: QueryList<GridTileLazyImgDirective>;
5
6
  private changeSubscription;
@@ -13,4 +14,6 @@ export declare class GridTileLazyImageContainerDirective implements AfterContent
13
14
  * @override
14
15
  */
15
16
  ngOnDestroy(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<GridTileLazyImageContainerDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<GridTileLazyImageContainerDirective, "[ddrGridTileLazyImgContainer]", never, {}, {}, ["lazyImages"], never, false>;
16
19
  }
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class GridTileLazyImgDirective implements OnChanges {
3
4
  private element;
4
5
  private cd;
@@ -22,4 +23,6 @@ export declare class GridTileLazyImgDirective implements OnChanges {
22
23
  private isInsideViewport;
23
24
  private getDimension;
24
25
  private isHidden;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<GridTileLazyImgDirective, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<GridTileLazyImgDirective, "[ddrGridTileLazyImg]", never, { "src": "ddrGridTileLazyImg"; "offset": "offset"; "objectFit": "objectFit"; }, {}, never, never, false>;
25
28
  }
@@ -3,6 +3,7 @@ import { MatDrawerMode, MatSidenav } from '@angular/material/sidenav';
3
3
  import { SidenavService } from './sidenav.service';
4
4
  import { BreakpointObserver } from '@angular/cdk/layout';
5
5
  import { Observable } from 'rxjs';
6
+ import * as i0 from "@angular/core";
6
7
  export declare class SidenavContainerComponent implements OnInit, OnChanges {
7
8
  private sidenavService;
8
9
  private breakpointObserver;
@@ -19,4 +20,6 @@ export declare class SidenavContainerComponent implements OnInit, OnChanges {
19
20
  * @override
20
21
  */
21
22
  ngOnInit(): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavContainerComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavContainerComponent, "ddr-mat-sidenav-container", never, { "stayOpenOnLargeScreen": "stayOpenOnLargeScreen"; }, {}, never, ["[slot=mat-sidenav]", "[slot=mat-sidenav-content]"], false>;
22
25
  }
@@ -1,6 +1,9 @@
1
1
  import { SidenavService } from './sidenav.service';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class SidenavToggleComponent {
3
4
  private sidenavService;
4
5
  constructor(sidenavService: SidenavService);
5
6
  toggleSidenav(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavToggleComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavToggleComponent, "ddr-mat-sidenav-toggle", never, {}, {}, never, never, false>;
6
9
  }
@@ -2,6 +2,7 @@ import { MatDrawerMode, MatDrawerToggleResult, MatSidenav } from '@angular/mater
2
2
  import { BreakpointObserver } from '@angular/cdk/layout';
3
3
  import { Observable } from 'rxjs';
4
4
  import { Router } from '@angular/router';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class SidenavService {
6
7
  private breakpointObserver;
7
8
  private router;
@@ -19,4 +20,6 @@ export declare class SidenavService {
19
20
  closeSidebar(): void;
20
21
  getModeObservable(): Observable<MatDrawerMode>;
21
22
  getOpenedObservable(): Observable<boolean>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavService, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<SidenavService>;
22
25
  }