@dontdrinkandroot/ngx-material-extensions 0.1.0 → 0.2.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.
Files changed (25) hide show
  1. package/_index.scss +153 -0
  2. package/{esm2015/dontdrinkandroot-ngx-material-extensions.js → esm2020/dontdrinkandroot-ngx-material-extensions.mjs} +0 -0
  3. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  4. package/{esm2015/src/ddr-material-extensions.module.js → esm2020/src/ddr-material-extensions.module.mjs} +8 -10
  5. package/{esm2015/src/gridlist/grid-tile-lazy-image-container.directive.js → esm2020/src/gridlist/grid-tile-lazy-image-container.directive.mjs} +4 -4
  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/{esm2015/src/sidenav/sidenav-toggle.component.js → esm2020/src/sidenav/sidenav-toggle.component.mjs} +7 -7
  9. package/{esm2015/src/sidenav/sidenav.service.js → esm2020/src/sidenav/sidenav.service.mjs} +4 -4
  10. package/fesm2015/{dontdrinkandroot-ngx-material-extensions.js → dontdrinkandroot-ngx-material-extensions.mjs} +35 -39
  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} +0 -0
  15. package/package.json +26 -13
  16. package/src/gridlist/grid-tile-lazy-image-container.directive.d.ts +1 -1
  17. package/src/gridlist/grid-tile-lazy-img.directive.d.ts +1 -1
  18. package/src/sidenav/sidenav-container.component.d.ts +1 -1
  19. package/src/sidenav/sidenav-toggle.component.d.ts +1 -1
  20. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.js +0 -697
  21. package/bundles/dontdrinkandroot-ngx-material-extensions.umd.js.map +0 -1
  22. package/esm2015/src/gridlist/grid-tile-lazy-img.directive.js +0 -114
  23. package/esm2015/src/sidenav/sidenav-container.component.js +0 -42
  24. package/fesm2015/dontdrinkandroot-ngx-material-extensions.js.map +0 -1
  25. package/style.scss +0 -130
