@egjs/ngx-infinitegrid 4.2.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -500,6 +500,7 @@
500
500
  outlineSize: [{ type: i0.Input }],
501
501
  useRoundedSize: [{ type: i0.Input }],
502
502
  useResizeObserver: [{ type: i0.Input }],
503
+ observeChildren: [{ type: i0.Input }],
503
504
  usePlaceholder: [{ type: i0.Input }],
504
505
  useLoading: [{ type: i0.Input }],
505
506
  status: [{ type: i0.Input }],
@@ -1 +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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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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"}
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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n @Input() observeChildren!: NgxInfiniteGridProps['observeChildren'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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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"}
@@ -13,5 +13,5 @@
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
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){var e=[].slice.call(this.getContainerElement().children);if(this.visibleItems.length===e.length){this._isChange=!1;var t=this.constructor.GridClass.propertyTypes,n=this.vanillaGrid;for(var r in t)r in this&&(n[r]=this[r]);this._renderer.updated(e)}}},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}],outlineLength:[{type:t.Input}],outlineSize:[{type:t.Input}],useRoundedSize:[{type:t.Input}],useResizeObserver:[{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=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})}));
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){var e=[].slice.call(this.getContainerElement().children);if(this.visibleItems.length===e.length){this._isChange=!1;var t=this.constructor.GridClass.propertyTypes,n=this.vanillaGrid;for(var r in t)r in this&&(n[r]=this[r]);this._renderer.updated(e)}}},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}],outlineLength:[{type:t.Input}],outlineSize:[{type:t.Input}],useRoundedSize:[{type:t.Input}],useResizeObserver:[{type:t.Input}],observeChildren:[{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=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
17
  //# sourceMappingURL=egjs-ngx-infinitegrid.umd.min.js.map
@@ -1 +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","children","slice","getContainerElement","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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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"]}
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","children","slice","getContainerElement","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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n @Input() observeChildren!: NgxInfiniteGridProps['observeChildren'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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"]}
@@ -1 +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}}]}],"outlineLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"outlineSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"useRoundedSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"useResizeObserver":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"usePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"useLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"status":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"useFirstRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"groupBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"renderComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":79,"character":3}}]}],"contentError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"changeScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"requestAppend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"requestPrepend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"_wrapperRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":85,"character":3},"arguments":["wrapperRef",{"static":false}]}]}],"_containerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":86,"character":3},"arguments":["containerRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":90,"character":49},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":90,"character":56}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":90,"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"}
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}}]}],"outlineLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"outlineSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"useRoundedSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"useResizeObserver":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"observeChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"usePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"useLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"status":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"useFirstRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"groupBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"renderComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"contentError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"changeScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"requestAppend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"requestPrepend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}}]}],"_wrapperRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":86,"character":3},"arguments":["wrapperRef",{"static":false}]}]}],"_containerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":87,"character":3},"arguments":["containerRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":91,"character":49},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":91,"character":56}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":91,"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"}
@@ -156,6 +156,7 @@ NgxInfiniteGridComponent.propDecorators = {
156
156
  outlineSize: [{ type: Input }],
157
157
  useRoundedSize: [{ type: Input }],
158
158
  useResizeObserver: [{ type: Input }],
159
+ observeChildren: [{ type: Input }],
159
160
  usePlaceholder: [{ type: Input }],
160
161
  useLoading: [{ type: Input }],
161
162
  status: [{ type: Input }],
@@ -171,4 +172,4 @@ NgxInfiniteGridComponent.propDecorators = {
171
172
  _wrapperRef: [{ type: ViewChild, args: ['wrapperRef', { static: false },] }],
172
173
  _containerRef: [{ type: ViewChild, args: ['containerRef', { static: false },] }]
173
174
  };
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5maW5pdGVncmlkL3NyYy9saWIvbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDNEIsU0FBUyxFQUFFLFVBQVUsRUFDdEQsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFFLFNBQVMsRUFDNUQsV0FBVyxFQUFFLE1BQU0sR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLGlCQUFpQixFQUtqQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBTW5CLFFBQVEsR0FDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLFdBQVc7QUFRWCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSx3QkFBd0I7SUFtRGhDLFlBQXNCLFVBQXNCLEVBQStCLFNBQWlCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUErQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBZG5GLFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBQzFDLFlBQU8sR0FBb0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxZQUFPLEdBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFNMUUsaUJBQVksR0FBdUIsRUFBRSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxL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QyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZWdqcy1pbmZpbml0ZWdyaWRcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50IE5BVkVSIENvcnAuXG4gKiBNSVQgbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCxcbiAgUExBVEZPUk1fSUQsIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIGdldFJlbmRlcmluZ0l0ZW1zLFxuICBJbmZpbml0ZUdyaWRGdW5jdGlvbixcbiAgSW5maW5pdGVHcmlkSXRlbSxcbiAgSW5maW5pdGVHcmlkSXRlbUluZm8sXG4gIEluZmluaXRlR3JpZE9wdGlvbnMsXG4gIElORklOSVRFR1JJRF9FVkVOVFMsXG4gIG1vdW50UmVuZGVyaW5nSXRlbXMsXG4gIE9uQ29udGVudEVycm9yLFxuICBPblJlbmRlckNvbXBsZXRlLFxuICBPblJlcXVlc3RBcHBlbmQsXG4gIE9uUmVxdWVzdFByZXBlbmQsXG4gIE9uQ2hhbmdlU2Nyb2xsLFxuICBSZW5kZXJlcixcbn0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcbmltcG9ydCB7IE5neEluZmluaXRlR3JpZEludGVyZmFjZSB9IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmd4SW5maW5pdGVHcmlkUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1pbmZpbml0ZS1ncmlkLCBbTmd4SW5maW5pdGVHcmlkXScsXG4gIHRlbXBsYXRlOiAnPHNsb3Q+PC9zbG90PicsXG4gIHN0eWxlczogW1xuICAgICc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrIH0nLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnRcbiAgZXh0ZW5kcyBOZ3hJbmZpbml0ZUdyaWRJbnRlcmZhY2VcbiAgaW1wbGVtZW50cyBSZXF1aXJlZDxJbmZpbml0ZUdyaWRPcHRpb25zPixcbiAgTmd4SW5maW5pdGVHcmlkUHJvcHMsXG4gIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyBHcmlkQ2xhc3M6IEluZmluaXRlR3JpZEZ1bmN0aW9uO1xuICBASW5wdXQoKSBncmlkQ29uc3RydWN0b3IhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snZ3JpZENvbnN0cnVjdG9yJ107XG4gIEBJbnB1dCgpIHJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3JlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IE5neEluZmluaXRlR3JpZFByb3BzWydjb250YWluZXInXTtcbiAgQElucHV0KCkgY29udGFpbmVyVGFnITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2NvbnRhaW5lclRhZyddO1xuICBASW5wdXQoKSB0aHJlc2hvbGQhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndGhyZXNob2xkJ107XG4gIEBJbnB1dCgpIHVzZVJlY3ljbGUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlUmVjeWNsZSddO1xuICBASW5wdXQoKSBob3Jpem9udGFsITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2hvcml6b250YWwnXTtcbiAgQElucHV0KCkgcGVyY2VudGFnZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydwZXJjZW50YWdlJ107XG4gIEBJbnB1dCgpIGlzRXF1YWxTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzRXF1YWxTaXplJ107XG4gIEBJbnB1dCgpIGlzQ29uc3RhbnRTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2lzQ29uc3RhbnRTaXplJ107XG4gIEBJbnB1dCgpIGdhcCE6IE5neEluZmluaXRlR3JpZFByb3BzWydnYXAnXTtcbiAgQElucHV0KCkgYXR0cmlidXRlUHJlZml4ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F0dHJpYnV0ZVByZWZpeCddO1xuICBASW5wdXQoKSByZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydyZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBtYXhSZXNpemVEZWJvdW5jZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydtYXhSZXNpemVEZWJvdW5jZSddO1xuICBASW5wdXQoKSBhdXRvUmVzaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2F1dG9SZXNpemUnXTtcbiAgQElucHV0KCkgdXNlRml0ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZUZpdCddO1xuICBASW5wdXQoKSB1c2VUcmFuc2Zvcm0hOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlVHJhbnNmb3JtJ107XG4gIEBJbnB1dCgpIHJlbmRlck9uUHJvcGVydHlDaGFuZ2UhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sncmVuZGVyT25Qcm9wZXJ0eUNoYW5nZSddO1xuICBASW5wdXQoKSBwcmVzZXJ2ZVVJT25EZXN0cm95ITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3ByZXNlcnZlVUlPbkRlc3Ryb3knXTtcbiAgQElucHV0KCkgZGVmYXVsdERpcmVjdGlvbiE6IE5neEluZmluaXRlR3JpZFByb3BzWydkZWZhdWx0RGlyZWN0aW9uJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsSXRlbVJlbmRlcmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2V4dGVybmFsSXRlbVJlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGV4dGVybmFsQ29udGFpbmVyTWFuYWdlciE6IE5neEluZmluaXRlR3JpZFByb3BzWydleHRlcm5hbENvbnRhaW5lck1hbmFnZXInXTtcbiAgQElucHV0KCkgb3V0bGluZUxlbmd0aCE6IE5neEluZmluaXRlR3JpZFByb3BzWydvdXRsaW5lTGVuZ3RoJ107XG4gIEBJbnB1dCgpIG91dGxpbmVTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ291dGxpbmVTaXplJ107XG4gIEBJbnB1dCgpIHVzZVJvdW5kZWRTaXplITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZVJvdW5kZWRTaXplJ107XG4gIEBJbnB1dCgpIHVzZVJlc2l6ZU9ic2VydmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZVJlc2l6ZU9ic2VydmVyJ107XG5cblxuICBASW5wdXQoKSB1c2VQbGFjZWhvbGRlciE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VGaXJzdFJlbmRlciddO1xuICBASW5wdXQoKSB1c2VMb2FkaW5nITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3VzZUxvYWRpbmcnXTtcbiAgQElucHV0KCkgc3RhdHVzITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3N0YXR1cyddO1xuICBASW5wdXQoKSB1c2VGaXJzdFJlbmRlciE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VGaXJzdFJlbmRlciddO1xuICBASW5wdXQoKSBpdGVtczogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2l0ZW1zJ10gPSBbXTtcbiAgQElucHV0KCkgdHJhY2tCeTogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3RyYWNrQnknXSA9ICgoXywgaXRlbSkgPT4gaXRlbS5rZXkpO1xuICBASW5wdXQoKSBncm91cEJ5OiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snZ3JvdXBCeSddID0gKChfLCBpdGVtKSA9PiBpdGVtLmdyb3VwS2V5KTtcbiAgQE91dHB1dCgpIHJlbmRlckNvbXBsZXRlITogRXZlbnRFbWl0dGVyPE9uUmVuZGVyQ29tcGxldGU+O1xuICBAT3V0cHV0KCkgY29udGVudEVycm9yITogRXZlbnRFbWl0dGVyPE9uQ29udGVudEVycm9yPjtcbiAgQE91dHB1dCgpIGNoYW5nZVNjcm9sbCE6IEV2ZW50RW1pdHRlcjxPbkNoYW5nZVNjcm9sbD47XG4gIEBPdXRwdXQoKSByZXF1ZXN0QXBwZW5kITogRXZlbnRFbWl0dGVyPE9uUmVxdWVzdEFwcGVuZD47XG4gIEBPdXRwdXQoKSByZXF1ZXN0UHJlcGVuZCE6IEV2ZW50RW1pdHRlcjxPblJlcXVlc3RQcmVwZW5kPjtcbiAgcHVibGljIHZpc2libGVJdGVtczogSW5maW5pdGVHcmlkSXRlbVtdID0gW107XG4gIEBWaWV3Q2hpbGQoJ3dyYXBwZXJSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgX3dyYXBwZXJSZWYhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjb250YWluZXJSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgX2NvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gbmV3IFJlbmRlcmVyKCk7XG4gIHByaXZhdGUgX2lzQ2hhbmdlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgX3BsYXRmb3JtOiBPYmplY3QpIHtcbiAgICBzdXBlcigpO1xuICAgIGZvciAoY29uc3QgbmFtZSBpbiBJTkZJTklURUdSSURfRVZFTlRTKSB7XG4gICAgICBjb25zdCBldmVudE5hbWUgPSAoSU5GSU5JVEVHUklEX0VWRU5UUyBhcyBhbnkpW25hbWVdO1xuICAgICAgKHRoaXMgYXMgYW55KVtldmVudE5hbWVdID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIH1cbiAgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5faXNDaGFuZ2UgPSB0cnVlO1xuICAgIHRoaXMuX3VwZGF0ZVZpc2libGVDaGlsZHJlbigpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBHcmlkQ2xhc3MgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50KS5HcmlkQ2xhc3M7XG4gICAgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSBHcmlkQ2xhc3MuZGVmYXVsdE9wdGlvbnM7XG4gICAgY29uc3Qgb3B0aW9uczogUGFydGlhbDxJbmZpbml0ZUdyaWRPcHRpb25zPiA9IHt9O1xuICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLl9jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gZGVmYXVsdE9wdGlvbnMpIHtcbiAgICAgIGlmIChuYW1lIGluIHRoaXMgJiYgdHlwZW9mICh0aGlzIGFzIGFueSlbbmFtZV0gIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgKG9wdGlvbnMgYXMgYW55KVtuYW1lXSA9ICh0aGlzIGFzIGFueSlbbmFtZV07XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjb250YWluZXJFbGVtZW50KSB7XG4gICAgICBvcHRpb25zLmNvbnRhaW5lciA9IGNvbnRhaW5lckVsZW1lbnQ7XG4gICAgfVxuICAgIG9wdGlvbnMucmVuZGVyZXIgPSB0aGlzLl9yZW5kZXJlcjtcbiAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fd3JhcHBlclJlZiEgfHwgdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgY29uc3QgZ3JpZCA9IG5ldyBHcmlkQ2xhc3Mod3JhcHBlci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgbmFtZSBpbiBJTkZJTklURUdSSURfRVZFTlRTKSB7XG4gICAgICBjb25zdCBldmVudE5hbWUgPSAoSU5GSU5JVEVHUklEX0VWRU5UUyBhcyBhbnkpW25hbWVdO1xuXG4gICAgICBncmlkLm9uKGV2ZW50TmFtZSwgKGU6IGFueSkgPT4ge1xuICAgICAgICAodGhpcyBhcyBhbnkpW2V2ZW50TmFtZV0uZW1pdChlIGFzIGFueSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbmlsbGFHcmlkID0gZ3JpZDtcbiAgICB0aGlzLl9yZW5kZXJlci5vbihcInJlcXVlc3RVcGRhdGVcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5faXNDaGFuZ2UgPSB0cnVlO1xuICAgICAgdGhpcy5fdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCk7XG4gICAgfSk7XG5cbiAgICBtb3VudFJlbmRlcmluZ0l0ZW1zKHRoaXMuX2dldEl0ZW1JbmZvcygpLCB7XG4gICAgICBncmlkLFxuICAgICAgdXNlRmlyc3RSZW5kZXI6IHRoaXMudXNlRmlyc3RSZW5kZXIsXG4gICAgICB1c2VMb2FkaW5nOiB0aGlzLnVzZUxvYWRpbmcsXG4gICAgICB1c2VQbGFjZWhvbGRlcjogdGhpcy51c2VQbGFjZWhvbGRlcixcbiAgICAgIGhvcml6b250YWw6IHRoaXMuaG9yaXpvbnRhbCxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgfSk7XG4gICAgdGhpcy5fcmVuZGVyZXIudXBkYXRlZCgpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuX2lzQ2hhbmdlIHx8ICF0aGlzLnZhbmlsbGFHcmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkcmVuID0gW10uc2xpY2UuY2FsbCh0aGlzLmdldENvbnRhaW5lckVsZW1lbnQoKS5jaGlsZHJlbik7XG5cbiAgICBpZiAodGhpcy52aXNpYmxlSXRlbXMubGVuZ3RoICE9PSBjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faXNDaGFuZ2UgPSBmYWxzZTtcbiAgICBjb25zdCBHcmlkQ2xhc3MgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50KS5HcmlkQ2xhc3M7XG4gICAgY29uc3QgcHJvcGVydHlUeXBlcyA9IEdyaWRDbGFzcy5wcm9wZXJ0eVR5cGVzO1xuICAgIGNvbnN0IGdyaWQgPSB0aGlzLnZhbmlsbGFHcmlkO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIHByb3BlcnR5VHlwZXMpIHtcbiAgICAgIGlmIChuYW1lIGluIHRoaXMpIHtcbiAgICAgICAgKGdyaWQgYXMgYW55KVtuYW1lXSA9ICh0aGlzIGFzIGFueSlbbmFtZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyZXIudXBkYXRlZChjaGlsZHJlbik7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy52YW5pbGxhR3JpZD8uZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbUluZm9zKCk6IEluZmluaXRlR3JpZEl0ZW1JbmZvW10ge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb25zdCB0cmFja0J5ID0gdGhpcy50cmFja0J5O1xuICAgIGNvbnN0IGdyb3VwQnkgPSB0aGlzLmdyb3VwQnk7XG5cbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBncm91cEtleTogZ3JvdXBCeShpLCBpdGVtKSxcbiAgICAgICAga2V5OiB0cmFja0J5KGksIGl0ZW0pLFxuICAgICAgICBkYXRhOiBpdGVtLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIF91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKSB7XG4gICAgdGhpcy52aXNpYmxlSXRlbXMgPSBnZXRSZW5kZXJpbmdJdGVtcyh0aGlzLl9nZXRJdGVtSW5mb3MoKSwge1xuICAgICAgZ3JpZDogdGhpcy52YW5pbGxhR3JpZCxcbiAgICAgIHVzZUZpcnN0UmVuZGVyOiB0aGlzLnVzZUZpcnN0UmVuZGVyLFxuICAgICAgdXNlTG9hZGluZzogdGhpcy51c2VMb2FkaW5nLFxuICAgICAgdXNlUGxhY2Vob2xkZXI6IHRoaXMudXNlUGxhY2Vob2xkZXIsXG4gICAgICBob3Jpem9udGFsOiB0aGlzLmhvcml6b250YWwsXG4gICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5maW5pdGVncmlkL3NyYy9saWIvbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDNEIsU0FBUyxFQUFFLFVBQVUsRUFDdEQsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFFLFNBQVMsRUFDNUQsV0FBVyxFQUFFLE1BQU0sR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLGlCQUFpQixFQUtqQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBTW5CLFFBQVEsR0FDVCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLFdBQVc7QUFRWCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSx3QkFBd0I7SUFvRGhDLFlBQXNCLFVBQXNCLEVBQStCLFNBQWlCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUErQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBZG5GLFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBQzFDLFlBQU8sR0FBb0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxZQUFPLEdBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFNMUUsaUJBQVksR0FBdUIsRUFBRSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxL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LEVBQUU7NEJBQ3pDLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBlZ2pzLWluZmluaXRlZ3JpZFxuICogQ29weXJpZ2h0IChjKSAyMDIxLXByZXNlbnQgTkFWRVIgQ29ycC5cbiAqIE1JVCBsaWNlbnNlXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkLFxuICBQTEFURk9STV9JRCwgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgZ2V0UmVuZGVyaW5nSXRlbXMsXG4gIEluZmluaXRlR3JpZEZ1bmN0aW9uLFxuICBJbmZpbml0ZUdyaWRJdGVtLFxuICBJbmZpbml0ZUdyaWRJdGVtSW5mbyxcbiAgSW5maW5pdGVHcmlkT3B0aW9ucyxcbiAgSU5GSU5JVEVHUklEX0VWRU5UUyxcbiAgbW91bnRSZW5kZXJpbmdJdGVtcyxcbiAgT25Db250ZW50RXJyb3IsXG4gIE9uUmVuZGVyQ29tcGxldGUsXG4gIE9uUmVxdWVzdEFwcGVuZCxcbiAgT25SZXF1ZXN0UHJlcGVuZCxcbiAgT25DaGFuZ2VTY3JvbGwsXG4gIFJlbmRlcmVyLFxufSBmcm9tICdAZWdqcy9pbmZpbml0ZWdyaWQnO1xuaW1wb3J0IHsgTmd4SW5maW5pdGVHcmlkSW50ZXJmYWNlIH0gZnJvbSAnLi9uZ3gtaW5maW5pdGVncmlkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZ3hJbmZpbml0ZUdyaWRQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWluZmluaXRlLWdyaWQsIFtOZ3hJbmZpbml0ZUdyaWRdJyxcbiAgdGVtcGxhdGU6ICc8c2xvdD48L3Nsb3Q+JyxcbiAgc3R5bGVzOiBbXG4gICAgJzpob3N0IHsgZGlzcGxheTogYmxvY2sgfScsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5neEluZmluaXRlR3JpZENvbXBvbmVudFxuICBleHRlbmRzIE5neEluZmluaXRlR3JpZEludGVyZmFjZVxuICBpbXBsZW1lbnRzIFJlcXVpcmVkPEluZmluaXRlR3JpZE9wdGlvbnM+LFxuICBOZ3hJbmZpbml0ZUdyaWRQcm9wcyxcbiAgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIEdyaWRDbGFzczogSW5maW5pdGVHcmlkRnVuY3Rpb247XG4gIEBJbnB1dCgpIGdyaWRDb25zdHJ1Y3RvciE6IE5neEluZmluaXRlR3JpZFByb3BzWydncmlkQ29uc3RydWN0b3InXTtcbiAgQElucHV0KCkgcmVuZGVyZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sncmVuZGVyZXInXTtcbiAgQElucHV0KCkgY29udGFpbmVyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2NvbnRhaW5lciddO1xuICBASW5wdXQoKSBjb250YWluZXJUYWchOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snY29udGFpbmVyVGFnJ107XG4gIEBJbnB1dCgpIHRocmVzaG9sZCE6IE5neEluZmluaXRlR3JpZFByb3BzWyd0aHJlc2hvbGQnXTtcbiAgQElucHV0KCkgdXNlUmVjeWNsZSE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VSZWN5Y2xlJ107XG4gIEBJbnB1dCgpIGhvcml6b250YWwhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snaG9yaXpvbnRhbCddO1xuICBASW5wdXQoKSBwZXJjZW50YWdlITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3BlcmNlbnRhZ2UnXTtcbiAgQElucHV0KCkgaXNFcXVhbFNpemUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snaXNFcXVhbFNpemUnXTtcbiAgQElucHV0KCkgaXNDb25zdGFudFNpemUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snaXNDb25zdGFudFNpemUnXTtcbiAgQElucHV0KCkgZ2FwITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2dhcCddO1xuICBASW5wdXQoKSBhdHRyaWJ1dGVQcmVmaXghOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snYXR0cmlidXRlUHJlZml4J107XG4gIEBJbnB1dCgpIHJlc2l6ZURlYm91bmNlITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ3Jlc2l6ZURlYm91bmNlJ107XG4gIEBJbnB1dCgpIG1heFJlc2l6ZURlYm91bmNlITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ21heFJlc2l6ZURlYm91bmNlJ107XG4gIEBJbnB1dCgpIGF1dG9SZXNpemUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snYXV0b1Jlc2l6ZSddO1xuICBASW5wdXQoKSB1c2VGaXQhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRml0J107XG4gIEBJbnB1dCgpIHVzZVRyYW5zZm9ybSE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VUcmFuc2Zvcm0nXTtcbiAgQElucHV0KCkgcmVuZGVyT25Qcm9wZXJ0eUNoYW5nZSE6IE5neEluZmluaXRlR3JpZFByb3BzWydyZW5kZXJPblByb3BlcnR5Q2hhbmdlJ107XG4gIEBJbnB1dCgpIHByZXNlcnZlVUlPbkRlc3Ryb3khOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sncHJlc2VydmVVSU9uRGVzdHJveSddO1xuICBASW5wdXQoKSBkZWZhdWx0RGlyZWN0aW9uITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2RlZmF1bHREaXJlY3Rpb24nXTtcbiAgQElucHV0KCkgZXh0ZXJuYWxJdGVtUmVuZGVyZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snZXh0ZXJuYWxJdGVtUmVuZGVyZXInXTtcbiAgQElucHV0KCkgZXh0ZXJuYWxDb250YWluZXJNYW5hZ2VyITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2V4dGVybmFsQ29udGFpbmVyTWFuYWdlciddO1xuICBASW5wdXQoKSBvdXRsaW5lTGVuZ3RoITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ291dGxpbmVMZW5ndGgnXTtcbiAgQElucHV0KCkgb3V0bGluZVNpemUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1snb3V0bGluZVNpemUnXTtcbiAgQElucHV0KCkgdXNlUm91bmRlZFNpemUhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlUm91bmRlZFNpemUnXTtcbiAgQElucHV0KCkgdXNlUmVzaXplT2JzZXJ2ZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlUmVzaXplT2JzZXJ2ZXInXTtcbiAgQElucHV0KCkgb2JzZXJ2ZUNoaWxkcmVuITogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ29ic2VydmVDaGlsZHJlbiddO1xuXG5cbiAgQElucHV0KCkgdXNlUGxhY2Vob2xkZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgdXNlTG9hZGluZyE6IE5neEluZmluaXRlR3JpZFByb3BzWyd1c2VMb2FkaW5nJ107XG4gIEBJbnB1dCgpIHN0YXR1cyE6IE5neEluZmluaXRlR3JpZFByb3BzWydzdGF0dXMnXTtcbiAgQElucHV0KCkgdXNlRmlyc3RSZW5kZXIhOiBOZ3hJbmZpbml0ZUdyaWRQcm9wc1sndXNlRmlyc3RSZW5kZXInXTtcbiAgQElucHV0KCkgaXRlbXM6IE5neEluZmluaXRlR3JpZFByb3BzWydpdGVtcyddID0gW107XG4gIEBJbnB1dCgpIHRyYWNrQnk6IE5neEluZmluaXRlR3JpZFByb3BzWyd0cmFja0J5J10gPSAoKF8sIGl0ZW0pID0+IGl0ZW0ua2V5KTtcbiAgQElucHV0KCkgZ3JvdXBCeTogTmd4SW5maW5pdGVHcmlkUHJvcHNbJ2dyb3VwQnknXSA9ICgoXywgaXRlbSkgPT4gaXRlbS5ncm91cEtleSk7XG4gIEBPdXRwdXQoKSByZW5kZXJDb21wbGV0ZSE6IEV2ZW50RW1pdHRlcjxPblJlbmRlckNvbXBsZXRlPjtcbiAgQE91dHB1dCgpIGNvbnRlbnRFcnJvciE6IEV2ZW50RW1pdHRlcjxPbkNvbnRlbnRFcnJvcj47XG4gIEBPdXRwdXQoKSBjaGFuZ2VTY3JvbGwhOiBFdmVudEVtaXR0ZXI8T25DaGFuZ2VTY3JvbGw+O1xuICBAT3V0cHV0KCkgcmVxdWVzdEFwcGVuZCE6IEV2ZW50RW1pdHRlcjxPblJlcXVlc3RBcHBlbmQ+O1xuICBAT3V0cHV0KCkgcmVxdWVzdFByZXBlbmQhOiBFdmVudEVtaXR0ZXI8T25SZXF1ZXN0UHJlcGVuZD47XG4gIHB1YmxpYyB2aXNpYmxlSXRlbXM6IEluZmluaXRlR3JpZEl0ZW1bXSA9IFtdO1xuICBAVmlld0NoaWxkKCd3cmFwcGVyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIF93cmFwcGVyUmVmITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIF9jb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIF9yZW5kZXJlciA9IG5ldyBSZW5kZXJlcigpO1xuICBwcml2YXRlIF9pc0NoYW5nZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIF9wbGF0Zm9ybTogT2JqZWN0KSB7XG4gICAgc3VwZXIoKTtcbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gSU5GSU5JVEVHUklEX0VWRU5UUykge1xuICAgICAgY29uc3QgZXZlbnROYW1lID0gKElORklOSVRFR1JJRF9FVkVOVFMgYXMgYW55KVtuYW1lXTtcbiAgICAgICh0aGlzIGFzIGFueSlbZXZlbnROYW1lXSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB9XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX3VwZGF0ZVZpc2libGVDaGlsZHJlbigpO1xuICB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuX2lzQ2hhbmdlID0gdHJ1ZTtcbiAgICB0aGlzLl91cGRhdGVWaXNpYmxlQ2hpbGRyZW4oKTtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLl9wbGF0Zm9ybSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgR3JpZENsYXNzID0gKHRoaXMuY29uc3RydWN0b3IgYXMgdHlwZW9mIE5neEluZmluaXRlR3JpZENvbXBvbmVudCkuR3JpZENsYXNzO1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gR3JpZENsYXNzLmRlZmF1bHRPcHRpb25zO1xuICAgIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8SW5maW5pdGVHcmlkT3B0aW9ucz4gPSB7fTtcbiAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5fY29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIGRlZmF1bHRPcHRpb25zKSB7XG4gICAgICBpZiAobmFtZSBpbiB0aGlzICYmIHR5cGVvZiAodGhpcyBhcyBhbnkpW25hbWVdICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIChvcHRpb25zIGFzIGFueSlbbmFtZV0gPSAodGhpcyBhcyBhbnkpW25hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgb3B0aW9ucy5jb250YWluZXIgPSBjb250YWluZXJFbGVtZW50O1xuICAgIH1cbiAgICBvcHRpb25zLnJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRoaXMuX3dyYXBwZXJSZWYhIHx8IHRoaXMuZWxlbWVudFJlZjtcblxuICAgIGNvbnN0IGdyaWQgPSBuZXcgR3JpZENsYXNzKHdyYXBwZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gSU5GSU5JVEVHUklEX0VWRU5UUykge1xuICAgICAgY29uc3QgZXZlbnROYW1lID0gKElORklOSVRFR1JJRF9FVkVOVFMgYXMgYW55KVtuYW1lXTtcblxuICAgICAgZ3JpZC5vbihldmVudE5hbWUsIChlOiBhbnkpID0+IHtcbiAgICAgICAgKHRoaXMgYXMgYW55KVtldmVudE5hbWVdLmVtaXQoZSBhcyBhbnkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy52YW5pbGxhR3JpZCA9IGdyaWQ7XG4gICAgdGhpcy5fcmVuZGVyZXIub24oXCJyZXF1ZXN0VXBkYXRlXCIsICgpID0+IHtcbiAgICAgIHRoaXMuX2lzQ2hhbmdlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3VwZGF0ZVZpc2libGVDaGlsZHJlbigpO1xuICAgIH0pO1xuXG4gICAgbW91bnRSZW5kZXJpbmdJdGVtcyh0aGlzLl9nZXRJdGVtSW5mb3MoKSwge1xuICAgICAgZ3JpZCxcbiAgICAgIHVzZUZpcnN0UmVuZGVyOiB0aGlzLnVzZUZpcnN0UmVuZGVyLFxuICAgICAgdXNlTG9hZGluZzogdGhpcy51c2VMb2FkaW5nLFxuICAgICAgdXNlUGxhY2Vob2xkZXI6IHRoaXMudXNlUGxhY2Vob2xkZXIsXG4gICAgICBob3Jpem9udGFsOiB0aGlzLmhvcml6b250YWwsXG4gICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzLFxuICAgIH0pO1xuICAgIHRoaXMuX3JlbmRlcmVyLnVwZGF0ZWQoKTtcbiAgfVxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLl9pc0NoYW5nZSB8fCAhdGhpcy52YW5pbGxhR3JpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwodGhpcy5nZXRDb250YWluZXJFbGVtZW50KCkuY2hpbGRyZW4pO1xuXG4gICAgaWYgKHRoaXMudmlzaWJsZUl0ZW1zLmxlbmd0aCAhPT0gY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2lzQ2hhbmdlID0gZmFsc2U7XG4gICAgY29uc3QgR3JpZENsYXNzID0gKHRoaXMuY29uc3RydWN0b3IgYXMgdHlwZW9mIE5neEluZmluaXRlR3JpZENvbXBvbmVudCkuR3JpZENsYXNzO1xuICAgIGNvbnN0IHByb3BlcnR5VHlwZXMgPSBHcmlkQ2xhc3MucHJvcGVydHlUeXBlcztcbiAgICBjb25zdCBncmlkID0gdGhpcy52YW5pbGxhR3JpZDtcblxuICAgIGZvciAoY29uc3QgbmFtZSBpbiBwcm9wZXJ0eVR5cGVzKSB7XG4gICAgICBpZiAobmFtZSBpbiB0aGlzKSB7XG4gICAgICAgIChncmlkIGFzIGFueSlbbmFtZV0gPSAodGhpcyBhcyBhbnkpW25hbWVdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3JlbmRlcmVyLnVwZGF0ZWQoY2hpbGRyZW4pO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudmFuaWxsYUdyaWQ/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEl0ZW1JbmZvcygpOiBJbmZpbml0ZUdyaWRJdGVtSW5mb1tdIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgY29uc3QgdHJhY2tCeSA9IHRoaXMudHJhY2tCeTtcbiAgICBjb25zdCBncm91cEJ5ID0gdGhpcy5ncm91cEJ5O1xuXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBLZXk6IGdyb3VwQnkoaSwgaXRlbSksXG4gICAgICAgIGtleTogdHJhY2tCeShpLCBpdGVtKSxcbiAgICAgICAgZGF0YTogaXRlbSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBfdXBkYXRlVmlzaWJsZUNoaWxkcmVuKCkge1xuICAgIHRoaXMudmlzaWJsZUl0ZW1zID0gZ2V0UmVuZGVyaW5nSXRlbXModGhpcy5fZ2V0SXRlbUluZm9zKCksIHtcbiAgICAgIGdyaWQ6IHRoaXMudmFuaWxsYUdyaWQsXG4gICAgICB1c2VGaXJzdFJlbmRlcjogdGhpcy51c2VGaXJzdFJlbmRlcixcbiAgICAgIHVzZUxvYWRpbmc6IHRoaXMudXNlTG9hZGluZyxcbiAgICAgIHVzZVBsYWNlaG9sZGVyOiB0aGlzLnVzZVBsYWNlaG9sZGVyLFxuICAgICAgaG9yaXpvbnRhbDogdGhpcy5ob3Jpem9udGFsLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -174,6 +174,7 @@ NgxInfiniteGridComponent.propDecorators = {
174
174
  outlineSize: [{ type: Input }],
175
175
  useRoundedSize: [{ type: Input }],
176
176
  useResizeObserver: [{ type: Input }],
177
+ observeChildren: [{ type: Input }],
177
178
  usePlaceholder: [{ type: Input }],
178
179
  useLoading: [{ type: Input }],
179
180
  status: [{ type: Input }],
@@ -1 +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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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":";;;;;MAKa,sBAAsB;IAEjC,iBAAiB;;;;YALlB,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;MCIY,wBAAwB;CAGpC;AADC;IADC,uBAAuB;6DACoB;;ACV9C;;;;;AA8BA;MAQa,wBACX,SAAQ,wBAAwB;IAmDhC,YAAsB,UAAsB,EAA+B,SAAiB;QAC1F,KAAK,EAAE,CAAC;QADY,eAAU,GAAV,UAAU,CAAY;QAA+B,cAAS,GAAT,SAAS,CAAQ;QAdnF,UAAK,GAAkC,EAAE,CAAC;QAC1C,YAAO,IAAqC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,YAAO,IAAqC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QAM1E,iBAAY,GAAuB,EAAE,CAAC;QAGrC,cAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,cAAS,GAAG,KAAK,CAAC;QAIxB,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;YACtC,MAAM,SAAS,GAAI,mBAA2B,CAAC,IAAI,CAAC,CAAC;YACpD,IAAY,CAAC,SAAS,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;SAC/C;KACF;IAGD,QAAQ;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IACD,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IACD,eAAe;;QACb,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO;SACR;QACD,MAAM,SAAS,GAAI,IAAI,CAAC,WAA+C,CAAC,SAAS,CAAC;QAClF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAChD,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,MAAM,gBAAgB,SAAG,IAAI,CAAC,aAAa,0CAAE,aAAa,CAAC;QAE3D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;YACjC,IAAI,IAAI,IAAI,IAAI,IAAI,OAAQ,IAAY,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBAC7D,OAAe,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;aAC9C;SACF;QACD,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;SACtC;QACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAY,IAAI,IAAI,CAAC,UAAU,CAAC;QAErD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE3D,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;YACtC,MAAM,SAAS,GAAI,mBAA2B,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAM;gBACvB,IAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAC;aACzC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B,CAAC,CAAC;QAEH,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;YACxC,IAAI;YACJ,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;KAC1B;IACD,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACxC,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;YAChD,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,MAAM,SAAS,GAAI,IAAI,CAAC,WAA+C,CAAC,SAAS,CAAC;QAClF,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;YAChC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACf,IAAY,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;aAC3C;SACF;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KAClC;IACD,WAAW;;QACT,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,GAAG;KAC7B;IAEO,aAAa;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC1B,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;gBACrB,IAAI,EAAE,IAAI;aACX,CAAC;SACH,CAAC,CAAC;KACJ;IACO,sBAAsB;QAC5B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1D,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;KACJ;;;YAzKF,SAAS,SAAC;gBACT,QAAQ,EAAE,sCAAsC;gBAChD,QAAQ,EAAE,eAAe;yBAEvB,0BAA0B;aAE7B;;;YA/B6C,UAAU;YAoFgC,MAAM,uBAA7C,MAAM,SAAC,WAAW;;;8BA9ChE,KAAK;uBACL,KAAK;wBACL,KAAK;2BACL,KAAK;wBACL,KAAK;yBACL,KAAK;yBACL,KAAK;yBACL,KAAK;0BACL,KAAK;6BACL,KAAK;kBACL,KAAK;8BACL,KAAK;6BACL,KAAK;gCACL,KAAK;yBACL,KAAK;qBACL,KAAK;2BACL,KAAK;qCACL,KAAK;kCACL,KAAK;+BACL,KAAK;mCACL,KAAK;uCACL,KAAK;4BACL,KAAK;0BACL,KAAK;6BACL,KAAK;gCACL,KAAK;6BAGL,KAAK;yBACL,KAAK;qBACL,KAAK;6BACL,KAAK;oBACL,KAAK;sBACL,KAAK;sBACL,KAAK;6BACL,MAAM;2BACN,MAAM;2BACN,MAAM;4BACN,MAAM;6BACN,MAAM;0BAEN,SAAS,SAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;4BACzC,SAAS,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;MCtFjC,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;MCgBX,+BAAgC,SAAQ,wBAAwB;;AAE7D,yCAAS,GAAGA,mBAA0B,CAAC;;YAPtD,SAAS,SAAC;gBACT,QAAQ,EAAE,qDAAqD;gBAC/D,QAAQ,EAAE,QAAQ;aAEnB;;;qBAIE,KAAK;yBACL,KAAK;8BACL,KAAK;oBACL,KAAK;yCACL,KAAK;;;MCPK,iCAAkC,SAAQ,wBAAwB;;AAO/D,2CAAS,GAAGC,qBAA4B,CAAC;;YAZxD,SAAS,SAAC;gBACT,QAAQ,EAAE,yDAAyD;gBACnE,QAAQ,EAAE,QAAQ;aAEnB;;;0BAGE,KAAK;uBACL,KAAK;wBACL,KAAK;2BACL,KAAK;4BACL,KAAK;;;MCNK,6BAA8B,SAAQ,wBAAwB;;AAK3D,uCAAS,GAAGC,iBAAwB,CAAC;;YAVpD,SAAS,SAAC;gBACT,QAAQ,EAAE,iDAAiD;gBAC3D,QAAQ,EAAE,QAAQ;aAEnB;;;oBAGE,KAAK;2BACL,KAAK;uBACL,KAAK;;;MCJK,+BAAgC,SAAQ,wBAAwB;;AAM7D,yCAAS,GAAGC,mBAA0B,CAAC;;YAXtD,SAAS,SAAC;gBACT,QAAQ,EAAE,qDAAqD;gBAC/D,QAAQ,EAAE,QAAQ;aAEnB;;;0BAGE,KAAK;yBACL,KAAK;0BACL,KAAK;6BACL,KAAK;;;MCSK,qBAAqB;;;YAnBjC,QAAQ,SAAC;gBACR,YAAY,EAAE;oBACZ,wBAAwB;oBACxB,+BAA+B;oBAC/B,iCAAiC;oBACjC,6BAA6B;oBAC7B,+BAA+B;iBAChC;gBACD,OAAO,EAAE;oBACP,YAAY;iBACb;gBACD,OAAO,EAAE;oBACP,wBAAwB;oBACxB,+BAA+B;oBAC/B,iCAAiC;oBACjC,6BAA6B;oBAC7B,+BAA+B;iBAChC;aACF;;;AC7BD;;;;ACAA;;;;;;"}
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() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n @Input() observeChildren!: NgxInfiniteGridProps['observeChildren'];\n\n\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, @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 const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\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(children);\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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"}
@@ -37,6 +37,7 @@ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface i
37
37
  outlineSize: NgxInfiniteGridProps['outlineSize'];
38
38
  useRoundedSize: NgxInfiniteGridProps['useRoundedSize'];
39
39
  useResizeObserver: NgxInfiniteGridProps['useResizeObserver'];
40
+ observeChildren: NgxInfiniteGridProps['observeChildren'];
40
41
  usePlaceholder: NgxInfiniteGridProps['useFirstRender'];
41
42
  useLoading: NgxInfiniteGridProps['useLoading'];
42
43
  status: NgxInfiniteGridProps['status'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/ngx-infinitegrid",
3
- "version": "4.2.1",
3
+ "version": "4.4.0",
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,7 +22,7 @@
22
22
  "@angular/core": "^11.2.14"
23
23
  },
24
24
  "dependencies": {
25
- "@egjs/infinitegrid": "~4.2.1",
25
+ "@egjs/infinitegrid": "~4.4.0",
26
26
  "tslib": "^2.0.0"
27
27
  },
28
28
  "main": "bundles/egjs-ngx-infinitegrid.umd.js",