@egjs/ngx-infinitegrid 4.0.0 → 4.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@egjs/infinitegrid'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('ngx-infinitegrid', ['exports', '@angular/core', '@egjs/infinitegrid', '@angular/common'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ngx-infinitegrid'] = {}, global.ng.core, global.infinitegrid, global.ng.common));
5
- }(this, (function (exports, i0, infinitegrid, common) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@egjs/infinitegrid')) :
3
+ typeof define === 'function' && define.amd ? define('@egjs/ngx-infinitegrid', ['exports', '@angular/core', '@angular/common', '@egjs/infinitegrid'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.egjs = global.egjs || {}, global.egjs['ngx-infinitegrid'] = {}), global.ng.core, global.ng.common, global.infinitegrid));
5
+ }(this, (function (exports, i0, common, infinitegrid) { 'use strict';
6
6
 
7
7
  var NgxInfinitegridService = /** @class */ (function () {
8
8
  function NgxInfinitegridService() {
@@ -347,9 +347,10 @@
347
347
  // @dynamic
348
348
  var NgxInfiniteGridComponent = /** @class */ (function (_super) {
349
349
  __extends(NgxInfiniteGridComponent, _super);
350
- function NgxInfiniteGridComponent(elementRef) {
350
+ function NgxInfiniteGridComponent(elementRef, _platform) {
351
351
  var _this = _super.call(this) || this;
352
352
  _this.elementRef = elementRef;
353
+ _this._platform = _platform;
353
354
  _this.items = [];
354
355
  _this.trackBy = (function (_, item) { return item.key; });
355
356
  _this.groupBy = (function (_, item) { return item.groupKey; });
@@ -372,6 +373,9 @@
372
373
  NgxInfiniteGridComponent.prototype.ngAfterViewInit = function () {
373
374
  var _this = this;
374
375
  var _a;
376
+ if (!common.isPlatformBrowser(this._platform)) {
377
+ return;
378
+ }
375
379
  var GridClass = this.constructor.GridClass;
376
380
  var defaultOptions = GridClass.defaultOptions;
377
381
  var options = {};
@@ -412,7 +416,7 @@
412
416
  this._renderer.updated();
413
417
  };
414
418
  NgxInfiniteGridComponent.prototype.ngAfterViewChecked = function () {
415
- if (!this._isChange) {
419
+ if (!this._isChange || !this.vanillaGrid) {
416
420
  return;
417
421
  }
418
422
  this._isChange = false;
@@ -427,7 +431,8 @@
427
431
  this._renderer.updated();
428
432
  };
429
433
  NgxInfiniteGridComponent.prototype.ngOnDestroy = function () {
430
- this.vanillaGrid.destroy();
434
+ var _a;
435
+ (_a = this.vanillaGrid) === null || _a === void 0 ? void 0 : _a.destroy();
431
436
  };
432
437
  NgxInfiniteGridComponent.prototype._getItemInfos = function () {
433
438
  var items = this.items;
@@ -461,7 +466,8 @@
461
466
  },] }
462
467
  ];
463
468
  NgxInfiniteGridComponent.ctorParameters = function () { return [
464
- { type: i0.ElementRef }
469
+ { type: i0.ElementRef },
470
+ { type: Object, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] }
465
471
  ]; };
466
472
  NgxInfiniteGridComponent.propDecorators = {
467
473
  gridConstructor: [{ type: i0.Input }],
@@ -493,6 +499,9 @@
493
499
  items: [{ type: i0.Input }],
494
500
  trackBy: [{ type: i0.Input }],
495
501
  groupBy: [{ type: i0.Input }],
502
+ outlineLength: [{ type: i0.Input }],
503
+ outlineSize: [{ type: i0.Input }],
504
+ useRoundedSize: [{ type: i0.Input }],
496
505
  renderComplete: [{ type: i0.Output }],
497
506
  contentError: [{ type: i0.Output }],
498
507
  changeScroll: [{ type: i0.Output }],
@@ -522,7 +531,8 @@
522
531
  column: [{ type: i0.Input }],
523
532
  columnSize: [{ type: i0.Input }],
524
533
  columnSizeRatio: [{ type: i0.Input }],
525
- align: [{ type: i0.Input }]
534
+ align: [{ type: i0.Input }],
535
+ columnCalculationThreshold: [{ type: i0.Input }]
526
536
  };
527
537
 
528
538
  var NgxJustifiedInfiniteGridComponent = /** @class */ (function (_super) {
@@ -636,4 +646,4 @@
636
646
  Object.defineProperty(exports, '__esModule', { value: true });
637
647
 
638
648
  })));
639
- //# sourceMappingURL=ngx-infinitegrid.umd.js.map
649
+ //# sourceMappingURL=egjs-ngx-infinitegrid.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"egjs-ngx-infinitegrid.umd.js","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts","../../../projects/ngx-infinitegrid/src/public-api.ts","../../../projects/ngx-infinitegrid/src/egjs-ngx-infinitegrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\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","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n PLATFORM_ID, Inject,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Input() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef, @Inject(PLATFORM_ID) private _platform: Object) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this._platform)) {\n return;\n }\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange || !this.vanillaGrid) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid?.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n @Input() columnCalculationThreshold!: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/ngx-infinitegrid.service';\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TEMPLATE as ɵb} from './lib/consts';\nexport {NgxFrameInfiniteGridComponent as ɵd} from './lib/grids/ngx-frame-infinitegrid.component';\nexport {NgxJustifiedInfiniteGridComponent as ɵc} from './lib/grids/ngx-justified-infinitegrid.component';\nexport {NgxPackingInfiniteGridComponent as ɵe} from './lib/grids/ngx-packing-infinitegrid.component';\nexport {NgxInfiniteGridInterface as ɵa} from './lib/ngx-infinitegrid.interface';"],"names":["Injectable","withInfiniteGridMethods","Renderer","INFINITEGRID_EVENTS","EventEmitter","isPlatformBrowser","mountRenderingItems","getRenderingItems","Component","ElementRef","Inject","PLATFORM_ID","Input","Output","ViewChild","VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid","NgModule","CommonModule"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@egjs/infinitegrid")):"function"==typeof define&&define.amd?define("@egjs/ngx-infinitegrid",["exports","@angular/core","@angular/common","@egjs/infinitegrid"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).egjs=e.egjs||{},e.egjs["ngx-infinitegrid"]={}),e.ng.core,e.ng.common,e.infinitegrid)}(this,(function(e,t,n,r){"use strict";var i=function(){};i.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new i},token:i,providedIn:"root"}),i.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],i.ctorParameters=function(){return[]};
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */
16
+ var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;Object.create;var a=function(){};!function(e,t,n,r){var i,o=arguments.length,p=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(p=(o<3?i(p):o>3?i(t,n,p):i(t,n))||p);o>3&&p&&Object.defineProperty(t,n,p)}([r.withInfiniteGridMethods],a.prototype,"vanillaGrid",void 0);var s=function(e){function i(n,i){var o=e.call(this)||this;for(var p in o.elementRef=n,o._platform=i,o.items=[],o.trackBy=function(e,t){return t.key},o.groupBy=function(e,t){return t.groupKey},o.visibleItems=[],o._renderer=new r.Renderer,o._isChange=!1,r.INFINITEGRID_EVENTS){o[r.INFINITEGRID_EVENTS[p]]=new t.EventEmitter}return o}return p(i,e),i.prototype.ngOnInit=function(){this._updateVisibleChildren()},i.prototype.ngOnChanges=function(){this._isChange=!0,this._updateVisibleChildren()},i.prototype.ngAfterViewInit=function(){var e,t=this;if(n.isPlatformBrowser(this._platform)){var i=this.constructor.GridClass,o=i.defaultOptions,p={},a=null===(e=this._containerRef)||void 0===e?void 0:e.nativeElement;for(var s in o)s in this&&void 0!==this[s]&&(p[s]=this[s]);a&&(p.container=a),p.renderer=this._renderer;var u=new i((this._wrapperRef||this.elementRef).nativeElement,p),l=function(e){var n=r.INFINITEGRID_EVENTS[e];u.on(n,(function(e){t[n].emit(e)}))};for(var s in r.INFINITEGRID_EVENTS)l(s);this.vanillaGrid=u,this._renderer.on("requestUpdate",(function(){t._isChange=!0,t._updateVisibleChildren()})),r.mountRenderingItems(this._getItemInfos(),{grid:u,useFirstRender:this.useFirstRender,useLoading:this.useLoading,usePlaceholder:this.usePlaceholder,horizontal:this.horizontal,status:this.status}),this._renderer.updated()}},i.prototype.ngAfterViewChecked=function(){if(this._isChange&&this.vanillaGrid){this._isChange=!1;var e=this.constructor.GridClass.propertyTypes,t=this.vanillaGrid;for(var n in e)n in this&&(t[n]=this[n]);this._renderer.updated()}},i.prototype.ngOnDestroy=function(){var e;null===(e=this.vanillaGrid)||void 0===e||e.destroy()},i.prototype._getItemInfos=function(){var e=this.items,t=this.trackBy,n=this.groupBy;return e.map((function(e,r){return{groupKey:n(r,e),key:t(r,e),data:e}}))},i.prototype._updateVisibleChildren=function(){this.visibleItems=r.getRenderingItems(this._getItemInfos(),{grid:this.vanillaGrid,useFirstRender:this.useFirstRender,useLoading:this.useLoading,usePlaceholder:this.usePlaceholder,horizontal:this.horizontal,status:this.status})},i}(a);s.decorators=[{type:t.Component,args:[{selector:"ngx-infinite-grid, [NgxInfiniteGrid]",template:"<slot></slot>",styles:[":host { display: block }"]}]}],s.ctorParameters=function(){return[{type:t.ElementRef},{type:Object,decorators:[{type:t.Inject,args:[t.PLATFORM_ID]}]}]},s.propDecorators={gridConstructor:[{type:t.Input}],renderer:[{type:t.Input}],container:[{type:t.Input}],containerTag:[{type:t.Input}],threshold:[{type:t.Input}],useRecycle:[{type:t.Input}],horizontal:[{type:t.Input}],percentage:[{type:t.Input}],isEqualSize:[{type:t.Input}],isConstantSize:[{type:t.Input}],gap:[{type:t.Input}],attributePrefix:[{type:t.Input}],resizeDebounce:[{type:t.Input}],maxResizeDebounce:[{type:t.Input}],autoResize:[{type:t.Input}],useFit:[{type:t.Input}],useTransform:[{type:t.Input}],renderOnPropertyChange:[{type:t.Input}],preserveUIOnDestroy:[{type:t.Input}],defaultDirection:[{type:t.Input}],externalItemRenderer:[{type:t.Input}],externalContainerManager:[{type:t.Input}],usePlaceholder:[{type:t.Input}],useLoading:[{type:t.Input}],status:[{type:t.Input}],useFirstRender:[{type:t.Input}],items:[{type:t.Input}],trackBy:[{type:t.Input}],groupBy:[{type:t.Input}],outlineLength:[{type:t.Input}],outlineSize:[{type:t.Input}],useRoundedSize:[{type:t.Input}],renderComplete:[{type:t.Output}],contentError:[{type:t.Output}],changeScroll:[{type:t.Output}],requestAppend:[{type:t.Output}],requestPrepend:[{type:t.Output}],_wrapperRef:[{type:t.ViewChild,args:["wrapperRef",{static:!1}]}],_containerRef:[{type:t.ViewChild,args:["containerRef",{static:!1}]}]};var u='\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]="container === true" [ngIfElse]="noContainer">\n <div #containerRef>\n <ng-container *ngTemplateOutlet="content"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet="content"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]="elementRef.nativeElement.tagName.indexOf(\'NGX-\') === 0" [ngIfElse]="noWrapper">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet="viewer"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet="viewer"></ng-container>\n</ng-template>\n',l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);l.GridClass=r.MasonryInfiniteGrid,l.decorators=[{type:t.Component,args:[{selector:"ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]",template:u}]}],l.propDecorators={column:[{type:t.Input}],columnSize:[{type:t.Input}],columnSizeRatio:[{type:t.Input}],align:[{type:t.Input}],columnCalculationThreshold:[{type:t.Input}]};var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);c.GridClass=r.JustifiedInfiniteGrid,c.decorators=[{type:t.Component,args:[{selector:"ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]",template:u}]}],c.propDecorators={columnRange:[{type:t.Input}],rowRange:[{type:t.Input}],sizeRange:[{type:t.Input}],displayedRow:[{type:t.Input}],isCroppedSize:[{type:t.Input}]};var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);d.GridClass=r.FrameInfiniteGrid,d.decorators=[{type:t.Component,args:[{selector:"ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]",template:u}]}],d.propDecorators={frame:[{type:t.Input}],useFrameFill:[{type:t.Input}],rectSize:[{type:t.Input}]};var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);g.GridClass=r.PackingInfiniteGrid,g.decorators=[{type:t.Component,args:[{selector:"ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]",template:u}]}],g.propDecorators={aspectRatio:[{type:t.Input}],sizeWeight:[{type:t.Input}],ratioWeight:[{type:t.Input}],weightPriority:[{type:t.Input}]};var f=function(){};f.decorators=[{type:t.NgModule,args:[{declarations:[s,l,c,d,g],imports:[n.CommonModule],exports:[s,l,c,d,g]}]}],e.NgxInfiniteGridComponent=s,e.NgxInfiniteGridModule=f,e.NgxInfinitegridService=i,e.NgxMasonryInfiniteGridComponent=l,e.ɵa=a,e.ɵb=u,e.ɵc=c,e.ɵd=d,e.ɵe=g,Object.defineProperty(e,"__esModule",{value:!0})}));
17
+ //# sourceMappingURL=egjs-ngx-infinitegrid.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts"],"names":["Injectable","args","providedIn","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__decorate","withInfiniteGridMethods","NgxInfiniteGridComponent","elementRef","_platform","_this","_super","name","items","trackBy","_","item","groupBy","groupKey","visibleItems","_renderer","Renderer","_isChange","INFINITEGRID_EVENTS","EventEmitter","ngOnInit","_updateVisibleChildren","ngOnChanges","ngAfterViewInit","isPlatformBrowser","GridClass","defaultOptions","options","containerElement","_a","_containerRef","nativeElement","container","renderer","grid","_wrapperRef","eventName","on","e","emit","vanillaGrid","mountRenderingItems","_getItemInfos","useFirstRender","useLoading","usePlaceholder","horizontal","status","updated","ngAfterViewChecked","propertyTypes","ngOnDestroy","destroy","map","data","getRenderingItems","NgxInfiniteGridInterface","Component","selector","template","ElementRef","type","Inject","PLATFORM_ID","Input","Output","ViewChild","static","TEMPLATE","NgxMasonryInfiniteGridComponent","VanillaMasonryInfiniteGrid","NgxJustifiedInfiniteGridComponent","VanillaJustifiedInfiniteGrid","NgxFrameInfiniteGridComponent","VanillaFrameInfiniteGrid","NgxPackingInfiniteGridComponent","VanillaPackingInfiniteGrid","NgModule","declarations","imports","CommonModule","exports"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\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","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n PLATFORM_ID, Inject,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Input() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef, @Inject(PLATFORM_ID) private _platform: Object) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this._platform)) {\n return;\n }\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange || !this.vanillaGrid) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid?.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n @Input() columnCalculationThreshold!: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"NgxInfinitegridService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"NgxMasonryInfiniteGridComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"columnSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"columnSizeRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"align":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"columnCalculationThreshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"MasonryInfiniteGrid","line":18,"character":28}}},"NgxInfiniteGridComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"ngx-infinite-grid, [NgxInfiniteGrid]","template":"<slot></slot>","styles":[":host { display: block }"]}]}],"members":{"gridConstructor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"renderer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"containerTag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"threshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"useRecycle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"horizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"percentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"isEqualSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"isConstantSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"gap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"attributePrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"resizeDebounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"maxResizeDebounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"autoResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"useFit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"useTransform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"renderOnPropertyChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"preserveUIOnDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"defaultDirection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"externalItemRenderer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"externalContainerManager":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"usePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"useLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"status":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"useFirstRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"groupBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"outlineLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"outlineSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"useRoundedSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"renderComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":3}}]}],"contentError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":77,"character":3}}]}],"changeScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":3}}]}],"requestAppend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":79,"character":3}}]}],"requestPrepend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"_wrapperRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":82,"character":3},"arguments":["wrapperRef",{"static":false}]}]}],"_containerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":83,"character":3},"arguments":["containerRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":49},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":87,"character":56}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":87,"character":36},{"__symbolic":"reference","name":"Object"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_getItemInfos":[{"__symbolic":"method"}],"_updateVisibleChildren":[{"__symbolic":"method"}]},"statics":{"GridClass":{"__symbolic":"error","message":"Variable not initialized","line":43,"character":16}}},"NgxInfiniteGridModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},{"__symbolic":"reference","name":"NgxMasonryInfiniteGridComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4}],"exports":[{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},{"__symbolic":"reference","name":"NgxMasonryInfiniteGridComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}]}],"members":{}},"ɵa":{"__symbolic":"interface"},"ɵb":"\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n","ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"columnRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"rowRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"sizeRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"displayedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isCroppedSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"JustifiedInfiniteGrid","line":23,"character":28}}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"frame":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"useFrameFill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"rectSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"FrameInfiniteGrid","line":21,"character":28}}},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"sizeWeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"ratioWeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"weightPriority":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"PackingInfiniteGrid","line":22,"character":28}}}},"origins":{"NgxInfinitegridService":"./lib/ngx-infinitegrid.service","NgxMasonryInfiniteGridComponent":"./lib/grids/ngx-masonry-infinitegrid.component","NgxInfiniteGridComponent":"./lib/ngx-infinitegrid.component","NgxInfiniteGridModule":"./lib/ngx-infinitegrid.module","ɵa":"./lib/ngx-infinitegrid.interface","ɵb":"./lib/consts","ɵc":"./lib/grids/ngx-justified-infinitegrid.component","ɵd":"./lib/grids/ngx-frame-infinitegrid.component","ɵe":"./lib/grids/ngx-packing-infinitegrid.component"},"importAs":"@egjs/ngx-infinitegrid"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { TEMPLATE as ɵb } from './lib/consts';
6
+ export { NgxFrameInfiniteGridComponent as ɵd } from './lib/grids/ngx-frame-infinitegrid.component';
7
+ export { NgxJustifiedInfiniteGridComponent as ɵc } from './lib/grids/ngx-justified-infinitegrid.component';
8
+ export { NgxPackingInfiniteGridComponent as ɵe } from './lib/grids/ngx-packing-infinitegrid.component';
9
+ export { NgxInfiniteGridInterface as ɵa } from './lib/ngx-infinitegrid.interface';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdqcy1uZ3gtaW5maW5pdGVncmlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWluZmluaXRlZ3JpZC9zcmMvZWdqcy1uZ3gtaW5maW5pdGVncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFDLDZCQUE2QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RyxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDckcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge1RFTVBMQVRFIGFzIMm1Yn0gZnJvbSAnLi9saWIvY29uc3RzJztcbmV4cG9ydCB7Tmd4RnJhbWVJbmZpbml0ZUdyaWRDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9ncmlkcy9uZ3gtZnJhbWUtaW5maW5pdGVncmlkLmNvbXBvbmVudCc7XG5leHBvcnQge05neEp1c3RpZmllZEluZmluaXRlR3JpZENvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2dyaWRzL25neC1qdXN0aWZpZWQtaW5maW5pdGVncmlkLmNvbXBvbmVudCc7XG5leHBvcnQge05neFBhY2tpbmdJbmZpbml0ZUdyaWRDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9ncmlkcy9uZ3gtcGFja2luZy1pbmZpbml0ZWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4SW5maW5pdGVHcmlkSW50ZXJmYWNlIGFzIMm1YX0gZnJvbSAnLi9saWIvbmd4LWluZmluaXRlZ3JpZC5pbnRlcmZhY2UnOyJdfQ==
@@ -15,6 +15,7 @@ NgxMasonryInfiniteGridComponent.propDecorators = {
15
15
  column: [{ type: Input }],
16
16
  columnSize: [{ type: Input }],
17
17
  columnSizeRatio: [{ type: Input }],
18
- align: [{ type: Input }]
18
+ align: [{ type: Input }],
19
+ columnCalculationThreshold: [{ type: Input }]
19
20
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hc29ucnktaW5maW5pdGVncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1pbmZpbml0ZWdyaWQvc3JjL2xpYi9ncmlkcy9uZ3gtbWFzb25yeS1pbmZpbml0ZWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsbUJBQW1CLElBQUksMEJBQTBCLEdBRWxELE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVFyQyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCOztBQUU3RCx5Q0FBUyxHQUFHLDBCQUEwQixDQUFDOztZQVB0RCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFEQUFxRDtnQkFDL0QsUUFBUSxFQUFFLFFBQVE7YUFFbkI7OztxQkFJRSxLQUFLO3lCQUNMLEtBQUs7OEJBQ0wsS0FBSztvQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50LFxufSBmcm9tICcuLi9uZ3gtaW5maW5pdGVncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXNvbnJ5SW5maW5pdGVHcmlkIGFzIFZhbmlsbGFNYXNvbnJ5SW5maW5pdGVHcmlkLFxuICBNYXNvbnJ5SW5maW5pdGVHcmlkT3B0aW9ucyxcbn0gZnJvbSBcIkBlZ2pzL2luZmluaXRlZ3JpZFwiO1xuaW1wb3J0IHsgVEVNUExBVEUgfSBmcm9tICcuLi9jb25zdHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1tYXNvbnJ5LWluZmluaXRlLWdyaWQsIFtOZ3hNYXNvbnJ5SW5maW5pdGVHcmlkXScsXG4gIHRlbXBsYXRlOiBURU1QTEFURSxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4TWFzb25yeUluZmluaXRlR3JpZENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudFxuICBpbXBsZW1lbnRzIFJlcXVpcmVkPE1hc29ucnlJbmZpbml0ZUdyaWRPcHRpb25zPiB7XG4gIHB1YmxpYyBzdGF0aWMgR3JpZENsYXNzID0gVmFuaWxsYU1hc29ucnlJbmZpbml0ZUdyaWQ7XG4gIEBJbnB1dCgpIGNvbHVtbiE6IFJlcXVpcmVkPE1hc29ucnlJbmZpbml0ZUdyaWRPcHRpb25zPlsnY29sdW1uJ107XG4gIEBJbnB1dCgpIGNvbHVtblNpemUhOiBSZXF1aXJlZDxNYXNvbnJ5SW5maW5pdGVHcmlkT3B0aW9ucz5bJ2NvbHVtblNpemUnXTtcbiAgQElucHV0KCkgY29sdW1uU2l6ZVJhdGlvITogUmVxdWlyZWQ8TWFzb25yeUluZmluaXRlR3JpZE9wdGlvbnM+Wydjb2x1bW5TaXplUmF0aW8nXTtcbiAgQElucHV0KCkgYWxpZ24hOiBSZXF1aXJlZDxNYXNvbnJ5SW5maW5pdGVHcmlkT3B0aW9ucz5bJ2FsaWduJ107XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hc29ucnktaW5maW5pdGVncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1pbmZpbml0ZWdyaWQvc3JjL2xpYi9ncmlkcy9uZ3gtbWFzb25yeS1pbmZpbml0ZWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsbUJBQW1CLElBQUksMEJBQTBCLEdBRWxELE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVFyQyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCOztBQUU3RCx5Q0FBUyxHQUFHLDBCQUEwQixDQUFDOztZQVB0RCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFEQUFxRDtnQkFDL0QsUUFBUSxFQUFFLFFBQVE7YUFFbkI7OztxQkFJRSxLQUFLO3lCQUNMLEtBQUs7OEJBQ0wsS0FBSztvQkFDTCxLQUFLO3lDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnQsXG59IGZyb20gJy4uL25neC1pbmZpbml0ZWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hc29ucnlJbmZpbml0ZUdyaWQgYXMgVmFuaWxsYU1hc29ucnlJbmZpbml0ZUdyaWQsXG4gIE1hc29ucnlJbmZpbml0ZUdyaWRPcHRpb25zLFxufSBmcm9tIFwiQGVnanMvaW5maW5pdGVncmlkXCI7XG5pbXBvcnQgeyBURU1QTEFURSB9IGZyb20gJy4uL2NvbnN0cyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LW1hc29ucnktaW5maW5pdGUtZ3JpZCwgW05neE1hc29ucnlJbmZpbml0ZUdyaWRdJyxcbiAgdGVtcGxhdGU6IFRFTVBMQVRFLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXNvbnJ5SW5maW5pdGVHcmlkQ29tcG9uZW50IGV4dGVuZHMgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50XG4gIGltcGxlbWVudHMgUmVxdWlyZWQ8TWFzb25yeUluZmluaXRlR3JpZE9wdGlvbnM+IHtcbiAgcHVibGljIHN0YXRpYyBHcmlkQ2xhc3MgPSBWYW5pbGxhTWFzb25yeUluZmluaXRlR3JpZDtcbiAgQElucHV0KCkgY29sdW1uITogUmVxdWlyZWQ8TWFzb25yeUluZmluaXRlR3JpZE9wdGlvbnM+Wydjb2x1bW4nXTtcbiAgQElucHV0KCkgY29sdW1uU2l6ZSE6IFJlcXVpcmVkPE1hc29ucnlJbmZpbml0ZUdyaWRPcHRpb25zPlsnY29sdW1uU2l6ZSddO1xuICBASW5wdXQoKSBjb2x1bW5TaXplUmF0aW8hOiBSZXF1aXJlZDxNYXNvbnJ5SW5maW5pdGVHcmlkT3B0aW9ucz5bJ2NvbHVtblNpemVSYXRpbyddO1xuICBASW5wdXQoKSBhbGlnbiE6IFJlcXVpcmVkPE1hc29ucnlJbmZpbml0ZUdyaWRPcHRpb25zPlsnYWxpZ24nXTtcbiAgQElucHV0KCkgY29sdW1uQ2FsY3VsYXRpb25UaHJlc2hvbGQhOiBSZXF1aXJlZDxNYXNvbnJ5SW5maW5pdGVHcmlkT3B0aW9ucz5bJ2NvbHVtbkNhbGN1bGF0aW9uVGhyZXNob2xkJ107XG59XG4iXX0=
@@ -3,14 +3,16 @@
3
3
  * Copyright (c) 2021-present NAVER Corp.
4
4
  * MIT license
5
5
  */
6
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
6
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, PLATFORM_ID, Inject, } from '@angular/core';
7
+ import { isPlatformBrowser } from '@angular/common';
7
8
  import { getRenderingItems, INFINITEGRID_EVENTS, mountRenderingItems, Renderer, } from '@egjs/infinitegrid';