@@ -1 +0,0 @@
1
- {"version":3,"file":"dontdrinkandroot-ngx-material-extensions.umd.js","sources":["../../src/sidenav/sidenav.service.ts","../../src/sidenav/sidenav-container.component.ts","../../src/sidenav/sidenav-container.component.html","../../src/sidenav/sidenav-toggle.component.ts","../../node_modules/tslib/tslib.es6.js","../../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>;\n\n public opened$: Observable<boolean>;\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 this.mode$ = this.sidenavService.getModeObservable();\n this.opened$ = this.sidenavService.getOpenedObservable();\n }\n}\n","<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n fixedInViewport=\"true\"\n [mode]=\"(mode$|async)\"\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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 };\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, 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)\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":["Breakpoints","map","NavigationStart","Injectable","Component","ViewChild","Input","NumberUtils","StringUtils","Directive","HostBinding","Debounce","Limit","ContentChildren","HostListener","CommonModule","MatSidenavModule","MatIconModule","MatButtonModule","NgModule"],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- import { Directive, HostBinding, Input } from '@angular/core';
2
- import { NumberUtils, StringUtils } from '@dontdrinkandroot/ngx-extensions';
3
- import * as i0 from "@angular/core";
4
- export class GridTileLazyImgDirective {
5
- constructor(element, cd) {
6
- this.element = element;
7
- this.cd = cd;
8
- this.hostSrc = 'assets/placeholder.gif';
9
- this.hostStyleObjectFit = 'contain';
10
- this.hostStyleOpacity = 0;
11
- this.offset = 1000;
12
- this.objectFit = 'cover';
13
- this.displayed = false;
14
- }
15
- recheck() {
16
- this.displayed = false;
17
- this.check();
18
- }
19
- check() {
20
- if (this.displayed
21
- || this.isHidden(this.element.nativeElement)
22
- || !this.isInsideViewport(this.element.nativeElement, this.offset)) {
23
- return;
24
- }
25
- this.displayed = true;
26
- const dimension = this.getDimension();
27
- if (null != this.maxLoadedDimension
28
- && this.maxLoadedDimension.width >= dimension.width
29
- && this.maxLoadedDimension.height >= dimension.height) {
30
- return;
31
- }
32
- this.maxLoadedDimension = dimension;
33
- this.hostStyleWidthPx = dimension.width;
34
- this.hostStyleHeightPx = dimension.height;
35
- let wantedSize;
36
- if (this.objectFit === 'cover') {
37
- wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));
38
- this.hostStyleObjectFit = 'cover';
39
- }
40
- else {
41
- wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));
42
- this.hostStyleObjectFit = 'contain';
43
- }
44
- this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));
45
- this.hostStyleOpacity = 1;
46
- this.cd.detectChanges();
47
- }
48
- /**
49
- * @override
50
- */
51
- ngOnChanges(changes) {
52
- this.displayed = false;
53
- this.maxLoadedDimension = null;
54
- this.hostStyleOpacity = 0;
55
- if (this.element.nativeElement.parentElement.offsetWidth > 0) {
56
- this.check();
57
- }
58
- }
59
- isInsideViewport(nativeElement, offset) {
60
- // console.log('isInsideViewport');
61
- const ownerDocument = nativeElement.ownerDocument;
62
- const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;
63
- const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;
64
- const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);
65
- const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);
66
- const topOffset = nativeElement.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;
67
- const leftOffset = nativeElement.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;
68
- // console.log(documentWidth, documentHeight, topOffset, leftOffset);
69
- const isBelowViewport = documentHeight + documentTop <= topOffset - offset;
70
- const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - offset;
71
- const isAboveViewport = documentTop >= topOffset + offset + nativeElement.offsetHeight;
72
- const isAtLeftOfViewport = documentLeft >= leftOffset + offset + nativeElement.offsetWidth;
73
- return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;
74
- }
75
- getDimension() {
76
- return {
77
- width: this.element.nativeElement.parentElement.offsetWidth,
78
- height: this.element.nativeElement.parentElement.offsetHeight,
79
- };
80
- }
81
- isHidden(nativeElement) {
82
- // console.log('isHidden');
83
- return window.getComputedStyle(nativeElement).display === 'none';
84
- }
85
- }
86
- GridTileLazyImgDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: GridTileLazyImgDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
87
- GridTileLazyImgDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.12", 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 });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: GridTileLazyImgDirective, decorators: [{
89
- type: Directive,
90
- args: [{ selector: '[ddrGridTileLazyImg]' }]
91
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { src: [{
92
- type: Input,
93
- args: ['ddrGridTileLazyImg']
94
- }], hostSrc: [{
95
- type: HostBinding,
96
- args: ['src']
97
- }], hostStyleObjectFit: [{
98
- type: HostBinding,
99
- args: ['style.object-fit']
100
- }], hostStyleWidthPx: [{
101
- type: HostBinding,
102
- args: ['style.width.px']
103
- }], hostStyleHeightPx: [{
104
- type: HostBinding,
105
- args: ['style.height.px']
106
- }], hostStyleOpacity: [{
107
- type: HostBinding,
108
- args: ['style.opacity']
109
- }], offset: [{
110
- type: Input
111
- }], objectFit: [{
112
- type: Input
113
- }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10aWxlLWxhenktaW1nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmlkbGlzdC9ncmlkLXRpbGUtbGF6eS1pbWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7O0FBRzFFLE1BQU0sT0FBTyx3QkFBd0I7SUE4QmpDLFlBQW9CLE9BQW1CLEVBQVUsRUFBcUI7UUFBbEQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBeEIvRCxZQUFPLEdBQUcsd0JBQXdCLENBQUM7UUFHbkMsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBUy9CLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUdyQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBR2QsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUVuQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTTFCLENBQUM7SUFFTSxPQUFPO1FBRVYsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxLQUFLO1FBRVIsSUFDSSxJQUFJLENBQUMsU0FBUztlQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7ZUFDekMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNwRTtZQUNFLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUks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QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFJdkIsZ0JBQWdCO3NCQUR0QixXQUFXO3VCQUFDLGVBQWU7Z0JBSXJCLE1BQU07c0JBRFosS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TnVtYmVyVXRpbHMsIFN0cmluZ1V0aWxzfSBmcm9tICdAZG9udGRyaW5rYW5kcm9vdC9uZ3gtZXh0ZW5zaW9ucyc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2RkckdyaWRUaWxlTGF6eUltZ10nfSlcbmV4cG9ydCBjbGFzcyBHcmlkVGlsZUxhenlJbWdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoJ2RkckdyaWRUaWxlTGF6eUltZycpXG4gICAgcHVibGljIHNyYzogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzcmMnKVxuICAgIHB1YmxpYyBob3N0U3JjID0gJ2Fzc2V0cy9wbGFjZWhvbGRlci5naWYnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vYmplY3QtZml0JylcbiAgICBwdWJsaWMgaG9zdFN0eWxlT2JqZWN0Rml0ID0gJ2NvbnRhaW4nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXG4gICAgcHVibGljIGhvc3RTdHlsZVdpZHRoUHg6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBwdWJsaWMgaG9zdFN0eWxlSGVpZ2h0UHg6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpXG4gICAgcHVibGljIGhvc3RTdHlsZU9wYWNpdHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb2Zmc2V0ID0gMTAwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9iamVjdEZpdCA9ICdjb3Zlcic7XG5cbiAgICBwcml2YXRlIGRpc3BsYXllZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBtYXhMb2FkZWREaW1lbnNpb246IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAge1xuICAgIH1cblxuICAgIHB1YmxpYyByZWNoZWNrKClcbiAgICB7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2soKVxuICAgIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRcbiAgICAgICAgICAgIHx8IHRoaXMuaXNIaWRkZW4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB8fCAhdGhpcy5pc0luc2lkZVZpZXdwb3J0KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLm9mZnNldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BsYXllZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHRoaXMuZ2V0RGltZW5zaW9uKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbnVsbCAhPSB0aGlzLm1heExvYWRlZERpbWVuc2lvblxuICAgICAgICAgICAgJiYgdGhpcy5tYXhMb2FkZWREaW1lbnNpb24ud2lkdGggPj0gZGltZW5zaW9uLndpZHRoXG4gICAgICAgICAgICAmJiB0aGlzLm1heExvYWRlZERpbWVuc2lvbi5oZWlnaHQgPj0gZGltZW5zaW9uLmhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uID0gZGltZW5zaW9uO1xuICAgICAgICB0aGlzLmhvc3RTdHlsZVdpZHRoUHggPSBkaW1lbnNpb24ud2lkdGg7XG4gICAgICAgIHRoaXMuaG9zdFN0eWxlSGVpZ2h0UHggPSBkaW1lbnNpb24uaGVpZ2h0O1xuICAgICAgICBsZXQgd2FudGVkU2l6ZTogbnVtYmVyO1xuICAgICAgICBpZiAodGhpcy5vYmplY3RGaXQgPT09ICdjb3ZlcicpIHtcbiAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1heChkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdFN0eWxlT2JqZWN0Rml0ID0gJ2NvdmVyJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1pbihkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdFN0eWxlT2JqZWN0Rml0ID0gJ2NvbnRhaW4nO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFNyYyA9IFN0cmluZ1V0aWxzLnVwZGF0ZVVybFBhcmFtZXRlcih0aGlzLnNyYywgJ3NpemUnLCBTdHJpbmcod2FudGVkU2l6ZSkpO1xuICAgICAgICB0aGlzLmhvc3RTdHlsZU9wYWNpdHkgPSAxO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5ob3N0U3R5bGVPcGFjaXR5ID0gMDtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSW5zaWRlVmlld3BvcnQobmF0aXZlRWxlbWVudCwgb2Zmc2V0OiBudW1iZXIpOiBib29sZWFuXG4gICAge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnaXNJbnNpZGVWaWV3cG9ydCcpO1xuICAgICAgICBjb25zdCBvd25lckRvY3VtZW50ID0gbmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50O1xuICAgICAgICBjb25zdCBkb2N1bWVudFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBvd25lckRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuICAgICAgICBjb25zdCBkb2N1bWVudExlZnQgPSB3aW5kb3cucGFnZVhPZmZzZXQgfHwgb3duZXJEb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIHx8IChvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKTtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgKG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHRvcE9mZnNldCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgZG9jdW1lbnRUb3AgLSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRUb3A7XG4gICAgICAgIGNvbnN0IGxlZnRPZmZzZXQgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyBkb2N1bWVudExlZnQgLSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRMZWZ0O1xuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRvY3VtZW50V2lkdGgsIGRvY3VtZW50SGVpZ2h0LCB0b3BPZmZzZXQsIGxlZnRPZmZzZXQpO1xuXG4gICAgICAgIGNvbnN0IGlzQmVsb3dWaWV3cG9ydCA9IGRvY3VtZW50SGVpZ2h0ICsgZG9jdW1lbnRUb3AgPD0gdG9wT2Zmc2V0IC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBpc0F0UmlnaHRPZlZpZXdwb3J0ID0gZG9jdW1lbnRXaWR0aCArIHdpbmRvdy5wYWdlWE9mZnNldCA8PSBsZWZ0T2Zmc2V0IC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBpc0Fib3ZlVmlld3BvcnQgPSBkb2N1bWVudFRvcCA+PSB0b3BPZmZzZXQgKyBvZmZzZXQgKyBuYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgaXNBdExlZnRPZlZpZXdwb3J0ID0gZG9jdW1lbnRMZWZ0ID49IGxlZnRPZmZzZXQgKyBvZmZzZXQgKyBuYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgICAgIHJldHVybiAhaXNCZWxvd1ZpZXdwb3J0ICYmICFpc0Fib3ZlVmlld3BvcnQgJiYgIWlzQXRSaWdodE9mVmlld3BvcnQgJiYgIWlzQXRMZWZ0T2ZWaWV3cG9ydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERpbWVuc2lvbigpOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH1cbiAgICB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aDogdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0hpZGRlbihuYXRpdmVFbGVtZW50KVxuICAgIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2lzSGlkZGVuJyk7XG4gICAgICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuYXRpdmVFbGVtZW50KS5kaXNwbGF5ID09PSAnbm9uZSc7XG4gICAgfVxufVxuIl19
@@ -1,42 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./sidenav.service";
4
- import * as i2 from "@angular/cdk/layout";
5
- import * as i3 from "@angular/material/sidenav";
6
- import * as i4 from "@angular/common";
7
- export class SidenavContainerComponent {
8
- constructor(sidenavService, breakpointObserver) {
9
- this.sidenavService = sidenavService;
10
- this.breakpointObserver = breakpointObserver;
11
- this.stayOpenOnLargeScreen = false;
12
- }
13
- /**
14
- * @override
15
- */
16
- ngOnChanges(changes) {
17
- this.sidenavService.setStayOpenOnLargeScreen(changes.stayOpenOnLargeScreen.currentValue);
18
- }
19
- /**
20
- * @override
21
- */
22
- ngOnInit() {
23
- this.sidenavService.setSidenav(this.sidenav);
24
- this.mode$ = this.sidenavService.getModeObservable();
25
- this.opened$ = this.sidenavService.getOpenedObservable();
26
- }
27
- }
28
- SidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SidenavContainerComponent, deps: [{ token: i1.SidenavService }, { token: i2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
29
- SidenavContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.12", 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)\"\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", components: [{ type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i3.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i4.AsyncPipe } });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SidenavContainerComponent, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: 'ddr-mat-sidenav-container',
34
- templateUrl: './sidenav-container.component.html'
35
- }]
36
- }], ctorParameters: function () { return [{ type: i1.SidenavService }, { type: i2.BreakpointObserver }]; }, propDecorators: { sidenav: [{
37
- type: ViewChild,
38
- args: ['sidenav', { static: true }]
39
- }], stayOpenOnLargeScreen: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGVuYXYvc2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3NpZGVuYXYvc2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW9DLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVTVGLE1BQU0sT0FBTyx5QkFBeUI7SUFZbEMsWUFBb0IsY0FBOEIsRUFBVSxrQkFBc0M7UUFBOUUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQU4zRiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFRckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBRXJDLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFFWCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0QsQ0FBQzs7dUhBaENRLHlCQUF5QjsyR0FBekIseUJBQXlCLG9RQ1Z0QyxxYkFZQTs0RkRGYSx5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsV0FBVyxFQUFFLG9DQUFvQztpQkFDcEQ7c0lBSVUsT0FBTztzQkFEYixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTdCLHFCQUFxQjtzQkFEM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERyYXdlck1vZGUsIE1hdFNpZGVuYXZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtTaWRlbmF2U2VydmljZX0gZnJvbSAnLi9zaWRlbmF2LnNlcnZpY2UnO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkZHItbWF0LXNpZGVuYXYtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVuYXZDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlc1xue1xuICAgIEBWaWV3Q2hpbGQoJ3NpZGVuYXYnLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwdWJsaWMgc2lkZW5hdjogTWF0U2lkZW5hdjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0YXlPcGVuT25MYXJnZVNjcmVlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIG1vZGUkOiBPYnNlcnZhYmxlPE1hdERyYXdlck1vZGU+O1xuXG4gICAgcHVibGljIG9wZW5lZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSwgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcilcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnNldFN0YXlPcGVuT25MYXJnZVNjcmVlbihjaGFuZ2VzLnN0YXlPcGVuT25MYXJnZVNjcmVlbi5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBvdmVycmlkZVxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnNldFNpZGVuYXYodGhpcy5zaWRlbmF2KTtcbiAgICAgICAgdGhpcy5tb2RlJCA9IHRoaXMuc2lkZW5hdlNlcnZpY2UuZ2V0TW9kZU9ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5vcGVuZWQkID0gdGhpcy5zaWRlbmF2U2VydmljZS5nZXRPcGVuZWRPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBbbmdDbGFzc109XCIobW9kZSR8YXN5bmMpXCI+XG4gICAgPG1hdC1zaWRlbmF2XG4gICAgICAgICNzaWRlbmF2XG4gICAgICAgIGZpeGVkSW5WaWV3cG9ydD1cInRydWVcIlxuICAgICAgICBbbW9kZV09XCIobW9kZSR8YXN5bmMpXCJcbiAgICAgICAgW29wZW5lZF09XCIob3BlbmVkJHxhc3luYylcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9bWF0LXNpZGVuYXZdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LXNpZGVuYXY+XG4gICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PW1hdC1zaWRlbmF2LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"dontdrinkandroot-ngx-material-extensions.js","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>;\n\n public opened$: Observable<boolean>;\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 this.mode$ = this.sidenavService.getModeObservable();\n this.opened$ = this.sidenavService.getOpenedObservable();\n }\n}\n","<mat-sidenav-container [ngClass]=\"(mode$|async)\">\n <mat-sidenav\n #sidenav\n fixedInViewport=\"true\"\n [mode]=\"(mode$|async)\"\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 };\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, 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)\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":[],"mappings":"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"}
package/style.scss DELETED
@@ -1,130 +0,0 @@
1
- @use '~@angular/material' as mat;
2
-
3
- @include mat.core();
4
-
5
- $ddr-mat-primary: mat.define-palette(mat.$blue-palette, 700, 300, 900) !default;
6
- $ddr-mat-accent: mat.define-palette(mat.$grey-palette) !default;
7
- $ddr-mat-warn: mat.define-palette(mat.$red-palette) !default;
8
- $ddr-mat-theme: mat.define-light-theme($ddr-mat-primary, $ddr-mat-accent, $ddr-mat-warn) !default;
9
-
10
- @include mat.all-component-themes($ddr-mat-theme);
11
-
12
- $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
13
- $grid-breakpoints: (xs: 0, sm: 600px, md: 960px, lg: 1280px, xl: 1920px) !default;
14
- $font-family-monospace: "Roboto Mono", monospace !default;
15
-
16
- // Space
17
- $spacer: 1rem !default;
18
- $spacers: (0: 0, 1: ($spacer * .25), 2: ($spacer * .5), 3: $spacer, 4: ($spacer * 1.5), 5: ($spacer * 3));
19
-
20
- // Font weights
21
- $font-weight-lighter: lighter !default;
22
- $font-weight-light: 300 !default;
23
- $font-weight-normal: 400 !default;
24
- $font-weight-bold: 700 !default;
25
- $font-weight-bolder: bolder !default;
26
-
27
- // Colors
28
- $white: #fff !default;
29
- $gray-500: #9E9E9E !default;
30
- $black: #000 !default;
31
- $body-color: #fafafa !default;
32
- $text-muted: $gray-500 !default;
33
- $success: #4CAF50;
34
- $warning: #FFC107;
35
- $danger: #F44336;
36
- $theme-colors: ("success": $success, "warning": $warning, "danger": $danger);
37
-
38
- // Toggles
39
- $enable-deprecation-messages: false;
40
-
41
- // Links
42
- $emphasized-link-hover-darken-percentage: 15% !default;
43
-
44
- @import '~bootstrap/scss/mixins/breakpoints';
45
- @import '~bootstrap/scss/mixins/deprecate';
46
- @import '~bootstrap/scss/mixins/hover';
47
- @import '~bootstrap/scss/mixins/text-emphasis';
48
- @import '~bootstrap/scss/mixins/text-hide';
49
- @import '~bootstrap/scss/mixins/text-truncate';
50
-
51
- @import '~bootstrap/scss/utilities/display';
52
- @import '~bootstrap/scss/utilities/flex';
53
- @import '~bootstrap/scss/utilities/spacing';
54
- @import '~bootstrap/scss/utilities/text';
55
-
56
- $ddr-mat-toolbar-height: 56px !default;
57
- $ddr-mat-toolbar-height-sm-up: 64px !default;
58
- $ddr-mat-fab-height: 88px !default;
59
- $ddr-mat-sidenav-width: 300px !default;
60
-
61
- html, body {
62
- margin: 0;
63
- padding: 0;
64
- }
65
-
66
- html, body {
67
- height: 100%;
68
- }
69
-
70
- body {
71
- margin: 0;
72
- font-family: Roboto, "Helvetica Neue", sans-serif;
73
- }
74
-
75
- ddr-mat-sidenav-toggle {
76
- @extend .mr-2;
77
- }
78
-
79
- .mat-sidenav {
80
- width: $ddr-mat-sidenav-width;
81
- }
82
-
83
- .mat-sidenav-content {
84
-
85
- padding-top: $ddr-mat-toolbar-height;
86
- min-height: calc(100vh - #{$ddr-mat-toolbar-height});
87
-
88
- .mat-toolbar {
89
- position: fixed;
90
- left: 0;
91
- top: 0;
92
- z-index: 1;
93
- }
94
-
95
- @include media-breakpoint-up(sm, $grid-breakpoints) {
96
- padding-top: $ddr-mat-toolbar-height-sm-up;
97
- min-height: calc(100vh - #{$ddr-mat-toolbar-height-sm-up});
98
- }
99
- }
100
-
101
- mat-sidenav-container.side {
102
-
103
- ddr-mat-sidenav-toggle {
104
- @extend .d-none;
105
- }
106
-
107
- .mat-sidenav-content {
108
- .mat-toolbar {
109
- transition-duration: 400ms;
110
- transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
111
- transition-property: left, width;
112
- left: $ddr-mat-sidenav-width;
113
- width: calc(100vw - #{$ddr-mat-sidenav-width});
114
- }
115
- }
116
- }
117
-
118
- .ddr-mat-fab-container {
119
-
120
- height: $ddr-mat-fab-height;
121
-
122
- .mat-fab {
123
- position: fixed !important;
124
- right: 0;
125
- bottom: 0;
126
- margin-right: 1rem !important;
127
- margin-bottom: 1rem !important;
128
- z-index: 2;
129
- }
130
- }