@skyux/core 5.5.0 → 5.6.2

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/bundles/skyux-core.umd.js +8 -10
  2. package/documentation.json +577 -1032
  3. package/esm2015/lib/modules/adapter-service/adapter.service.js +1 -1
  4. package/esm2015/lib/modules/adapter-service/adapter.service.js.map +1 -1
  5. package/esm2015/lib/modules/affix/affix-config.js.map +1 -1
  6. package/esm2015/lib/modules/affix/affix.directive.js.map +1 -1
  7. package/esm2015/lib/modules/affix/affix.module.js.map +1 -1
  8. package/esm2015/lib/modules/affix/affixer.js +1 -1
  9. package/esm2015/lib/modules/affix/affixer.js.map +1 -1
  10. package/esm2015/lib/modules/dock/dock-dom-adapter.service.js +1 -1
  11. package/esm2015/lib/modules/dock/dock-dom-adapter.service.js.map +1 -1
  12. package/esm2015/lib/modules/dock/dock.component.js.map +1 -1
  13. package/esm2015/lib/modules/dock/dock.module.js.map +1 -1
  14. package/esm2015/lib/modules/dock/dock.service.js +3 -3
  15. package/esm2015/lib/modules/dock/dock.service.js.map +1 -1
  16. package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js.map +1 -1
  17. package/esm2015/lib/modules/log/log.service.js +1 -0
  18. package/esm2015/lib/modules/log/log.service.js.map +1 -1
  19. package/esm2015/lib/modules/media-query/media-query.service.js.map +1 -1
  20. package/esm2015/lib/modules/numeric/numeric.module.js.map +1 -1
  21. package/esm2015/lib/modules/numeric/numeric.pipe.js +4 -4
  22. package/esm2015/lib/modules/numeric/numeric.pipe.js.map +1 -1
  23. package/esm2015/lib/modules/numeric/numeric.service.js +5 -4
  24. package/esm2015/lib/modules/numeric/numeric.service.js.map +1 -1
  25. package/esm2015/lib/modules/overlay/overlay-instance.js.map +1 -1
  26. package/esm2015/lib/modules/overlay/overlay.component.js +1 -1
  27. package/esm2015/lib/modules/overlay/overlay.component.js.map +1 -1
  28. package/esm2015/lib/modules/overlay/overlay.module.js.map +1 -1
  29. package/esm2015/lib/modules/overlay/overlay.service.js.map +1 -1
  30. package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js.map +1 -1
  31. package/esm2015/lib/modules/percent-pipe/percent.pipe.js.map +1 -1
  32. package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js +4 -4
  33. package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js.map +1 -1
  34. package/esm2015/lib/modules/shared/number-format/number-format-utility.js +0 -2
  35. package/esm2015/lib/modules/shared/number-format/number-format-utility.js.map +1 -1
  36. package/esm2015/lib/modules/shared/sky-core-resources.module.js +1 -1
  37. package/esm2015/lib/modules/shared/sky-core-resources.module.js.map +1 -1
  38. package/esm2015/lib/modules/title/title.service.js.map +1 -1
  39. package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js +2 -2
  40. package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js.map +1 -1
  41. package/esm2015/lib/modules/viewkeeper/viewkeeper.js +4 -7
  42. package/esm2015/lib/modules/viewkeeper/viewkeeper.js.map +1 -1
  43. package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js.map +1 -1
  44. package/esm2015/testing/mock-media-query.service.js.map +1 -1
  45. package/esm2015/testing/mock-ui-config.service.js.map +1 -1
  46. package/fesm2015/skyux-core-testing.js.map +1 -1
  47. package/fesm2015/skyux-core.js +58 -61
  48. package/fesm2015/skyux-core.js.map +1 -1
  49. package/lib/modules/affix/affix.directive.d.ts +2 -2
  50. package/lib/modules/affix/affixer.d.ts +1 -1
  51. package/lib/modules/dock/dock.service.d.ts +2 -2
  52. package/lib/modules/numeric/numeric.pipe.d.ts +2 -2
  53. package/lib/modules/overlay/overlay-instance.d.ts +1 -1
  54. package/lib/modules/shared/number-format/number-format-utility.d.ts +0 -1
  55. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"viewkeeper.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/viewkeeper/viewkeeper.ts"],"names":[],"mappings":"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","sourcesContent":["import { SkyViewkeeperBoundaryInfo } from './viewkeeper-boundary-info';\n\nimport { SkyViewkeeperFixedStyles } from './viewkeeper-fixed-styles';\n\nimport { SkyViewkeeperOffset } from './viewkeeper-offset';\n\nimport { SkyViewkeeperOptions } from './viewkeeper-options';\n\nconst CLS_VIEWKEEPER_FIXED = 'sky-viewkeeper-fixed';\nconst EVT_AFTER_VIEWKEEPER_SYNC = 'afterViewkeeperSync';\n\nlet styleEl: HTMLStyleElement;\nlet nextIdIndex: number;\n\nfunction ensureStyleEl(): void {\n if (!styleEl) {\n styleEl = document.createElement('style');\n\n let css = document.createTextNode(`\n.${CLS_VIEWKEEPER_FIXED} {\n position: fixed !important;\n z-index: 999;\n opacity: 0.95;\n overflow: hidden;\n}\n\n.sky-theme-modern .${CLS_VIEWKEEPER_FIXED} {\n box-shadow: 0px 1px 8px -1px rgba(0, 0, 0, 0.3);\n opacity: initial;\n}\n`);\n\n styleEl.appendChild(css);\n\n document.head.appendChild(styleEl);\n }\n}\n\nfunction nextId(): string {\n nextIdIndex = (nextIdIndex || 0) + 1;\n\n return 'viewkeeper-' + nextIdIndex;\n}\n\nfunction getOffset(\n el: HTMLElement,\n scrollableHost?: HTMLElement\n): SkyViewkeeperOffset {\n const rect = el.getBoundingClientRect();\n const parent = scrollableHost ? scrollableHost : document.documentElement;\n\n return {\n top: rect.top + parent.scrollTop,\n left: rect.left + parent.scrollLeft,\n };\n}\n\nfunction px(value: number | string): string {\n let pxValue = value ? value.toString() : '';\n\n if (typeof value === 'number') {\n pxValue = value + 'px';\n }\n\n return pxValue;\n}\n\nfunction setElPosition(\n el: HTMLElement,\n left: number | string,\n top: number | string,\n width: number | string,\n marginTop: number | string\n): void {\n el.style.top = px(top);\n el.style.left = px(left);\n el.style.marginTop = px(marginTop);\n\n /*istanbul ignore else*/\n /* sanity check */\n if (width !== null) {\n el.style.width = px(width);\n }\n}\n\nfunction getHeightWithMargin(el: HTMLElement): number {\n const computedStyle = getComputedStyle(el);\n\n return (\n el.offsetHeight +\n parseInt(computedStyle.marginTop, 10) +\n parseInt(computedStyle.marginBottom, 10)\n );\n}\n\nfunction createCustomEvent(name: any): CustomEvent<any> {\n const evt = document.createEvent('CustomEvent');\n\n evt.initCustomEvent(name, false, false, undefined);\n\n return evt;\n}\n\nexport class SkyViewkeeper {\n private setWidth: boolean;\n\n private id: string;\n\n private el: HTMLElement;\n\n private boundaryEl: HTMLElement;\n\n private verticalOffset: number;\n\n private verticalOffsetEl: HTMLElement;\n\n private set viewportMarginTop(margin: number) {\n this._viewportMarginTop = margin;\n }\n\n private get viewportMarginTop(): number {\n if (this.scrollableHost) {\n return 0;\n } else {\n return this._viewportMarginTop;\n }\n }\n\n private isDestroyed: boolean;\n\n private currentElFixedTop: number;\n\n private currentElFixedLeft: number;\n\n private currentElFixedWidth: number;\n\n private scrollableHost: HTMLElement;\n\n private syncElPositionHandler: () => void;\n\n private _viewportMarginTop: number;\n\n constructor(options: SkyViewkeeperOptions) {\n options = options || /* istanbul ignore next */ {};\n\n this.setWidth = options.setWidth;\n this.id = nextId();\n this.el = options.el;\n this.boundaryEl = options.boundaryEl;\n this.scrollableHost = options.scrollableHost;\n this.verticalOffset = options.verticalOffset || 0;\n this.verticalOffsetEl = options.verticalOffsetEl;\n this.viewportMarginTop = options.viewportMarginTop || 0;\n\n this.syncElPositionHandler = () => this.syncElPosition();\n\n if (this.verticalOffsetEl) {\n this.verticalOffsetEl.addEventListener(\n EVT_AFTER_VIEWKEEPER_SYNC,\n this.syncElPositionHandler\n );\n }\n\n window.addEventListener('scroll', this.syncElPositionHandler, true);\n window.addEventListener('resize', this.syncElPositionHandler);\n window.addEventListener('orientationchange', this.syncElPositionHandler);\n\n ensureStyleEl();\n\n this.syncElPosition();\n }\n\n public syncElPosition(): void {\n const verticalOffset = this.calculateVerticalOffset();\n\n // When the element isn't visible, its size can't be calculated, so don't attempt syncing position in this case.\n if (this.el.offsetWidth === 0 && this.el.offsetHeight === 0) {\n return;\n }\n\n const boundaryInfo = this.getBoundaryInfo();\n const fixedStyles = this.getFixedStyles(boundaryInfo, verticalOffset);\n\n const doFixEl = this.shouldFixEl(boundaryInfo, verticalOffset);\n\n if (this.needsUpdating(doFixEl, fixedStyles)) {\n if (doFixEl) {\n this.fixEl(boundaryInfo, fixedStyles);\n } else {\n this.unfixEl();\n }\n }\n\n const evt = createCustomEvent(EVT_AFTER_VIEWKEEPER_SYNC);\n\n this.el.dispatchEvent(evt);\n }\n\n public destroy(): void {\n if (!this.isDestroyed) {\n window.removeEventListener('scroll', this.syncElPositionHandler, true);\n window.removeEventListener('resize', this.syncElPositionHandler);\n window.removeEventListener(\n 'orientationchange',\n this.syncElPositionHandler\n );\n\n this.unfixEl();\n\n if (this.verticalOffsetEl) {\n this.verticalOffsetEl.removeEventListener(\n EVT_AFTER_VIEWKEEPER_SYNC,\n this.syncElPositionHandler\n );\n }\n\n this.el = this.boundaryEl = this.verticalOffsetEl = undefined;\n\n this.isDestroyed = true;\n }\n }\n\n private getSpacerId(): string {\n return this.id + '-spacer';\n }\n\n private unfixEl(): void {\n const spacerEl = document.getElementById(this.getSpacerId());\n\n if (spacerEl) {\n spacerEl.parentElement.removeChild(spacerEl);\n }\n\n this.el.classList.remove(CLS_VIEWKEEPER_FIXED);\n\n this.currentElFixedLeft =\n this.currentElFixedTop =\n this.currentElFixedWidth =\n undefined;\n\n let width: string;\n\n if (this.setWidth) {\n width = 'auto';\n }\n\n setElPosition(this.el, '', '', width, '');\n }\n\n private calculateVerticalOffset(): number {\n let offset = this.verticalOffset;\n\n if (this.verticalOffsetEl) {\n const verticalOffsetElTopStyle = this.verticalOffsetEl.style.top;\n const verticalOffsetElTop = parseInt(verticalOffsetElTopStyle, 10) || 0;\n\n offset += this.verticalOffsetEl.offsetHeight + verticalOffsetElTop;\n } else if (this.scrollableHost) {\n offset += this.scrollableHost.getBoundingClientRect().top;\n }\n\n return offset;\n }\n\n private shouldFixEl(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n verticalOffset: number\n ): boolean {\n let anchorTop: number;\n let doFixEl: boolean;\n\n if (boundaryInfo.spacerEl) {\n anchorTop = getOffset(boundaryInfo.spacerEl, this.scrollableHost).top;\n } else {\n anchorTop = getOffset(this.el, this.scrollableHost).top;\n }\n\n doFixEl =\n boundaryInfo.scrollTop + verticalOffset + this.viewportMarginTop >\n anchorTop;\n\n return doFixEl;\n }\n\n private getFixedStyles(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n verticalOffset: number\n ): SkyViewkeeperFixedStyles {\n let elFixedTop: number;\n\n // If the element needs to be fixed, this will calculate its position. The position\n // will be 0 (fully visible) unless the user is scrolling the boundary out of view.\n // In that case, the element should begin to scroll out of view with the\n // rest of the boundary by setting its top position to a negative value.\n elFixedTop = Math.min(\n boundaryInfo.boundaryBottom -\n boundaryInfo.elHeight -\n boundaryInfo.scrollTop,\n verticalOffset\n );\n\n const elFixedWidth = boundaryInfo.boundaryEl.getBoundingClientRect().width;\n const elFixedLeft =\n boundaryInfo.boundaryOffset.left - boundaryInfo.scrollLeft;\n\n return {\n elFixedLeft,\n elFixedTop,\n elFixedWidth,\n };\n }\n\n private needsUpdating(\n doFixEl: boolean,\n fixedStyles: SkyViewkeeperFixedStyles\n ): boolean {\n if (\n (doFixEl &&\n this.currentElFixedLeft === fixedStyles.elFixedLeft &&\n this.currentElFixedTop === fixedStyles.elFixedTop &&\n this.currentElFixedWidth === fixedStyles.elFixedWidth) ||\n (!doFixEl &&\n !(\n this.currentElFixedLeft !== undefined &&\n this.currentElFixedLeft !== null\n ))\n ) {\n // The element is either currently fixed and its position and width do not need\n // to change, or the element is not currently fixed and does not need to be fixed.\n // No changes are needed.\n return false;\n }\n\n return true;\n }\n\n private fixEl(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n fixedStyles: SkyViewkeeperFixedStyles\n ): void {\n const el = this.el;\n\n /* istanbul ignore else */\n /* sanity check */\n if (!boundaryInfo.spacerEl) {\n const spacerHeight = boundaryInfo.elHeight;\n\n const spacerEl = document.createElement('div');\n spacerEl.id = boundaryInfo.spacerId;\n spacerEl.style.height = px(spacerHeight);\n\n el.parentNode.insertBefore(spacerEl, el.nextSibling);\n }\n\n el.classList.add(CLS_VIEWKEEPER_FIXED);\n\n this.currentElFixedTop = fixedStyles.elFixedTop;\n this.currentElFixedLeft = fixedStyles.elFixedLeft;\n this.currentElFixedWidth = fixedStyles.elFixedWidth;\n\n let width: number;\n\n if (this.setWidth) {\n width = fixedStyles.elFixedWidth;\n }\n\n setElPosition(\n el,\n fixedStyles.elFixedLeft,\n fixedStyles.elFixedTop,\n width,\n this.viewportMarginTop\n );\n }\n\n private getBoundaryInfo(): SkyViewkeeperBoundaryInfo {\n const spacerId = this.getSpacerId();\n\n const spacerEl = document.getElementById(spacerId);\n\n const boundaryEl = this.boundaryEl;\n\n const boundaryOffset = getOffset(boundaryEl, this.scrollableHost);\n const boundaryTop = boundaryOffset.top;\n const boundaryBottom =\n boundaryTop + boundaryEl.getBoundingClientRect().height;\n\n const scrollLeft = this.scrollableHost\n ? this.scrollableHost.scrollLeft\n : document.documentElement.scrollLeft;\n const scrollTop = this.scrollableHost\n ? this.scrollableHost.scrollTop\n : document.documentElement.scrollTop;\n\n const elHeight = getHeightWithMargin(this.el);\n\n return {\n boundaryBottom,\n boundaryOffset,\n boundaryEl,\n elHeight,\n scrollLeft,\n scrollTop,\n spacerId,\n spacerEl,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"viewkeeper.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/viewkeeper/viewkeeper.ts"],"names":[],"mappings":"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","sourcesContent":["import { SkyViewkeeperBoundaryInfo } from './viewkeeper-boundary-info';\nimport { SkyViewkeeperFixedStyles } from './viewkeeper-fixed-styles';\nimport { SkyViewkeeperOffset } from './viewkeeper-offset';\nimport { SkyViewkeeperOptions } from './viewkeeper-options';\n\nconst CLS_VIEWKEEPER_FIXED = 'sky-viewkeeper-fixed';\nconst EVT_AFTER_VIEWKEEPER_SYNC = 'afterViewkeeperSync';\n\nlet styleEl: HTMLStyleElement;\nlet nextIdIndex: number;\n\nfunction ensureStyleEl(): void {\n if (!styleEl) {\n styleEl = document.createElement('style');\n\n const css = document.createTextNode(`\n.${CLS_VIEWKEEPER_FIXED} {\n position: fixed !important;\n z-index: 999;\n opacity: 0.95;\n overflow: hidden;\n}\n\n.sky-theme-modern .${CLS_VIEWKEEPER_FIXED} {\n box-shadow: 0px 1px 8px -1px rgba(0, 0, 0, 0.3);\n opacity: initial;\n}\n`);\n\n styleEl.appendChild(css);\n\n document.head.appendChild(styleEl);\n }\n}\n\nfunction nextId(): string {\n nextIdIndex = (nextIdIndex || 0) + 1;\n\n return 'viewkeeper-' + nextIdIndex;\n}\n\nfunction getOffset(\n el: HTMLElement,\n scrollableHost?: HTMLElement\n): SkyViewkeeperOffset {\n const rect = el.getBoundingClientRect();\n const parent = scrollableHost ? scrollableHost : document.documentElement;\n\n return {\n top: rect.top + parent.scrollTop,\n left: rect.left + parent.scrollLeft,\n };\n}\n\nfunction px(value: number | string): string {\n let pxValue = value ? value.toString() : '';\n\n if (typeof value === 'number') {\n pxValue = value + 'px';\n }\n\n return pxValue;\n}\n\nfunction setElPosition(\n el: HTMLElement,\n left: number | string,\n top: number | string,\n width: number | string,\n marginTop: number | string\n): void {\n el.style.top = px(top);\n el.style.left = px(left);\n el.style.marginTop = px(marginTop);\n\n /*istanbul ignore else*/\n /* sanity check */\n if (width !== null) {\n el.style.width = px(width);\n }\n}\n\nfunction getHeightWithMargin(el: HTMLElement): number {\n const computedStyle = getComputedStyle(el);\n\n return (\n el.offsetHeight +\n parseInt(computedStyle.marginTop, 10) +\n parseInt(computedStyle.marginBottom, 10)\n );\n}\n\nfunction createCustomEvent(name: any): CustomEvent<any> {\n const evt = document.createEvent('CustomEvent');\n\n evt.initCustomEvent(name, false, false, undefined);\n\n return evt;\n}\n\nexport class SkyViewkeeper {\n private setWidth: boolean;\n\n private id: string;\n\n private el: HTMLElement;\n\n private boundaryEl: HTMLElement;\n\n private verticalOffset: number;\n\n private verticalOffsetEl: HTMLElement;\n\n private set viewportMarginTop(margin: number) {\n this._viewportMarginTop = margin;\n }\n\n private get viewportMarginTop(): number {\n if (this.scrollableHost) {\n return 0;\n } else {\n return this._viewportMarginTop;\n }\n }\n\n private isDestroyed: boolean;\n\n private currentElFixedTop: number;\n\n private currentElFixedLeft: number;\n\n private currentElFixedWidth: number;\n\n private scrollableHost: HTMLElement;\n\n private syncElPositionHandler: () => void;\n\n private _viewportMarginTop: number;\n\n constructor(options: SkyViewkeeperOptions) {\n options = options || /* istanbul ignore next */ {};\n\n this.setWidth = options.setWidth;\n this.id = nextId();\n this.el = options.el;\n this.boundaryEl = options.boundaryEl;\n this.scrollableHost = options.scrollableHost;\n this.verticalOffset = options.verticalOffset || 0;\n this.verticalOffsetEl = options.verticalOffsetEl;\n this.viewportMarginTop = options.viewportMarginTop || 0;\n\n this.syncElPositionHandler = () => this.syncElPosition();\n\n if (this.verticalOffsetEl) {\n this.verticalOffsetEl.addEventListener(\n EVT_AFTER_VIEWKEEPER_SYNC,\n this.syncElPositionHandler\n );\n }\n\n window.addEventListener('scroll', this.syncElPositionHandler, true);\n window.addEventListener('resize', this.syncElPositionHandler);\n window.addEventListener('orientationchange', this.syncElPositionHandler);\n\n ensureStyleEl();\n\n this.syncElPosition();\n }\n\n public syncElPosition(): void {\n const verticalOffset = this.calculateVerticalOffset();\n\n // When the element isn't visible, its size can't be calculated, so don't attempt syncing position in this case.\n if (this.el.offsetWidth === 0 && this.el.offsetHeight === 0) {\n return;\n }\n\n const boundaryInfo = this.getBoundaryInfo();\n const fixedStyles = this.getFixedStyles(boundaryInfo, verticalOffset);\n\n const doFixEl = this.shouldFixEl(boundaryInfo, verticalOffset);\n\n if (this.needsUpdating(doFixEl, fixedStyles)) {\n if (doFixEl) {\n this.fixEl(boundaryInfo, fixedStyles);\n } else {\n this.unfixEl();\n }\n }\n\n const evt = createCustomEvent(EVT_AFTER_VIEWKEEPER_SYNC);\n\n this.el.dispatchEvent(evt);\n }\n\n public destroy(): void {\n if (!this.isDestroyed) {\n window.removeEventListener('scroll', this.syncElPositionHandler, true);\n window.removeEventListener('resize', this.syncElPositionHandler);\n window.removeEventListener(\n 'orientationchange',\n this.syncElPositionHandler\n );\n\n this.unfixEl();\n\n if (this.verticalOffsetEl) {\n this.verticalOffsetEl.removeEventListener(\n EVT_AFTER_VIEWKEEPER_SYNC,\n this.syncElPositionHandler\n );\n }\n\n this.el = this.boundaryEl = this.verticalOffsetEl = undefined;\n\n this.isDestroyed = true;\n }\n }\n\n private getSpacerId(): string {\n return this.id + '-spacer';\n }\n\n private unfixEl(): void {\n const spacerEl = document.getElementById(this.getSpacerId());\n\n if (spacerEl) {\n spacerEl.parentElement.removeChild(spacerEl);\n }\n\n this.el.classList.remove(CLS_VIEWKEEPER_FIXED);\n\n this.currentElFixedLeft =\n this.currentElFixedTop =\n this.currentElFixedWidth =\n undefined;\n\n let width: string;\n\n if (this.setWidth) {\n width = 'auto';\n }\n\n setElPosition(this.el, '', '', width, '');\n }\n\n private calculateVerticalOffset(): number {\n let offset = this.verticalOffset;\n\n if (this.verticalOffsetEl) {\n const verticalOffsetElTopStyle = this.verticalOffsetEl.style.top;\n const verticalOffsetElTop = parseInt(verticalOffsetElTopStyle, 10) || 0;\n\n offset += this.verticalOffsetEl.offsetHeight + verticalOffsetElTop;\n } else if (this.scrollableHost) {\n offset += this.scrollableHost.getBoundingClientRect().top;\n }\n\n return offset;\n }\n\n private shouldFixEl(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n verticalOffset: number\n ): boolean {\n let anchorTop: number;\n\n if (boundaryInfo.spacerEl) {\n anchorTop = getOffset(boundaryInfo.spacerEl, this.scrollableHost).top;\n } else {\n anchorTop = getOffset(this.el, this.scrollableHost).top;\n }\n\n const doFixEl =\n boundaryInfo.scrollTop + verticalOffset + this.viewportMarginTop >\n anchorTop;\n\n return doFixEl;\n }\n\n private getFixedStyles(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n verticalOffset: number\n ): SkyViewkeeperFixedStyles {\n // If the element needs to be fixed, this will calculate its position. The position\n // will be 0 (fully visible) unless the user is scrolling the boundary out of view.\n // In that case, the element should begin to scroll out of view with the\n // rest of the boundary by setting its top position to a negative value.\n const elFixedTop = Math.min(\n boundaryInfo.boundaryBottom -\n boundaryInfo.elHeight -\n boundaryInfo.scrollTop,\n verticalOffset\n );\n\n const elFixedWidth = boundaryInfo.boundaryEl.getBoundingClientRect().width;\n const elFixedLeft =\n boundaryInfo.boundaryOffset.left - boundaryInfo.scrollLeft;\n\n return {\n elFixedLeft,\n elFixedTop,\n elFixedWidth,\n };\n }\n\n private needsUpdating(\n doFixEl: boolean,\n fixedStyles: SkyViewkeeperFixedStyles\n ): boolean {\n if (\n (doFixEl &&\n this.currentElFixedLeft === fixedStyles.elFixedLeft &&\n this.currentElFixedTop === fixedStyles.elFixedTop &&\n this.currentElFixedWidth === fixedStyles.elFixedWidth) ||\n (!doFixEl &&\n !(\n this.currentElFixedLeft !== undefined &&\n this.currentElFixedLeft !== null\n ))\n ) {\n // The element is either currently fixed and its position and width do not need\n // to change, or the element is not currently fixed and does not need to be fixed.\n // No changes are needed.\n return false;\n }\n\n return true;\n }\n\n private fixEl(\n boundaryInfo: SkyViewkeeperBoundaryInfo,\n fixedStyles: SkyViewkeeperFixedStyles\n ): void {\n const el = this.el;\n\n /* istanbul ignore else */\n /* sanity check */\n if (!boundaryInfo.spacerEl) {\n const spacerHeight = boundaryInfo.elHeight;\n\n const spacerEl = document.createElement('div');\n spacerEl.id = boundaryInfo.spacerId;\n spacerEl.style.height = px(spacerHeight);\n\n el.parentNode.insertBefore(spacerEl, el.nextSibling);\n }\n\n el.classList.add(CLS_VIEWKEEPER_FIXED);\n\n this.currentElFixedTop = fixedStyles.elFixedTop;\n this.currentElFixedLeft = fixedStyles.elFixedLeft;\n this.currentElFixedWidth = fixedStyles.elFixedWidth;\n\n let width: number;\n\n if (this.setWidth) {\n width = fixedStyles.elFixedWidth;\n }\n\n setElPosition(\n el,\n fixedStyles.elFixedLeft,\n fixedStyles.elFixedTop,\n width,\n this.viewportMarginTop\n );\n }\n\n private getBoundaryInfo(): SkyViewkeeperBoundaryInfo {\n const spacerId = this.getSpacerId();\n\n const spacerEl = document.getElementById(spacerId);\n\n const boundaryEl = this.boundaryEl;\n\n const boundaryOffset = getOffset(boundaryEl, this.scrollableHost);\n const boundaryTop = boundaryOffset.top;\n const boundaryBottom =\n boundaryTop + boundaryEl.getBoundingClientRect().height;\n\n const scrollLeft = this.scrollableHost\n ? this.scrollableHost.scrollLeft\n : document.documentElement.scrollLeft;\n const scrollTop = this.scrollableHost\n ? this.scrollableHost.scrollTop\n : document.documentElement.scrollTop;\n\n const elHeight = getHeightWithMargin(this.el);\n\n return {\n boundaryBottom,\n boundaryOffset,\n boundaryEl,\n elHeight,\n scrollLeft,\n scrollTop,\n spacerId,\n spacerEl,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"viewkeeper.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/viewkeeper/viewkeeper.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;;;AAIrE;;GAEG;AAIH,MAAM,OAAO,oBAAoB;IAC/B,YAAgC,WAAsC;QAAtC,gBAAW,GAAX,WAAW,CAA2B;IAAG,CAAC;IAE1E;;;OAGG;IACI,MAAM,CAAC,OAA6B;QACzC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,EAAiB;QAC9B,EAAE,CAAC,OAAO,EAAE,CAAC;IACf,CAAC;;kHAnBU,oBAAoB;sHAApB,oBAAoB,cAFnB,MAAM;4FAEP,oBAAoB;kBAHhC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;0BAEc,QAAQ","sourcesContent":["import { Injectable, Optional } from '@angular/core';\n\nimport { SkyViewkeeper } from './viewkeeper';\n\nimport { SkyViewkeeperHostOptions } from './viewkeeper-host-options';\n\nimport { SkyViewkeeperOptions } from './viewkeeper-options';\n\n/**\n * Provides methods for creating and destroying viewkeeper instances.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyViewkeeperService {\n constructor(@Optional() private hostOptions?: SkyViewkeeperHostOptions) {}\n\n /**\n *\n * @param options Creates a viewkeeper instance, applying host options where applicable.\n */\n public create(options: SkyViewkeeperOptions): SkyViewkeeper {\n options = Object.assign({}, this.hostOptions || {}, options);\n\n return new SkyViewkeeper(options);\n }\n\n /**\n * Destroys a viewkeeper instance.\n * @param vk Viewkeeper instance to destroy.\n */\n public destroy(vk: SkyViewkeeper): void {\n vk.destroy();\n }\n}\n"]}
1
+ {"version":3,"file":"viewkeeper.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/viewkeeper/viewkeeper.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;;;AAGrE;;GAEG;AAIH,MAAM,OAAO,oBAAoB;IAC/B,YAAgC,WAAsC;QAAtC,gBAAW,GAAX,WAAW,CAA2B;IAAG,CAAC;IAE1E;;;OAGG;IACI,MAAM,CAAC,OAA6B;QACzC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,EAAiB;QAC9B,EAAE,CAAC,OAAO,EAAE,CAAC;IACf,CAAC;;kHAnBU,oBAAoB;sHAApB,oBAAoB,cAFnB,MAAM;4FAEP,oBAAoB;kBAHhC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;0BAEc,QAAQ","sourcesContent":["import { Injectable, Optional } from '@angular/core';\n\nimport { SkyViewkeeper } from './viewkeeper';\nimport { SkyViewkeeperHostOptions } from './viewkeeper-host-options';\nimport { SkyViewkeeperOptions } from './viewkeeper-options';\n\n/**\n * Provides methods for creating and destroying viewkeeper instances.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyViewkeeperService {\n constructor(@Optional() private hostOptions?: SkyViewkeeperHostOptions) {}\n\n /**\n *\n * @param options Creates a viewkeeper instance, applying host options where applicable.\n */\n public create(options: SkyViewkeeperOptions): SkyViewkeeper {\n options = Object.assign({}, this.hostOptions || {}, options);\n\n return new SkyViewkeeper(options);\n }\n\n /**\n * Destroys a viewkeeper instance.\n * @param vk Viewkeeper instance to destroy.\n */\n public destroy(vk: SkyViewkeeper): void {\n vk.destroy();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-media-query.service.js","sourceRoot":"","sources":["../../../../../../libs/components/core/testing/src/mock-media-query.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EACL,mBAAmB,EAEnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAgB,MAAM,MAAM,CAAC;;AAGrD,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAoBhE;QACE,KAAK,CACH,IAAI,MAAM,CAAC;YACT,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CACH,CAAC;QAXG,uBAAkB,GAAG,IAAI,eAAe,CAC7C,IAAI,CAAC,OAAO,CACb,CAAC;QAEM,wBAAmB,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAQrD,CAAC;IApBD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,OAAO,CAAC,WAAgC;QACjD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACzC,CAAC;IAgBM,SAAS,CAAC,QAA+B;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,CAAC,WAAgC,EAAE,EAAE;gBACzC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,IAAyB;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAEM,OAAO,KAAU,CAAC;;AAxCX,2BAAE,GAAG,oBAAoB,CAAC;AAC1B,2BAAE,GAAG,2CAA2C,CAAC;AACjD,2BAAE,GAAG,4CAA4C,CAAC;AAClD,2BAAE,GAAG,qBAAqB,CAAC;sHAJ9B,wBAAwB;0HAAxB,wBAAwB;4FAAxB,wBAAwB;kBADpC,UAAU","sourcesContent":["import { Injectable, NgZone } from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static xs = '(max-width: 767px)';\n public static sm = '(min-width: 768px) and (max-width: 991px)';\n public static md = '(min-width: 992px) and (max-width: 1199px)';\n public static lg = '(min-width: 1200px)';\n\n public get current(): SkyMediaBreakpoints {\n return this._currentBreakpoints;\n }\n\n public set current(breakpoints: SkyMediaBreakpoints) {\n this._currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current\n );\n\n private _currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n })\n );\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this._currentBreakpoints = args;\n this.currentMockSubject.next(this._currentBreakpoints);\n }\n\n public destroy(): void {}\n}\n"]}
1
+ {"version":3,"file":"mock-media-query.service.js","sourceRoot":"","sources":["../../../../../../libs/components/core/testing/src/mock-media-query.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,mBAAmB,EAEnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAgB,MAAM,MAAM,CAAC;;AAGrD,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAoBhE;QACE,KAAK,CACH,IAAI,MAAM,CAAC;YACT,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CACH,CAAC;QAXG,uBAAkB,GAAG,IAAI,eAAe,CAC7C,IAAI,CAAC,OAAO,CACb,CAAC;QAEM,wBAAmB,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAQrD,CAAC;IApBD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,OAAO,CAAC,WAAgC;QACjD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACzC,CAAC;IAgBM,SAAS,CAAC,QAA+B;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,CAAC,WAAgC,EAAE,EAAE;gBACzC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,IAAyB;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAEM,OAAO,KAAU,CAAC;;AAxCX,2BAAE,GAAG,oBAAoB,CAAC;AAC1B,2BAAE,GAAG,2CAA2C,CAAC;AACjD,2BAAE,GAAG,4CAA4C,CAAC;AAClD,2BAAE,GAAG,qBAAqB,CAAC;sHAJ9B,wBAAwB;0HAAxB,wBAAwB;4FAAxB,wBAAwB;kBADpC,UAAU","sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static xs = '(max-width: 767px)';\n public static sm = '(min-width: 768px) and (max-width: 991px)';\n public static md = '(min-width: 992px) and (max-width: 1199px)';\n public static lg = '(min-width: 1200px)';\n\n public get current(): SkyMediaBreakpoints {\n return this._currentBreakpoints;\n }\n\n public set current(breakpoints: SkyMediaBreakpoints) {\n this._currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current\n );\n\n private _currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n })\n );\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this._currentBreakpoints = args;\n this.currentMockSubject.next(this._currentBreakpoints);\n }\n\n public destroy(): void {}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-ui-config.service.js","sourceRoot":"","sources":["../../../../../../libs/components/core/testing/src/mock-ui-config.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;;AAG1C,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAW,EAAE,aAAmB;QAC/C,QAAQ,GAAG,EAAE;YACX,KAAK,iBAAiB;gBACpB,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAO,YAAY,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;gBACP,OAAO,YAAY,CAAC;oBAClB,QAAQ,EAAE;wBACR,YAAY,EAAE;4BACZ,YAAY,EAAE;gCACZ,KAAK,EAAE;oCACL;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;oCACD;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;iCACF;6BACF;4BACD,WAAW,EAAE;gCACX;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;gCACD;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;6BACF;yBACF;wBACD,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACtC;iBACF,CAAC,CAAC;aACJ;SACF;IACH,CAAC;;oHA/CU,sBAAsB;wHAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,UAAU","sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { of as observableOf } from 'rxjs';\n\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): any {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"mock-ui-config.service.js","sourceRoot":"","sources":["../../../../../../libs/components/core/testing/src/mock-ui-config.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;;AAG1C,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAW,EAAE,aAAmB;QAC/C,QAAQ,GAAG,EAAE;YACX,KAAK,iBAAiB;gBACpB,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAO,YAAY,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;gBACP,OAAO,YAAY,CAAC;oBAClB,QAAQ,EAAE;wBACR,YAAY,EAAE;4BACZ,YAAY,EAAE;gCACZ,KAAK,EAAE;oCACL;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;oCACD;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;iCACF;6BACF;4BACD,WAAW,EAAE;gCACX;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;gCACD;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;6BACF;yBACF;wBACD,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACtC;iBACF,CAAC,CAAC;aACJ;SACF;IACH,CAAC;;oHA/CU,sBAAsB;wHAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,UAAU","sourcesContent":["import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { of as observableOf } from 'rxjs';\n\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): any {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-core-testing.js","sources":["../../../../../libs/components/core/testing/src/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static xs = '(max-width: 767px)';\n public static sm = '(min-width: 768px) and (max-width: 991px)';\n public static md = '(min-width: 992px) and (max-width: 1199px)';\n public static lg = '(min-width: 1200px)';\n\n public get current(): SkyMediaBreakpoints {\n return this._currentBreakpoints;\n }\n\n public set current(breakpoints: SkyMediaBreakpoints) {\n this._currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current\n );\n\n private _currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n })\n );\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this._currentBreakpoints = args;\n this.currentMockSubject.next(this._currentBreakpoints);\n }\n\n public destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { of as observableOf } from 'rxjs';\n\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): any {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":";;;;;MAWa,wBAAyB,SAAQ,oBAAoB;IAoBhE;QACE,KAAK,CACH,IAAI,MAAM,CAAC;YACT,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CACH,CAAC;QAXG,uBAAkB,GAAG,IAAI,eAAe,CAC7C,IAAI,CAAC,OAAO,CACb,CAAC;QAEM,wBAAmB,GAAG,mBAAmB,CAAC,EAAE,CAAC;KAQpD;IApBD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;IAED,IAAW,OAAO,CAAC,WAAgC;QACjD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;KACxC;IAgBM,SAAS,CAAC,QAA+B;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,CAAC,WAAgC;gBACrC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACvB;SACF,CAAC,CAAC;KACJ;IAEM,IAAI,CAAC,IAAyB;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxD;IAEM,OAAO,MAAW;;AAxCX,2BAAE,GAAG,oBAAoB,CAAC;AAC1B,2BAAE,GAAG,2CAA2C,CAAC;AACjD,2BAAE,GAAG,4CAA4C,CAAC;AAClD,2BAAE,GAAG,qBAAqB,CAAC;sHAJ9B,wBAAwB;0HAAxB,wBAAwB;4FAAxB,wBAAwB;kBADpC,UAAU;;;MCHE,sBAAuB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAW,EAAE,aAAmB;QAC/C,QAAQ,GAAG;YACT,KAAK,iBAAiB;gBACpB,OAAOA,EAAY,CAAC,aAAa,CAAC,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAOA,EAAY,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,SAAS;gBACP,OAAOA,EAAY,CAAC;oBAClB,QAAQ,EAAE;wBACR,YAAY,EAAE;4BACZ,YAAY,EAAE;gCACZ,KAAK,EAAE;oCACL;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;oCACD;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;iCACF;6BACF;4BACD,WAAW,EAAE;gCACX;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;gCACD;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;6BACF;yBACF;wBACD,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACtC;iBACF,CAAC,CAAC;aACJ;SACF;KACF;;oHA/CU,sBAAsB;wHAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,UAAU;;;ACNX;;;;;;"}
1
+ {"version":3,"file":"skyux-core-testing.js","sources":["../../../../../libs/components/core/testing/src/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static xs = '(max-width: 767px)';\n public static sm = '(min-width: 768px) and (max-width: 991px)';\n public static md = '(min-width: 992px) and (max-width: 1199px)';\n public static lg = '(min-width: 1200px)';\n\n public get current(): SkyMediaBreakpoints {\n return this._currentBreakpoints;\n }\n\n public set current(breakpoints: SkyMediaBreakpoints) {\n this._currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current\n );\n\n private _currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n })\n );\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this._currentBreakpoints = args;\n this.currentMockSubject.next(this._currentBreakpoints);\n }\n\n public destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { of as observableOf } from 'rxjs';\n\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): any {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":";;;;;MAUa,wBAAyB,SAAQ,oBAAoB;IAoBhE;QACE,KAAK,CACH,IAAI,MAAM,CAAC;YACT,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CACH,CAAC;QAXG,uBAAkB,GAAG,IAAI,eAAe,CAC7C,IAAI,CAAC,OAAO,CACb,CAAC;QAEM,wBAAmB,GAAG,mBAAmB,CAAC,EAAE,CAAC;KAQpD;IApBD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;IAED,IAAW,OAAO,CAAC,WAAgC;QACjD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;KACxC;IAgBM,SAAS,CAAC,QAA+B;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,CAAC,WAAgC;gBACrC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACvB;SACF,CAAC,CAAC;KACJ;IAEM,IAAI,CAAC,IAAyB;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxD;IAEM,OAAO,MAAW;;AAxCX,2BAAE,GAAG,oBAAoB,CAAC;AAC1B,2BAAE,GAAG,2CAA2C,CAAC;AACjD,2BAAE,GAAG,4CAA4C,CAAC;AAClD,2BAAE,GAAG,qBAAqB,CAAC;sHAJ9B,wBAAwB;0HAAxB,wBAAwB;4FAAxB,wBAAwB;kBADpC,UAAU;;;MCHE,sBAAuB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,GAAW,EAAE,aAAmB;QAC/C,QAAQ,GAAG;YACT,KAAK,iBAAiB;gBACpB,OAAOA,EAAY,CAAC,aAAa,CAAC,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAOA,EAAY,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,SAAS;gBACP,OAAOA,EAAY,CAAC;oBAClB,QAAQ,EAAE;wBACR,YAAY,EAAE;4BACZ,YAAY,EAAE;gCACZ,KAAK,EAAE;oCACL;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;oCACD;wCACE,EAAE,EAAE,QAAQ;wCACZ,WAAW,EAAE,IAAI;qCAClB;iCACF;6BACF;4BACD,WAAW,EAAE;gCACX;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;gCACD;oCACE,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,QAAQ;4CACZ,WAAW,EAAE,IAAI;yCAClB;qCACF;iCACF;6BACF;yBACF;wBACD,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACtC;iBACF,CAAC,CAAC;aACJ;SACF;KACF;;oHA/CU,sBAAsB;wHAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,UAAU;;;ACLX;;;;;;"}
@@ -187,7 +187,7 @@ class SkyCoreAdapterService {
187
187
  // In certain scenarios, an element is removed after a click event; by the time the event
188
188
  // bubbles up to other elements, however, the element has been removed and the computed style returns empty.
189
189
  // In this case, we'll need to check the z-index directly, via the style property.
190
- let targetZIndex = getComputedStyle(el).zIndex || el.style.zIndex;
190
+ const targetZIndex = getComputedStyle(el).zIndex || el.style.zIndex;
191
191
  if (targetZIndex !== '' &&
192
192
  targetZIndex !== 'auto' &&
193
193
  +targetZIndex > +zIndex) {
@@ -1404,6 +1404,7 @@ class SkyLogService {
1404
1404
  warn(message, ...optionalParams) {
1405
1405
  /*istanbul ignore else */
1406
1406
  if (window.console) {
1407
+ // eslint-disable-next-line prefer-spread,prefer-rest-params
1407
1408
  window.console.warn.apply(window.console, arguments);
1408
1409
  }
1409
1410
  }
@@ -1595,6 +1596,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1595
1596
  }]
1596
1597
  }] });
1597
1598
 
1599
+ /**
1600
+ * Provides arguments for the number to format.
1601
+ */
1602
+ class NumericOptions {
1603
+ constructor() {
1604
+ /**
1605
+ * Specifies the maximum number of digits after the decimal separator.
1606
+ * @default 1
1607
+ */
1608
+ this.digits = 1;
1609
+ /**
1610
+ * Specifies how to format the number. Options are `currency` or `number`.
1611
+ * @default "number"
1612
+ */
1613
+ this.format = 'number';
1614
+ /**
1615
+ * Specifies the format of the currency.
1616
+ * @default "standard"
1617
+ */
1618
+ this.currencySign = 'standard';
1619
+ /**
1620
+ * Specifies the ISO4217 currency code to use for currency formatting. If you do not specify a
1621
+ * currency code, the component uses the browser's culture to determine the currency unless your
1622
+ * SPA provides a different culture with `SkyAppLocaleProvider`.
1623
+ * @default "USD"
1624
+ */
1625
+ this.iso = 'USD';
1626
+ /**
1627
+ * Indicates whether to shorten numbers to rounded numbers and abbreviation characters
1628
+ * such as K for thousands, M for millions, B for billions, and T for trillion.
1629
+ */
1630
+ this.truncate = true;
1631
+ /**
1632
+ * Specifies the starting point after which numbers are shortened to rounded numbers
1633
+ * and abbreviation characters.
1634
+ * @default 0
1635
+ */
1636
+ this.truncateAfter = 0;
1637
+ }
1638
+ }
1639
+
1598
1640
  /* tslint:disable:no-null-keyword */
1599
1641
  function isNumeric(value) {
1600
1642
  return !isNaN(value - parseFloat(value));
@@ -1611,8 +1653,6 @@ function parseIntAutoRadix(text) {
1611
1653
  // See: https://github.com/ng-packagr/ng-packagr/issues/641
1612
1654
  // @dynamic
1613
1655
  class SkyNumberFormatUtility {
1614
- /* istanbul ignore next */
1615
- constructor() { }
1616
1656
  static formatNumber(locale, value, style, digits, currency = null, currencyAsSymbol = false, currencySign) {
1617
1657
  if (value == null) {
1618
1658
  return null;
@@ -1699,7 +1739,7 @@ class SkyNumericService {
1699
1739
  // Get the symbol for the number after rounding, since rounding could push the number
1700
1740
  // into a different symbol range.
1701
1741
  let roundedNumber = this.roundNumber(value, options.digits);
1702
- let roundedNumberAbs = Math.abs(roundedNumber);
1742
+ const roundedNumberAbs = Math.abs(roundedNumber);
1703
1743
  let suffix = '';
1704
1744
  for (let i = 0; i < this.symbolIndex.length; i++) {
1705
1745
  let symbol = this.symbolIndex[i];
@@ -1720,6 +1760,7 @@ class SkyNumericService {
1720
1760
  this.storeShortenSymbol(output);
1721
1761
  const locale = options.locale || this.currentLocale;
1722
1762
  let digits;
1763
+ let isDecimal;
1723
1764
  // Checks the string entered for format. Using toLowerCase to ignore case.
1724
1765
  switch ((_a = options.format) === null || _a === void 0 ? void 0 : _a.toLowerCase()) {
1725
1766
  // In a case where a decimal value was not shortened and
@@ -1728,7 +1769,7 @@ class SkyNumericService {
1728
1769
  // Note: This will need to be reviewed if we support currencies with
1729
1770
  // three decimal digits.
1730
1771
  case 'currency':
1731
- const isDecimal = value % 1 !== 0;
1772
+ isDecimal = value % 1 !== 0;
1732
1773
  if (options.minDigits) {
1733
1774
  digits = `1.${options.minDigits}-${options.digits}`;
1734
1775
  }
@@ -1738,12 +1779,12 @@ class SkyNumericService {
1738
1779
  else {
1739
1780
  digits = `1.0-${options.digits}`;
1740
1781
  }
1782
+ output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso,
1741
1783
  // Angular 5+ needs a string for this parameter, but Angular 4 needs a boolean.
1742
1784
  // To support both versions we can supply 'symbol' which will evaluate truthy for Angular 4
1743
1785
  // and the appropriate string value for Angular 5+.
1744
1786
  // See: https://angular.io/api/common/CurrencyPipe#parameters
1745
- const symbolDisplay = 'symbol';
1746
- output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso, symbolDisplay, options.currencySign);
1787
+ 'symbol', options.currencySign);
1747
1788
  break;
1748
1789
  // The following is a catch-all to ensure that if
1749
1790
  // anything but currency (or a future option) are entered,
@@ -1847,47 +1888,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1847
1888
  }]
1848
1889
  }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
1849
1890
 
1850
- /**
1851
- * Provides arguments for the number to format.
1852
- */
1853
- class NumericOptions {
1854
- constructor() {
1855
- /**
1856
- * Specifies the maximum number of digits after the decimal separator.
1857
- * @default 1
1858
- */
1859
- this.digits = 1;
1860
- /**
1861
- * Specifies how to format the number. Options are `currency` or `number`.
1862
- * @default "number"
1863
- */
1864
- this.format = 'number';
1865
- /**
1866
- * Specifies the format of the currency.
1867
- * @default "standard"
1868
- */
1869
- this.currencySign = 'standard';
1870
- /**
1871
- * Specifies the ISO4217 currency code to use for currency formatting. If you do not specify a
1872
- * currency code, the component uses the browser's culture to determine the currency unless your
1873
- * SPA provides a different culture with `SkyAppLocaleProvider`.
1874
- * @default "USD"
1875
- */
1876
- this.iso = 'USD';
1877
- /**
1878
- * Indicates whether to shorten numbers to rounded numbers and abbreviation characters
1879
- * such as K for thousands, M for millions, B for billions, and T for trillion.
1880
- */
1881
- this.truncate = true;
1882
- /**
1883
- * Specifies the starting point after which numbers are shortened to rounded numbers
1884
- * and abbreviation characters.
1885
- * @default 0
1886
- */
1887
- this.truncateAfter = 0;
1888
- }
1889
- }
1890
-
1891
1891
  /**
1892
1892
  * Shortens numbers to rounded numbers and abbreviation characters such as K for thousands,
1893
1893
  * M for millions, B for billions, and T for trillions. The pipe also formats for currency.
@@ -1919,7 +1919,7 @@ class SkyNumericPipe {
1919
1919
  }
1920
1920
  transform(value, config) {
1921
1921
  var _a;
1922
- let newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
1922
+ const newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
1923
1923
  `${value}_${(config === null || config === void 0 ? void 0 : config.locale) || this.providerLocale}`;
1924
1924
  /* If the value and locale are the same as the last transform then return the previous value
1925
1925
  instead of reformatting. */
@@ -2432,14 +2432,14 @@ class SkyScrollableHostService {
2432
2432
  * @internal
2433
2433
  */
2434
2434
  watchScrollableHost(elementRef) {
2435
- let subscribers = [];
2435
+ const subscribers = [];
2436
2436
  let mutationObserver;
2437
2437
  return new Observable((subscriber) => {
2438
2438
  subscribers.push(subscriber);
2439
2439
  let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
2440
2440
  if (subscribers.length === 1) {
2441
2441
  mutationObserver = this.mutationObserverSvc.create(() => {
2442
- let newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
2442
+ const newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
2443
2443
  if (newScrollableHost !== scrollableHost) {
2444
2444
  scrollableHost = newScrollableHost;
2445
2445
  this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
@@ -2469,7 +2469,7 @@ class SkyScrollableHostService {
2469
2469
  * @returns An observable which emits the scroll events from the given element's scrollable host
2470
2470
  */
2471
2471
  watchScrollableHostScrollEvents(elementRef) {
2472
- let subscribers = [];
2472
+ const subscribers = [];
2473
2473
  let scrollableHost;
2474
2474
  let newScrollableHostObservable = new Subject();
2475
2475
  let scrollableHostSubscription;
@@ -2621,7 +2621,7 @@ let nextIdIndex;
2621
2621
  function ensureStyleEl() {
2622
2622
  if (!styleEl) {
2623
2623
  styleEl = document.createElement('style');
2624
- let css = document.createTextNode(`
2624
+ const css = document.createTextNode(`
2625
2625
  .${CLS_VIEWKEEPER_FIXED} {
2626
2626
  position: fixed !important;
2627
2627
  z-index: 999;
@@ -2776,25 +2776,22 @@ class SkyViewkeeper {
2776
2776
  }
2777
2777
  shouldFixEl(boundaryInfo, verticalOffset) {
2778
2778
  let anchorTop;
2779
- let doFixEl;
2780
2779
  if (boundaryInfo.spacerEl) {
2781
2780
  anchorTop = getOffset(boundaryInfo.spacerEl, this.scrollableHost).top;
2782
2781
  }
2783
2782
  else {
2784
2783
  anchorTop = getOffset(this.el, this.scrollableHost).top;
2785
2784
  }
2786
- doFixEl =
2787
- boundaryInfo.scrollTop + verticalOffset + this.viewportMarginTop >
2788
- anchorTop;
2785
+ const doFixEl = boundaryInfo.scrollTop + verticalOffset + this.viewportMarginTop >
2786
+ anchorTop;
2789
2787
  return doFixEl;
2790
2788
  }
2791
2789
  getFixedStyles(boundaryInfo, verticalOffset) {
2792
- let elFixedTop;
2793
2790
  // If the element needs to be fixed, this will calculate its position. The position
2794
2791
  // will be 0 (fully visible) unless the user is scrolling the boundary out of view.
2795
2792
  // In that case, the element should begin to scroll out of view with the
2796
2793
  // rest of the boundary by setting its top position to a negative value.
2797
- elFixedTop = Math.min(boundaryInfo.boundaryBottom -
2794
+ const elFixedTop = Math.min(boundaryInfo.boundaryBottom -
2798
2795
  boundaryInfo.elHeight -
2799
2796
  boundaryInfo.scrollTop, verticalOffset);
2800
2797
  const elFixedWidth = boundaryInfo.boundaryEl.getBoundingClientRect().width;
@@ -2940,7 +2937,7 @@ class SkyViewkeeperDirective {
2940
2937
  if (this.skyViewkeeper) {
2941
2938
  viewkeeperEls = [];
2942
2939
  for (const item of this.skyViewkeeper) {
2943
- let matchingEls = Array.from(this.el.nativeElement.querySelectorAll(item));
2940
+ const matchingEls = Array.from(this.el.nativeElement.querySelectorAll(item));
2944
2941
  viewkeeperEls = [...viewkeeperEls, ...matchingEls];
2945
2942
  }
2946
2943
  }
@@ -2963,7 +2960,7 @@ class SkyViewkeeperDirective {
2963
2960
  return false;
2964
2961
  }
2965
2962
  detectElements() {
2966
- let viewkeeperEls = this.getViewkeeperEls();
2963
+ const viewkeeperEls = this.getViewkeeperEls();
2967
2964
  if (this.viewkeeperElsChanged(viewkeeperEls)) {
2968
2965
  if (this.scrollableHostWatchUnsubscribe) {
2969
2966
  this.scrollableHostWatchUnsubscribe.next();