8
9
  import { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';
9
10
  // @dynamic
10
11
  export class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
11
- constructor(elementRef) {
12
+ constructor(elementRef, _platform) {
12
13
  super();
13
14
  this.elementRef = elementRef;
15
+ this._platform = _platform;
14
16
  this.items = [];
15
17
  this.trackBy = ((_, item) => item.key);
16
18
  this.groupBy = ((_, item) => item.groupKey);
@@ -31,6 +33,9 @@ export class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
31
33
  }
32
34
  ngAfterViewInit() {
33
35
  var _a;
36
+ if (!isPlatformBrowser(this._platform)) {
37
+ return;
38
+ }
34
39
  const GridClass = this.constructor.GridClass;
35
40
  const defaultOptions = GridClass.defaultOptions;
36
41
  const options = {};
@@ -68,7 +73,7 @@ export class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
68
73
  this._renderer.updated();
69
74
  }
70
75
  ngAfterViewChecked() {
71
- if (!this._isChange) {
76
+ if (!this._isChange || !this.vanillaGrid) {
72
77
  return;
73
78
  }
74
79
  this._isChange = false;
@@ -83,7 +88,8 @@ export class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
83
88
  this._renderer.updated();
84
89
  }
85
90
  ngOnDestroy() {
86
- this.vanillaGrid.destroy();
91
+ var _a;
92
+ (_a = this.vanillaGrid) === null || _a === void 0 ? void 0 : _a.destroy();
87
93
  }
88
94
  _getItemInfos() {
89
95
  const items = this.items;
@@ -116,7 +122,8 @@ NgxInfiniteGridComponent.decorators = [
116
122
  },] }
117
123
  ];
118
124
  NgxInfiniteGridComponent.ctorParameters = () => [
119
- { type: ElementRef }
125
+ { type: ElementRef },
126
+ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
120
127
  ];
121
128
  NgxInfiniteGridComponent.propDecorators = {
122
129
  gridConstructor: [{ type: Input }],
@@ -148,6 +155,9 @@ NgxInfiniteGridComponent.propDecorators = {
148
155
  items: [{ type: Input }],
149
156
  trackBy: [{ type: Input }],
150
157
  groupBy: [{ type: Input }],
158
+ outlineLength: [{ type: Input }],
159
+ outlineSize: [{ type: Input }],
160
+ useRoundedSize: [{ type: Input }],
151
161
  renderComplete: [{ type: Output }],
152
162
  contentError: [{ type: Output }],
153
163
  changeScroll: [{ type: Output }],
@@ -156,4 +166,4 @@ NgxInfiniteGridComponent.propDecorators = {
156
166
  _wrapperRef: [{ type: ViewChild, args: ['wrapperRef', { static: false },] }],
157
167
  _containerRef: [{ type: ViewChild, args: ['containerRef', { static: false },] }]
158
168
  };
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5maW5pdGVncmlkL3NyYy9saWIvbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDNEIsU0FBUyxFQUFFLFVBQVUsRUFDdEQsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFFLFNBQVMsR0FDN0QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGlCQUFpQixFQUtqQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBTW5CLFFBQVEsR0FDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLFdBQVc7QUFRWCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSx3QkFBd0I7SUE2Q2hDLFlBQXNCLFVBQXNCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWRuQyxVQUFLLEdBQWtDLEVBQUUsQ0FBQztRQUMxQyxZQUFPLEdBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsWUFBTyxHQUFvQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTTFFLGlCQUFZLEdBQXVCLEVBQUUsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSXhCLEtBQUssTUFBTSxJQUFJLElBQUksbUJBQW1CLEVBQUU7WUFDdEMsTUFBTSxTQUFTLEdBQUksbUJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFB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N0I2QyxVQUFVOzs7OEJBb0NyRCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzs2QkFDTCxLQUFLO2tCQUNMLEtBQUs7OEJBQ0wsS0FBSzs2QkFDTCxLQUFLO2dDQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7cUNBQ0wsS0FBSztrQ0FDTCxLQUFLOytCQUNMLEtBQUs7bUNBQ0wsS0FBSzt1Q0FDTCxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7NkJBQ0wsTUFBTTsyQkFDTixNQUFNOzJCQUNOLE1BQU07NEJBQ04sTUFBTTs2QkFDTixNQUFNOzBCQUVOLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUN6QyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZWdqcy1pbmZpbml0ZWdyaWRcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50IE5BVkVSIENvcnAuXG4gKiBNSVQgbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIGdldFJlbmRlcmluZ0l0ZW1zLFxuICBJbmZpbml0ZUdyaWRGdW5jdGlvbixcbiAgSW5maW5pdGVHcmlkSXRlbSxcbiAgSW5maW5pdGVHcmlkSXRlbUluZm8sXG4gIEluZmluaXRlR3JpZE9wdGlvbnMsXG4gIElORklOSVRFR1JJRF9FVkVOVFMsXG4gIG1vdW50UmVuZGVyaW5nSXRlbXMsXG4gIE9uQ29udGVudEVycm9yLFxuICBPblJlbmRlckNvbXBsZXRlLFxuICBPblJlcXVlc3RBcHBlbmQsXG4gIE9uUmVxdWVzdFByZXBlbmQsXG4gIE9uQ2hhbmdlU2Nyb2xsLFxuICBSZW5kZXJlcixcbn0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcbmltcG9ydCB7IE5neEluZmluaXRlR3JpZEludGVyZmFjZSB9IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmd4SW5maW5pdGVHcmlkUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1pbmZpbml0ZS1ncmlkLCBbTmd4SW5maW5pdGVHcmlkXScsXG4gIHRlbXBsYXRlOiAnPHNsb3Q+PC9zbG90PicsXG4gIHN0eWxlczogW1xuICAgICc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrIH0nLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnRcbiAgZXh0ZW5kcyBOZ3hJbmZpbml0ZUdyaWRJbnRlcmZhY2VcbiAgaW1wbGVtZW50cyBSZXF1aXJlZDxJbmZpbml0ZUdyaWRPcHRpb25zPixcbiAgTmd4SW5maW5pdGVHcmlkUHJvcHMsXG4gIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyBHcmlkQ2xhc3M6IEluZmluaXRlR3JpZEZ1bmN0aW9uO1xuICBASW5wdXQoKSBncmlkQ29uc3RydWN0b3IhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snZ3JpZENvbnN0cnVjdG9yJ107XG4gIEBJbnB1dCgpIHJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3JlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IE5neEluZmluaXRlR3JpZFByb3BzWydjb250YWluZXInXTtcbiAgQElucHV0KCkgY29udGFpbmVyVGFnITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2NvbnRhaW5lclRhZyddO1xuICBASW5wdXQoKSB0aHJlc2hvbGQhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndGhyZXNob2xkJ107XG4gIEBJbnB1dCgpIHVzZVJlY3ljbGUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlUmVjeWNsZSddO1xuICBASW5wdXQoKSBob3Jpem9udGFsITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2hvcml6b250YWwnXTtcbiAgQElucHV0KCkgcGVyY2VudGFnZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydwZXJjZW50YWdlJ107XG4gIEBJbnB1dCgpIGlzRXF1YWxTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzRXF1YWxTaXplJ107XG4gIEBJbnB1dCgpIGlzQ29uc3RhbnRTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzQ29uc3RhbnRTaXplJ107XG4gIEBJbnB1dCgpIGdhcCE6IE5neEluZmluaXRlR3JpZFByb3BzWydnYXAnXTtcbiAgQElucHV0KCkgYXR0cmlidXRlUHJlZml4ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F0dHJpYnV0ZVByZWZpeCddO1xuICBASW5wdXQoKSByZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydyZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBtYXhSZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydtYXhSZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBhdXRvUmVzaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F1dG9SZXNpemUnXTtcbiAgQElucHV0KCkgdXNlRml0ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZUZpdCddO1xuICBASW5wdXQoKSB1c2VUcmFuc2Zvcm0hOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlVHJhbnNmb3JtJ107XG4gIEBJbnB1dCgpIHJlbmRlck9uUHJvcGVydHlDaGFuZ2UhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sncmVuZGVyT25Qcm9wZXJ0eUNoYW5nZSddO1xuICBASW5wdXQoKSBwcmVzZXJ2ZVVJT25EZXN0cm95ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3ByZXNlcnZlVUlPbkRlc3Ryb3knXTtcbiAgQElucHV0KCkgZGVmYXVsdERpcmVjdGlvbiE6IE5neEluZmluaXRlR3JpZFByb3BzWydkZWZhdWx0RGlyZWN0aW9uJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsSXRlbVJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2V4dGVybmFsSXRlbVJlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsQ29udGFpbmVyTWFuYWdlciE6IE5neEluZmluaXRlR3JpZFByb3BzWydleHRlcm5hbENvbnRhaW5lck1hbmFnZXInXTtcbiAgQElucHV0KCkgdXNlUGxhY2Vob2xkZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgdXNlTG9hZGluZyE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VMb2FkaW5nJ107XG4gIEBJbnB1dCgpIHN0YXR1cyE6IE5neEluZmluaXRlR3JpZFByb3BzWydzdGF0dXMnXTtcbiAgQElucHV0KCkgdXNlRmlyc3RSZW5kZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgaXRlbXM6IE5neEluZmluaXRlR3JpZFByb3BzWydpdGVtcyddID0gW107XG4gIEBJbnB1dCgpIHRyYWNrQnk6IE5neEluZmluaXRlR3JpZFByb3BzWyd0cmFja0J5J10gPSAoKF8sIGl0ZW0pID0+IGl0ZW0ua2V5KTtcbiAgQElucHV0KCkgZ3JvdXBCeTogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2dyb3VwQnknXSA9ICgoXywgaXRlbSkgPT4gaXRlbS5ncm91cEtleSk7XG4gIEBPdXRwdXQoKSByZW5kZXJDb21wbGV0ZSE6IEV2ZW50RW1pdHRlcjxPblJlbmRlckNvbXBsZXRlPjtcbiAgQE91dHB1dCgpIGNvbnRlbnRFcnJvciE6IEV2ZW50RW1pdHRlcjxPbkNvbnRlbnRFcnJvcj47XG4gIEBPdXRwdXQoKSBjaGFuZ2VTY3JvbGwhOiBFdmVudEVtaXR0ZXI8T25DaGFuZ2VTY3JvbGw+O1xuICBAT3V0cHV0KCkgcmVxdWVzdEFwcGVuZCE6IEV2ZW50RW1pdHRlcjxPblJlcXVlc3RBcHBlbmQ+O1xuICBAT3V0cHV0KCkgcmVxdWVzdFByZXBlbmQhOiBFdmVudEVtaXR0ZXI8T25SZXF1ZXN0UHJlcGVuZD47XG4gIHB1YmxpYyB2aXNpYmxlSXRlbXM6IEluZmluaXRlR3JpZEl0ZW1bXSA9IFtdO1xuICBAVmlld0NoaWxkKCd3cmFwcGVyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIF93cmFwcGVyUmVmITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIF9jb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIF9yZW5kZXJlciA9IG5ldyBSZW5kZXJlcigpO1xuICBwcml2YXRlIF9pc0NoYW5nZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gSU5GSU5JVEVHUklEX0VWRU5UUykge1xuICAgICAgY29uc3QgZXZlbnROYW1lID0gKElORklOSVRFR1JJRF9FVkVOVFMgYXMgYW55KVtuYW1lXTtcbiAgICAgICh0aGlzIGFzIGFueSlbZXZlbnROYW1lXSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9pc0NoYW5nZSA9IHRydWU7XG4gICAgdGhpcy5fdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IEdyaWRDbGFzcyA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnQpLkdyaWRDbGFzcztcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IEdyaWRDbGFzcy5kZWZhdWx0T3B0aW9ucztcbiAgICBjb25zdCBvcHRpb25zOiBQYXJ0aWFsPEluZmluaXRlR3JpZE9wdGlvbnM+ID0ge307XG4gICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuX2NvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGZvciAoY29uc3QgbmFtZSBpbiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgaWYgKG5hbWUgaW4gdGhpcyAmJiB0eXBlb2YgKHRoaXMgYXMgYW55KVtuYW1lXSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAob3B0aW9ucyBhcyBhbnkpW25hbWVdID0gKHRoaXMgYXMgYW55KVtuYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgIG9wdGlvbnMuY29udGFpbmVyID0gY29udGFpbmVyRWxlbWVudDtcbiAgICB9XG4gICAgb3B0aW9ucy5yZW5kZXJlciA9IHRoaXMuX3JlbmRlcmVyO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl93cmFwcGVyUmVmISB8fCB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICBjb25zdCBncmlkID0gbmV3IEdyaWRDbGFzcyh3cmFwcGVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIElORklOSVRFR1JJRF9FVkVOVFMpIHtcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IChJTkZJTklURUdSSURfRVZFTlRTIGFzIGFueSlbbmFtZV07XG5cbiAgICAgIGdyaWQub24oZXZlbnROYW1lLCAoZTogYW55KSA9PiB7XG4gICAgICAgICh0aGlzIGFzIGFueSlbZXZlbnROYW1lXS5lbWl0KGUgYXMgYW55KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudmFuaWxsYUdyaWQgPSBncmlkO1xuICAgIHRoaXMuX3JlbmRlcmVyLm9uKFwicmVxdWVzdFVwZGF0ZVwiLCAoKSA9PiB7XG4gICAgICB0aGlzLl9pc0NoYW5nZSA9IHRydWU7XG4gICAgICB0aGlzLl91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKTtcbiAgICB9KTtcblxuICAgIG1vdW50UmVuZGVyaW5nSXRlbXModGhpcy5fZ2V0SXRlbUluZm9zKCksIHtcbiAgICAgIGdyaWQsXG4gICAgICB1c2VGaXJzdFJlbmRlcjogdGhpcy51c2VGaXJzdFJlbmRlcixcbiAgICAgIHVzZUxvYWRpbmc6IHRoaXMudXNlTG9hZGluZyxcbiAgICAgIHVzZVBsYWNlaG9sZGVyOiB0aGlzLnVzZVBsYWNlaG9sZGVyLFxuICAgICAgaG9yaXpvbnRhbDogdGhpcy5ob3Jpem9udGFsLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICB9KTtcbiAgICB0aGlzLl9yZW5kZXJlci51cGRhdGVkKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICghdGhpcy5faXNDaGFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faXNDaGFuZ2UgPSBmYWxzZTtcbiAgICBjb25zdCBHcmlkQ2xhc3MgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50KS5HcmlkQ2xhc3M7XG4gICAgY29uc3QgcHJvcGVydHlUeXBlcyA9IEdyaWRDbGFzcy5wcm9wZXJ0eVR5cGVzO1xuICAgIGNvbnN0IGdyaWQgPSB0aGlzLnZhbmlsbGFHcmlkO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIHByb3BlcnR5VHlwZXMpIHtcbiAgICAgIGlmIChuYW1lIGluIHRoaXMpIHtcbiAgICAgICAgKGdyaWQgYXMgYW55KVtuYW1lXSA9ICh0aGlzIGFzIGFueSlbbmFtZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyZXIudXBkYXRlZCgpO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudmFuaWxsYUdyaWQuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbUluZm9zKCk6IEluZmluaXRlR3JpZEl0ZW1JbmZvW10ge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb25zdCB0cmFja0J5ID0gdGhpcy50cmFja0J5O1xuICAgIGNvbnN0IGdyb3VwQnkgPSB0aGlzLmdyb3VwQnk7XG5cbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBncm91cEtleTogZ3JvdXBCeShpLCBpdGVtKSxcbiAgICAgICAga2V5OiB0cmFja0J5KGksIGl0ZW0pLFxuICAgICAgICBkYXRhOiBpdGVtLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIF91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKSB7XG4gICAgdGhpcy52aXNpYmxlSXRlbXMgPSBnZXRSZW5kZXJpbmdJdGVtcyh0aGlzLl9nZXRJdGVtSW5mb3MoKSwge1xuICAgICAgZ3JpZDogdGhpcy52YW5pbGxhR3JpZCxcbiAgICAgIHVzZUZpcnN0UmVuZGVyOiB0aGlzLnVzZUZpcnN0UmVuZGVyLFxuICAgICAgdXNlTG9hZGluZzogdGhpcy51c2VMb2FkaW5nLFxuICAgICAgdXNlUGxhY2Vob2xkZXI6IHRoaXMudXNlUGxhY2Vob2xkZXIsXG4gICAgICBob3Jpem9udGFsOiB0aGlzLmhvcml6b250YWwsXG4gICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5maW5pdGVncmlkL3NyYy9saWIvbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDNEIsU0FBUyxFQUFFLFVBQVUsRUFDdEQsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFFLFNBQVMsRUFDNUQsV0FBVyxFQUFFLE1BQU0sR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLGlCQUFpQixFQUtqQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBTW5CLFFBQVEsR0FDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLFdBQVc7QUFRWCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSx3QkFBd0I7SUFnRGhDLFlBQXNCLFVBQXNCLEVBQStCLFNBQWlCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUErQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBakJuRixVQUFLLEdBQWtDLEVBQUUsQ0FBQztRQUMxQyxZQUFPLEdBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsWUFBTyxHQUFvQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUzFFLGlCQUFZLEdBQXVCLEVBQUUsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcs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Y0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaktGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0NBQXNDO2dCQUNoRCxRQUFRLEVBQUUsZUFBZTt5QkFFdkIsMEJBQTBCO2FBRTdCOzs7WUEvQjZDLFVBQVU7WUFpRmdDLE1BQU0sdUJBQTdDLE1BQU0sU0FBQyxXQUFXOzs7OEJBM0NoRSxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzs2QkFDTCxLQUFLO2tCQUNMLEtBQUs7OEJBQ0wsS0FBSzs2QkFDTCxLQUFLO2dDQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7cUNBQ0wsS0FBSztrQ0FDTCxLQUFLOytCQUNMLEtBQUs7bUNBQ0wsS0FBSzt1Q0FDTCxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQkFDTCxLQUFLOzZCQUNMLEtBQUs7NkJBQ0wsTUFBTTsyQkFDTixNQUFNOzJCQUNOLE1BQU07NEJBQ04sTUFBTTs2QkFDTixNQUFNOzBCQUVOLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUN6QyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZWdqcy1pbmZpbml0ZWdyaWRcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50IE5BVkVSIENvcnAuXG4gKiBNSVQgbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCxcbiAgUExBVEZPUk1fSUQsIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIGdldFJlbmRlcmluZ0l0ZW1zLFxuICBJbmZpbml0ZUdyaWRGdW5jdGlvbixcbiAgSW5maW5pdGVHcmlkSXRlbSxcbiAgSW5maW5pdGVHcmlkSXRlbUluZm8sXG4gIEluZmluaXRlR3JpZE9wdGlvbnMsXG4gIElORklOSVRFR1JJRF9FVkVOVFMsXG4gIG1vdW50UmVuZGVyaW5nSXRlbXMsXG4gIE9uQ29udGVudEVycm9yLFxuICBPblJlbmRlckNvbXBsZXRlLFxuICBPblJlcXVlc3RBcHBlbmQsXG4gIE9uUmVxdWVzdFByZXBlbmQsXG4gIE9uQ2hhbmdlU2Nyb2xsLFxuICBSZW5kZXJlcixcbn0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcbmltcG9ydCB7IE5neEluZmluaXRlR3JpZEludGVyZmFjZSB9IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmd4SW5maW5pdGVHcmlkUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1pbmZpbml0ZS1ncmlkLCBbTmd4SW5maW5pdGVHcmlkXScsXG4gIHRlbXBsYXRlOiAnPHNsb3Q+PC9zbG90PicsXG4gIHN0eWxlczogW1xuICAgICc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrIH0nLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnRcbiAgZXh0ZW5kcyBOZ3hJbmZpbml0ZUdyaWRJbnRlcmZhY2VcbiAgaW1wbGVtZW50cyBSZXF1aXJlZDxJbmZpbml0ZUdyaWRPcHRpb25zPixcbiAgTmd4SW5maW5pdGVHcmlkUHJvcHMsXG4gIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyBHcmlkQ2xhc3M6IEluZmluaXRlR3JpZEZ1bmN0aW9uO1xuICBASW5wdXQoKSBncmlkQ29uc3RydWN0b3IhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snZ3JpZENvbnN0cnVjdG9yJ107XG4gIEBJbnB1dCgpIHJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3JlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IE5neEluZmluaXRlR3JpZFByb3BzWydjb250YWluZXInXTtcbiAgQElucHV0KCkgY29udGFpbmVyVGFnITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2NvbnRhaW5lclRhZyddO1xuICBASW5wdXQoKSB0aHJlc2hvbGQhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndGhyZXNob2xkJ107XG4gIEBJbnB1dCgpIHVzZVJlY3ljbGUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlUmVjeWNsZSddO1xuICBASW5wdXQoKSBob3Jpem9udGFsITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2hvcml6b250YWwnXTtcbiAgQElucHV0KCkgcGVyY2VudGFnZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydwZXJjZW50YWdlJ107XG4gIEBJbnB1dCgpIGlzRXF1YWxTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzRXF1YWxTaXplJ107XG4gIEBJbnB1dCgpIGlzQ29uc3RhbnRTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzQ29uc3RhbnRTaXplJ107XG4gIEBJbnB1dCgpIGdhcCE6IE5neEluZmluaXRlR3JpZFByb3BzWydnYXAnXTtcbiAgQElucHV0KCkgYXR0cmlidXRlUHJlZml4ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F0dHJpYnV0ZVByZWZpeCddO1xuICBASW5wdXQoKSByZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydyZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBtYXhSZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydtYXhSZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBhdXRvUmVzaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F1dG9SZXNpemUnXTtcbiAgQElucHV0KCkgdXNlRml0ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZUZpdCddO1xuICBASW5wdXQoKSB1c2VUcmFuc2Zvcm0hOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlVHJhbnNmb3JtJ107XG4gIEBJbnB1dCgpIHJlbmRlck9uUHJvcGVydHlDaGFuZ2UhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sncmVuZGVyT25Qcm9wZXJ0eUNoYW5nZSddO1xuICBASW5wdXQoKSBwcmVzZXJ2ZVVJT25EZXN0cm95ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3ByZXNlcnZlVUlPbkRlc3Ryb3knXTtcbiAgQElucHV0KCkgZGVmYXVsdERpcmVjdGlvbiE6IE5neEluZmluaXRlR3JpZFByb3BzWydkZWZhdWx0RGlyZWN0aW9uJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsSXRlbVJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2V4dGVybmFsSXRlbVJlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsQ29udGFpbmVyTWFuYWdlciE6IE5neEluZmluaXRlR3JpZFByb3BzWydleHRlcm5hbENvbnRhaW5lck1hbmFnZXInXTtcbiAgQElucHV0KCkgdXNlUGxhY2Vob2xkZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgdXNlTG9hZGluZyE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VMb2FkaW5nJ107XG4gIEBJbnB1dCgpIHN0YXR1cyE6IE5neEluZmluaXRlR3JpZFByb3BzWydzdGF0dXMnXTtcbiAgQElucHV0KCkgdXNlRmlyc3RSZW5kZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgaXRlbXM6IE5neEluZmluaXRlR3JpZFByb3BzWydpdGVtcyddID0gW107XG4gIEBJbnB1dCgpIHRyYWNrQnk6IE5neEluZmluaXRlR3JpZFByb3BzWyd0cmFja0J5J10gPSAoKF8sIGl0ZW0pID0+IGl0ZW0ua2V5KTtcbiAgQElucHV0KCkgZ3JvdXBCeTogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2dyb3VwQnknXSA9ICgoXywgaXRlbSkgPT4gaXRlbS5ncm91cEtleSk7XG4gIEBJbnB1dCgpIG91dGxpbmVMZW5ndGghOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snb3V0bGluZUxlbmd0aCddO1xuICBASW5wdXQoKSBvdXRsaW5lU2l6ZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydvdXRsaW5lU2l6ZSddO1xuICBASW5wdXQoKSB1c2VSb3VuZGVkU2l6ZSE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VSb3VuZGVkU2l6ZSddO1xuICBAT3V0cHV0KCkgcmVuZGVyQ29tcGxldGUhOiBFdmVudEVtaXR0ZXI8T25SZW5kZXJDb21wbGV0ZT47XG4gIEBPdXRwdXQoKSBjb250ZW50RXJyb3IhOiBFdmVudEVtaXR0ZXI8T25Db250ZW50RXJyb3I+O1xuICBAT3V0cHV0KCkgY2hhbmdlU2Nyb2xsITogRXZlbnRFbWl0dGVyPE9uQ2hhbmdlU2Nyb2xsPjtcbiAgQE91dHB1dCgpIHJlcXVlc3RBcHBlbmQhOiBFdmVudEVtaXR0ZXI8T25SZXF1ZXN0QXBwZW5kPjtcbiAgQE91dHB1dCgpIHJlcXVlc3RQcmVwZW5kITogRXZlbnRFbWl0dGVyPE9uUmVxdWVzdFByZXBlbmQ+O1xuICBwdWJsaWMgdmlzaWJsZUl0ZW1zOiBJbmZpbml0ZUdyaWRJdGVtW10gPSBbXTtcbiAgQFZpZXdDaGlsZCgnd3JhcHBlclJlZicsIHsgc3RhdGljOiBmYWxzZSB9KSBfd3JhcHBlclJlZiE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lclJlZicsIHsgc3RhdGljOiBmYWxzZSB9KSBfY29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBfcmVuZGVyZXIgPSBuZXcgUmVuZGVyZXIoKTtcbiAgcHJpdmF0ZSBfaXNDaGFuZ2UgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBfcGxhdGZvcm06IE9iamVjdCkge1xuICAgIHN1cGVyKCk7XG4gICAgZm9yIChjb25zdCBuYW1lIGluIElORklOSVRFR1JJRF9FVkVOVFMpIHtcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IChJTkZJTklURUdSSURfRVZFTlRTIGFzIGFueSlbbmFtZV07XG4gICAgICAodGhpcyBhcyBhbnkpW2V2ZW50TmFtZV0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgfVxuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9pc0NoYW5nZSA9IHRydWU7XG4gICAgdGhpcy5fdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IEdyaWRDbGFzcyA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnQpLkdyaWRDbGFzcztcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IEdyaWRDbGFzcy5kZWZhdWx0T3B0aW9ucztcbiAgICBjb25zdCBvcHRpb25zOiBQYXJ0aWFsPEluZmluaXRlR3JpZE9wdGlvbnM+ID0ge307XG4gICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuX2NvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGZvciAoY29uc3QgbmFtZSBpbiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgaWYgKG5hbWUgaW4gdGhpcyAmJiB0eXBlb2YgKHRoaXMgYXMgYW55KVtuYW1lXSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAob3B0aW9ucyBhcyBhbnkpW25hbWVdID0gKHRoaXMgYXMgYW55KVtuYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgIG9wdGlvbnMuY29udGFpbmVyID0gY29udGFpbmVyRWxlbWVudDtcbiAgICB9XG4gICAgb3B0aW9ucy5yZW5kZXJlciA9IHRoaXMuX3JlbmRlcmVyO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl93cmFwcGVyUmVmISB8fCB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICBjb25zdCBncmlkID0gbmV3IEdyaWRDbGFzcyh3cmFwcGVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIElORklOSVRFR1JJRF9FVkVOVFMpIHtcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IChJTkZJTklURUdSSURfRVZFTlRTIGFzIGFueSlbbmFtZV07XG5cbiAgICAgIGdyaWQub24oZXZlbnROYW1lLCAoZTogYW55KSA9PiB7XG4gICAgICAgICh0aGlzIGFzIGFueSlbZXZlbnROYW1lXS5lbWl0KGUgYXMgYW55KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudmFuaWxsYUdyaWQgPSBncmlkO1xuICAgIHRoaXMuX3JlbmRlcmVyLm9uKFwicmVxdWVzdFVwZGF0ZVwiLCAoKSA9PiB7XG4gICAgICB0aGlzLl9pc0NoYW5nZSA9IHRydWU7XG4gICAgICB0aGlzLl91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKTtcbiAgICB9KTtcblxuICAgIG1vdW50UmVuZGVyaW5nSXRlbXModGhpcy5fZ2V0SXRlbUluZm9zKCksIHtcbiAgICAgIGdyaWQsXG4gICAgICB1c2VGaXJzdFJlbmRlcjogdGhpcy51c2VGaXJzdFJlbmRlcixcbiAgICAgIHVzZUxvYWRpbmc6IHRoaXMudXNlTG9hZGluZyxcbiAgICAgIHVzZVBsYWNlaG9sZGVyOiB0aGlzLnVzZVBsYWNlaG9sZGVyLFxuICAgICAgaG9yaXpvbnRhbDogdGhpcy5ob3Jpem9udGFsLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICB9KTtcbiAgICB0aGlzLl9yZW5kZXJlci51cGRhdGVkKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICghdGhpcy5faXNDaGFuZ2UgfHwgIXRoaXMudmFuaWxsYUdyaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faXNDaGFuZ2UgPSBmYWxzZTtcbiAgICBjb25zdCBHcmlkQ2xhc3MgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50KS5HcmlkQ2xhc3M7XG4gICAgY29uc3QgcHJvcGVydHlUeXBlcyA9IEdyaWRDbGFzcy5wcm9wZXJ0eVR5cGVzO1xuICAgIGNvbnN0IGdyaWQgPSB0aGlzLnZhbmlsbGFHcmlkO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIHByb3BlcnR5VHlwZXMpIHtcbiAgICAgIGlmIChuYW1lIGluIHRoaXMpIHtcbiAgICAgICAgKGdyaWQgYXMgYW55KVtuYW1lXSA9ICh0aGlzIGFzIGFueSlbbmFtZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyZXIudXBkYXRlZCgpO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudmFuaWxsYUdyaWQ/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEl0ZW1JbmZvcygpOiBJbmZpbml0ZUdyaWRJdGVtSW5mb1tdIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgY29uc3QgdHJhY2tCeSA9IHRoaXMudHJhY2tCeTtcbiAgICBjb25zdCBncm91cEJ5ID0gdGhpcy5ncm91cEJ5O1xuXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBLZXk6IGdyb3VwQnkoaSwgaXRlbSksXG4gICAgICAgIGtleTogdHJhY2tCeShpLCBpdGVtKSxcbiAgICAgICAgZGF0YTogaXRlbSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBfdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCkge1xuICAgIHRoaXMudmlzaWJsZUl0ZW1zID0gZ2V0UmVuZGVyaW5nSXRlbXModGhpcy5fZ2V0SXRlbUluZm9zKCksIHtcbiAgICAgIGdyaWQ6IHRoaXMudmFuaWxsYUdyaWQsXG4gICAgICB1c2VGaXJzdFJlbmRlcjogdGhpcy51c2VGaXJzdFJlbmRlcixcbiAgICAgIHVzZUxvYWRpbmc6IHRoaXMudXNlTG9hZGluZyxcbiAgICAgIHVzZVBsYWNlaG9sZGVyOiB0aGlzLnVzZVBsYWNlaG9sZGVyLFxuICAgICAgaG9yaXpvbnRhbDogdGhpcy5ob3Jpem9udGFsLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
- import { ɵɵdefineInjectable, Injectable, EventEmitter, Component, ElementRef, Input, Output, ViewChild, NgModule } from '@angular/core';
1
+ import { ɵɵdefineInjectable, Injectable, EventEmitter, Component, ElementRef, Inject, PLATFORM_ID, Input, Output, ViewChild, NgModule } from '@angular/core';
2
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
2
3
  import { withInfiniteGridMethods, Renderer, INFINITEGRID_EVENTS, mountRenderingItems, getRenderingItems, MasonryInfiniteGrid, JustifiedInfiniteGrid, FrameInfiniteGrid, PackingInfiniteGrid } from '@egjs/infinitegrid';
3
4
  import { __decorate } from 'tslib';
4
- import { CommonModule } from '@angular/common';
5
5
 
6
6
  class NgxInfinitegridService {
7
7
  constructor() { }
@@ -27,9 +27,10 @@ __decorate([
27
27
  */
28
28
  // @dynamic
29
29
  class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
30
- constructor(elementRef) {
30
+ constructor(elementRef, _platform) {
31
31
  super();
32
32
  this.elementRef = elementRef;
33
+ this._platform = _platform;
33
34
  this.items = [];
34
35
  this.trackBy = ((_, item) => item.key);
35
36
  this.groupBy = ((_, item) => item.groupKey);
@@ -50,6 +51,9 @@ class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
50
51
  }
51
52
  ngAfterViewInit() {
52
53
  var _a;
54
+ if (!isPlatformBrowser(this._platform)) {
55
+ return;
56
+ }
53
57
  const GridClass = this.constructor.GridClass;
54
58
  const defaultOptions = GridClass.defaultOptions;
55
59
  const options = {};
@@ -87,7 +91,7 @@ class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
87
91
  this._renderer.updated();
88
92
  }
89
93
  ngAfterViewChecked() {
90
- if (!this._isChange) {
94
+ if (!this._isChange || !this.vanillaGrid) {
91
95
  return;
92
96
  }
93
97
  this._isChange = false;
@@ -102,7 +106,8 @@ class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
102
106
  this._renderer.updated();
103
107
  }
104
108
  ngOnDestroy() {
105
- this.vanillaGrid.destroy();
109
+ var _a;
110
+ (_a = this.vanillaGrid) === null || _a === void 0 ? void 0 : _a.destroy();
106
111
  }
107
112
  _getItemInfos() {
108
113
  const items = this.items;
@@ -135,7 +140,8 @@ NgxInfiniteGridComponent.decorators = [
135
140
  },] }
136
141
  ];
137
142
  NgxInfiniteGridComponent.ctorParameters = () => [
138
- { type: ElementRef }
143
+ { type: ElementRef },
144
+ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
139
145
  ];
140
146
  NgxInfiniteGridComponent.propDecorators = {
141
147
  gridConstructor: [{ type: Input }],
@@ -167,6 +173,9 @@ NgxInfiniteGridComponent.propDecorators = {
167
173
  items: [{ type: Input }],
168
174
  trackBy: [{ type: Input }],
169
175
  groupBy: [{ type: Input }],
176
+ outlineLength: [{ type: Input }],
177
+ outlineSize: [{ type: Input }],
178
+ useRoundedSize: [{ type: Input }],
170
179
  renderComplete: [{ type: Output }],
171
180
  contentError: [{ type: Output }],
172
181
  changeScroll: [{ type: Output }],
@@ -214,7 +223,8 @@ NgxMasonryInfiniteGridComponent.propDecorators = {
214
223
  column: [{ type: Input }],
215
224
  columnSize: [{ type: Input }],
216
225
  columnSizeRatio: [{ type: Input }],
217
- align: [{ type: Input }]
226
+ align: [{ type: Input }],
227
+ columnCalculationThreshold: [{ type: Input }]
218
228
  };
219
229
 
220
230
  class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent {
@@ -298,4 +308,4 @@ NgxInfiniteGridModule.decorators = [
298
308
  */
299
309
 
300
310
  export { NgxInfiniteGridComponent, NgxInfiniteGridModule, NgxInfinitegridService, NgxMasonryInfiniteGridComponent, NgxInfiniteGridInterface as ɵa, TEMPLATE as ɵb, NgxJustifiedInfiniteGridComponent as ɵc, NgxFrameInfiniteGridComponent as ɵd, NgxPackingInfiniteGridComponent as ɵe };
301
- //# sourceMappingURL=ngx-infinitegrid.js.map
311
+ //# sourceMappingURL=egjs-ngx-infinitegrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"egjs-ngx-infinitegrid.js","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts","../../../projects/ngx-infinitegrid/src/public-api.ts","../../../projects/ngx-infinitegrid/src/egjs-ngx-infinitegrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\n}\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n PLATFORM_ID, Inject,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Input() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef, @Inject(PLATFORM_ID) private _platform: Object) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this._platform)) {\n return;\n }\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange || !this.vanillaGrid) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid?.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n @Input() columnCalculationThreshold!: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/ngx-infinitegrid.service';\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TEMPLATE as ɵb} from './lib/consts';\nexport {NgxFrameInfiniteGridComponent as ɵd} from './lib/grids/ngx-frame-infinitegrid.component';\nexport {NgxJustifiedInfiniteGridComponent as ɵc} from './lib/grids/ngx-justified-infinitegrid.component';\nexport {NgxPackingInfiniteGridComponent as ɵe} from './lib/grids/ngx-packing-infinitegrid.component';\nexport {NgxInfiniteGridInterface as ɵa} from './lib/ngx-infinitegrid.interface';"],"names":["VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid"],"mappings":"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"}
@@ -6,4 +6,5 @@ export declare class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComp
6
6
  columnSize: Required<MasonryInfiniteGridOptions>['columnSize'];
7
7
  columnSizeRatio: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];
8
8
  align: Required<MasonryInfiniteGridOptions>['align'];
9
+ columnCalculationThreshold: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];
9
10
  }
@@ -9,6 +9,7 @@ import { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';
9
9
  import { NgxInfiniteGridProps } from './types';
10
10
  export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface implements Required<InfiniteGridOptions>, NgxInfiniteGridProps, AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {
11
11
  protected elementRef: ElementRef;
12
+ private _platform;
12
13
  static GridClass: InfiniteGridFunction;
13
14
  gridConstructor: NgxInfiniteGridProps['gridConstructor'];
14
15
  renderer: NgxInfiniteGridProps['renderer'];
@@ -39,6 +40,9 @@ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface i
39
40
  items: NgxInfiniteGridProps['items'];
40
41
  trackBy: NgxInfiniteGridProps['trackBy'];
41
42
  groupBy: NgxInfiniteGridProps['groupBy'];
43
+ outlineLength: NgxInfiniteGridProps['outlineLength'];
44
+ outlineSize: NgxInfiniteGridProps['outlineSize'];
45
+ useRoundedSize: NgxInfiniteGridProps['useRoundedSize'];
42
46
  renderComplete: EventEmitter<OnRenderComplete>;
43
47
  contentError: EventEmitter<OnContentError>;
44
48
  changeScroll: EventEmitter<OnChangeScroll>;
@@ -49,7 +53,7 @@ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface i
49
53
  _containerRef: ElementRef;
50
54
  private _renderer;
51
55
  private _isChange;
52
- constructor(elementRef: ElementRef);
56
+ constructor(elementRef: ElementRef, _platform: Object);
53
57
  ngOnInit(): void;
54
58
  ngOnChanges(): void;
55
59
  ngAfterViewInit(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/ngx-infinitegrid",
3
- "version": "4.0.0",
3
+ "version": "4.2.0-beta.1",
4
4
  "description": "An Angular component that can arrange items infinitely according to the type of grids",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,15 +22,15 @@
22
22
  "@angular/core": "^11.2.14"
23
23
  },
24
24
  "dependencies": {
25
- "@egjs/infinitegrid": "~4.0.0",
25
+ "@egjs/infinitegrid": "^4.2.0-beta.2",
26
26
  "tslib": "^2.0.0"
27
27
  },
28
- "main": "bundles/ngx-infinitegrid.umd.js",
29
- "module": "fesm2015/ngx-infinitegrid.js",
30
- "es2015": "fesm2015/ngx-infinitegrid.js",
31
- "esm2015": "esm2015/ngx-infinitegrid.js",
32
- "fesm2015": "fesm2015/ngx-infinitegrid.js",
33
- "typings": "ngx-infinitegrid.d.ts",
34
- "metadata": "ngx-infinitegrid.metadata.json",
28
+ "main": "bundles/egjs-ngx-infinitegrid.umd.js",
29
+ "module": "fesm2015/egjs-ngx-infinitegrid.js",
30
+ "es2015": "fesm2015/egjs-ngx-infinitegrid.js",
31
+ "esm2015": "esm2015/egjs-ngx-infinitegrid.js",
32
+ "fesm2015": "fesm2015/egjs-ngx-infinitegrid.js",
33
+ "typings": "egjs-ngx-infinitegrid.d.ts",
34
+ "metadata": "egjs-ngx-infinitegrid.metadata.json",
35
35
  "sideEffects": false
36
- }
36
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-infinitegrid.umd.js","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts","../../../projects/ngx-infinitegrid/src/public-api.ts","../../../projects/ngx-infinitegrid/src/ngx-infinitegrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\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","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n} from '@angular/core';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/ngx-infinitegrid.service';\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TEMPLATE as ɵb} from './lib/consts';\nexport {NgxFrameInfiniteGridComponent as ɵd} from './lib/grids/ngx-frame-infinitegrid.component';\nexport {NgxJustifiedInfiniteGridComponent as ɵc} from './lib/grids/ngx-justified-infinitegrid.component';\nexport {NgxPackingInfiniteGridComponent as ɵe} from './lib/grids/ngx-packing-infinitegrid.component';\nexport {NgxInfiniteGridInterface as ɵa} from './lib/ngx-infinitegrid.interface';"],"names":["Injectable","withInfiniteGridMethods","Renderer","INFINITEGRID_EVENTS","EventEmitter","mountRenderingItems","getRenderingItems","Component","ElementRef","Input","Output","ViewChild","VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid","NgModule","CommonModule"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@egjs/infinitegrid"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-infinitegrid",["exports","@angular/core","@egjs/infinitegrid","@angular/common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ngx-infinitegrid"]={},e.ng.core,e.infinitegrid,e.ng.common)}(this,(function(e,t,n,r){"use strict";var i=function(){};i.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new i},token:i,providedIn:"root"}),i.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],i.ctorParameters=function(){return[]};
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */
16
- var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;Object.create;var a=function(){};!function(e,t,n,r){var i,o=arguments.length,p=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(p=(o<3?i(p):o>3?i(t,n,p):i(t,n))||p);o>3&&p&&Object.defineProperty(t,n,p)}([n.withInfiniteGridMethods],a.prototype,"vanillaGrid",void 0);var s=function(e){function r(r){var i=e.call(this)||this;for(var o in i.elementRef=r,i.items=[],i.trackBy=function(e,t){return t.key},i.groupBy=function(e,t){return t.groupKey},i.visibleItems=[],i._renderer=new n.Renderer,i._isChange=!1,n.INFINITEGRID_EVENTS){i[n.INFINITEGRID_EVENTS[o]]=new t.EventEmitter}return i}return p(r,e),r.prototype.ngOnInit=function(){this._updateVisibleChildren()},r.prototype.ngOnChanges=function(){this._isChange=!0,this._updateVisibleChildren()},r.prototype.ngAfterViewInit=function(){var e,t=this,r=this.constructor.GridClass,i=r.defaultOptions,o={},p=null===(e=this._containerRef)||void 0===e?void 0:e.nativeElement;for(var a in i)a in this&&void 0!==this[a]&&(o[a]=this[a]);p&&(o.container=p),o.renderer=this._renderer;var s=new r((this._wrapperRef||this.elementRef).nativeElement,o),u=function(e){var r=n.INFINITEGRID_EVENTS[e];s.on(r,(function(e){t[r].emit(e)}))};for(var a in n.INFINITEGRID_EVENTS)u(a);this.vanillaGrid=s,this._renderer.on("requestUpdate",(function(){t._isChange=!0,t._updateVisibleChildren()})),n.mountRenderingItems(this._getItemInfos(),{grid:s,useFirstRender:this.useFirstRender,useLoading:this.useLoading,usePlaceholder:this.usePlaceholder,horizontal:this.horizontal,status:this.status}),this._renderer.updated()},r.prototype.ngAfterViewChecked=function(){if(this._isChange){this._isChange=!1;var e=this.constructor.GridClass.propertyTypes,t=this.vanillaGrid;for(var n in e)n in this&&(t[n]=this[n]);this._renderer.updated()}},r.prototype.ngOnDestroy=function(){this.vanillaGrid.destroy()},r.prototype._getItemInfos=function(){var e=this.items,t=this.trackBy,n=this.groupBy;return e.map((function(e,r){return{groupKey:n(r,e),key:t(r,e),data:e}}))},r.prototype._updateVisibleChildren=function(){this.visibleItems=n.getRenderingItems(this._getItemInfos(),{grid:this.vanillaGrid,useFirstRender:this.useFirstRender,useLoading:this.useLoading,usePlaceholder:this.usePlaceholder,horizontal:this.horizontal,status:this.status})},r}(a);s.decorators=[{type:t.Component,args:[{selector:"ngx-infinite-grid, [NgxInfiniteGrid]",template:"<slot></slot>",styles:[":host { display: block }"]}]}],s.ctorParameters=function(){return[{type:t.ElementRef}]},s.propDecorators={gridConstructor:[{type:t.Input}],renderer:[{type:t.Input}],container:[{type:t.Input}],containerTag:[{type:t.Input}],threshold:[{type:t.Input}],useRecycle:[{type:t.Input}],horizontal:[{type:t.Input}],percentage:[{type:t.Input}],isEqualSize:[{type:t.Input}],isConstantSize:[{type:t.Input}],gap:[{type:t.Input}],attributePrefix:[{type:t.Input}],resizeDebounce:[{type:t.Input}],maxResizeDebounce:[{type:t.Input}],autoResize:[{type:t.Input}],useFit:[{type:t.Input}],useTransform:[{type:t.Input}],renderOnPropertyChange:[{type:t.Input}],preserveUIOnDestroy:[{type:t.Input}],defaultDirection:[{type:t.Input}],externalItemRenderer:[{type:t.Input}],externalContainerManager:[{type:t.Input}],usePlaceholder:[{type:t.Input}],useLoading:[{type:t.Input}],status:[{type:t.Input}],useFirstRender:[{type:t.Input}],items:[{type:t.Input}],trackBy:[{type:t.Input}],groupBy:[{type:t.Input}],renderComplete:[{type:t.Output}],contentError:[{type:t.Output}],changeScroll:[{type:t.Output}],requestAppend:[{type:t.Output}],requestPrepend:[{type:t.Output}],_wrapperRef:[{type:t.ViewChild,args:["wrapperRef",{static:!1}]}],_containerRef:[{type:t.ViewChild,args:["containerRef",{static:!1}]}]};var u='\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]="container === true" [ngIfElse]="noContainer">\n <div #containerRef>\n <ng-container *ngTemplateOutlet="content"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet="content"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]="elementRef.nativeElement.tagName.indexOf(\'NGX-\') === 0" [ngIfElse]="noWrapper">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet="viewer"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet="viewer"></ng-container>\n</ng-template>\n',l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);l.GridClass=n.MasonryInfiniteGrid,l.decorators=[{type:t.Component,args:[{selector:"ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]",template:u}]}],l.propDecorators={column:[{type:t.Input}],columnSize:[{type:t.Input}],columnSizeRatio:[{type:t.Input}],align:[{type:t.Input}]};var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);c.GridClass=n.JustifiedInfiniteGrid,c.decorators=[{type:t.Component,args:[{selector:"ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]",template:u}]}],c.propDecorators={columnRange:[{type:t.Input}],rowRange:[{type:t.Input}],sizeRange:[{type:t.Input}],displayedRow:[{type:t.Input}],isCroppedSize:[{type:t.Input}]};var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);d.GridClass=n.FrameInfiniteGrid,d.decorators=[{type:t.Component,args:[{selector:"ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]",template:u}]}],d.propDecorators={frame:[{type:t.Input}],useFrameFill:[{type:t.Input}],rectSize:[{type:t.Input}]};var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t}(s);g.GridClass=n.PackingInfiniteGrid,g.decorators=[{type:t.Component,args:[{selector:"ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]",template:u}]}],g.propDecorators={aspectRatio:[{type:t.Input}],sizeWeight:[{type:t.Input}],ratioWeight:[{type:t.Input}],weightPriority:[{type:t.Input}]};var f=function(){};f.decorators=[{type:t.NgModule,args:[{declarations:[s,l,c,d,g],imports:[r.CommonModule],exports:[s,l,c,d,g]}]}],e.NgxInfiniteGridComponent=s,e.NgxInfiniteGridModule=f,e.NgxInfinitegridService=i,e.NgxMasonryInfiniteGridComponent=l,e.ɵa=a,e.ɵb=u,e.ɵc=c,e.ɵd=d,e.ɵe=g,Object.defineProperty(e,"__esModule",{value:!0})}));
17
- //# sourceMappingURL=ngx-infinitegrid.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts"],"names":["Injectable","args","providedIn","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__decorate","withInfiniteGridMethods","NgxInfiniteGridComponent","elementRef","_this","_super","name","items","trackBy","_","item","groupBy","groupKey","visibleItems","_renderer","Renderer","_isChange","INFINITEGRID_EVENTS","EventEmitter","ngOnInit","_updateVisibleChildren","ngOnChanges","ngAfterViewInit","GridClass","defaultOptions","options","containerElement","_a","_containerRef","nativeElement","container","renderer","grid","_wrapperRef","eventName","on","e","emit","vanillaGrid","mountRenderingItems","_getItemInfos","useFirstRender","useLoading","usePlaceholder","horizontal","status","updated","ngAfterViewChecked","propertyTypes","ngOnDestroy","destroy","map","data","getRenderingItems","NgxInfiniteGridInterface","Component","selector","template","ElementRef","Input","Output","ViewChild","static","TEMPLATE","NgxMasonryInfiniteGridComponent","VanillaMasonryInfiniteGrid","NgxJustifiedInfiniteGridComponent","VanillaJustifiedInfiniteGrid","NgxFrameInfiniteGridComponent","VanillaFrameInfiniteGrid","NgxPackingInfiniteGridComponent","VanillaPackingInfiniteGrid","NgModule","declarations","imports","CommonModule","exports"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\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","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n} from '@angular/core';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n"]}
@@ -1,10 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { TEMPLATE as ɵb } from './lib/consts';
6
- export { NgxFrameInfiniteGridComponent as ɵd } from './lib/grids/ngx-frame-infinitegrid.component';
7
- export { NgxJustifiedInfiniteGridComponent as ɵc } from './lib/grids/ngx-justified-infinitegrid.component';
8
- export { NgxPackingInfiniteGridComponent as ɵe } from './lib/grids/ngx-packing-infinitegrid.component';
9
- export { NgxInfiniteGridInterface as ɵa } from './lib/ngx-infinitegrid.interface';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWluZmluaXRlZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1pbmZpbml0ZWdyaWQvc3JjL25neC1pbmZpbml0ZWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsUUFBUSxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakcsT0FBTyxFQUFDLGlDQUFpQyxJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRyxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7VEVNUExBVEUgYXMgybVifSBmcm9tICcuL2xpYi9jb25zdHMnO1xuZXhwb3J0IHtOZ3hGcmFtZUluZmluaXRlR3JpZENvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2dyaWRzL25neC1mcmFtZS1pbmZpbml0ZWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4SnVzdGlmaWVkSW5maW5pdGVHcmlkQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvZ3JpZHMvbmd4LWp1c3RpZmllZC1pbmZpbml0ZWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4UGFja2luZ0luZmluaXRlR3JpZENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2dyaWRzL25neC1wYWNraW5nLWluZmluaXRlZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHtOZ3hJbmZpbml0ZUdyaWRJbnRlcmZhY2UgYXMgybVhfSBmcm9tICcuL2xpYi9uZ3gtaW5maW5pdGVncmlkLmludGVyZmFjZSc7Il19
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-infinitegrid.js","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts","../../../projects/ngx-infinitegrid/src/public-api.ts","../../../projects/ngx-infinitegrid/src/ngx-infinitegrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\n}\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n} from '@angular/core';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(protected elementRef: ElementRef) {\n super();\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n ngAfterViewChecked() {\n if (!this._isChange) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated();\n }\n ngOnDestroy() {\n this.vanillaGrid.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\n };\n });\n }\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/ngx-infinitegrid.service';\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TEMPLATE as ɵb} from './lib/consts';\nexport {NgxFrameInfiniteGridComponent as ɵd} from './lib/grids/ngx-frame-infinitegrid.component';\nexport {NgxJustifiedInfiniteGridComponent as ɵc} from './lib/grids/ngx-justified-infinitegrid.component';\nexport {NgxPackingInfiniteGridComponent as ɵe} from './lib/grids/ngx-packing-infinitegrid.component';\nexport {NgxInfiniteGridInterface as ɵa} from './lib/ngx-infinitegrid.interface';"],"names":["VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"NgxInfinitegridService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"NgxMasonryInfiniteGridComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"columnSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"columnSizeRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"align":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"MasonryInfiniteGrid","line":18,"character":28}}},"NgxInfiniteGridComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"ngx-infinite-grid, [NgxInfiniteGrid]","template":"<slot></slot>","styles":[":host { display: block }"]}]}],"members":{"gridConstructor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"renderer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"containerTag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"threshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"useRecycle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"horizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"percentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"isEqualSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"isConstantSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"gap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"attributePrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"resizeDebounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"maxResizeDebounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"autoResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"useFit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"useTransform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"renderOnPropertyChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"preserveUIOnDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"defaultDirection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"externalItemRenderer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"externalContainerManager":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"usePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"useLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"status":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"useFirstRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"groupBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"renderComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":71,"character":3}}]}],"contentError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"changeScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"requestAppend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":74,"character":3}}]}],"requestPrepend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":3}}]}],"_wrapperRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":77,"character":3},"arguments":["wrapperRef",{"static":false}]}]}],"_containerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":78,"character":3},"arguments":["containerRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":82,"character":36}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_getItemInfos":[{"__symbolic":"method"}],"_updateVisibleChildren":[{"__symbolic":"method"}]},"statics":{"GridClass":{"__symbolic":"error","message":"Variable not initialized","line":41,"character":16}}},"NgxInfiniteGridModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},{"__symbolic":"reference","name":"NgxMasonryInfiniteGridComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4}],"exports":[{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},{"__symbolic":"reference","name":"NgxMasonryInfiniteGridComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}]}],"members":{}},"ɵa":{"__symbolic":"interface"},"ɵb":"\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n","ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"columnRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"rowRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"sizeRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"displayedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isCroppedSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"JustifiedInfiniteGrid","line":23,"character":28}}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"frame":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"useFrameFill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"rectSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"FrameInfiniteGrid","line":21,"character":28}}},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"NgxInfiniteGridComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]","template":{"__symbolic":"reference","name":"ɵb"},"styles":[]}]}],"members":{"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"sizeWeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"ratioWeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"weightPriority":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}]},"statics":{"GridClass":{"__symbolic":"reference","module":"@egjs/infinitegrid","name":"PackingInfiniteGrid","line":22,"character":28}}}},"origins":{"NgxInfinitegridService":"./lib/ngx-infinitegrid.service","NgxMasonryInfiniteGridComponent":"./lib/grids/ngx-masonry-infinitegrid.component","NgxInfiniteGridComponent":"./lib/ngx-infinitegrid.component","NgxInfiniteGridModule":"./lib/ngx-infinitegrid.module","ɵa":"./lib/ngx-infinitegrid.interface","ɵb":"./lib/consts","ɵc":"./lib/grids/ngx-justified-infinitegrid.component","ɵd":"./lib/grids/ngx-frame-infinitegrid.component","ɵe":"./lib/grids/ngx-packing-infinitegrid.component"},"importAs":"ngx-infinitegrid"}