@skyux/core 7.0.0-beta.9 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +479 -397
- package/esm2020/lib/modules/adapter-service/adapter.module.mjs +5 -5
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +5 -5
- package/esm2020/lib/modules/affix/affix.directive.mjs +5 -6
- package/esm2020/lib/modules/affix/affix.module.mjs +5 -5
- package/esm2020/lib/modules/affix/affix.service.mjs +5 -5
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +5 -6
- package/esm2020/lib/modules/dock/dock.component.mjs +5 -5
- package/esm2020/lib/modules/dock/dock.module.mjs +5 -5
- package/esm2020/lib/modules/dock/dock.service.mjs +4 -5
- package/esm2020/lib/modules/dynamic-component/dynamic-component-options.mjs +1 -1
- package/esm2020/lib/modules/dynamic-component/dynamic-component.module.mjs +5 -5
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +6 -7
- package/esm2020/lib/modules/format/app-format.mjs +4 -4
- package/esm2020/lib/modules/id/id.directive.mjs +5 -6
- package/esm2020/lib/modules/id/id.module.mjs +5 -5
- package/esm2020/lib/modules/id/id.service.mjs +4 -4
- package/esm2020/lib/modules/log/log.module.mjs +5 -5
- package/esm2020/lib/modules/log/log.service.mjs +4 -5
- package/esm2020/lib/modules/media-query/media-query.module.mjs +5 -5
- package/esm2020/lib/modules/media-query/media-query.service.mjs +5 -5
- package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +4 -4
- package/esm2020/lib/modules/numeric/numeric.module.mjs +5 -5
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +5 -7
- package/esm2020/lib/modules/numeric/numeric.service.mjs +5 -5
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +5 -5
- package/esm2020/lib/modules/overlay/overlay.component.mjs +6 -9
- package/esm2020/lib/modules/overlay/overlay.module.mjs +5 -5
- package/esm2020/lib/modules/overlay/overlay.service.mjs +5 -6
- package/esm2020/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +5 -5
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +4 -5
- package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +5 -5
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +4 -6
- package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +5 -5
- package/esm2020/lib/modules/title/title.service.mjs +4 -5
- package/esm2020/lib/modules/trim/trim.directive.mjs +5 -6
- package/esm2020/lib/modules/trim/trim.module.mjs +5 -5
- package/esm2020/lib/modules/ui-config/ui-config.service.mjs +4 -4
- package/esm2020/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +1 -1
- package/esm2020/lib/modules/viewkeeper/viewkeeper-host-options.mjs +4 -4
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +5 -8
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +23 -8
- package/esm2020/lib/modules/viewkeeper/viewkeeper.module.mjs +5 -5
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +4 -5
- package/esm2020/lib/modules/window/window-ref.mjs +4 -4
- package/esm2020/testing/core-testing.module.mjs +5 -5
- package/esm2020/testing/mock-media-query.service.mjs +4 -4
- package/esm2020/testing/mock-ui-config.service.mjs +4 -4
- package/fesm2015/skyux-core-testing.mjs +10 -10
- package/fesm2015/skyux-core-testing.mjs.map +1 -1
- package/fesm2015/skyux-core.mjs +163 -147
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core-testing.mjs +10 -10
- package/fesm2020/skyux-core-testing.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +162 -147
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/dynamic-component/dynamic-component-options.d.ts +5 -1
- package/lib/modules/viewkeeper/viewkeeper-fixed-styles.d.ts +5 -0
- package/package.json +7 -7
@@ -1,4 +1,4 @@
|
|
1
|
-
var _SkyViewkeeper_instances, _SkyViewkeeper_boundaryEl, _SkyViewkeeper_el, _SkyViewkeeper_id, _SkyViewkeeper_setWidth, _SkyViewkeeper_verticalOffset, _SkyViewkeeper_verticalOffsetEl, _SkyViewkeeper_viewportMarginTop, _SkyViewkeeper_currentElFixedLeft, _SkyViewkeeper_currentElFixedTop, _SkyViewkeeper_currentElFixedWidth, _SkyViewkeeper_isDestroyed, _SkyViewkeeper_scrollableHost, _SkyViewkeeper_syncElPositionHandler, _SkyViewkeeper_getSpacerId, _SkyViewkeeper_unfixEl, _SkyViewkeeper_calculateVerticalOffset, _SkyViewkeeper_shouldFixEl, _SkyViewkeeper_getFixedStyles, _SkyViewkeeper_needsUpdating, _SkyViewkeeper_fixEl, _SkyViewkeeper_getBoundaryInfo;
|
1
|
+
var _SkyViewkeeper_instances, _SkyViewkeeper_boundaryEl, _SkyViewkeeper_el, _SkyViewkeeper_id, _SkyViewkeeper_setWidth, _SkyViewkeeper_verticalOffset, _SkyViewkeeper_verticalOffsetEl, _SkyViewkeeper_viewportMarginTop, _SkyViewkeeper_currentElFixedLeft, _SkyViewkeeper_currentElFixedTop, _SkyViewkeeper_currentElFixedWidth, _SkyViewkeeper_currentElClipLeft, _SkyViewkeeper_currentElClipTop, _SkyViewkeeper_isDestroyed, _SkyViewkeeper_scrollableHost, _SkyViewkeeper_syncElPositionHandler, _SkyViewkeeper_intersectionObserver, _SkyViewkeeper_getSpacerId, _SkyViewkeeper_unfixEl, _SkyViewkeeper_calculateVerticalOffset, _SkyViewkeeper_shouldFixEl, _SkyViewkeeper_getFixedStyles, _SkyViewkeeper_needsUpdating, _SkyViewkeeper_fixEl, _SkyViewkeeper_getBoundaryInfo;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
3
|
const CLS_VIEWKEEPER_FIXED = 'sky-viewkeeper-fixed';
|
4
4
|
const EVT_AFTER_VIEWKEEPER_SYNC = 'afterViewkeeperSync';
|
@@ -43,10 +43,12 @@ function px(value) {
|
|
43
43
|
}
|
44
44
|
return pxValue;
|
45
45
|
}
|
46
|
-
function setElPosition(el, left, top, width, marginTop) {
|
46
|
+
function setElPosition(el, left, top, width, marginTop, clipTop, clipLeft) {
|
47
47
|
el.style.top = px(top);
|
48
48
|
el.style.left = px(left);
|
49
49
|
el.style.marginTop = px(marginTop);
|
50
|
+
el.style.clipPath =
|
51
|
+
clipTop || clipLeft ? `inset(${px(clipTop)} 0 0 ${px(clipLeft)})` : 'none';
|
50
52
|
/*istanbul ignore else*/
|
51
53
|
/* sanity check */
|
52
54
|
if (width !== null) {
|
@@ -77,9 +79,12 @@ export class SkyViewkeeper {
|
|
77
79
|
_SkyViewkeeper_currentElFixedLeft.set(this, void 0);
|
78
80
|
_SkyViewkeeper_currentElFixedTop.set(this, void 0);
|
79
81
|
_SkyViewkeeper_currentElFixedWidth.set(this, void 0);
|
82
|
+
_SkyViewkeeper_currentElClipLeft.set(this, void 0);
|
83
|
+
_SkyViewkeeper_currentElClipTop.set(this, void 0);
|
80
84
|
_SkyViewkeeper_isDestroyed.set(this, false);
|
81
85
|
_SkyViewkeeper_scrollableHost.set(this, void 0);
|
82
86
|
_SkyViewkeeper_syncElPositionHandler.set(this, void 0);
|
87
|
+
_SkyViewkeeper_intersectionObserver.set(this, void 0);
|
83
88
|
options = options || /* istanbul ignore next */ {};
|
84
89
|
__classPrivateFieldSet(this, _SkyViewkeeper_el, options.el, "f");
|
85
90
|
__classPrivateFieldSet(this, _SkyViewkeeper_boundaryEl, options.boundaryEl, "f");
|
@@ -132,6 +137,7 @@ export class SkyViewkeeper {
|
|
132
137
|
}
|
133
138
|
destroy() {
|
134
139
|
if (!__classPrivateFieldGet(this, _SkyViewkeeper_isDestroyed, "f")) {
|
140
|
+
__classPrivateFieldGet(this, _SkyViewkeeper_intersectionObserver, "f")?.disconnect();
|
135
141
|
window.removeEventListener('scroll', __classPrivateFieldGet(this, _SkyViewkeeper_syncElPositionHandler, "f"), true);
|
136
142
|
window.removeEventListener('resize', __classPrivateFieldGet(this, _SkyViewkeeper_syncElPositionHandler, "f"));
|
137
143
|
window.removeEventListener('orientationchange', __classPrivateFieldGet(this, _SkyViewkeeper_syncElPositionHandler, "f"));
|
@@ -146,7 +152,7 @@ export class SkyViewkeeper {
|
|
146
152
|
}
|
147
153
|
}
|
148
154
|
}
|
149
|
-
_SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _SkyViewkeeper_id = new WeakMap(), _SkyViewkeeper_setWidth = new WeakMap(), _SkyViewkeeper_verticalOffset = new WeakMap(), _SkyViewkeeper_verticalOffsetEl = new WeakMap(), _SkyViewkeeper_viewportMarginTop = new WeakMap(), _SkyViewkeeper_currentElFixedLeft = new WeakMap(), _SkyViewkeeper_currentElFixedTop = new WeakMap(), _SkyViewkeeper_currentElFixedWidth = new WeakMap(), _SkyViewkeeper_isDestroyed = new WeakMap(), _SkyViewkeeper_scrollableHost = new WeakMap(), _SkyViewkeeper_syncElPositionHandler = new WeakMap(), _SkyViewkeeper_instances = new WeakSet(), _SkyViewkeeper_getSpacerId = function _SkyViewkeeper_getSpacerId() {
|
155
|
+
_SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _SkyViewkeeper_id = new WeakMap(), _SkyViewkeeper_setWidth = new WeakMap(), _SkyViewkeeper_verticalOffset = new WeakMap(), _SkyViewkeeper_verticalOffsetEl = new WeakMap(), _SkyViewkeeper_viewportMarginTop = new WeakMap(), _SkyViewkeeper_currentElFixedLeft = new WeakMap(), _SkyViewkeeper_currentElFixedTop = new WeakMap(), _SkyViewkeeper_currentElFixedWidth = new WeakMap(), _SkyViewkeeper_currentElClipLeft = new WeakMap(), _SkyViewkeeper_currentElClipTop = new WeakMap(), _SkyViewkeeper_isDestroyed = new WeakMap(), _SkyViewkeeper_scrollableHost = new WeakMap(), _SkyViewkeeper_syncElPositionHandler = new WeakMap(), _SkyViewkeeper_intersectionObserver = new WeakMap(), _SkyViewkeeper_instances = new WeakSet(), _SkyViewkeeper_getSpacerId = function _SkyViewkeeper_getSpacerId() {
|
150
156
|
return __classPrivateFieldGet(this, _SkyViewkeeper_id, "f") + '-spacer';
|
151
157
|
}, _SkyViewkeeper_unfixEl = function _SkyViewkeeper_unfixEl(el) {
|
152
158
|
const spacerEl = document.getElementById(__classPrivateFieldGet(this, _SkyViewkeeper_instances, "m", _SkyViewkeeper_getSpacerId).call(this));
|
@@ -160,7 +166,7 @@ _SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _S
|
|
160
166
|
if (__classPrivateFieldGet(this, _SkyViewkeeper_setWidth, "f")) {
|
161
167
|
width = 'auto';
|
162
168
|
}
|
163
|
-
setElPosition(el, '', '', width, '');
|
169
|
+
setElPosition(el, '', '', width, '', 0, 0);
|
164
170
|
}, _SkyViewkeeper_calculateVerticalOffset = function _SkyViewkeeper_calculateVerticalOffset() {
|
165
171
|
let offset = __classPrivateFieldGet(this, _SkyViewkeeper_verticalOffset, "f");
|
166
172
|
if (__classPrivateFieldGet(this, _SkyViewkeeper_verticalOffsetEl, "f")) {
|
@@ -188,20 +194,27 @@ _SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _S
|
|
188
194
|
// will be 0 (fully visible) unless the user is scrolling the boundary out of view.
|
189
195
|
// In that case, the element should begin to scroll out of view with the
|
190
196
|
// rest of the boundary by setting its top position to a negative value.
|
191
|
-
const
|
197
|
+
const elTop = boundaryInfo.boundaryBottom -
|
192
198
|
boundaryInfo.elHeight -
|
193
|
-
boundaryInfo.scrollTop
|
199
|
+
boundaryInfo.scrollTop;
|
200
|
+
const elClipTop = elTop < verticalOffset ? verticalOffset - elTop : 0;
|
201
|
+
const elFixedTop = Math.min(elTop, verticalOffset);
|
194
202
|
const elFixedWidth = boundaryInfo.boundaryEl.getBoundingClientRect().width;
|
195
203
|
const elFixedLeft = boundaryInfo.boundaryOffset.left - boundaryInfo.scrollLeft;
|
204
|
+
const elClipLeft = elFixedLeft < 0 ? 0 - elFixedLeft : 0;
|
196
205
|
return {
|
197
206
|
elFixedLeft,
|
198
207
|
elFixedTop,
|
199
208
|
elFixedWidth,
|
209
|
+
elClipLeft,
|
210
|
+
elClipTop,
|
200
211
|
};
|
201
212
|
}, _SkyViewkeeper_needsUpdating = function _SkyViewkeeper_needsUpdating(doFixEl, fixedStyles) {
|
202
213
|
if ((doFixEl &&
|
203
214
|
__classPrivateFieldGet(this, _SkyViewkeeper_currentElFixedLeft, "f") === fixedStyles.elFixedLeft &&
|
204
215
|
__classPrivateFieldGet(this, _SkyViewkeeper_currentElFixedTop, "f") === fixedStyles.elFixedTop &&
|
216
|
+
__classPrivateFieldGet(this, _SkyViewkeeper_currentElClipLeft, "f") === fixedStyles.elClipLeft &&
|
217
|
+
__classPrivateFieldGet(this, _SkyViewkeeper_currentElClipTop, "f") === fixedStyles.elClipTop &&
|
205
218
|
__classPrivateFieldGet(this, _SkyViewkeeper_currentElFixedWidth, "f") === fixedStyles.elFixedWidth) ||
|
206
219
|
(!doFixEl &&
|
207
220
|
!(__classPrivateFieldGet(this, _SkyViewkeeper_currentElFixedLeft, "f") !== undefined &&
|
@@ -228,12 +241,14 @@ _SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _S
|
|
228
241
|
el.classList.add(CLS_VIEWKEEPER_FIXED);
|
229
242
|
__classPrivateFieldSet(this, _SkyViewkeeper_currentElFixedTop, fixedStyles.elFixedTop, "f");
|
230
243
|
__classPrivateFieldSet(this, _SkyViewkeeper_currentElFixedLeft, fixedStyles.elFixedLeft, "f");
|
244
|
+
__classPrivateFieldSet(this, _SkyViewkeeper_currentElClipTop, fixedStyles.elClipTop, "f");
|
245
|
+
__classPrivateFieldSet(this, _SkyViewkeeper_currentElClipLeft, fixedStyles.elClipLeft, "f");
|
231
246
|
__classPrivateFieldSet(this, _SkyViewkeeper_currentElFixedWidth, fixedStyles.elFixedWidth, "f");
|
232
247
|
let width = 0;
|
233
248
|
if (__classPrivateFieldGet(this, _SkyViewkeeper_setWidth, "f")) {
|
234
249
|
width = fixedStyles.elFixedWidth;
|
235
250
|
}
|
236
|
-
setElPosition(el, fixedStyles.elFixedLeft, fixedStyles.elFixedTop, width, __classPrivateFieldGet(this, _SkyViewkeeper_viewportMarginTop, "f"));
|
251
|
+
setElPosition(el, fixedStyles.elFixedLeft, fixedStyles.elFixedTop, width, __classPrivateFieldGet(this, _SkyViewkeeper_viewportMarginTop, "f"), fixedStyles.elClipTop, fixedStyles.elClipLeft);
|
237
252
|
}, _SkyViewkeeper_getBoundaryInfo = function _SkyViewkeeper_getBoundaryInfo(el, boundaryEl) {
|
238
253
|
const spacerId = __classPrivateFieldGet(this, _SkyViewkeeper_instances, "m", _SkyViewkeeper_getSpacerId).call(this);
|
239
254
|
const spacerEl = document.getElementById(spacerId);
|
@@ -258,4 +273,4 @@ _SkyViewkeeper_boundaryEl = new WeakMap(), _SkyViewkeeper_el = new WeakMap(), _S
|
|
258
273
|
spacerEl,
|
259
274
|
};
|
260
275
|
};
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQ3BELE1BQU0seUJBQXlCLEdBQUcscUJBQXFCLENBQUM7QUFFeEQsSUFBSSxPQUF5QixDQUFDO0FBQzlCLElBQUksV0FBbUIsQ0FBQztBQUV4QixTQUFTLGFBQWE7SUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7R0FDckMsb0JBQW9COzs7Ozs7O3FCQU9GLG9CQUFvQjs7OztDQUl4QyxDQUFDLENBQUM7UUFFQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXpCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3BDO0FBQ0gsQ0FBQztBQUVELFNBQVMsTUFBTTtJQUNiLFdBQVcsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckMsT0FBTyxhQUFhLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FDaEIsRUFBZSxFQUNmLGNBQTRCO0lBRTVCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBRTFFLE9BQU87UUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcs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Q0FBZ0IsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUM7SUFDdkMsTUFBTSxjQUFjLEdBQ2xCLFdBQVcsR0FBRyxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFFMUQsTUFBTSxVQUFVLEdBQUcsdUJBQUEsSUFBSSxxQ0FBZ0I7UUFDckMsQ0FBQyxDQUFDLHVCQUFBLElBQUkscUNBQWdCLENBQUMsVUFBVTtRQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFDeEMsTUFBTSxTQUFTLEdBQUcsdUJBQUEsSUFBSSxxQ0FBZ0I7UUFDcEMsQ0FBQyxDQUFDLHVCQUFBLElBQUkscUNBQWdCLENBQUMsU0FBUztRQUNoQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFFdkMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLGNBQWM7UUFDZCxjQUFjO1FBQ2QsVUFBVTtRQUNWLFFBQVE7UUFDUixVQUFVO1FBQ1YsU0FBUztRQUNULFFBQVE7UUFDUixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lWaWV3a2VlcGVyQm91bmRhcnlJbmZvIH0gZnJvbSAnLi92aWV3a2VlcGVyLWJvdW5kYXJ5LWluZm8nO1xuaW1wb3J0IHsgU2t5Vmlld2tlZXBlckZpeGVkU3R5bGVzIH0gZnJvbSAnLi92aWV3a2VlcGVyLWZpeGVkLXN0eWxlcyc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyT2Zmc2V0IH0gZnJvbSAnLi92aWV3a2VlcGVyLW9mZnNldCc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyT3B0aW9ucyB9IGZyb20gJy4vdmlld2tlZXBlci1vcHRpb25zJztcblxuY29uc3QgQ0xTX1ZJRVdLRUVQRVJfRklYRUQgPSAnc2t5LXZpZXdrZWVwZXItZml4ZWQnO1xuY29uc3QgRVZUX0FGVEVSX1ZJRVdLRUVQRVJfU1lOQyA9ICdhZnRlclZpZXdrZWVwZXJTeW5jJztcblxubGV0IHN0eWxlRWw6IEhUTUxTdHlsZUVsZW1lbnQ7XG5sZXQgbmV4dElkSW5kZXg6IG51bWJlcjtcblxuZnVuY3Rpb24gZW5zdXJlU3R5bGVFbCgpOiB2b2lkIHtcbiAgaWYgKCFzdHlsZUVsKSB7XG4gICAgc3R5bGVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG5cbiAgICBjb25zdCBjc3MgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgXG4uJHtDTFNfVklFV0tFRVBFUl9GSVhFRH0ge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5O1xuICBvcGFjaXR5OiAwLjk1O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2t5LXRoZW1lLW1vZGVybiAuJHtDTFNfVklFV0tFRVBFUl9GSVhFRH0ge1xuICBib3gtc2hhZG93OiAwcHggMXB4IDhweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgb3BhY2l0eTogaW5pdGlhbDtcbn1cbmApO1xuXG4gICAgc3R5bGVFbC5hcHBlbmRDaGlsZChjc3MpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBuZXh0SWQoKTogc3RyaW5nIHtcbiAgbmV4dElkSW5kZXggPSAobmV4dElkSW5kZXggfHwgMCkgKyAxO1xuXG4gIHJldHVybiAndmlld2tlZXBlci0nICsgbmV4dElkSW5kZXg7XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldChcbiAgZWw6IEhUTUxFbGVtZW50LFxuICBzY3JvbGxhYmxlSG9zdD86IEhUTUxFbGVtZW50XG4pOiBTa3lWaWV3a2VlcGVyT2Zmc2V0IHtcbiAgY29uc3QgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBwYXJlbnQgPSBzY3JvbGxhYmxlSG9zdCA/IHNjcm9sbGFibGVIb3N0IDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG4gIHJldHVybiB7XG4gICAgdG9wOiByZWN0LnRvcCArIHBhcmVudC5zY3JvbGxUb3AsXG4gICAgbGVmdDogcmVjdC5sZWZ0ICsgcGFyZW50LnNjcm9sbExlZnQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHB4KHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcHhWYWx1ZSA9IHZhbHVlID8gdmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcHhWYWx1ZSA9IHZhbHVlICsgJ3B4JztcbiAgfVxuXG4gIHJldHVybiBweFZhbHVlO1xufVxuXG5mdW5jdGlvbiBzZXRFbFBvc2l0aW9uKFxuICBlbDogSFRNTEVsZW1lbnQsXG4gIGxlZnQ6IG51bWJlciB8IHN0cmluZyxcbiAgdG9wOiBudW1iZXIgfCBzdHJpbmcsXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmcsXG4gIG1hcmdpblRvcDogbnVtYmVyIHwgc3RyaW5nXG4pOiB2b2lkIHtcbiAgZWwuc3R5bGUudG9wID0gcHgodG9wKTtcbiAgZWwuc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICBlbC5zdHlsZS5tYXJnaW5Ub3AgPSBweChtYXJnaW5Ub3ApO1xuXG4gIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgaWYgKHdpZHRoICE9PSBudWxsKSB7XG4gICAgZWwuc3R5bGUud2lkdGggPSBweCh3aWR0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SGVpZ2h0V2l0aE1hcmdpbihlbDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG5cbiAgcmV0dXJuIChcbiAgICBlbC5vZmZzZXRIZWlnaHQgK1xuICAgIHBhcnNlSW50KGNvbXB1dGVkU3R5bGUubWFyZ2luVG9wLCAxMCkgK1xuICAgIHBhcnNlSW50KGNvbXB1dGVkU3R5bGUubWFyZ2luQm90dG9tLCAxMClcbiAgKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ3VzdG9tRXZlbnQobmFtZTogYW55KTogQ3VzdG9tRXZlbnQ8YW55PiB7XG4gIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuXG4gIGV2dC5pbml0Q3VzdG9tRXZlbnQobmFtZSwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQpO1xuXG4gIHJldHVybiBldnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBTa3lWaWV3a2VlcGVyIHtcbiAgI2JvdW5kYXJ5RWw6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICNlbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2lkOiBzdHJpbmc7XG5cbiAgI3NldFdpZHRoOiBib29sZWFuO1xuXG4gICN2ZXJ0aWNhbE9mZnNldDogbnVtYmVyO1xuXG4gICN2ZXJ0aWNhbE9mZnNldEVsOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjdmlld3BvcnRNYXJnaW5Ub3AgPSAwO1xuXG4gICNjdXJyZW50RWxGaXhlZExlZnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEVsRml4ZWRUb3A6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEVsRml4ZWRXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICNpc0Rlc3Ryb3llZCA9IGZhbHNlO1xuXG4gICNzY3JvbGxhYmxlSG9zdDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI3N5bmNFbFBvc2l0aW9uSGFuZGxlcjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTa3lWaWV3a2VlcGVyT3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHt9O1xuXG4gICAgdGhpcy4jZWwgPSBvcHRpb25zLmVsO1xuICAgIHRoaXMuI2JvdW5kYXJ5RWwgPSBvcHRpb25zLmJvdW5kYXJ5RWw7XG5cbiAgICBpZiAoIXRoaXMuI2VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTa3lWaWV3a2VlcGVyXSBUaGUgb3B0aW9uIGBlbGAgaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLiNib3VuZGFyeUVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTa3lWaWV3a2VlcGVyXSBUaGUgb3B0aW9uIGBib3VuZGFyeUVsYCBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IHRoaXMuI2VsO1xuICAgIGNvbnN0IGJvdW5kYXJ5RWwgPSB0aGlzLiNib3VuZGFyeUVsO1xuXG4gICAgdGhpcy4jc2V0V2lkdGggPSAhIW9wdGlvbnMuc2V0V2lkdGg7XG4gICAgdGhpcy4jaWQgPSBuZXh0SWQoKTtcbiAgICB0aGlzLiNzY3JvbGxhYmxlSG9zdCA9IG9wdGlvbnMuc2Nyb2xsYWJsZUhvc3Q7XG4gICAgdGhpcy4jdmVydGljYWxPZmZzZXQgPSBvcHRpb25zLnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gICAgdGhpcy4jdmVydGljYWxPZmZzZXRFbCA9IG9wdGlvbnMudmVydGljYWxPZmZzZXRFbDtcblxuICAgIC8vIE9ubHkgc2V0IHZpZXdwb3J0IG1hcmdpbiBpZiB0aGUgc2Nyb2xsYWJsZSBob3N0IGlzIHVuZGVmaW5lZC5cbiAgICBpZiAoIXRoaXMuI3Njcm9sbGFibGVIb3N0KSB7XG4gICAgICB0aGlzLiN2aWV3cG9ydE1hcmdpblRvcCA9IG9wdGlvbnMudmlld3BvcnRNYXJnaW5Ub3AgPz8gMDtcbiAgICB9XG5cbiAgICB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXIgPSAoKSA9PiB0aGlzLnN5bmNFbFBvc2l0aW9uKGVsLCBib3VuZGFyeUVsKTtcblxuICAgIGlmICh0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsKSB7XG4gICAgICB0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgIEVWVF9BRlRFUl9WSUVXS0VFUEVSX1NZTkMsXG4gICAgICAgIHRoaXMuI3N5bmNFbFBvc2l0aW9uSGFuZGxlclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb3JpZW50YXRpb25jaGFuZ2UnLCB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXIpO1xuXG4gICAgZW5zdXJlU3R5bGVFbCgpO1xuXG4gICAgdGhpcy5zeW5jRWxQb3NpdGlvbihlbCwgYm91bmRhcnlFbCk7XG4gIH1cblxuICBwdWJsaWMgc3luY0VsUG9zaXRpb24oZWw6IEhUTUxFbGVtZW50LCBib3VuZGFyeUVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gdGhpcy4jY2FsY3VsYXRlVmVydGljYWxPZmZzZXQoKTtcblxuICAgIC8vIFdoZW4gdGhlIGVsZW1lbnQgaXNuJ3QgdmlzaWJsZSwgaXRzIHNpemUgY2FuJ3QgYmUgY2FsY3VsYXRlZCwgc28gZG9uJ3QgYXR0ZW1wdCBzeW5jaW5nIHBvc2l0aW9uIGluIHRoaXMgY2FzZS5cbiAgICBpZiAoZWwub2Zmc2V0V2lkdGggPT09IDAgJiYgZWwub2Zmc2V0SGVpZ2h0ID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYm91bmRhcnlJbmZvID0gdGhpcy4jZ2V0Qm91bmRhcnlJbmZvKGVsLCBib3VuZGFyeUVsKTtcbiAgICBjb25zdCBmaXhlZFN0eWxlcyA9IHRoaXMuI2dldEZpeGVkU3R5bGVzKGJvdW5kYXJ5SW5mbywgdmVydGljYWxPZmZzZXQpO1xuXG4gICAgY29uc3QgZG9GaXhFbCA9IHRoaXMuI3Nob3VsZEZpeEVsKGVsLCBib3VuZGFyeUluZm8sIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAgIGlmICh0aGlzLiNuZWVkc1VwZGF0aW5nKGRvRml4RWwsIGZpeGVkU3R5bGVzKSkge1xuICAgICAgaWYgKGRvRml4RWwpIHtcbiAgICAgICAgdGhpcy4jZml4RWwoZWwsIGJvdW5kYXJ5SW5mbywgZml4ZWRTdHlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdW5maXhFbChlbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXZ0ID0gY3JlYXRlQ3VzdG9tRXZlbnQoRVZUX0FGVEVSX1ZJRVdLRUVQRVJfU1lOQyk7XG5cbiAgICBlbC5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI2lzRGVzdHJveWVkKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyLCB0cnVlKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXIpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdvcmllbnRhdGlvbmNoYW5nZScsXG4gICAgICAgIHRoaXMuI3N5bmNFbFBvc2l0aW9uSGFuZGxlclxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuI2VsKSB7XG4gICAgICAgIHRoaXMuI3VuZml4RWwodGhpcy4jZWwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy4jdmVydGljYWxPZmZzZXRFbCkge1xuICAgICAgICB0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgRVZUX0FGVEVSX1ZJRVdLRUVQRVJfU1lOQyxcbiAgICAgICAgICB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jZWwgPSB0aGlzLiNib3VuZGFyeUVsID0gdGhpcy4jdmVydGljYWxPZmZzZXRFbCA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy4jaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gICNnZXRTcGFjZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNpZCArICctc3BhY2VyJztcbiAgfVxuXG4gICN1bmZpeEVsKGVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNwYWNlckVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy4jZ2V0U3BhY2VySWQoKSk7XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAoc3BhY2VyRWw/LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHNwYWNlckVsLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoc3BhY2VyRWwpO1xuICAgIH1cblxuICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoQ0xTX1ZJRVdLRUVQRVJfRklYRUQpO1xuXG4gICAgdGhpcy4jY3VycmVudEVsRml4ZWRMZWZ0ID1cbiAgICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkVG9wID1cbiAgICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkV2lkdGggPVxuICAgICAgICB1bmRlZmluZWQ7XG5cbiAgICBsZXQgd2lkdGggPSAnJztcblxuICAgIGlmICh0aGlzLiNzZXRXaWR0aCkge1xuICAgICAgd2lkdGggPSAnYXV0byc7XG4gICAgfVxuXG4gICAgc2V0RWxQb3NpdGlvbihlbCwgJycsICcnLCB3aWR0aCwgJycpO1xuICB9XG5cbiAgI2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgbGV0IG9mZnNldCA9IHRoaXMuI3ZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgaWYgKHRoaXMuI3ZlcnRpY2FsT2Zmc2V0RWwpIHtcbiAgICAgIGNvbnN0IHZlcnRpY2FsT2Zmc2V0RWxUb3BTdHlsZSA9IHRoaXMuI3ZlcnRpY2FsT2Zmc2V0RWwuc3R5bGUudG9wO1xuICAgICAgY29uc3QgdmVydGljYWxPZmZzZXRFbFRvcCA9IHBhcnNlSW50KHZlcnRpY2FsT2Zmc2V0RWxUb3BTdHlsZSwgMTApIHx8IDA7XG5cbiAgICAgIG9mZnNldCArPSB0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsLm9mZnNldEhlaWdodCArIHZlcnRpY2FsT2Zmc2V0RWxUb3A7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNzY3JvbGxhYmxlSG9zdCkge1xuICAgICAgb2Zmc2V0ICs9IHRoaXMuI3Njcm9sbGFibGVIb3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgI3Nob3VsZEZpeEVsKFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBib3VuZGFyeUluZm86IFNreVZpZXdrZWVwZXJCb3VuZGFyeUluZm8sXG4gICAgdmVydGljYWxPZmZzZXQ6IG51bWJlclxuICApOiBib29sZWFuIHtcbiAgICBsZXQgYW5jaG9yVG9wOiBudW1iZXI7XG5cbiAgICBpZiAoYm91bmRhcnlJbmZvLnNwYWNlckVsKSB7XG4gICAgICBhbmNob3JUb3AgPSBnZXRPZmZzZXQoYm91bmRhcnlJbmZvLnNwYWNlckVsLCB0aGlzLiNzY3JvbGxhYmxlSG9zdCkudG9wO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmNob3JUb3AgPSBnZXRPZmZzZXQoZWwsIHRoaXMuI3Njcm9sbGFibGVIb3N0KS50b3A7XG4gICAgfVxuXG4gICAgY29uc3QgZG9GaXhFbCA9XG4gICAgICBib3VuZGFyeUluZm8uc2Nyb2xsVG9wICsgdmVydGljYWxPZmZzZXQgKyB0aGlzLiN2aWV3cG9ydE1hcmdpblRvcCA+XG4gICAgICBhbmNob3JUb3A7XG5cbiAgICByZXR1cm4gZG9GaXhFbDtcbiAgfVxuXG4gICNnZXRGaXhlZFN0eWxlcyhcbiAgICBib3VuZGFyeUluZm86IFNreVZpZXdrZWVwZXJCb3VuZGFyeUluZm8sXG4gICAgdmVydGljYWxPZmZzZXQ6IG51bWJlclxuICApOiBTa3lWaWV3a2VlcGVyRml4ZWRTdHlsZXMge1xuICAgIC8vIElmIHRoZSBlbGVtZW50IG5lZWRzIHRvIGJlIGZpeGVkLCB0aGlzIHdpbGwgY2FsY3VsYXRlIGl0cyBwb3NpdGlvbi4gIFRoZSBwb3NpdGlvblxuICAgIC8vIHdpbGwgYmUgMCAoZnVsbHkgdmlzaWJsZSkgdW5sZXNzIHRoZSB1c2VyIGlzIHNjcm9sbGluZyB0aGUgYm91bmRhcnkgb3V0IG9mIHZpZXcuXG4gICAgLy8gSW4gdGhhdCBjYXNlLCB0aGUgZWxlbWVudCBzaG91bGQgYmVnaW4gdG8gc2Nyb2xsIG91dCBvZiB2aWV3IHdpdGggdGhlXG4gICAgLy8gcmVzdCBvZiB0aGUgYm91bmRhcnkgYnkgc2V0dGluZyBpdHMgdG9wIHBvc2l0aW9uIHRvIGEgbmVnYXRpdmUgdmFsdWUuXG4gICAgY29uc3QgZWxGaXhlZFRvcCA9IE1hdGgubWluKFxuICAgICAgYm91bmRhcnlJbmZvLmJvdW5kYXJ5Qm90dG9tIC1cbiAgICAgICAgYm91bmRhcnlJbmZvLmVsSGVpZ2h0IC1cbiAgICAgICAgYm91bmRhcnlJbmZvLnNjcm9sbFRvcCxcbiAgICAgIHZlcnRpY2FsT2Zmc2V0XG4gICAgKTtcblxuICAgIGNvbnN0IGVsRml4ZWRXaWR0aCA9IGJvdW5kYXJ5SW5mby5ib3VuZGFyeUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIGNvbnN0IGVsRml4ZWRMZWZ0ID1cbiAgICAgIGJvdW5kYXJ5SW5mby5ib3VuZGFyeU9mZnNldC5sZWZ0IC0gYm91bmRhcnlJbmZvLnNjcm9sbExlZnQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZWxGaXhlZExlZnQsXG4gICAgICBlbEZpeGVkVG9wLFxuICAgICAgZWxGaXhlZFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAjbmVlZHNVcGRhdGluZyhcbiAgICBkb0ZpeEVsOiBib29sZWFuLFxuICAgIGZpeGVkU3R5bGVzOiBTa3lWaWV3a2VlcGVyRml4ZWRTdHlsZXNcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgKGRvRml4RWwgJiZcbiAgICAgICAgdGhpcy4jY3VycmVudEVsRml4ZWRMZWZ0ID09PSBmaXhlZFN0eWxlcy5lbEZpeGVkTGVmdCAmJlxuICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFRvcCA9PT0gZml4ZWRTdHlsZXMuZWxGaXhlZFRvcCAmJlxuICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFdpZHRoID09PSBmaXhlZFN0eWxlcy5lbEZpeGVkV2lkdGgpIHx8XG4gICAgICAoIWRvRml4RWwgJiZcbiAgICAgICAgIShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZExlZnQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkTGVmdCAhPT0gbnVsbFxuICAgICAgICApKVxuICAgICkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgZWl0aGVyIGN1cnJlbnRseSBmaXhlZCBhbmQgaXRzIHBvc2l0aW9uIGFuZCB3aWR0aCBkbyBub3QgbmVlZFxuICAgICAgLy8gdG8gY2hhbmdlLCBvciB0aGUgZWxlbWVudCBpcyBub3QgY3VycmVudGx5IGZpeGVkIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIGZpeGVkLlxuICAgICAgLy8gTm8gY2hhbmdlcyBhcmUgbmVlZGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgI2ZpeEVsKFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBib3VuZGFyeUluZm86IFNreVZpZXdrZWVwZXJCb3VuZGFyeUluZm8sXG4gICAgZml4ZWRTdHlsZXM6IFNreVZpZXdrZWVwZXJGaXhlZFN0eWxlc1xuICApOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmICghYm91bmRhcnlJbmZvLnNwYWNlckVsKSB7XG4gICAgICBjb25zdCBzcGFjZXJIZWlnaHQgPSBib3VuZGFyeUluZm8uZWxIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IHNwYWNlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBzcGFjZXJFbC5pZCA9IGJvdW5kYXJ5SW5mby5zcGFjZXJJZDtcbiAgICAgIHNwYWNlckVsLnN0eWxlLmhlaWdodCA9IHB4KHNwYWNlckhlaWdodCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKGVsLnBhcmVudE5vZGUpIHtcbiAgICAgICAgZWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoc3BhY2VyRWwsIGVsLm5leHRTaWJsaW5nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbC5jbGFzc0xpc3QuYWRkKENMU19WSUVXS0VFUEVSX0ZJWEVEKTtcblxuICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkVG9wID0gZml4ZWRTdHlsZXMuZWxGaXhlZFRvcDtcbiAgICB0aGlzLiNjdXJyZW50RWxGaXhlZExlZnQgPSBmaXhlZFN0eWxlcy5lbEZpeGVkTGVmdDtcbiAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFdpZHRoID0gZml4ZWRTdHlsZXMuZWxGaXhlZFdpZHRoO1xuXG4gICAgbGV0IHdpZHRoID0gMDtcblxuICAgIGlmICh0aGlzLiNzZXRXaWR0aCkge1xuICAgICAgd2lkdGggPSBmaXhlZFN0eWxlcy5lbEZpeGVkV2lkdGg7XG4gICAgfVxuXG4gICAgc2V0RWxQb3NpdGlvbihcbiAgICAgIGVsLFxuICAgICAgZml4ZWRTdHlsZXMuZWxGaXhlZExlZnQsXG4gICAgICBmaXhlZFN0eWxlcy5lbEZpeGVkVG9wLFxuICAgICAgd2lkdGgsXG4gICAgICB0aGlzLiN2aWV3cG9ydE1hcmdpblRvcFxuICAgICk7XG4gIH1cblxuICAjZ2V0Qm91bmRhcnlJbmZvKFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBib3VuZGFyeUVsOiBIVE1MRWxlbWVudFxuICApOiBTa3lWaWV3a2VlcGVyQm91bmRhcnlJbmZvIHtcbiAgICBjb25zdCBzcGFjZXJJZCA9IHRoaXMuI2dldFNwYWNlcklkKCk7XG5cbiAgICBjb25zdCBzcGFjZXJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNwYWNlcklkKTtcblxuICAgIGNvbnN0IGJvdW5kYXJ5T2Zmc2V0ID0gZ2V0T2Zmc2V0KGJvdW5kYXJ5RWwsIHRoaXMuI3Njcm9sbGFibGVIb3N0KTtcbiAgICBjb25zdCBib3VuZGFyeVRvcCA9IGJvdW5kYXJ5T2Zmc2V0LnRvcDtcbiAgICBjb25zdCBib3VuZGFyeUJvdHRvbSA9XG4gICAgICBib3VuZGFyeVRvcCArIGJvdW5kYXJ5RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuI3Njcm9sbGFibGVIb3N0XG4gICAgICA/IHRoaXMuI3Njcm9sbGFibGVIb3N0LnNjcm9sbExlZnRcbiAgICAgIDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy4jc2Nyb2xsYWJsZUhvc3RcbiAgICAgID8gdGhpcy4jc2Nyb2xsYWJsZUhvc3Quc2Nyb2xsVG9wXG4gICAgICA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG5cbiAgICBjb25zdCBlbEhlaWdodCA9IGdldEhlaWdodFdpdGhNYXJnaW4oZWwpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJvdW5kYXJ5Qm90dG9tLFxuICAgICAgYm91bmRhcnlPZmZzZXQsXG4gICAgICBib3VuZGFyeUVsLFxuICAgICAgZWxIZWlnaHQsXG4gICAgICBzY3JvbGxMZWZ0LFxuICAgICAgc2Nyb2xsVG9wLFxuICAgICAgc3BhY2VySWQsXG4gICAgICBzcGFjZXJFbCxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQ3BELE1BQU0seUJBQXlCLEdBQUcscUJBQXFCLENBQUM7QUFFeEQsSUFBSSxPQUF5QixDQUFDO0FBQzlCLElBQUksV0FBbUIsQ0FBQztBQUV4QixTQUFTLGFBQWE7SUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7R0FDckMsb0JBQW9COzs7Ozs7O3FCQU9GLG9CQUFvQjs7OztDQUl4QyxDQUFDLENBQUM7UUFFQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXpCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3BDO0FBQ0gsQ0FBQztBQUVELFNBQVMsTUFBTTtJQUNiLFdBQVcsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckMsT0FBTyxhQUFhLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FDaEIsRUFBZSxFQUNmLGNBQTRCO0lBRTVCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBRTFFLE9BQU87UUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcs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Q3JDLENBQUMsQ0FBQyx1QkFBQSxJQUFJLHFDQUFnQixDQUFDLFVBQVU7UUFDakMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLHVCQUFBLElBQUkscUNBQWdCO1FBQ3BDLENBQUMsQ0FBQyx1QkFBQSxJQUFJLHFDQUFnQixDQUFDLFNBQVM7UUFDaEMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBRXZDLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxjQUFjO1FBQ2QsY0FBYztRQUNkLFVBQVU7UUFDVixRQUFRO1FBQ1IsVUFBVTtRQUNWLFNBQVM7UUFDVCxRQUFRO1FBQ1IsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Vmlld2tlZXBlckJvdW5kYXJ5SW5mbyB9IGZyb20gJy4vdmlld2tlZXBlci1ib3VuZGFyeS1pbmZvJztcbmltcG9ydCB7IFNreVZpZXdrZWVwZXJGaXhlZFN0eWxlcyB9IGZyb20gJy4vdmlld2tlZXBlci1maXhlZC1zdHlsZXMnO1xuaW1wb3J0IHsgU2t5Vmlld2tlZXBlck9mZnNldCB9IGZyb20gJy4vdmlld2tlZXBlci1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5Vmlld2tlZXBlck9wdGlvbnMgfSBmcm9tICcuL3ZpZXdrZWVwZXItb3B0aW9ucyc7XG5cbmNvbnN0IENMU19WSUVXS0VFUEVSX0ZJWEVEID0gJ3NreS12aWV3a2VlcGVyLWZpeGVkJztcbmNvbnN0IEVWVF9BRlRFUl9WSUVXS0VFUEVSX1NZTkMgPSAnYWZ0ZXJWaWV3a2VlcGVyU3luYyc7XG5cbmxldCBzdHlsZUVsOiBIVE1MU3R5bGVFbGVtZW50O1xubGV0IG5leHRJZEluZGV4OiBudW1iZXI7XG5cbmZ1bmN0aW9uIGVuc3VyZVN0eWxlRWwoKTogdm9pZCB7XG4gIGlmICghc3R5bGVFbCkge1xuICAgIHN0eWxlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgY29uc3QgY3NzID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYFxuLiR7Q0xTX1ZJRVdLRUVQRVJfRklYRUR9IHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgb3BhY2l0eTogMC45NTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNreS10aGVtZS1tb2Rlcm4gLiR7Q0xTX1ZJRVdLRUVQRVJfRklYRUR9IHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG9wYWNpdHk6IGluaXRpYWw7XG59XG5gKTtcblxuICAgIHN0eWxlRWwuYXBwZW5kQ2hpbGQoY3NzKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbmV4dElkKCk6IHN0cmluZyB7XG4gIG5leHRJZEluZGV4ID0gKG5leHRJZEluZGV4IHx8IDApICsgMTtcblxuICByZXR1cm4gJ3ZpZXdrZWVwZXItJyArIG5leHRJZEluZGV4O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXQoXG4gIGVsOiBIVE1MRWxlbWVudCxcbiAgc2Nyb2xsYWJsZUhvc3Q/OiBIVE1MRWxlbWVudFxuKTogU2t5Vmlld2tlZXBlck9mZnNldCB7XG4gIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgcGFyZW50ID0gc2Nyb2xsYWJsZUhvc3QgPyBzY3JvbGxhYmxlSG9zdCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuICByZXR1cm4ge1xuICAgIHRvcDogcmVjdC50b3AgKyBwYXJlbnQuc2Nyb2xsVG9wLFxuICAgIGxlZnQ6IHJlY3QubGVmdCArIHBhcmVudC5zY3JvbGxMZWZ0LFxuICB9O1xufVxuXG5mdW5jdGlvbiBweCh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHB4VmFsdWUgPSB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHB4VmFsdWUgPSB2YWx1ZSArICdweCc7XG4gIH1cblxuICByZXR1cm4gcHhWYWx1ZTtcbn1cblxuZnVuY3Rpb24gc2V0RWxQb3NpdGlvbihcbiAgZWw6IEhUTUxFbGVtZW50LFxuICBsZWZ0OiBudW1iZXIgfCBzdHJpbmcsXG4gIHRvcDogbnVtYmVyIHwgc3RyaW5nLFxuICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nLFxuICBtYXJnaW5Ub3A6IG51bWJlciB8IHN0cmluZyxcbiAgY2xpcFRvcDogbnVtYmVyIHwgc3RyaW5nLFxuICBjbGlwTGVmdDogbnVtYmVyIHwgc3RyaW5nXG4pOiB2b2lkIHtcbiAgZWwuc3R5bGUudG9wID0gcHgodG9wKTtcbiAgZWwuc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICBlbC5zdHlsZS5tYXJnaW5Ub3AgPSBweChtYXJnaW5Ub3ApO1xuICBlbC5zdHlsZS5jbGlwUGF0aCA9XG4gICAgY2xpcFRvcCB8fCBjbGlwTGVmdCA/IGBpbnNldCgke3B4KGNsaXBUb3ApfSAwIDAgJHtweChjbGlwTGVmdCl9KWAgOiAnbm9uZSc7XG5cbiAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gIC8qIHNhbml0eSBjaGVjayAqL1xuICBpZiAod2lkdGggIT09IG51bGwpIHtcbiAgICBlbC5zdHlsZS53aWR0aCA9IHB4KHdpZHRoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIZWlnaHRXaXRoTWFyZ2luKGVsOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsKTtcblxuICByZXR1cm4gKFxuICAgIGVsLm9mZnNldEhlaWdodCArXG4gICAgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3AsIDEwKSArXG4gICAgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20sIDEwKVxuICApO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDdXN0b21FdmVudChuYW1lOiBhbnkpOiBDdXN0b21FdmVudDxhbnk+IHtcbiAgY29uc3QgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG5cbiAgZXZ0LmluaXRDdXN0b21FdmVudChuYW1lLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCk7XG5cbiAgcmV0dXJuIGV2dDtcbn1cblxuZXhwb3J0IGNsYXNzIFNreVZpZXdrZWVwZXIge1xuICAjYm91bmRhcnlFbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2VsOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjaWQ6IHN0cmluZztcblxuICAjc2V0V2lkdGg6IGJvb2xlYW47XG5cbiAgI3ZlcnRpY2FsT2Zmc2V0OiBudW1iZXI7XG5cbiAgI3ZlcnRpY2FsT2Zmc2V0RWw6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICN2aWV3cG9ydE1hcmdpblRvcCA9IDA7XG5cbiAgI2N1cnJlbnRFbEZpeGVkTGVmdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50RWxGaXhlZFRvcDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50RWxGaXhlZFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRFbENsaXBMZWZ0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRFbENsaXBUb3A6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjaXNEZXN0cm95ZWQgPSBmYWxzZTtcblxuICAjc2Nyb2xsYWJsZUhvc3Q6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICNzeW5jRWxQb3NpdGlvbkhhbmRsZXI6ICgpID0+IHZvaWQ7XG5cbiAgI2ludGVyc2VjdGlvbk9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlciB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTa3lWaWV3a2VlcGVyT3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHt9O1xuXG4gICAgdGhpcy4jZWwgPSBvcHRpb25zLmVsO1xuICAgIHRoaXMuI2JvdW5kYXJ5RWwgPSBvcHRpb25zLmJvdW5kYXJ5RWw7XG5cbiAgICBpZiAoIXRoaXMuI2VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTa3lWaWV3a2VlcGVyXSBUaGUgb3B0aW9uIGBlbGAgaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLiNib3VuZGFyeUVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTa3lWaWV3a2VlcGVyXSBUaGUgb3B0aW9uIGBib3VuZGFyeUVsYCBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IHRoaXMuI2VsO1xuICAgIGNvbnN0IGJvdW5kYXJ5RWwgPSB0aGlzLiNib3VuZGFyeUVsO1xuXG4gICAgdGhpcy4jc2V0V2lkdGggPSAhIW9wdGlvbnMuc2V0V2lkdGg7XG4gICAgdGhpcy4jaWQgPSBuZXh0SWQoKTtcbiAgICB0aGlzLiNzY3JvbGxhYmxlSG9zdCA9IG9wdGlvbnMuc2Nyb2xsYWJsZUhvc3Q7XG4gICAgdGhpcy4jdmVydGljYWxPZmZzZXQgPSBvcHRpb25zLnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gICAgdGhpcy4jdmVydGljYWxPZmZzZXRFbCA9IG9wdGlvbnMudmVydGljYWxPZmZzZXRFbDtcblxuICAgIC8vIE9ubHkgc2V0IHZpZXdwb3J0IG1hcmdpbiBpZiB0aGUgc2Nyb2xsYWJsZSBob3N0IGlzIHVuZGVmaW5lZC5cbiAgICBpZiAoIXRoaXMuI3Njcm9sbGFibGVIb3N0KSB7XG4gICAgICB0aGlzLiN2aWV3cG9ydE1hcmdpblRvcCA9IG9wdGlvbnMudmlld3BvcnRNYXJnaW5Ub3AgPz8gMDtcbiAgICB9XG5cbiAgICB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXIgPSAoKSA9PiB0aGlzLnN5bmNFbFBvc2l0aW9uKGVsLCBib3VuZGFyeUVsKTtcblxuICAgIGlmICh0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsKSB7XG4gICAgICB0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgIEVWVF9BRlRFUl9WSUVXS0VFUEVSX1NZTkMsXG4gICAgICAgIHRoaXMuI3N5bmNFbFBvc2l0aW9uSGFuZGxlclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb3JpZW50YXRpb25jaGFuZ2UnLCB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXIpO1xuXG4gICAgZW5zdXJlU3R5bGVFbCgpO1xuXG4gICAgdGhpcy5zeW5jRWxQb3NpdGlvbihlbCwgYm91bmRhcnlFbCk7XG4gIH1cblxuICBwdWJsaWMgc3luY0VsUG9zaXRpb24oZWw6IEhUTUxFbGVtZW50LCBib3VuZGFyeUVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gdGhpcy4jY2FsY3VsYXRlVmVydGljYWxPZmZzZXQoKTtcblxuICAgIC8vIFdoZW4gdGhlIGVsZW1lbnQgaXNuJ3QgdmlzaWJsZSwgaXRzIHNpemUgY2FuJ3QgYmUgY2FsY3VsYXRlZCwgc28gZG9uJ3QgYXR0ZW1wdCBzeW5jaW5nIHBvc2l0aW9uIGluIHRoaXMgY2FzZS5cbiAgICBpZiAoZWwub2Zmc2V0V2lkdGggPT09IDAgJiYgZWwub2Zmc2V0SGVpZ2h0ID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYm91bmRhcnlJbmZvID0gdGhpcy4jZ2V0Qm91bmRhcnlJbmZvKGVsLCBib3VuZGFyeUVsKTtcbiAgICBjb25zdCBmaXhlZFN0eWxlcyA9IHRoaXMuI2dldEZpeGVkU3R5bGVzKGJvdW5kYXJ5SW5mbywgdmVydGljYWxPZmZzZXQpO1xuXG4gICAgY29uc3QgZG9GaXhFbCA9IHRoaXMuI3Nob3VsZEZpeEVsKGVsLCBib3VuZGFyeUluZm8sIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAgIGlmICh0aGlzLiNuZWVkc1VwZGF0aW5nKGRvRml4RWwsIGZpeGVkU3R5bGVzKSkge1xuICAgICAgaWYgKGRvRml4RWwpIHtcbiAgICAgICAgdGhpcy4jZml4RWwoZWwsIGJvdW5kYXJ5SW5mbywgZml4ZWRTdHlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdW5maXhFbChlbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXZ0ID0gY3JlYXRlQ3VzdG9tRXZlbnQoRVZUX0FGVEVSX1ZJRVdLRUVQRVJfU1lOQyk7XG5cbiAgICBlbC5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI2lzRGVzdHJveWVkKSB7XG4gICAgICB0aGlzLiNpbnRlcnNlY3Rpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuI3N5bmNFbFBvc2l0aW9uSGFuZGxlciwgdHJ1ZSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAnb3JpZW50YXRpb25jaGFuZ2UnLFxuICAgICAgICB0aGlzLiNzeW5jRWxQb3NpdGlvbkhhbmRsZXJcbiAgICAgICk7XG5cbiAgICAgIGlmICh0aGlzLiNlbCkge1xuICAgICAgICB0aGlzLiN1bmZpeEVsKHRoaXMuI2VsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuI3ZlcnRpY2FsT2Zmc2V0RWwpIHtcbiAgICAgICAgdGhpcy4jdmVydGljYWxPZmZzZXRFbC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgIEVWVF9BRlRFUl9WSUVXS0VFUEVSX1NZTkMsXG4gICAgICAgICAgdGhpcy4jc3luY0VsUG9zaXRpb25IYW5kbGVyXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2VsID0gdGhpcy4jYm91bmRhcnlFbCA9IHRoaXMuI3ZlcnRpY2FsT2Zmc2V0RWwgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHRoaXMuI2lzRGVzdHJveWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAjZ2V0U3BhY2VySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jaWQgKyAnLXNwYWNlcic7XG4gIH1cblxuICAjdW5maXhFbChlbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzcGFjZXJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuI2dldFNwYWNlcklkKCkpO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHNwYWNlckVsPy5wYXJlbnRFbGVtZW50KSB7XG4gICAgICBzcGFjZXJFbC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHNwYWNlckVsKTtcbiAgICB9XG5cbiAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKENMU19WSUVXS0VFUEVSX0ZJWEVEKTtcblxuICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkTGVmdCA9XG4gICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFRvcCA9XG4gICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFdpZHRoID1cbiAgICAgICAgdW5kZWZpbmVkO1xuXG4gICAgbGV0IHdpZHRoID0gJyc7XG5cbiAgICBpZiAodGhpcy4jc2V0V2lkdGgpIHtcbiAgICAgIHdpZHRoID0gJ2F1dG8nO1xuICAgIH1cblxuICAgIHNldEVsUG9zaXRpb24oZWwsICcnLCAnJywgd2lkdGgsICcnLCAwLCAwKTtcbiAgfVxuXG4gICNjYWxjdWxhdGVWZXJ0aWNhbE9mZnNldCgpOiBudW1iZXIge1xuICAgIGxldCBvZmZzZXQgPSB0aGlzLiN2ZXJ0aWNhbE9mZnNldDtcblxuICAgIGlmICh0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsKSB7XG4gICAgICBjb25zdCB2ZXJ0aWNhbE9mZnNldEVsVG9wU3R5bGUgPSB0aGlzLiN2ZXJ0aWNhbE9mZnNldEVsLnN0eWxlLnRvcDtcbiAgICAgIGNvbnN0IHZlcnRpY2FsT2Zmc2V0RWxUb3AgPSBwYXJzZUludCh2ZXJ0aWNhbE9mZnNldEVsVG9wU3R5bGUsIDEwKSB8fCAwO1xuXG4gICAgICBvZmZzZXQgKz0gdGhpcy4jdmVydGljYWxPZmZzZXRFbC5vZmZzZXRIZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldEVsVG9wO1xuICAgIH0gZWxzZSBpZiAodGhpcy4jc2Nyb2xsYWJsZUhvc3QpIHtcbiAgICAgIG9mZnNldCArPSB0aGlzLiNzY3JvbGxhYmxlSG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfVxuXG4gICNzaG91bGRGaXhFbChcbiAgICBlbDogSFRNTEVsZW1lbnQsXG4gICAgYm91bmRhcnlJbmZvOiBTa3lWaWV3a2VlcGVyQm91bmRhcnlJbmZvLFxuICAgIHZlcnRpY2FsT2Zmc2V0OiBudW1iZXJcbiAgKTogYm9vbGVhbiB7XG4gICAgbGV0IGFuY2hvclRvcDogbnVtYmVyO1xuXG4gICAgaWYgKGJvdW5kYXJ5SW5mby5zcGFjZXJFbCkge1xuICAgICAgYW5jaG9yVG9wID0gZ2V0T2Zmc2V0KGJvdW5kYXJ5SW5mby5zcGFjZXJFbCwgdGhpcy4jc2Nyb2xsYWJsZUhvc3QpLnRvcDtcbiAgICB9IGVsc2Uge1xuICAgICAgYW5jaG9yVG9wID0gZ2V0T2Zmc2V0KGVsLCB0aGlzLiNzY3JvbGxhYmxlSG9zdCkudG9wO1xuICAgIH1cblxuICAgIGNvbnN0IGRvRml4RWwgPVxuICAgICAgYm91bmRhcnlJbmZvLnNjcm9sbFRvcCArIHZlcnRpY2FsT2Zmc2V0ICsgdGhpcy4jdmlld3BvcnRNYXJnaW5Ub3AgPlxuICAgICAgYW5jaG9yVG9wO1xuXG4gICAgcmV0dXJuIGRvRml4RWw7XG4gIH1cblxuICAjZ2V0Rml4ZWRTdHlsZXMoXG4gICAgYm91bmRhcnlJbmZvOiBTa3lWaWV3a2VlcGVyQm91bmRhcnlJbmZvLFxuICAgIHZlcnRpY2FsT2Zmc2V0OiBudW1iZXJcbiAgKTogU2t5Vmlld2tlZXBlckZpeGVkU3R5bGVzIHtcbiAgICAvLyBJZiB0aGUgZWxlbWVudCBuZWVkcyB0byBiZSBmaXhlZCwgdGhpcyB3aWxsIGNhbGN1bGF0ZSBpdHMgcG9zaXRpb24uICBUaGUgcG9zaXRpb25cbiAgICAvLyB3aWxsIGJlIDAgKGZ1bGx5IHZpc2libGUpIHVubGVzcyB0aGUgdXNlciBpcyBzY3JvbGxpbmcgdGhlIGJvdW5kYXJ5IG91dCBvZiB2aWV3LlxuICAgIC8vIEluIHRoYXQgY2FzZSwgdGhlIGVsZW1lbnQgc2hvdWxkIGJlZ2luIHRvIHNjcm9sbCBvdXQgb2YgdmlldyB3aXRoIHRoZVxuICAgIC8vIHJlc3Qgb2YgdGhlIGJvdW5kYXJ5IGJ5IHNldHRpbmcgaXRzIHRvcCBwb3NpdGlvbiB0byBhIG5lZ2F0aXZlIHZhbHVlLlxuICAgIGNvbnN0IGVsVG9wID1cbiAgICAgIGJvdW5kYXJ5SW5mby5ib3VuZGFyeUJvdHRvbSAtXG4gICAgICBib3VuZGFyeUluZm8uZWxIZWlnaHQgLVxuICAgICAgYm91bmRhcnlJbmZvLnNjcm9sbFRvcDtcbiAgICBjb25zdCBlbENsaXBUb3AgPSBlbFRvcCA8IHZlcnRpY2FsT2Zmc2V0ID8gdmVydGljYWxPZmZzZXQgLSBlbFRvcCA6IDA7XG4gICAgY29uc3QgZWxGaXhlZFRvcCA9IE1hdGgubWluKGVsVG9wLCB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgICBjb25zdCBlbEZpeGVkV2lkdGggPSBib3VuZGFyeUluZm8uYm91bmRhcnlFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICBjb25zdCBlbEZpeGVkTGVmdCA9XG4gICAgICBib3VuZGFyeUluZm8uYm91bmRhcnlPZmZzZXQubGVmdCAtIGJvdW5kYXJ5SW5mby5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IGVsQ2xpcExlZnQgPSBlbEZpeGVkTGVmdCA8IDAgPyAwIC0gZWxGaXhlZExlZnQgOiAwO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVsRml4ZWRMZWZ0LFxuICAgICAgZWxGaXhlZFRvcCxcbiAgICAgIGVsRml4ZWRXaWR0aCxcbiAgICAgIGVsQ2xpcExlZnQsXG4gICAgICBlbENsaXBUb3AsXG4gICAgfTtcbiAgfVxuXG4gICNuZWVkc1VwZGF0aW5nKFxuICAgIGRvRml4RWw6IGJvb2xlYW4sXG4gICAgZml4ZWRTdHlsZXM6IFNreVZpZXdrZWVwZXJGaXhlZFN0eWxlc1xuICApOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICAoZG9GaXhFbCAmJlxuICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZExlZnQgPT09IGZpeGVkU3R5bGVzLmVsRml4ZWRMZWZ0ICYmXG4gICAgICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkVG9wID09PSBmaXhlZFN0eWxlcy5lbEZpeGVkVG9wICYmXG4gICAgICAgIHRoaXMuI2N1cnJlbnRFbENsaXBMZWZ0ID09PSBmaXhlZFN0eWxlcy5lbENsaXBMZWZ0ICYmXG4gICAgICAgIHRoaXMuI2N1cnJlbnRFbENsaXBUb3AgPT09IGZpeGVkU3R5bGVzLmVsQ2xpcFRvcCAmJlxuICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFdpZHRoID09PSBmaXhlZFN0eWxlcy5lbEZpeGVkV2lkdGgpIHx8XG4gICAgICAoIWRvRml4RWwgJiZcbiAgICAgICAgIShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RWxGaXhlZExlZnQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkTGVmdCAhPT0gbnVsbFxuICAgICAgICApKVxuICAgICkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgZWl0aGVyIGN1cnJlbnRseSBmaXhlZCBhbmQgaXRzIHBvc2l0aW9uIGFuZCB3aWR0aCBkbyBub3QgbmVlZFxuICAgICAgLy8gdG8gY2hhbmdlLCBvciB0aGUgZWxlbWVudCBpcyBub3QgY3VycmVudGx5IGZpeGVkIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIGZpeGVkLlxuICAgICAgLy8gTm8gY2hhbmdlcyBhcmUgbmVlZGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgI2ZpeEVsKFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBib3VuZGFyeUluZm86IFNreVZpZXdrZWVwZXJCb3VuZGFyeUluZm8sXG4gICAgZml4ZWRTdHlsZXM6IFNreVZpZXdrZWVwZXJGaXhlZFN0eWxlc1xuICApOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmICghYm91bmRhcnlJbmZvLnNwYWNlckVsKSB7XG4gICAgICBjb25zdCBzcGFjZXJIZWlnaHQgPSBib3VuZGFyeUluZm8uZWxIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IHNwYWNlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBzcGFjZXJFbC5pZCA9IGJvdW5kYXJ5SW5mby5zcGFjZXJJZDtcbiAgICAgIHNwYWNlckVsLnN0eWxlLmhlaWdodCA9IHB4KHNwYWNlckhlaWdodCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKGVsLnBhcmVudE5vZGUpIHtcbiAgICAgICAgZWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoc3BhY2VyRWwsIGVsLm5leHRTaWJsaW5nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbC5jbGFzc0xpc3QuYWRkKENMU19WSUVXS0VFUEVSX0ZJWEVEKTtcblxuICAgIHRoaXMuI2N1cnJlbnRFbEZpeGVkVG9wID0gZml4ZWRTdHlsZXMuZWxGaXhlZFRvcDtcbiAgICB0aGlzLiNjdXJyZW50RWxGaXhlZExlZnQgPSBmaXhlZFN0eWxlcy5lbEZpeGVkTGVmdDtcbiAgICB0aGlzLiNjdXJyZW50RWxDbGlwVG9wID0gZml4ZWRTdHlsZXMuZWxDbGlwVG9wO1xuICAgIHRoaXMuI2N1cnJlbnRFbENsaXBMZWZ0ID0gZml4ZWRTdHlsZXMuZWxDbGlwTGVmdDtcbiAgICB0aGlzLiNjdXJyZW50RWxGaXhlZFdpZHRoID0gZml4ZWRTdHlsZXMuZWxGaXhlZFdpZHRoO1xuXG4gICAgbGV0IHdpZHRoID0gMDtcblxuICAgIGlmICh0aGlzLiNzZXRXaWR0aCkge1xuICAgICAgd2lkdGggPSBmaXhlZFN0eWxlcy5lbEZpeGVkV2lkdGg7XG4gICAgfVxuXG4gICAgc2V0RWxQb3NpdGlvbihcbiAgICAgIGVsLFxuICAgICAgZml4ZWRTdHlsZXMuZWxGaXhlZExlZnQsXG4gICAgICBmaXhlZFN0eWxlcy5lbEZpeGVkVG9wLFxuICAgICAgd2lkdGgsXG4gICAgICB0aGlzLiN2aWV3cG9ydE1hcmdpblRvcCxcbiAgICAgIGZpeGVkU3R5bGVzLmVsQ2xpcFRvcCxcbiAgICAgIGZpeGVkU3R5bGVzLmVsQ2xpcExlZnRcbiAgICApO1xuICB9XG5cbiAgI2dldEJvdW5kYXJ5SW5mbyhcbiAgICBlbDogSFRNTEVsZW1lbnQsXG4gICAgYm91bmRhcnlFbDogSFRNTEVsZW1lbnRcbiAgKTogU2t5Vmlld2tlZXBlckJvdW5kYXJ5SW5mbyB7XG4gICAgY29uc3Qgc3BhY2VySWQgPSB0aGlzLiNnZXRTcGFjZXJJZCgpO1xuXG4gICAgY29uc3Qgc3BhY2VyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzcGFjZXJJZCk7XG5cbiAgICBjb25zdCBib3VuZGFyeU9mZnNldCA9IGdldE9mZnNldChib3VuZGFyeUVsLCB0aGlzLiNzY3JvbGxhYmxlSG9zdCk7XG4gICAgY29uc3QgYm91bmRhcnlUb3AgPSBib3VuZGFyeU9mZnNldC50b3A7XG4gICAgY29uc3QgYm91bmRhcnlCb3R0b20gPVxuICAgICAgYm91bmRhcnlUb3AgKyBib3VuZGFyeUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgIGNvbnN0IHNjcm9sbExlZnQgPSB0aGlzLiNzY3JvbGxhYmxlSG9zdFxuICAgICAgPyB0aGlzLiNzY3JvbGxhYmxlSG9zdC5zY3JvbGxMZWZ0XG4gICAgICA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuI3Njcm9sbGFibGVIb3N0XG4gICAgICA/IHRoaXMuI3Njcm9sbGFibGVIb3N0LnNjcm9sbFRvcFxuICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuXG4gICAgY29uc3QgZWxIZWlnaHQgPSBnZXRIZWlnaHRXaXRoTWFyZ2luKGVsKTtcblxuICAgIHJldHVybiB7XG4gICAgICBib3VuZGFyeUJvdHRvbSxcbiAgICAgIGJvdW5kYXJ5T2Zmc2V0LFxuICAgICAgYm91bmRhcnlFbCxcbiAgICAgIGVsSGVpZ2h0LFxuICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgIHNjcm9sbFRvcCxcbiAgICAgIHNwYWNlcklkLFxuICAgICAgc3BhY2VyRWwsXG4gICAgfTtcbiAgfVxufVxuIl19
|
@@ -3,14 +3,14 @@ import { SkyViewkeeperDirective } from './viewkeeper.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export class SkyViewkeeperModule {
|
5
5
|
}
|
6
|
-
SkyViewkeeperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
7
|
-
SkyViewkeeperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
8
|
-
SkyViewkeeperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
6
|
+
SkyViewkeeperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
7
|
+
SkyViewkeeperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperModule, declarations: [SkyViewkeeperDirective], exports: [SkyViewkeeperDirective] });
|
8
|
+
SkyViewkeeperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperModule });
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperModule, decorators: [{
|
10
10
|
type: NgModule,
|
11
11
|
args: [{
|
12
12
|
declarations: [SkyViewkeeperDirective],
|
13
13
|
exports: [SkyViewkeeperDirective],
|
14
14
|
}]
|
15
15
|
}] });
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU1oRSxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBSGYsc0JBQXNCLGFBQzNCLHNCQUFzQjtrSEFFckIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVZpZXdrZWVwZXJEaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdrZWVwZXIuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5Vmlld2tlZXBlckRpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtTa3lWaWV3a2VlcGVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Vmlld2tlZXBlck1vZHVsZSB7fVxuIl19
|
@@ -2,7 +2,6 @@ var _SkyViewkeeperService_hostOptions;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
3
|
import { Injectable, Optional } from '@angular/core';
|
4
4
|
import { SkyViewkeeper } from './viewkeeper';
|
5
|
-
import { SkyViewkeeperHostOptions } from './viewkeeper-host-options';
|
6
5
|
import * as i0 from "@angular/core";
|
7
6
|
import * as i1 from "./viewkeeper-host-options";
|
8
7
|
/**
|
@@ -30,9 +29,9 @@ export class SkyViewkeeperService {
|
|
30
29
|
}
|
31
30
|
}
|
32
31
|
_SkyViewkeeperService_hostOptions = new WeakMap();
|
33
|
-
SkyViewkeeperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
34
|
-
SkyViewkeeperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
32
|
+
SkyViewkeeperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperService, deps: [{ token: i1.SkyViewkeeperHostOptions, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
33
|
+
SkyViewkeeperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperService, providedIn: 'root' });
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyViewkeeperService, decorators: [{
|
36
35
|
type: Injectable,
|
37
36
|
args: [{
|
38
37
|
providedIn: 'root',
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
40
39
|
}], ctorParameters: function () { return [{ type: i1.SkyViewkeeperHostOptions, decorators: [{
|
41
40
|
type: Optional
|
42
41
|
}] }]; } });
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBSTdDOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUF3QixXQUFzQztRQUY5RCxvREFBbUQ7UUFHakQsdUJBQUEsSUFBSSxxQ0FBZ0IsV0FBVyxNQUFBLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsdUJBQUEsSUFBSSx5Q0FBYSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPLENBQUMsRUFBaUI7UUFDOUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQzs7O2tIQXZCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUljLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyIH0gZnJvbSAnLi92aWV3a2VlcGVyJztcbmltcG9ydCB7IFNreVZpZXdrZWVwZXJIb3N0T3B0aW9ucyB9IGZyb20gJy4vdmlld2tlZXBlci1ob3N0LW9wdGlvbnMnO1xuaW1wb3J0IHsgU2t5Vmlld2tlZXBlck9wdGlvbnMgfSBmcm9tICcuL3ZpZXdrZWVwZXItb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgY3JlYXRpbmcgYW5kIGRlc3Ryb3lpbmcgdmlld2tlZXBlciBpbnN0YW5jZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWaWV3a2VlcGVyU2VydmljZSB7XG4gICNob3N0T3B0aW9uczogU2t5Vmlld2tlZXBlckhvc3RPcHRpb25zIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIGhvc3RPcHRpb25zPzogU2t5Vmlld2tlZXBlckhvc3RPcHRpb25zKSB7XG4gICAgdGhpcy4jaG9zdE9wdGlvbnMgPSBob3N0T3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBDcmVhdGVzIGEgdmlld2tlZXBlciBpbnN0YW5jZSwgYXBwbHlpbmcgaG9zdCBvcHRpb25zIHdoZXJlIGFwcGxpY2FibGUuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlKG9wdGlvbnM6IFNreVZpZXdrZWVwZXJPcHRpb25zKTogU2t5Vmlld2tlZXBlciB7XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuI2hvc3RPcHRpb25zIHx8IHt9LCBvcHRpb25zKTtcblxuICAgIHJldHVybiBuZXcgU2t5Vmlld2tlZXBlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyBhIHZpZXdrZWVwZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB2ayBWaWV3a2VlcGVyIGluc3RhbmNlIHRvIGRlc3Ryb3kuXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSh2azogU2t5Vmlld2tlZXBlcik6IHZvaWQge1xuICAgIHZrLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
|
@@ -19,12 +19,12 @@ export class SkyAppWindowRef {
|
|
19
19
|
return getWindow();
|
20
20
|
}
|
21
21
|
}
|
22
|
-
SkyAppWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
23
|
-
SkyAppWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
22
|
+
SkyAppWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAppWindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
23
|
+
SkyAppWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAppWindowRef, providedIn: 'root' });
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAppWindowRef, decorators: [{
|
25
25
|
type: Injectable,
|
26
26
|
args: [{
|
27
27
|
providedIn: 'root',
|
28
28
|
}]
|
29
29
|
}] });
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy93aW5kb3cvd2luZG93LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFDMUI7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsT0FBTyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs2R0FOVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2luZG93KCk6IGFueSB7XG4gIHJldHVybiB3aW5kb3c7XG59XG5cbi8qKlxuICogVGhlIGFwcGxpY2F0aW9uIHdpbmRvdyByZWZlcmVuY2Ugc2VydmljZSByZWZlcmVuY2VzIHRoZSBnbG9iYWwgd2luZG93IHZhcmlhYmxlLlxuICogQWZ0ZXIgdXNlcnMgaW5qZWN0IFNreUFwcFdpbmRvd1JlZiBpbnRvIGEgY29tcG9uZW50LCB0aGV5IGNhbiB1c2UgdGhlIHNlcnZpY2UgdG8gaW50ZXJhY3Qgd2l0aFxuICogd2luZG93IHByb3BlcnRpZXMgYW5kIGV2ZW50IGhhbmRsZXJzIGJ5IHJlZmVyZW5jaW5nIGl0cyBuYXRpdmVXaW5kb3cgcHJvcGVydHkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBcHBXaW5kb3dSZWYge1xuICAvKipcbiAgICogUmVmZXJlbmNlcyB0aGUgZ2xvYmFsIGB3aW5kb3dgIHZhcmlhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldCBuYXRpdmVXaW5kb3coKTogYW55IHtcbiAgICByZXR1cm4gZ2V0V2luZG93KCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -8,16 +8,16 @@ import * as i0 from "@angular/core";
|
|
8
8
|
*/
|
9
9
|
export class SkyCoreTestingModule {
|
10
10
|
}
|
11
|
-
SkyCoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
12
|
-
SkyCoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
13
|
-
SkyCoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
11
|
+
SkyCoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
12
|
+
SkyCoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule });
|
13
|
+
SkyCoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, providers: [
|
14
14
|
{ provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },
|
15
15
|
{
|
16
16
|
provide: SkyUIConfigService,
|
17
17
|
useClass: MockSkyUIConfigService,
|
18
18
|
},
|
19
19
|
] });
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, decorators: [{
|
21
21
|
type: NgModule,
|
22
22
|
args: [{
|
23
23
|
providers: [
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
29
29
|
],
|
30
30
|
}]
|
31
31
|
}] });
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3Rlc3Rpbmcvc3JjL2NvcmUtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWxFOztHQUVHO0FBVUgsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsYUFScEI7UUFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7UUFDckU7WUFDRSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFFBQVEsRUFBRSxzQkFBc0I7U0FDakM7S0FDRjs0RkFFVSxvQkFBb0I7a0JBVGhDLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTt3QkFDckU7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeVNlcnZpY2UsIFNreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgTW9ja1NreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9tb2NrLW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ja1NreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9jay11aS1jb25maWcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsIHVzZUNsYXNzOiBNb2NrU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTa3lVSUNvbmZpZ1NlcnZpY2UsXG4gICAgICB1c2VDbGFzczogTW9ja1NreVVJQ29uZmlnU2VydmljZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb3JlVGVzdGluZ01vZHVsZSB7fVxuIl19
|
@@ -38,9 +38,9 @@ MockSkyMediaQueryService.xs = '(max-width: 767px)';
|
|
38
38
|
MockSkyMediaQueryService.sm = '(min-width: 768px) and (max-width: 991px)';
|
39
39
|
MockSkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
|
40
40
|
MockSkyMediaQueryService.lg = '(min-width: 1200px)';
|
41
|
-
MockSkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
42
|
-
MockSkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
41
|
+
MockSkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
42
|
+
MockSkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService });
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService, decorators: [{
|
44
44
|
type: Injectable
|
45
45
|
}], ctorParameters: function () { return []; } });
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUVyRDs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUFvQmhFO1FBQ0UsS0FBSyxDQUNILElBQUksTUFBTSxDQUFDO1lBQ1Qsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDLENBQ0gsQ0FBQztRQVhHLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUM3QyxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFTSx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7SUFRckQsQ0FBQztJQXBCRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLFdBQWdDO1FBQ2pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUM7SUFDekMsQ0FBQztJQWdCTSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxDQUFDLFdBQWdDLEVBQUUsRUFBRTtnQkFDekMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQXlCO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLGdFQUFnRTtJQUN6RCxPQUFPLEtBQVUsQ0FBQzs7QUExQ1gsMkJBQUUsR0FBRyxvQkFBcUIsQ0FBQTtBQUMxQiwyQkFBRSxHQUFHLDJDQUE0QyxDQUFBO0FBQ2pELDJCQUFFLEdBQUcsNENBQTZDLENBQUE7QUFDbEQsMkJBQUUsR0FBRyxxQkFBc0IsQ0FBQTtzSEFKOUIsd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeUxpc3RlbmVyLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9ja1NreU1lZGlhUXVlcnlTZXJ2aWNlIGV4dGVuZHMgU2t5TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIHhzID0gJyhtYXgtd2lkdGg6IDc2N3B4KSc7XG4gIHB1YmxpYyBzdGF0aWMgc20gPSAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuICBwdWJsaWMgc3RhdGljIG1kID0gJyhtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSc7XG4gIHB1YmxpYyBzdGF0aWMgbGcgPSAnKG1pbi13aWR0aDogMTIwMHB4KSc7XG5cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50QnJlYWtwb2ludHM7XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnQoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpIHtcbiAgICB0aGlzLl9jdXJyZW50QnJlYWtwb2ludHMgPSBicmVha3BvaW50cztcbiAgfVxuXG4gIHB1YmxpYyBjdXJyZW50TW9ja1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreU1lZGlhQnJlYWtwb2ludHM+KFxuICAgIHRoaXMuY3VycmVudFxuICApO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRCcmVha3BvaW50cyA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgTmdab25lKHtcbiAgICAgICAgZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IHRydWUsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRNb2NrU3ViamVjdC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGJyZWFrcG9pbnRzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSA9PiB7XG4gICAgICAgIGxpc3RlbmVyKGJyZWFrcG9pbnRzKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmlyZShhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudEJyZWFrcG9pbnRzID0gYXJncztcbiAgICB0aGlzLmN1cnJlbnRNb2NrU3ViamVjdC5uZXh0KHRoaXMuX2N1cnJlbnRCcmVha3BvaW50cyk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge31cbn1cbiJdfQ==
|
@@ -54,9 +54,9 @@ export class MockSkyUIConfigService extends SkyUIConfigService {
|
|
54
54
|
}
|
55
55
|
}
|
56
56
|
}
|
57
|
-
MockSkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
58
|
-
MockSkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
57
|
+
MockSkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
58
|
+
MockSkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService });
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService, decorators: [{
|
60
60
|
type: Injectable
|
61
61
|
}] });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay11aS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3Rlc3Rpbmcvc3JjL21vY2stdWktY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFakQsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXREOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQUNyRCxTQUFTLENBQUMsR0FBVyxFQUFFLGFBQW1CO1FBQy9DLFFBQVEsR0FBRyxFQUFFO1lBQ1gsS0FBSyxpQkFBaUI7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUztnQkFDWixPQUFPLFlBQVksQ0FBQyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQzFELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sWUFBWSxDQUFDO29CQUNsQixRQUFRLEVBQUU7d0JBQ1IsWUFBWSxFQUFFOzRCQUNaLFlBQVksRUFBRTtnQ0FDWixLQUFLLEVBQUU7b0NBQ0w7d0NBQ0UsRUFBRSxFQUFFLFFBQVE7d0NBQ1osV0FBVyxFQUFFLElBQUk7cUNBQ2xCO29DQUNEO3dDQUNFLEVBQUUsRUFBRSxRQUFRO3dDQUNaLFdBQVcsRUFBRSxJQUFJO3FDQUNsQjtpQ0FDRjs2QkFDRjs0QkFDRCxXQUFXLEVBQUU7Z0NBQ1g7b0NBQ0UsS0FBSyxFQUFFO3dDQUNMOzRDQUNFLEVBQUUsRUFBRSxRQUFROzRDQUNaLFdBQVcsRUFBRSxJQUFJO3lDQUNsQjtxQ0FDRjtpQ0FDRjtnQ0FDRDtvQ0FDRSxLQUFLLEVBQUU7d0NBQ0w7NENBQ0UsRUFBRSxFQUFFLFFBQVE7NENBQ1osV0FBVyxFQUFFLElBQUk7eUNBQ2xCO3FDQUNGO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUNELGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7cUJBQ3RDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOztvSEEvQ1Usc0JBQXNCO3dIQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgYXMgb2JzZXJ2YWJsZU9mIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2NrU2t5VUlDb25maWdTZXJ2aWNlIGV4dGVuZHMgU2t5VUlDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIGdldENvbmZpZyhrZXk6IHN0cmluZywgZGVmYXVsdENvbmZpZz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ2RlZmF1bHRTZXR0aW5ncyc6XG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YoZGVmYXVsdENvbmZpZyk7XG4gICAgICBjYXNlICdiYWREYXRhJzpcbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih7IGludmFsaWRQcm9wZXJ0eTogJ2ludmFsaWREYXRhJyB9KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih7XG4gICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgIHVzZXJTZXR0aW5nczoge1xuICAgICAgICAgICAgICBzaW5nbGVDb2x1bW46IHtcbiAgICAgICAgICAgICAgICB0aWxlczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogJ3RpbGUtMScsXG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICd0aWxlLTInLFxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbXVsdGlDb2x1bW46IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0aWxlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICd0aWxlLTInLFxuICAgICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRpbGVzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogJ3RpbGUtMScsXG4gICAgICAgICAgICAgICAgICAgICAgaXNDb2xsYXBzZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVmYXVsdFNldHRpbmdzOiBbJ3RpbGUtMScsICd0aWxlLTInXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -110,9 +110,9 @@ MockSkyMediaQueryService.xs = '(max-width: 767px)';
|
|
110
110
|
MockSkyMediaQueryService.sm = '(min-width: 768px) and (max-width: 991px)';
|
111
111
|
MockSkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
|
112
112
|
MockSkyMediaQueryService.lg = '(min-width: 1200px)';
|
113
|
-
MockSkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
114
|
-
MockSkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
113
|
+
MockSkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
114
|
+
MockSkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService });
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyMediaQueryService, decorators: [{
|
116
116
|
type: Injectable
|
117
117
|
}], ctorParameters: function () { return []; } });
|
118
118
|
|
@@ -168,9 +168,9 @@ class MockSkyUIConfigService extends SkyUIConfigService {
|
|
168
168
|
}
|
169
169
|
}
|
170
170
|
}
|
171
|
-
MockSkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
172
|
-
MockSkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
171
|
+
MockSkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
172
|
+
MockSkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService });
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: MockSkyUIConfigService, decorators: [{
|
174
174
|
type: Injectable
|
175
175
|
}] });
|
176
176
|
|
@@ -179,16 +179,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
179
179
|
*/
|
180
180
|
class SkyCoreTestingModule {
|
181
181
|
}
|
182
|
-
SkyCoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
183
|
-
SkyCoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
184
|
-
SkyCoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
182
|
+
SkyCoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
183
|
+
SkyCoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule });
|
184
|
+
SkyCoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, providers: [
|
185
185
|
{ provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },
|
186
186
|
{
|
187
187
|
provide: SkyUIConfigService,
|
188
188
|
useClass: MockSkyUIConfigService,
|
189
189
|
},
|
190
190
|
] });
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyCoreTestingModule, decorators: [{
|
192
192
|
type: NgModule,
|
193
193
|
args: [{
|
194
194
|
providers: [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../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/core-testing.module.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(harness)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters\n ) {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text)\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return (await this.host()).getAttribute('data-sky-id');\n }\n}\n","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/**\n * @internal\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 /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): Observable<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","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../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/core-testing.module.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(harness)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters\n ) {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text)\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return (await this.host()).getAttribute('data-sky-id');\n }\n}\n","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/**\n * @internal\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 /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public getConfig(key: string, defaultConfig?: any): Observable<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","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
|