@uniprank/ngx-scrollspy 1.0.9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +102 -81
  2. package/fesm2022/uniprank-ngx-scrollspy.mjs +389 -0
  3. package/fesm2022/uniprank-ngx-scrollspy.mjs.map +1 -0
  4. package/index.d.ts +6 -0
  5. package/lib/ngx-scrollspy.module.d.ts +24 -1
  6. package/lib/ngx-scrollspy.module.d.ts.map +1 -0
  7. package/lib/scroll-direction.enum.d.ts +1 -0
  8. package/lib/scroll-direction.enum.d.ts.map +1 -0
  9. package/lib/scroll-element.directive.d.ts +12 -9
  10. package/lib/scroll-element.directive.d.ts.map +1 -0
  11. package/lib/scroll-element.interface.d.ts +1 -0
  12. package/lib/scroll-element.interface.d.ts.map +1 -0
  13. package/lib/scroll-item.directive.d.ts +12 -12
  14. package/lib/scroll-item.directive.d.ts.map +1 -0
  15. package/lib/scroll-object.interface.d.ts +1 -0
  16. package/lib/scroll-object.interface.d.ts.map +1 -0
  17. package/lib/scroll-spy.directive.d.ts +11 -10
  18. package/lib/scroll-spy.directive.d.ts.map +1 -0
  19. package/lib/scroll-spy.service.d.ts +13 -10
  20. package/lib/scroll-spy.service.d.ts.map +1 -0
  21. package/package.json +22 -15
  22. package/public-api.d.ts +3 -1
  23. package/public-api.d.ts.map +1 -0
  24. package/uniprank-ngx-scrollspy.d.ts.map +1 -0
  25. package/CHANGELOG.md +0 -26
  26. package/bundles/uniprank-ngx-scrollspy.umd.js +0 -649
  27. package/bundles/uniprank-ngx-scrollspy.umd.js.map +0 -1
  28. package/bundles/uniprank-ngx-scrollspy.umd.min.js +0 -16
  29. package/bundles/uniprank-ngx-scrollspy.umd.min.js.map +0 -1
  30. package/esm2015/lib/ngx-scrollspy.module.js +0 -28
  31. package/esm2015/lib/scroll-direction.enum.js +0 -6
  32. package/esm2015/lib/scroll-element.directive.js +0 -63
  33. package/esm2015/lib/scroll-element.interface.js +0 -1
  34. package/esm2015/lib/scroll-item.directive.js +0 -61
  35. package/esm2015/lib/scroll-object.interface.js +0 -1
  36. package/esm2015/lib/scroll-spy.directive.js +0 -60
  37. package/esm2015/lib/scroll-spy.service.js +0 -210
  38. package/esm2015/public-api.js +0 -14
  39. package/esm2015/uniprank-ngx-scrollspy.js +0 -6
  40. package/esm5/lib/ngx-scrollspy.module.js +0 -33
  41. package/esm5/lib/scroll-direction.enum.js +0 -6
  42. package/esm5/lib/scroll-element.directive.js +0 -65
  43. package/esm5/lib/scroll-element.interface.js +0 -1
  44. package/esm5/lib/scroll-item.directive.js +0 -63
  45. package/esm5/lib/scroll-object.interface.js +0 -1
  46. package/esm5/lib/scroll-spy.directive.js +0 -62
  47. package/esm5/lib/scroll-spy.service.js +0 -219
  48. package/esm5/public-api.js +0 -14
  49. package/esm5/uniprank-ngx-scrollspy.js +0 -6
  50. package/fesm2015/uniprank-ngx-scrollspy.js +0 -415
  51. package/fesm2015/uniprank-ngx-scrollspy.js.map +0 -1
  52. package/fesm5/uniprank-ngx-scrollspy.js +0 -435
  53. package/fesm5/uniprank-ngx-scrollspy.js.map +0 -1
  54. package/uniprank-ngx-scrollspy.d.ts +0 -5
  55. package/uniprank-ngx-scrollspy.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniprank-ngx-scrollspy.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@uniprank/ngx-scrollspy/lib/scroll-direction.enum.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-spy.service.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-spy.directive.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-element.directive.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-item.directive.ts","ng://@uniprank/ngx-scrollspy/lib/ngx-scrollspy.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum ScrollDirectionEnum {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n","import { Injectable, ElementRef, Inject, InjectionToken, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BehaviorSubject, Observable, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\n\nimport { ScrollObjectInterface } from './scroll-object.interface';\nimport { ScrollElementInterface } from './scroll-element.interface';\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\n\nconst defaultElementId = 'window';\n\nexport const SPY_CONFIG = new InjectionToken<SpyConfig>(null);\n\nexport interface SpyConfig {\n /**\n * @param boolean lookAhead\n * Set the first scroll item active even when the scroll element has not yet been reached\n */\n lookAhead?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n activateOnlySetItems?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n attributeType?: 'id' | 'data-id';\n}\n\n@Injectable()\nexport class ScrollSpyService {\n private _scrollItems: { [itemId: string]: ScrollObjectInterface } = {};\n private _scrollElements: { [scrollElementId: string]: ScrollElementInterface } = {};\n private _$scrollElementListener: { [scrollElementId: string]: BehaviorSubject<ScrollObjectInterface> } = {};\n\n private _scrollElementListener: { [scrollElementId: string]: ScrollObjectInterface } = {};\n\n private _onStopListening = new Subject();\n private _resizeEvents = fromEvent(window, 'resize').pipe(auditTime(300), takeUntil(this._onStopListening));\n private _scrollEvents = fromEvent(window, 'scroll').pipe(auditTime(10), takeUntil(this._onStopListening));\n\n private _lookAhead: boolean;\n private _activateOnlySetItems: boolean;\n\n readonly attributeType: 'id' | 'data-id';\n\n constructor(@Inject(DOCUMENT) private doc: any, @Inject(SPY_CONFIG) @Optional() config?: SpyConfig) {\n this._initScrollElementListener(\n defaultElementId,\n this._generateScrollElement(defaultElementId, new ElementRef(doc.documentElement || doc.body), ScrollDirectionEnum.vertical)\n );\n\n this._resizeEvents.subscribe(() => this._windowScroll());\n this._scrollEvents.subscribe(() => this._windowScroll());\n this._windowScroll();\n if (config !== null) {\n this._lookAhead = config.lookAhead;\n this._activateOnlySetItems = config.activateOnlySetItems;\n this.attributeType = config.attributeType;\n } else {\n this._lookAhead = false;\n this._activateOnlySetItems = false;\n this.attributeType = 'id';\n }\n }\n\n private _initScrollElementListener(scrollElementId: string, scrollElement: ScrollElementInterface): void {\n this._scrollElements[scrollElementId] = scrollElement;\n this._scrollElementListener[scrollElementId] = null;\n this._$scrollElementListener[scrollElementId] = new BehaviorSubject(null);\n }\n\n private _windowScroll() {\n this.updateScrollElement(defaultElementId);\n }\n\n private _generateScrollElement(\n scrollElementId: string,\n elementRef: ElementRef,\n direction: ScrollDirectionEnum,\n offset: number = 0\n ): ScrollElementInterface {\n return {\n id: scrollElementId,\n elementRef,\n direction,\n offset\n };\n }\n\n public setOffset(scrollElementId: string, offset: number): void {\n this._checkScrollElementExists(scrollElementId);\n this._scrollElements[scrollElementId].offset = offset;\n }\n\n public setScrollElement(scrollElementId: string, elementRef: ElementRef, direction: ScrollDirectionEnum, offset: number = 0): void {\n this._checkScrollElementNotExists(scrollElementId);\n this._initScrollElementListener(scrollElementId, this._generateScrollElement(scrollElementId, elementRef, direction, offset));\n }\n\n private _checkScrollElementNotExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] != null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] exists.`);\n }\n }\n\n public setItem(itemId: string, elementRef: ElementRef, scrollElementId = defaultElementId): void {\n this._checkItemNotExists(itemId);\n this._scrollItems[itemId] = this._generateScrollObject(itemId, elementRef, scrollElementId);\n this._setDefaultItem(itemId, scrollElementId);\n }\n\n private _checkItemNotExists(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] exists.`);\n }\n }\n\n private _generateScrollObject(id: string, elementRef: ElementRef, scrollElementId: string): ScrollObjectInterface {\n return {\n id,\n scrollElementId,\n elementRef,\n nativeElement: elementRef.nativeElement\n };\n }\n\n private _setDefaultItem(itemId: string, scrollElementId: string): void {\n if (this._lookAhead) {\n return;\n }\n const _value = this._scrollElementListener[scrollElementId];\n if (_value == null) {\n this._setScrollElementListener(scrollElementId, this._scrollItems[itemId]);\n }\n }\n\n private _setScrollElementListener(scrollElementId: string, scrollObject: ScrollObjectInterface): void {\n this._scrollElementListener[scrollElementId] = scrollObject;\n setTimeout(() => this._$scrollElementListener[scrollElementId].next(scrollObject));\n }\n\n public changeScrollElement(itemId: string, oldElementId: string, newElementId: string, override = false) {\n this._checkScrollElementExists(oldElementId);\n this._checkScrollElementExists(newElementId);\n this._checkItemExists(itemId);\n\n const _scrollItem = this._scrollItems[itemId];\n if ((_scrollItem.scrollElementId !== defaultElementId && override) || _scrollItem.scrollElementId === defaultElementId) {\n this._scrollItems[itemId].scrollElementId = newElementId;\n }\n\n this._setDefaultItem(itemId, newElementId);\n\n const _oldElements = this._getElementItems(oldElementId);\n if (_oldElements.length > 0) {\n this._setDefaultItem(_oldElements[0].id, oldElementId);\n }\n }\n\n private _getElementItems(scrollElementId: string): Array<ScrollObjectInterface> {\n const _items = [];\n for (const key in this._scrollItems) {\n if (this._scrollItems.hasOwnProperty(key)) {\n const value = this._scrollItems[key];\n if (value.scrollElementId === scrollElementId) {\n _items.push(value);\n }\n }\n }\n return _items;\n }\n\n private _checkItemExists(itemId: string): void {\n if (this._scrollItems[itemId] == null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] doesn't exist.`);\n }\n }\n\n public observe(scrollElementId: string = defaultElementId): Observable<ScrollObjectInterface> {\n this._checkScrollElementExists(scrollElementId);\n return this._$scrollElementListener[scrollElementId].asObservable();\n }\n\n private _checkScrollElementExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] == null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] doesn't exist.`);\n }\n }\n\n public updateScrollElement(scrollElementId: string): void {\n this._checkScrollElementExists(scrollElementId);\n\n const _element = this._scrollElements[scrollElementId];\n const _elementItems = this._getElementItems(scrollElementId);\n\n const _nextActiveItem = this._getActiveItem(_element, _elementItems);\n const _currentActiveItem = this._scrollElementListener[scrollElementId];\n\n if (_currentActiveItem == null) {\n if (_nextActiveItem != null) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem != null) {\n if (_currentActiveItem.id !== _nextActiveItem.id) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem == null && this._lookAhead) {\n this._setScrollElementListener(scrollElementId, null);\n }\n }\n\n private _getActiveItem(scrollElement: ScrollElementInterface, listOfElements: Array<ScrollObjectInterface>): ScrollObjectInterface {\n const _direction = scrollElement.direction;\n let _scrollObject = null;\n\n const nativeElement = scrollElement.elementRef.nativeElement;\n listOfElements.forEach((_element) => {\n let _active = false;\n switch (_direction) {\n case ScrollDirectionEnum.horizontal:\n const _scrollLeft = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageXOffset) || 0 : nativeElement.scrollLeft;\n _active = _element.nativeElement.offsetLeft <= _scrollLeft + scrollElement.offset;\n break;\n\n default: {\n const _scrollTop = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageYOffset) || 0 : nativeElement.scrollTop;\n if (this._activateOnlySetItems) {\n _active =\n _element.nativeElement.offsetTop < _scrollTop + scrollElement.offset &&\n _element.nativeElement.offsetTop + _element.nativeElement.offsetHeight > _scrollTop + scrollElement.offset;\n } else {\n _active = _element.nativeElement.offsetTop <= _scrollTop + scrollElement.offset;\n }\n }\n }\n if (_active) {\n _scrollObject = _element;\n }\n });\n return _scrollObject;\n }\n\n public deleteScrollElement(scrollElementId: string): void {\n if (scrollElementId === 'window') {\n this._setScrollElementListener(scrollElementId, null);\n } else {\n this._checkScrollElementExists(scrollElementId);\n delete this._scrollElements[scrollElementId];\n delete this._$scrollElementListener[scrollElementId];\n delete this._scrollElementListener[scrollElementId];\n }\n }\n\n public deleteItem(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n delete this._scrollItems[itemId];\n }\n }\n}\n","import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollSpy]'\n})\nexport class ScrollSpyDirective implements AfterViewInit, OnDestroy {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollSpy') itemId: string;\n @Input() scrollElement = 'window';\n\n private _subscriber: Subscription;\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n this._scrollSpyService.deleteItem(this.itemId);\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n if (element != null) {\n const _active = element.id === this.itemId;\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n }\n });\n this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);\n\n let _keyType = 'id';\n if (this._scrollSpyService.attributeType === 'data-id') {\n _keyType = 'data-id';\n }\n this._el.nativeElement.setAttribute(_keyType, this.itemId);\n }\n}\n","import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';\n\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\nimport { ScrollSpyService } from './scroll-spy.service';\nimport { ScrollSpyDirective } from './scroll-spy.directive';\n\n@Directive({\n selector: '[uniScrollElement]'\n})\nexport class ScrollElementDirective implements OnInit, AfterViewInit, OnDestroy {\n @Input('uniScrollElement') elementId: string;\n @Input() direction: ScrollDirectionEnum = ScrollDirectionEnum.vertical;\n\n @ContentChildren(ScrollSpyDirective, { descendants: true })\n private _scrollSpyElements: QueryList<ScrollSpyDirective>;\n\n @HostListener('scroll', ['$event'])\n onScroll($event) {\n this._scrollSpyService.updateScrollElement(this.elementId);\n }\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService) {}\n\n ngOnInit(): void {\n this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);\n if (this._scrollSpyService.attributeType === 'id') {\n this._el.nativeElement.setAttribute('id', this.elementId);\n } else {\n this._el.nativeElement.setAttribute('data-id', this.elementId);\n }\n }\n\n ngAfterViewInit(): void {\n const _scrollSpyElements: ScrollSpyDirective[] = this._scrollSpyElements.toArray();\n _scrollSpyElements.forEach((element) => {\n this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);\n });\n }\n\n ngOnDestroy(): void {\n this._scrollSpyService.deleteScrollElement(this.elementId);\n }\n}\n","import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollItem]'\n})\nexport class ScrollItemDirective implements OnDestroy, AfterViewInit {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollItem') itemId: string;\n @Input() scrollElement = 'window';\n\n @Output() activeEvent: EventEmitter<boolean> = new EventEmitter();\n\n private _subscriber: Subscription;\n\n constructor(private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n let _active;\n if (element != null) {\n _active = element.id === this.itemId;\n this.activeEvent.emit(_active);\n } else {\n _active = false;\n }\n\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n });\n }\n}\n","import { NgModule, Provider, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\n\nimport { ScrollSpyDirective } from './scroll-spy.directive';\nimport { ScrollItemDirective } from './scroll-item.directive';\nimport { ScrollElementDirective } from './scroll-element.directive';\n\nimport { SPY_CONFIG, SpyConfig, ScrollSpyService } from './scroll-spy.service';\nimport { CommonModule } from '@angular/common';\n\nconst directives: any[] = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];\nconst components: any[] = [];\nconst providers: Provider[] = [ScrollSpyService];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...directives, ...components],\n exports: [...directives, ...components]\n})\nexport class NgxScrollspyModule {\n public static forRoot(parameters: SpyConfig = { lookAhead: false }): ModuleWithProviders<NgxScrollspyModule> {\n return {\n ngModule: NgxScrollspyModule,\n providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]\n };\n }\n}\n"],"names":["ScrollDirectionEnum","InjectionToken","Subject","fromEvent","auditTime","takeUntil","ElementRef","BehaviorSubject","Inject","DOCUMENT","Optional","Injectable","ChangeDetectorRef","HostBinding","Input","Directive","ContentChildren","QueryList","HostListener","EventEmitter","Output","NgModule","CommonModule"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@uniprank/ngx-scrollspy",["exports","@angular/core","@angular/common","rxjs","rxjs/operators"],t):t(((e=e||self).uniprank=e.uniprank||{},e.uniprank["ngx-scrollspy"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators)}(this,(function(e,t,i,n,r){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation. All rights reserved.
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
5
- this file except in compliance with the License. You may obtain a copy of the
6
- License at http://www.apache.org/licenses/LICENSE-2.0
7
-
8
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
10
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
11
- MERCHANTABLITY OR NON-INFRINGEMENT.
12
-
13
- See the Apache Version 2.0 License for specific language governing permissions
14
- and limitations under the License.
15
- ***************************************************************************** */var o;function l(e,t,i,n){var r,o=arguments.length,l=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(l=(o<3?r(l):o>3?r(t,i,l):r(t,i))||l);return o>3&&l&&Object.defineProperty(t,i,l),l}function s(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)l.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return l}function u(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(p(arguments[t]));return e}(o=e.ScrollDirectionEnum||(e.ScrollDirectionEnum={})).vertical="vertical",o.horizontal="horizontal";var h=new t.InjectionToken(null),m=function(){function o(i,o){var l=this;this.doc=i,this._scrollItems={},this._scrollElements={},this._$scrollElementListener={},this._scrollElementListener={},this._onStopListening=new n.Subject,this._resizeEvents=n.fromEvent(window,"resize").pipe(r.auditTime(300),r.takeUntil(this._onStopListening)),this._scrollEvents=n.fromEvent(window,"scroll").pipe(r.auditTime(10),r.takeUntil(this._onStopListening)),this._initScrollElementListener("window",this._generateScrollElement("window",new t.ElementRef(i.documentElement||i.body),e.ScrollDirectionEnum.vertical)),this._resizeEvents.subscribe((function(){return l._windowScroll()})),this._scrollEvents.subscribe((function(){return l._windowScroll()})),this._windowScroll(),null!==o?(this._lookAhead=o.lookAhead,this._activateOnlySetItems=o.activateOnlySetItems,this.attributeType=o.attributeType):(this._lookAhead=!1,this._activateOnlySetItems=!1,this.attributeType="id")}return o.prototype._initScrollElementListener=function(e,t){this._scrollElements[e]=t,this._scrollElementListener[e]=null,this._$scrollElementListener[e]=new n.BehaviorSubject(null)},o.prototype._windowScroll=function(){this.updateScrollElement("window")},o.prototype._generateScrollElement=function(e,t,i,n){return void 0===n&&(n=0),{id:e,elementRef:t,direction:i,offset:n}},o.prototype.setOffset=function(e,t){this._checkScrollElementExists(e),this._scrollElements[e].offset=t},o.prototype.setScrollElement=function(e,t,i,n){void 0===n&&(n=0),this._checkScrollElementNotExists(e),this._initScrollElementListener(e,this._generateScrollElement(e,t,i,n))},o.prototype._checkScrollElementNotExists=function(e){if(null!=this._scrollElements[e])throw new Error("ScrollSpyService: The scroll element with the id ["+e+"] exists.")},o.prototype.setItem=function(e,t,i){void 0===i&&(i="window"),this._checkItemNotExists(e),this._scrollItems[e]=this._generateScrollObject(e,t,i),this._setDefaultItem(e,i)},o.prototype._checkItemNotExists=function(e){if(null!=this._scrollItems[e])throw new Error("ScrollSpyService: The scroll item with the id ["+e+"] exists.")},o.prototype._generateScrollObject=function(e,t,i){return{id:e,scrollElementId:i,elementRef:t,nativeElement:t.nativeElement}},o.prototype._setDefaultItem=function(e,t){this._lookAhead||null==this._scrollElementListener[t]&&this._setScrollElementListener(t,this._scrollItems[e])},o.prototype._setScrollElementListener=function(e,t){var i=this;this._scrollElementListener[e]=t,setTimeout((function(){return i._$scrollElementListener[e].next(t)}))},o.prototype.changeScrollElement=function(e,t,i,n){void 0===n&&(n=!1),this._checkScrollElementExists(t),this._checkScrollElementExists(i),this._checkItemExists(e);var r=this._scrollItems[e];("window"!==r.scrollElementId&&n||"window"===r.scrollElementId)&&(this._scrollItems[e].scrollElementId=i),this._setDefaultItem(e,i);var o=this._getElementItems(t);o.length>0&&this._setDefaultItem(o[0].id,t)},o.prototype._getElementItems=function(e){var t=[];for(var i in this._scrollItems)if(this._scrollItems.hasOwnProperty(i)){var n=this._scrollItems[i];n.scrollElementId===e&&t.push(n)}return t},o.prototype._checkItemExists=function(e){if(null==this._scrollItems[e])throw new Error("ScrollSpyService: The scroll item with the id ["+e+"] doesn't exist.")},o.prototype.observe=function(e){return void 0===e&&(e="window"),this._checkScrollElementExists(e),this._$scrollElementListener[e].asObservable()},o.prototype._checkScrollElementExists=function(e){if(null==this._scrollElements[e])throw new Error("ScrollSpyService: The scroll element with the id ["+e+"] doesn't exist.")},o.prototype.updateScrollElement=function(e){this._checkScrollElementExists(e);var t=this._scrollElements[e],i=this._getElementItems(e),n=this._getActiveItem(t,i),r=this._scrollElementListener[e];null==r?null!=n&&this._setScrollElementListener(e,n):null!=n?r.id!==n.id&&this._setScrollElementListener(e,n):null==n&&this._lookAhead&&this._setScrollElementListener(e,null)},o.prototype._getActiveItem=function(t,i){var n=this,r=t.direction,o=null,l=t.elementRef.nativeElement;return i.forEach((function(i){var s=!1;switch(r){case e.ScrollDirectionEnum.horizontal:var c="window"===t.id.toLowerCase()?window&&window.pageXOffset||0:l.scrollLeft;s=i.nativeElement.offsetLeft<=c+t.offset;break;default:var p="window"===t.id.toLowerCase()?window&&window.pageYOffset||0:l.scrollTop;s=n._activateOnlySetItems?i.nativeElement.offsetTop<p+t.offset&&i.nativeElement.offsetTop+i.nativeElement.offsetHeight>p+t.offset:i.nativeElement.offsetTop<=p+t.offset}s&&(o=i)})),o},o.prototype.deleteScrollElement=function(e){"window"===e?this._setScrollElementListener(e,null):(this._checkScrollElementExists(e),delete this._scrollElements[e],delete this._$scrollElementListener[e],delete this._scrollElementListener[e])},o.prototype.deleteItem=function(e){null!=this._scrollItems[e]&&delete this._scrollItems[e]},o.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[i.DOCUMENT]}]},{type:void 0,decorators:[{type:t.Inject,args:[h]},{type:t.Optional}]}]},o=l([t.Injectable(),s(0,t.Inject(i.DOCUMENT)),s(1,t.Inject(h)),s(1,t.Optional()),c("design:paramtypes",[Object,Object])],o)}(),a=function(){function e(e,t,i){this._el=e,this._scrollSpyService=t,this._cdr=i,this.classActive=!1,this.scrollElement="window"}return e.prototype.ngOnDestroy=function(){this._subscriber&&this._subscriber.unsubscribe(),this._scrollSpyService.deleteItem(this.itemId)},e.prototype.ngAfterViewInit=function(){var e=this;this._subscriber=this._scrollSpyService.observe(this.scrollElement).subscribe((function(t){if(null!=t){var i=t.id===e.itemId;setTimeout((function(){e.classActive=i,e._cdr.markForCheck()}))}})),this._scrollSpyService.setItem(this.itemId,this._el,this.scrollElement);var t="id";"data-id"===this._scrollSpyService.attributeType&&(t="data-id"),this._el.nativeElement.setAttribute(t,this.itemId)},e.ctorParameters=function(){return[{type:t.ElementRef},{type:m},{type:t.ChangeDetectorRef}]},l([t.HostBinding("class.active"),c("design:type",Object)],e.prototype,"classActive",void 0),l([t.Input("uniScrollSpy"),c("design:type",String)],e.prototype,"itemId",void 0),l([t.Input(),c("design:type",Object)],e.prototype,"scrollElement",void 0),e=l([t.Directive({selector:"[uniScrollSpy]"}),c("design:paramtypes",[t.ElementRef,m,t.ChangeDetectorRef])],e)}(),d=function(){function i(t,i){this._el=t,this._scrollSpyService=i,this.direction=e.ScrollDirectionEnum.vertical}return i.prototype.onScroll=function(e){this._scrollSpyService.updateScrollElement(this.elementId)},i.prototype.ngOnInit=function(){this._scrollSpyService.setScrollElement(this.elementId,this._el,this.direction),"id"===this._scrollSpyService.attributeType?this._el.nativeElement.setAttribute("id",this.elementId):this._el.nativeElement.setAttribute("data-id",this.elementId)},i.prototype.ngAfterViewInit=function(){var e=this;this._scrollSpyElements.toArray().forEach((function(t){e._scrollSpyService.changeScrollElement(t.itemId,t.scrollElement,e.elementId)}))},i.prototype.ngOnDestroy=function(){this._scrollSpyService.deleteScrollElement(this.elementId)},i.ctorParameters=function(){return[{type:t.ElementRef},{type:m}]},l([t.Input("uniScrollElement"),c("design:type",String)],i.prototype,"elementId",void 0),l([t.Input(),c("design:type",String)],i.prototype,"direction",void 0),l([t.ContentChildren(a,{descendants:!0}),c("design:type",t.QueryList)],i.prototype,"_scrollSpyElements",void 0),l([t.HostListener("scroll",["$event"]),c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],i.prototype,"onScroll",null),i=l([t.Directive({selector:"[uniScrollElement]"}),c("design:paramtypes",[t.ElementRef,m])],i)}(),f=function(){function e(e,i){this._scrollSpyService=e,this._cdr=i,this.classActive=!1,this.scrollElement="window",this.activeEvent=new t.EventEmitter}return e.prototype.ngOnDestroy=function(){this._subscriber&&this._subscriber.unsubscribe()},e.prototype.ngAfterViewInit=function(){var e=this;this._subscriber=this._scrollSpyService.observe(this.scrollElement).subscribe((function(t){var i;null!=t?(i=t.id===e.itemId,e.activeEvent.emit(i)):i=!1,setTimeout((function(){e.classActive=i,e._cdr.markForCheck()}))}))},e.ctorParameters=function(){return[{type:m},{type:t.ChangeDetectorRef}]},l([t.HostBinding("class.active"),c("design:type",Object)],e.prototype,"classActive",void 0),l([t.Input("uniScrollItem"),c("design:type",String)],e.prototype,"itemId",void 0),l([t.Input(),c("design:type",Object)],e.prototype,"scrollElement",void 0),l([t.Output(),c("design:type",t.EventEmitter)],e.prototype,"activeEvent",void 0),e=l([t.Directive({selector:"[uniScrollItem]"}),c("design:paramtypes",[m,t.ChangeDetectorRef])],e)}(),y=[a,f,d],E=[],v=[m],_=function(){function e(){}var n;return n=e,e.forRoot=function(e){return void 0===e&&(e={lookAhead:!1}),{ngModule:n,providers:u(v,[{provide:h,useValue:e}])}},e=n=l([t.NgModule({imports:[i.CommonModule],declarations:u(y,E),exports:u(y,E)})],e)}();e.NgxScrollspyModule=_,e.ScrollElementDirective=d,e.ScrollItemDirective=f,e.ScrollSpyDirective=a,e.ScrollSpyService=m,e.ɵa=h,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=uniprank-ngx-scrollspy.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@uniprank/ngx-scrollspy/lib/scroll-direction.enum.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-spy.service.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-spy.directive.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-element.directive.ts","ng://@uniprank/ngx-scrollspy/lib/scroll-item.directive.ts","ng://@uniprank/ngx-scrollspy/lib/ngx-scrollspy.module.ts"],"names":["ScrollDirectionEnum","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","__spread","concat","SPY_CONFIG","InjectionToken","ScrollSpyService","doc","config","_this","this","_scrollItems","_scrollElements","_$scrollElementListener","_scrollElementListener","_onStopListening","Subject","_resizeEvents","fromEvent","window","pipe","auditTime","takeUntil","_scrollEvents","_initScrollElementListener","_generateScrollElement","ElementRef","documentElement","body","vertical","subscribe","_windowScroll","_lookAhead","lookAhead","_activateOnlySetItems","activateOnlySetItems","attributeType","prototype","scrollElementId","scrollElement","BehaviorSubject","updateScrollElement","elementRef","direction","offset","id","setOffset","_checkScrollElementExists","setScrollElement","_checkScrollElementNotExists","Error","setItem","itemId","_checkItemNotExists","_generateScrollObject","_setDefaultItem","nativeElement","_setScrollElementListener","scrollObject","setTimeout","changeScrollElement","oldElementId","newElementId","override","_checkItemExists","_scrollItem","_oldElements","_getElementItems","_items","hasOwnProperty","observe","asObservable","_element","_elementItems","_nextActiveItem","_getActiveItem","_currentActiveItem","listOfElements","_direction","_scrollObject","forEach","_active","horizontal","_scrollLeft","toLowerCase","pageXOffset","scrollLeft","offsetLeft","_scrollTop","pageYOffset","scrollTop","offsetTop","offsetHeight","deleteScrollElement","deleteItem","Inject","args","DOCUMENT","type","Optional","Injectable","ScrollSpyDirective","_el","_scrollSpyService","_cdr","classActive","ngOnDestroy","_subscriber","unsubscribe","ngAfterViewInit","element","_active_1","markForCheck","_keyType","setAttribute","ChangeDetectorRef","HostBinding","Input","Directive","selector","ScrollElementDirective","onScroll","$event","elementId","ngOnInit","_scrollSpyElements","toArray","ContentChildren","descendants","QueryList","HostListener","ScrollItemDirective","activeEvent","EventEmitter","emit","Output","directives","components","providers","NgxScrollspyModule","forRoot","parameters","ngModule","NgxScrollspyModule_1","provide","useValue","NgModule","imports","CommonModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum ScrollDirectionEnum {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n","import { Injectable, ElementRef, Inject, InjectionToken, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BehaviorSubject, Observable, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\n\nimport { ScrollObjectInterface } from './scroll-object.interface';\nimport { ScrollElementInterface } from './scroll-element.interface';\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\n\nconst defaultElementId = 'window';\n\nexport const SPY_CONFIG = new InjectionToken<SpyConfig>(null);\n\nexport interface SpyConfig {\n /**\n * @param boolean lookAhead\n * Set the first scroll item active even when the scroll element has not yet been reached\n */\n lookAhead?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n activateOnlySetItems?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n attributeType?: 'id' | 'data-id';\n}\n\n@Injectable()\nexport class ScrollSpyService {\n private _scrollItems: { [itemId: string]: ScrollObjectInterface } = {};\n private _scrollElements: { [scrollElementId: string]: ScrollElementInterface } = {};\n private _$scrollElementListener: { [scrollElementId: string]: BehaviorSubject<ScrollObjectInterface> } = {};\n\n private _scrollElementListener: { [scrollElementId: string]: ScrollObjectInterface } = {};\n\n private _onStopListening = new Subject();\n private _resizeEvents = fromEvent(window, 'resize').pipe(auditTime(300), takeUntil(this._onStopListening));\n private _scrollEvents = fromEvent(window, 'scroll').pipe(auditTime(10), takeUntil(this._onStopListening));\n\n private _lookAhead: boolean;\n private _activateOnlySetItems: boolean;\n\n readonly attributeType: 'id' | 'data-id';\n\n constructor(@Inject(DOCUMENT) private doc: any, @Inject(SPY_CONFIG) @Optional() config?: SpyConfig) {\n this._initScrollElementListener(\n defaultElementId,\n this._generateScrollElement(defaultElementId, new ElementRef(doc.documentElement || doc.body), ScrollDirectionEnum.vertical)\n );\n\n this._resizeEvents.subscribe(() => this._windowScroll());\n this._scrollEvents.subscribe(() => this._windowScroll());\n this._windowScroll();\n if (config !== null) {\n this._lookAhead = config.lookAhead;\n this._activateOnlySetItems = config.activateOnlySetItems;\n this.attributeType = config.attributeType;\n } else {\n this._lookAhead = false;\n this._activateOnlySetItems = false;\n this.attributeType = 'id';\n }\n }\n\n private _initScrollElementListener(scrollElementId: string, scrollElement: ScrollElementInterface): void {\n this._scrollElements[scrollElementId] = scrollElement;\n this._scrollElementListener[scrollElementId] = null;\n this._$scrollElementListener[scrollElementId] = new BehaviorSubject(null);\n }\n\n private _windowScroll() {\n this.updateScrollElement(defaultElementId);\n }\n\n private _generateScrollElement(\n scrollElementId: string,\n elementRef: ElementRef,\n direction: ScrollDirectionEnum,\n offset: number = 0\n ): ScrollElementInterface {\n return {\n id: scrollElementId,\n elementRef,\n direction,\n offset\n };\n }\n\n public setOffset(scrollElementId: string, offset: number): void {\n this._checkScrollElementExists(scrollElementId);\n this._scrollElements[scrollElementId].offset = offset;\n }\n\n public setScrollElement(scrollElementId: string, elementRef: ElementRef, direction: ScrollDirectionEnum, offset: number = 0): void {\n this._checkScrollElementNotExists(scrollElementId);\n this._initScrollElementListener(scrollElementId, this._generateScrollElement(scrollElementId, elementRef, direction, offset));\n }\n\n private _checkScrollElementNotExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] != null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] exists.`);\n }\n }\n\n public setItem(itemId: string, elementRef: ElementRef, scrollElementId = defaultElementId): void {\n this._checkItemNotExists(itemId);\n this._scrollItems[itemId] = this._generateScrollObject(itemId, elementRef, scrollElementId);\n this._setDefaultItem(itemId, scrollElementId);\n }\n\n private _checkItemNotExists(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] exists.`);\n }\n }\n\n private _generateScrollObject(id: string, elementRef: ElementRef, scrollElementId: string): ScrollObjectInterface {\n return {\n id,\n scrollElementId,\n elementRef,\n nativeElement: elementRef.nativeElement\n };\n }\n\n private _setDefaultItem(itemId: string, scrollElementId: string): void {\n if (this._lookAhead) {\n return;\n }\n const _value = this._scrollElementListener[scrollElementId];\n if (_value == null) {\n this._setScrollElementListener(scrollElementId, this._scrollItems[itemId]);\n }\n }\n\n private _setScrollElementListener(scrollElementId: string, scrollObject: ScrollObjectInterface): void {\n this._scrollElementListener[scrollElementId] = scrollObject;\n setTimeout(() => this._$scrollElementListener[scrollElementId].next(scrollObject));\n }\n\n public changeScrollElement(itemId: string, oldElementId: string, newElementId: string, override = false) {\n this._checkScrollElementExists(oldElementId);\n this._checkScrollElementExists(newElementId);\n this._checkItemExists(itemId);\n\n const _scrollItem = this._scrollItems[itemId];\n if ((_scrollItem.scrollElementId !== defaultElementId && override) || _scrollItem.scrollElementId === defaultElementId) {\n this._scrollItems[itemId].scrollElementId = newElementId;\n }\n\n this._setDefaultItem(itemId, newElementId);\n\n const _oldElements = this._getElementItems(oldElementId);\n if (_oldElements.length > 0) {\n this._setDefaultItem(_oldElements[0].id, oldElementId);\n }\n }\n\n private _getElementItems(scrollElementId: string): Array<ScrollObjectInterface> {\n const _items = [];\n for (const key in this._scrollItems) {\n if (this._scrollItems.hasOwnProperty(key)) {\n const value = this._scrollItems[key];\n if (value.scrollElementId === scrollElementId) {\n _items.push(value);\n }\n }\n }\n return _items;\n }\n\n private _checkItemExists(itemId: string): void {\n if (this._scrollItems[itemId] == null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] doesn't exist.`);\n }\n }\n\n public observe(scrollElementId: string = defaultElementId): Observable<ScrollObjectInterface> {\n this._checkScrollElementExists(scrollElementId);\n return this._$scrollElementListener[scrollElementId].asObservable();\n }\n\n private _checkScrollElementExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] == null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] doesn't exist.`);\n }\n }\n\n public updateScrollElement(scrollElementId: string): void {\n this._checkScrollElementExists(scrollElementId);\n\n const _element = this._scrollElements[scrollElementId];\n const _elementItems = this._getElementItems(scrollElementId);\n\n const _nextActiveItem = this._getActiveItem(_element, _elementItems);\n const _currentActiveItem = this._scrollElementListener[scrollElementId];\n\n if (_currentActiveItem == null) {\n if (_nextActiveItem != null) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem != null) {\n if (_currentActiveItem.id !== _nextActiveItem.id) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem == null && this._lookAhead) {\n this._setScrollElementListener(scrollElementId, null);\n }\n }\n\n private _getActiveItem(scrollElement: ScrollElementInterface, listOfElements: Array<ScrollObjectInterface>): ScrollObjectInterface {\n const _direction = scrollElement.direction;\n let _scrollObject = null;\n\n const nativeElement = scrollElement.elementRef.nativeElement;\n listOfElements.forEach((_element) => {\n let _active = false;\n switch (_direction) {\n case ScrollDirectionEnum.horizontal:\n const _scrollLeft = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageXOffset) || 0 : nativeElement.scrollLeft;\n _active = _element.nativeElement.offsetLeft <= _scrollLeft + scrollElement.offset;\n break;\n\n default: {\n const _scrollTop = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageYOffset) || 0 : nativeElement.scrollTop;\n if (this._activateOnlySetItems) {\n _active =\n _element.nativeElement.offsetTop < _scrollTop + scrollElement.offset &&\n _element.nativeElement.offsetTop + _element.nativeElement.offsetHeight > _scrollTop + scrollElement.offset;\n } else {\n _active = _element.nativeElement.offsetTop <= _scrollTop + scrollElement.offset;\n }\n }\n }\n if (_active) {\n _scrollObject = _element;\n }\n });\n return _scrollObject;\n }\n\n public deleteScrollElement(scrollElementId: string): void {\n if (scrollElementId === 'window') {\n this._setScrollElementListener(scrollElementId, null);\n } else {\n this._checkScrollElementExists(scrollElementId);\n delete this._scrollElements[scrollElementId];\n delete this._$scrollElementListener[scrollElementId];\n delete this._scrollElementListener[scrollElementId];\n }\n }\n\n public deleteItem(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n delete this._scrollItems[itemId];\n }\n }\n}\n","import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollSpy]'\n})\nexport class ScrollSpyDirective implements AfterViewInit, OnDestroy {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollSpy') itemId: string;\n @Input() scrollElement = 'window';\n\n private _subscriber: Subscription;\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n this._scrollSpyService.deleteItem(this.itemId);\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n if (element != null) {\n const _active = element.id === this.itemId;\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n }\n });\n this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);\n\n let _keyType = 'id';\n if (this._scrollSpyService.attributeType === 'data-id') {\n _keyType = 'data-id';\n }\n this._el.nativeElement.setAttribute(_keyType, this.itemId);\n }\n}\n","import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';\n\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\nimport { ScrollSpyService } from './scroll-spy.service';\nimport { ScrollSpyDirective } from './scroll-spy.directive';\n\n@Directive({\n selector: '[uniScrollElement]'\n})\nexport class ScrollElementDirective implements OnInit, AfterViewInit, OnDestroy {\n @Input('uniScrollElement') elementId: string;\n @Input() direction: ScrollDirectionEnum = ScrollDirectionEnum.vertical;\n\n @ContentChildren(ScrollSpyDirective, { descendants: true })\n private _scrollSpyElements: QueryList<ScrollSpyDirective>;\n\n @HostListener('scroll', ['$event'])\n onScroll($event) {\n this._scrollSpyService.updateScrollElement(this.elementId);\n }\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService) {}\n\n ngOnInit(): void {\n this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);\n if (this._scrollSpyService.attributeType === 'id') {\n this._el.nativeElement.setAttribute('id', this.elementId);\n } else {\n this._el.nativeElement.setAttribute('data-id', this.elementId);\n }\n }\n\n ngAfterViewInit(): void {\n const _scrollSpyElements: ScrollSpyDirective[] = this._scrollSpyElements.toArray();\n _scrollSpyElements.forEach((element) => {\n this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);\n });\n }\n\n ngOnDestroy(): void {\n this._scrollSpyService.deleteScrollElement(this.elementId);\n }\n}\n","import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollItem]'\n})\nexport class ScrollItemDirective implements OnDestroy, AfterViewInit {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollItem') itemId: string;\n @Input() scrollElement = 'window';\n\n @Output() activeEvent: EventEmitter<boolean> = new EventEmitter();\n\n private _subscriber: Subscription;\n\n constructor(private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n let _active;\n if (element != null) {\n _active = element.id === this.itemId;\n this.activeEvent.emit(_active);\n } else {\n _active = false;\n }\n\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n });\n }\n}\n","import { NgModule, Provider, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\n\nimport { ScrollSpyDirective } from './scroll-spy.directive';\nimport { ScrollItemDirective } from './scroll-item.directive';\nimport { ScrollElementDirective } from './scroll-element.directive';\n\nimport { SPY_CONFIG, SpyConfig, ScrollSpyService } from './scroll-spy.service';\nimport { CommonModule } from '@angular/common';\n\nconst directives: any[] = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];\nconst components: any[] = [];\nconst providers: Provider[] = [ScrollSpyService];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...directives, ...components],\n exports: [...directives, ...components]\n})\nexport class NgxScrollspyModule {\n public static forRoot(parameters: SpyConfig = { lookAhead: false }): ModuleWithProviders<NgxScrollspyModule> {\n return {\n ngModule: NgxScrollspyModule,\n providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]\n };\n }\n}\n"]}
@@ -1,28 +0,0 @@
1
- var NgxScrollspyModule_1;
2
- import { __decorate } from "tslib";
3
- import { NgModule } from '@angular/core';
4
- import { ScrollSpyDirective } from './scroll-spy.directive';
5
- import { ScrollItemDirective } from './scroll-item.directive';
6
- import { ScrollElementDirective } from './scroll-element.directive';
7
- import { SPY_CONFIG, ScrollSpyService } from './scroll-spy.service';
8
- import { CommonModule } from '@angular/common';
9
- const directives = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];
10
- const components = [];
11
- const providers = [ScrollSpyService];
12
- let NgxScrollspyModule = NgxScrollspyModule_1 = class NgxScrollspyModule {
13
- static forRoot(parameters = { lookAhead: false }) {
14
- return {
15
- ngModule: NgxScrollspyModule_1,
16
- providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]
17
- };
18
- }
19
- };
20
- NgxScrollspyModule = NgxScrollspyModule_1 = __decorate([
21
- NgModule({
22
- imports: [CommonModule],
23
- declarations: [...directives, ...components],
24
- exports: [...directives, ...components]
25
- })
26
- ], NgxScrollspyModule);
27
- export { NgxScrollspyModule };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjcm9sbHNweS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtc2Nyb2xsc3B5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXFELE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxVQUFVLEdBQVUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sVUFBVSxHQUFVLEVBQUUsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFPakQsSUFBYSxrQkFBa0IsMEJBQS9CLE1BQWEsa0JBQWtCO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBd0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1FBQzlELE9BQU87WUFDSCxRQUFRLEVBQUUsb0JBQWtCO1lBQzVCLFNBQVMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDM0UsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBO0FBUFksa0JBQWtCO0lBTDlCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFVBQVUsQ0FBQztLQUMxQyxDQUFDO0dBQ1csa0JBQWtCLENBTzlCO1NBUFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFByb3ZpZGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTa2lwU2VsZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2Nyb2xsU3B5RGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2Nyb2xsRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgU1BZX0NPTkZJRywgU3B5Q29uZmlnLCBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgZGlyZWN0aXZlczogYW55W10gPSBbU2Nyb2xsU3B5RGlyZWN0aXZlLCBTY3JvbGxJdGVtRGlyZWN0aXZlLCBTY3JvbGxFbGVtZW50RGlyZWN0aXZlXTtcbmNvbnN0IGNvbXBvbmVudHM6IGFueVtdID0gW107XG5jb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbU2Nyb2xsU3B5U2VydmljZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZGlyZWN0aXZlcywgLi4uY29tcG9uZW50c10sXG4gICAgZXhwb3J0czogWy4uLmRpcmVjdGl2ZXMsIC4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjcm9sbHNweU1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KHBhcmFtZXRlcnM6IFNweUNvbmZpZyA9IHsgbG9va0FoZWFkOiBmYWxzZSB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hTY3JvbGxzcHlNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hTY3JvbGxzcHlNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi5wcm92aWRlcnMsIHsgcHJvdmlkZTogU1BZX0NPTkZJRywgdXNlVmFsdWU6IHBhcmFtZXRlcnMgfV1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export var ScrollDirectionEnum;
2
- (function (ScrollDirectionEnum) {
3
- ScrollDirectionEnum["vertical"] = "vertical";
4
- ScrollDirectionEnum["horizontal"] = "horizontal";
5
- })(ScrollDirectionEnum || (ScrollDirectionEnum = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWRpcmVjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWRpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0IsNENBQXFCLENBQUE7SUFDckIsZ0RBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JvbGxEaXJlY3Rpb25FbnVtIHtcbiAgICB2ZXJ0aWNhbCA9ICd2ZXJ0aWNhbCcsXG4gICAgaG9yaXpvbnRhbCA9ICdob3Jpem9udGFsJ1xufVxuIl19
@@ -1,63 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';
3
- import { ScrollDirectionEnum } from './scroll-direction.enum';
4
- import { ScrollSpyService } from './scroll-spy.service';
5
- import { ScrollSpyDirective } from './scroll-spy.directive';
6
- let ScrollElementDirective = class ScrollElementDirective {
7
- constructor(_el, _scrollSpyService) {
8
- this._el = _el;
9
- this._scrollSpyService = _scrollSpyService;
10
- this.direction = ScrollDirectionEnum.vertical;
11
- }
12
- onScroll($event) {
13
- this._scrollSpyService.updateScrollElement(this.elementId);
14
- }
15
- ngOnInit() {
16
- this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);
17
- if (this._scrollSpyService.attributeType === 'id') {
18
- this._el.nativeElement.setAttribute('id', this.elementId);
19
- }
20
- else {
21
- this._el.nativeElement.setAttribute('data-id', this.elementId);
22
- }
23
- }
24
- ngAfterViewInit() {
25
- const _scrollSpyElements = this._scrollSpyElements.toArray();
26
- _scrollSpyElements.forEach((element) => {
27
- this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);
28
- });
29
- }
30
- ngOnDestroy() {
31
- this._scrollSpyService.deleteScrollElement(this.elementId);
32
- }
33
- };
34
- ScrollElementDirective.ctorParameters = () => [
35
- { type: ElementRef },
36
- { type: ScrollSpyService }
37
- ];
38
- __decorate([
39
- Input('uniScrollElement'),
40
- __metadata("design:type", String)
41
- ], ScrollElementDirective.prototype, "elementId", void 0);
42
- __decorate([
43
- Input(),
44
- __metadata("design:type", String)
45
- ], ScrollElementDirective.prototype, "direction", void 0);
46
- __decorate([
47
- ContentChildren(ScrollSpyDirective, { descendants: true }),
48
- __metadata("design:type", QueryList)
49
- ], ScrollElementDirective.prototype, "_scrollSpyElements", void 0);
50
- __decorate([
51
- HostListener('scroll', ['$event']),
52
- __metadata("design:type", Function),
53
- __metadata("design:paramtypes", [Object]),
54
- __metadata("design:returntype", void 0)
55
- ], ScrollElementDirective.prototype, "onScroll", null);
56
- ScrollElementDirective = __decorate([
57
- Directive({
58
- selector: '[uniScrollElement]'
59
- }),
60
- __metadata("design:paramtypes", [ElementRef, ScrollSpyService])
61
- ], ScrollElementDirective);
62
- export { ScrollElementDirective };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFZL0IsWUFBb0IsR0FBZSxFQUFVLGlCQUFtQztRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQVZ2RSxjQUFTLEdBQXdCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztJQVVZLENBQUM7SUFKcEYsUUFBUSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sa0JBQWtCLEdBQXlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuRixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0osQ0FBQTs7WUFyQjRCLFVBQVU7WUFBNkIsZ0JBQWdCOztBQVhyRDtJQUExQixLQUFLLENBQUMsa0JBQWtCLENBQUM7O3lEQUFtQjtBQUNwQztJQUFSLEtBQUssRUFBRTs7eURBQStEO0FBR3ZFO0lBREMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDOzhCQUMvQixTQUFTO2tFQUFxQjtBQUcxRDtJQURDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztzREFHbEM7QUFWUSxzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtLQUNqQyxDQUFDO3FDQWEyQixVQUFVLEVBQTZCLGdCQUFnQjtHQVp2RSxzQkFBc0IsQ0FpQ2xDO1NBakNZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Nyb2xsU3B5RGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3VuaVNjcm9sbEVsZW1lbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxFbGVtZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgndW5pU2Nyb2xsRWxlbWVudCcpIGVsZW1lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bSA9IFNjcm9sbERpcmVjdGlvbkVudW0udmVydGljYWw7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFNjcm9sbFNweURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgX3Njcm9sbFNweUVsZW1lbnRzOiBRdWVyeUxpc3Q8U2Nyb2xsU3B5RGlyZWN0aXZlPjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25TY3JvbGwoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2UudXBkYXRlU2Nyb2xsRWxlbWVudCh0aGlzLmVsZW1lbnRJZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3Njcm9sbFNweVNlcnZpY2U6IFNjcm9sbFNweVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5zZXRTY3JvbGxFbGVtZW50KHRoaXMuZWxlbWVudElkLCB0aGlzLl9lbCwgdGhpcy5kaXJlY3Rpb24pO1xuICAgICAgICBpZiAodGhpcy5fc2Nyb2xsU3B5U2VydmljZS5hdHRyaWJ1dGVUeXBlID09PSAnaWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmVsZW1lbnRJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1pZCcsIHRoaXMuZWxlbWVudElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgX3Njcm9sbFNweUVsZW1lbnRzOiBTY3JvbGxTcHlEaXJlY3RpdmVbXSA9IHRoaXMuX3Njcm9sbFNweUVsZW1lbnRzLnRvQXJyYXkoKTtcbiAgICAgICAgX3Njcm9sbFNweUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2UuY2hhbmdlU2Nyb2xsRWxlbWVudChlbGVtZW50Lml0ZW1JZCwgZWxlbWVudC5zY3JvbGxFbGVtZW50LCB0aGlzLmVsZW1lbnRJZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmRlbGV0ZVNjcm9sbEVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsRWxlbWVudEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bTtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';
3
- import { ScrollSpyService } from './scroll-spy.service';
4
- let ScrollItemDirective = class ScrollItemDirective {
5
- constructor(_scrollSpyService, _cdr) {
6
- this._scrollSpyService = _scrollSpyService;
7
- this._cdr = _cdr;
8
- this.classActive = false;
9
- this.scrollElement = 'window';
10
- this.activeEvent = new EventEmitter();
11
- }
12
- ngOnDestroy() {
13
- if (this._subscriber) {
14
- this._subscriber.unsubscribe();
15
- }
16
- }
17
- ngAfterViewInit() {
18
- this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {
19
- let _active;
20
- if (element != null) {
21
- _active = element.id === this.itemId;
22
- this.activeEvent.emit(_active);
23
- }
24
- else {
25
- _active = false;
26
- }
27
- setTimeout(() => {
28
- this.classActive = _active;
29
- this._cdr.markForCheck();
30
- });
31
- });
32
- }
33
- };
34
- ScrollItemDirective.ctorParameters = () => [
35
- { type: ScrollSpyService },
36
- { type: ChangeDetectorRef }
37
- ];
38
- __decorate([
39
- HostBinding('class.active'),
40
- __metadata("design:type", Object)
41
- ], ScrollItemDirective.prototype, "classActive", void 0);
42
- __decorate([
43
- Input('uniScrollItem'),
44
- __metadata("design:type", String)
45
- ], ScrollItemDirective.prototype, "itemId", void 0);
46
- __decorate([
47
- Input(),
48
- __metadata("design:type", Object)
49
- ], ScrollItemDirective.prototype, "scrollElement", void 0);
50
- __decorate([
51
- Output(),
52
- __metadata("design:type", EventEmitter)
53
- ], ScrollItemDirective.prototype, "activeEvent", void 0);
54
- ScrollItemDirective = __decorate([
55
- Directive({
56
- selector: '[uniScrollItem]'
57
- }),
58
- __metadata("design:paramtypes", [ScrollSpyService, ChangeDetectorRef])
59
- ], ScrollItemDirective);
60
- export { ScrollItemDirective };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3hELElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBVTVCLFlBQW9CLGlCQUFtQyxFQUFVLElBQXVCO1FBQXBFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUd4QyxrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUV4QixnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBSXlCLENBQUM7SUFFNUYsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hGLElBQUksT0FBTyxDQUFDO1lBQ1osSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO2dCQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDSCxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ25CO1lBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztnQkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUE7O1lBeEIwQyxnQkFBZ0I7WUFBZ0IsaUJBQWlCOztBQVQzRDtJQUE1QixXQUFXLENBQUMsY0FBYyxDQUFDOzt3REFBcUI7QUFFekI7SUFBdkIsS0FBSyxDQUFDLGVBQWUsQ0FBQzs7bURBQWdCO0FBQzlCO0lBQVIsS0FBSyxFQUFFOzswREFBMEI7QUFFeEI7SUFBVCxNQUFNLEVBQUU7OEJBQWMsWUFBWTt3REFBK0I7QUFOekQsbUJBQW1CO0lBSC9CLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7S0FDOUIsQ0FBQztxQ0FXeUMsZ0JBQWdCLEVBQWdCLGlCQUFpQjtHQVYvRSxtQkFBbUIsQ0FrQy9CO1NBbENZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIEhvc3RCaW5kaW5nLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjcm9sbFNweVNlcnZpY2UgfSBmcm9tICcuL3Njcm9sbC1zcHkuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3VuaVNjcm9sbEl0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGNsYXNzQWN0aXZlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoJ3VuaVNjcm9sbEl0ZW0nKSBpdGVtSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBzY3JvbGxFbGVtZW50ID0gJ3dpbmRvdyc7XG5cbiAgICBAT3V0cHV0KCkgYWN0aXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgX3N1YnNjcmliZXI6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Njcm9sbFNweVNlcnZpY2U6IFNjcm9sbFNweVNlcnZpY2UsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlciA9IHRoaXMuX3Njcm9sbFNweVNlcnZpY2Uub2JzZXJ2ZSh0aGlzLnNjcm9sbEVsZW1lbnQpLnN1YnNjcmliZSgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgbGV0IF9hY3RpdmU7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgX2FjdGl2ZSA9IGVsZW1lbnQuaWQgPT09IHRoaXMuaXRlbUlkO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRXZlbnQuZW1pdChfYWN0aXZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX2FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzQWN0aXZlID0gX2FjdGl2ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLW9iamVjdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9zY3JvbGwtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcm9sbE9iamVjdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzY3JvbGxFbGVtZW50SWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xufVxuIl19
@@ -1,60 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';
3
- import { ScrollSpyService } from './scroll-spy.service';
4
- let ScrollSpyDirective = class ScrollSpyDirective {
5
- constructor(_el, _scrollSpyService, _cdr) {
6
- this._el = _el;
7
- this._scrollSpyService = _scrollSpyService;
8
- this._cdr = _cdr;
9
- this.classActive = false;
10
- this.scrollElement = 'window';
11
- }
12
- ngOnDestroy() {
13
- if (this._subscriber) {
14
- this._subscriber.unsubscribe();
15
- }
16
- this._scrollSpyService.deleteItem(this.itemId);
17
- }
18
- ngAfterViewInit() {
19
- this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {
20
- if (element != null) {
21
- const _active = element.id === this.itemId;
22
- setTimeout(() => {
23
- this.classActive = _active;
24
- this._cdr.markForCheck();
25
- });
26
- }
27
- });
28
- this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);
29
- let _keyType = 'id';
30
- if (this._scrollSpyService.attributeType === 'data-id') {
31
- _keyType = 'data-id';
32
- }
33
- this._el.nativeElement.setAttribute(_keyType, this.itemId);
34
- }
35
- };
36
- ScrollSpyDirective.ctorParameters = () => [
37
- { type: ElementRef },
38
- { type: ScrollSpyService },
39
- { type: ChangeDetectorRef }
40
- ];
41
- __decorate([
42
- HostBinding('class.active'),
43
- __metadata("design:type", Object)
44
- ], ScrollSpyDirective.prototype, "classActive", void 0);
45
- __decorate([
46
- Input('uniScrollSpy'),
47
- __metadata("design:type", String)
48
- ], ScrollSpyDirective.prototype, "itemId", void 0);
49
- __decorate([
50
- Input(),
51
- __metadata("design:type", Object)
52
- ], ScrollSpyDirective.prototype, "scrollElement", void 0);
53
- ScrollSpyDirective = __decorate([
54
- Directive({
55
- selector: '[uniScrollSpy]'
56
- }),
57
- __metadata("design:paramtypes", [ElementRef, ScrollSpyService, ChangeDetectorRef])
58
- ], ScrollSpyDirective);
59
- export { ScrollSpyDirective };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNweS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9zY3JvbGwtc3B5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3hELElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBUTdCLFlBQW9CLEdBQWUsRUFBVSxpQkFBbUMsRUFBVSxJQUF1QjtRQUE3RixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUHBGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3hDLGtCQUFhLEdBQUcsUUFBUSxDQUFDO0lBSWtGLENBQUM7SUFFckgsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFGLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDbkIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO29CQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUUsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDdEQsUUFBUSxHQUFHLFNBQVMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRixDQUFBOztZQTNCMEIsVUFBVTtZQUE2QixnQkFBZ0I7WUFBZ0IsaUJBQWlCOztBQVBwRjtJQUE1QixXQUFXLENBQUMsY0FBYyxDQUFDOzt1REFBcUI7QUFFMUI7SUFBdEIsS0FBSyxDQUFDLGNBQWMsQ0FBQzs7a0RBQWdCO0FBQzdCO0lBQVIsS0FBSyxFQUFFOzt5REFBMEI7QUFKdkIsa0JBQWtCO0lBSDlCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQztxQ0FTeUIsVUFBVSxFQUE2QixnQkFBZ0IsRUFBZ0IsaUJBQWlCO0dBUnRHLGtCQUFrQixDQW1DOUI7U0FuQ1ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdW5pU2Nyb2xsU3B5XSdcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsU3B5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKSBjbGFzc0FjdGl2ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgndW5pU2Nyb2xsU3B5JykgaXRlbUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNjcm9sbEVsZW1lbnQgPSAnd2luZG93JztcblxuICBwcml2YXRlIF9zdWJzY3JpYmVyOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3Njcm9sbFNweVNlcnZpY2U6IFNjcm9sbFNweVNlcnZpY2UsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnNjcmliZXIpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5kZWxldGVJdGVtKHRoaXMuaXRlbUlkKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpYmVyID0gdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5vYnNlcnZlKHRoaXMuc2Nyb2xsRWxlbWVudCkuc3Vic2NyaWJlKChlbGVtZW50KSA9PiB7XG4gICAgICBpZiAoZWxlbWVudCAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IF9hY3RpdmUgPSBlbGVtZW50LmlkID09PSB0aGlzLml0ZW1JZDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbGFzc0FjdGl2ZSA9IF9hY3RpdmU7XG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLnNldEl0ZW0odGhpcy5pdGVtSWQsIHRoaXMuX2VsLCB0aGlzLnNjcm9sbEVsZW1lbnQpO1xuXG4gICAgbGV0IF9rZXlUeXBlID0gJ2lkJztcbiAgICBpZiAodGhpcy5fc2Nyb2xsU3B5U2VydmljZS5hdHRyaWJ1dGVUeXBlID09PSAnZGF0YS1pZCcpIHtcbiAgICAgIF9rZXlUeXBlID0gJ2RhdGEtaWQnO1xuICAgIH1cbiAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShfa2V5VHlwZSwgdGhpcy5pdGVtSWQpO1xuICB9XG59XG4iXX0=