@skyux/flyout 8.6.0 → 9.0.0-alpha.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.
Files changed (32) hide show
  1. package/esm2022/lib/modules/flyout/flyout-adapter.service.mjs +69 -0
  2. package/esm2022/lib/modules/flyout/flyout-instance.mjs +122 -0
  3. package/esm2022/lib/modules/flyout/flyout-iterator.component.mjs +51 -0
  4. package/esm2022/lib/modules/flyout/flyout-media-query.service.mjs +68 -0
  5. package/esm2022/lib/modules/flyout/flyout.component.mjs +526 -0
  6. package/{esm2020 → esm2022}/lib/modules/flyout/flyout.module.mjs +21 -21
  7. package/esm2022/lib/modules/flyout/flyout.service.mjs +168 -0
  8. package/esm2022/lib/modules/shared/sky-flyout-resources.module.mjs +54 -0
  9. package/fesm2022/skyux-flyout.mjs +1098 -0
  10. package/{fesm2020 → fesm2022}/skyux-flyout.mjs.map +1 -1
  11. package/lib/modules/flyout/flyout-iterator.component.d.ts +1 -1
  12. package/package.json +16 -22
  13. package/esm2020/lib/modules/flyout/flyout-adapter.service.mjs +0 -72
  14. package/esm2020/lib/modules/flyout/flyout-instance.mjs +0 -119
  15. package/esm2020/lib/modules/flyout/flyout-iterator.component.mjs +0 -56
  16. package/esm2020/lib/modules/flyout/flyout-media-query.service.mjs +0 -71
  17. package/esm2020/lib/modules/flyout/flyout.component.mjs +0 -513
  18. package/esm2020/lib/modules/flyout/flyout.service.mjs +0 -167
  19. package/esm2020/lib/modules/shared/sky-flyout-resources.module.mjs +0 -54
  20. package/fesm2015/skyux-flyout.mjs +0 -1091
  21. package/fesm2015/skyux-flyout.mjs.map +0 -1
  22. package/fesm2020/skyux-flyout.mjs +0 -1087
  23. /package/{esm2020 → esm2022}/index.mjs +0 -0
  24. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-action.mjs +0 -0
  25. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-before-close-handler.mjs +0 -0
  26. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-close-args.mjs +0 -0
  27. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-config-internal.mjs +0 -0
  28. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-config.mjs +0 -0
  29. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-message-type.mjs +0 -0
  30. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-message.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/modules/flyout/types/flyout-permalink.mjs +0 -0
  32. /package/{esm2020 → esm2022}/skyux-flyout.mjs +0 -0
@@ -0,0 +1,69 @@
1
+ import { Injectable, } from '@angular/core';
2
+ import { SkyMediaBreakpoints } from '@skyux/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@skyux/core";
5
+ /**
6
+ * @internal
7
+ */
8
+ export class SkyFlyoutAdapterService {
9
+ #renderer;
10
+ #windowRef;
11
+ constructor(rendererFactory, windowRef) {
12
+ this.#windowRef = windowRef;
13
+ this.#renderer = rendererFactory.createRenderer(undefined, null);
14
+ }
15
+ adjustHeaderForHelp(header) {
16
+ const windowObj = this.#windowRef.nativeWindow;
17
+ const helpWidget = windowObj.document.getElementById('bb-help-invoker');
18
+ if (helpWidget) {
19
+ this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');
20
+ }
21
+ }
22
+ setResponsiveClass(element, breakpoint) {
23
+ /* istanbul ignore if */
24
+ if (!breakpoint) {
25
+ return;
26
+ }
27
+ const nativeEl = element.nativeElement;
28
+ this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
29
+ this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
30
+ this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');
31
+ this.#renderer.removeClass(nativeEl, 'sky-responsive-container-lg');
32
+ let newClass;
33
+ switch (breakpoint) {
34
+ case SkyMediaBreakpoints.xs: {
35
+ newClass = 'sky-responsive-container-xs';
36
+ break;
37
+ }
38
+ case SkyMediaBreakpoints.sm: {
39
+ newClass = 'sky-responsive-container-sm';
40
+ break;
41
+ }
42
+ case SkyMediaBreakpoints.md: {
43
+ newClass = 'sky-responsive-container-md';
44
+ break;
45
+ }
46
+ default: {
47
+ newClass = 'sky-responsive-container-lg';
48
+ break;
49
+ }
50
+ }
51
+ this.#renderer.addClass(nativeEl, newClass);
52
+ }
53
+ toggleIframePointerEvents(enable) {
54
+ // When iframes are present on the page, they may interfere with dragging
55
+ // temporarily disable pointer events in iframes when dragging starts.
56
+ // When re-enabling we set to the empty string as it will remove the element styling
57
+ // and fall back to any css originally given to iframe
58
+ const iframes = document.querySelectorAll('iframe');
59
+ for (let i = 0; i < iframes.length; i++) {
60
+ iframes[i].style.pointerEvents = enable ? '' : 'none';
61
+ }
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutAdapterService }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
67
+ type: Injectable
68
+ }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRW5FOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQVk7SUFFckIsVUFBVSxDQUFrQjtJQUU1QixZQUFZLGVBQWlDLEVBQUUsU0FBMEI7UUFDdkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBa0I7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV4RSxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsT0FBbUIsRUFDbkIsVUFBZ0M7UUFFaEMsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxNQUFNLFFBQVEsR0FBZ0IsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUVwRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUVwRSxJQUFJLFFBQWdCLENBQUM7UUFFckIsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7U0FDRjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0seUJBQXlCLENBQUMsTUFBZTtRQUM5Qyx5RUFBeUU7UUFDekUsc0VBQXNFO1FBQ3RFLG9GQUFvRjtRQUNwRixzREFBc0Q7UUFDdEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDdkQ7SUFDSCxDQUFDOzhHQW5FVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYsIFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzcG9uc2l2ZUNsYXNzKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgYnJlYWtwb2ludD86IFNreU1lZGlhQnJlYWtwb2ludHNcbiAgKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFicmVha3BvaW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5hdGl2ZUVsOiBIVE1MRWxlbWVudCA9IGVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLXhzJyk7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nKTtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1tZCcpO1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJyk7XG5cbiAgICBsZXQgbmV3Q2xhc3M6IHN0cmluZztcblxuICAgIHN3aXRjaCAoYnJlYWtwb2ludCkge1xuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1zbSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1tZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbGcnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyhuYXRpdmVFbCwgbmV3Q2xhc3MpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZW5hYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gV2hlbiBpZnJhbWVzIGFyZSBwcmVzZW50IG9uIHRoZSBwYWdlLCB0aGV5IG1heSBpbnRlcmZlcmUgd2l0aCBkcmFnZ2luZ1xuICAgIC8vIHRlbXBvcmFyaWx5IGRpc2FibGUgcG9pbnRlciBldmVudHMgaW4gaWZyYW1lcyB3aGVuIGRyYWdnaW5nIHN0YXJ0cy5cbiAgICAvLyBXaGVuIHJlLWVuYWJsaW5nIHdlIHNldCB0byB0aGUgZW1wdHkgc3RyaW5nIGFzIGl0IHdpbGwgcmVtb3ZlIHRoZSBlbGVtZW50IHN0eWxpbmdcbiAgICAvLyBhbmQgZmFsbCBiYWNrIHRvIGFueSBjc3Mgb3JpZ2luYWxseSBnaXZlbiB0byBpZnJhbWVcbiAgICBjb25zdCBpZnJhbWVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaWZyYW1lJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZnJhbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZnJhbWVzW2ldLnN0eWxlLnBvaW50ZXJFdmVudHMgPSBlbmFibGUgPyAnJyA6ICdub25lJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,122 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { SkyFlyoutMessageType } from './types/flyout-message-type';
4
+ /**
5
+ * Represents a single displayed flyout.
6
+ */
7
+ export class SkyFlyoutInstance {
8
+ /**
9
+ * An event that the modal instance emits when it is about to close.
10
+ * If a subscription exists for this event,
11
+ * the modal does not close until the subscriber calls the handler's `closeModal` method.
12
+ */
13
+ get beforeClose() {
14
+ return this.#_beforeClose;
15
+ }
16
+ /**
17
+ * Used to communicate with the host component.
18
+ * @internal
19
+ */
20
+ get hostController() {
21
+ return this.#_hostController;
22
+ }
23
+ /**
24
+ * An event that the flyout instance emits when users click the next iterator button.
25
+ */
26
+ get iteratorNextButtonClick() {
27
+ return this.#_iteratorNextButtonClick;
28
+ }
29
+ /**
30
+ * An event that the flyout instance emits when users click the previous iterator button.
31
+ */
32
+ get iteratorPreviousButtonClick() {
33
+ return this.#_iteratorPreviousButtonClick;
34
+ }
35
+ /**
36
+ * Disables the next iterator button.
37
+ * @default false
38
+ */
39
+ set iteratorNextButtonDisabled(newValue) {
40
+ this.#_iteratorNextButtonDisabled = newValue;
41
+ if (newValue) {
42
+ this.hostController.next({
43
+ type: SkyFlyoutMessageType.DisableIteratorNextButton,
44
+ });
45
+ }
46
+ else {
47
+ this.hostController.next({
48
+ type: SkyFlyoutMessageType.EnableIteratorNextButton,
49
+ });
50
+ }
51
+ }
52
+ get iteratorNextButtonDisabled() {
53
+ return this.#_iteratorNextButtonDisabled;
54
+ }
55
+ /**
56
+ * Disables the previous iterator button.
57
+ * @default false
58
+ */
59
+ set iteratorPreviousButtonDisabled(newValue) {
60
+ this.#_iteratorPreviousButtonDisabled = newValue;
61
+ if (newValue) {
62
+ this.hostController.next({
63
+ type: SkyFlyoutMessageType.DisableIteratorPreviousButton,
64
+ });
65
+ }
66
+ else {
67
+ this.hostController.next({
68
+ type: SkyFlyoutMessageType.EnableIteratorPreviousButton,
69
+ });
70
+ }
71
+ }
72
+ get iteratorPreviousButtonDisabled() {
73
+ return this.#_iteratorPreviousButtonDisabled;
74
+ }
75
+ #_beforeClose;
76
+ #_iteratorNextButtonClick;
77
+ #_iteratorPreviousButtonClick;
78
+ #_iteratorNextButtonDisabled;
79
+ #_iteratorPreviousButtonDisabled;
80
+ #_hostController;
81
+ // TODO: Remove this being optional in a future breaking change.
82
+ constructor(componentInstance) {
83
+ /**
84
+ * An event that the flyout instance emits when it closes.
85
+ */
86
+ this.closed = new EventEmitter();
87
+ /**
88
+ * A `boolean` value that returns `true` if the flyout is open.
89
+ * @default true
90
+ */
91
+ this.isOpen = true;
92
+ this.#_beforeClose = new Subject();
93
+ this.#_iteratorNextButtonClick = new EventEmitter();
94
+ this.#_iteratorPreviousButtonClick = new EventEmitter();
95
+ this.#_iteratorNextButtonDisabled = false;
96
+ this.#_iteratorPreviousButtonDisabled = false;
97
+ this.#_hostController = new Subject();
98
+ if (!componentInstance) {
99
+ console.warn(`The SkyFlyoutInstance was created without a reference to the flyout's child component instance.
100
+ The instance will not have a reference ot this child component.
101
+ Support for creating an instance without this reference will be removed in a future breaking change.`);
102
+ }
103
+ this.componentInstance = componentInstance;
104
+ this.closed.subscribe(() => {
105
+ this.isOpen = false;
106
+ });
107
+ }
108
+ /**
109
+ * Closes the flyout instance and emits its `closed` event.
110
+ * @param args Arguments used when closing the flyout.
111
+ */
112
+ close(args) {
113
+ this.hostController.next({
114
+ type: SkyFlyoutMessageType.Close,
115
+ data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },
116
+ });
117
+ this.#_iteratorPreviousButtonClick.complete();
118
+ this.#_iteratorNextButtonClick.complete();
119
+ this.hostController.complete();
120
+ }
121
+ }
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFZRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsMEJBQTBCLENBQUMsUUFBaUI7UUFDckQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQztRQUM3QyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMseUJBQXlCO2FBQ3JELENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QjthQUNwRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFXLDBCQUEwQjtRQUNuQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyw4QkFBOEIsQ0FBQyxRQUFpQjtRQUN6RCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsUUFBUSxDQUFDO1FBQ2pELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyw2QkFBNkI7YUFDekQsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsNEJBQTRCO2FBQ3hELENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELElBQVcsOEJBQThCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGdDQUFnQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxhQUFhLENBQThDO0lBRTNELHlCQUF5QixDQUE0QjtJQUVyRCw2QkFBNkIsQ0FBNEI7SUFFekQsNEJBQTRCLENBQVM7SUFFckMsZ0NBQWdDLENBQVM7SUFFekMsZ0JBQWdCLENBQW1DO0lBRW5ELGdFQUFnRTtJQUNoRSxZQUFZLGlCQUFxQjtRQTdGakM7O1dBRUc7UUFDSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWV6Qzs7O1dBR0c7UUFDSSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBMERyQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUErQixDQUFDO1FBRTNELDhCQUF5QixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFckQsa0NBQTZCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RCxpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFFckMscUNBQWdDLEdBQUcsS0FBSyxDQUFDO1FBRXpDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBSWpELElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixPQUFPLENBQUMsSUFBSSxDQUNWOzs2R0FFcUcsQ0FDdEcsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFrQixDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsSUFBeUI7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLEtBQUs7WUFDaEMsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtTQUNuRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBkaXNwbGF5ZWQgZmx5b3V0LlxuICovXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgbW9kYWwgZG9lcyBub3QgY2xvc2UgdW50aWwgdGhlIHN1YnNjcmliZXIgY2FsbHMgdGhlIGhhbmRsZXIncyBgY2xvc2VNb2RhbGAgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIGdldCBiZWZvcmVDbG9zZSgpOiBPYnNlcnZhYmxlPFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcj4ge1xuICAgIHJldHVybiB0aGlzLiNfYmVmb3JlQ2xvc2U7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQgdG8gZGlzcGxheSBpbiB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNvbXBvbmVudEluc3RhbmNlITogVDtcblxuICAvKipcbiAgICogVXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBob3N0IGNvbXBvbmVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhvc3RDb250cm9sbGVyKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfaG9zdENvbnRyb2xsZXI7XG4gIH1cblxuICAvKipcbiAgICogQSBgYm9vbGVhbmAgdmFsdWUgdGhhdCByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmx5b3V0IGlzIG9wZW4uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHB1YmxpYyBpc09wZW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBmbHlvdXQgaW5zdGFuY2UgZW1pdHMgd2hlbiB1c2VycyBjbGljayB0aGUgbmV4dCBpdGVyYXRvciBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25DbGljaztcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBmbHlvdXQgaW5zdGFuY2UgZW1pdHMgd2hlbiB1c2VycyBjbGljayB0aGUgcHJldmlvdXMgaXRlcmF0b3IgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGdldCBpdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaztcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgbmV4dCBpdGVyYXRvciBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgc2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2l0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JOZXh0QnV0dG9uLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdENvbnRyb2xsZXIubmV4dCh7XG4gICAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgcHJldmlvdXMgaXRlcmF0b3IgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIHNldCBpdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQobmV3VmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQ7XG4gIH1cblxuICAjX2JlZm9yZUNsb3NlID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyPigpO1xuXG4gICNfaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI19pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI19pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gZmFsc2U7XG5cbiAgI19ob3N0Q29udHJvbGxlciA9IG5ldyBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+KCk7XG5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgYmVpbmcgb3B0aW9uYWwgaW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlLlxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnRJbnN0YW5jZT86IFQpIHtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBUaGUgU2t5Rmx5b3V0SW5zdGFuY2Ugd2FzIGNyZWF0ZWQgd2l0aG91dCBhIHJlZmVyZW5jZSB0byB0aGUgZmx5b3V0J3MgY2hpbGQgY29tcG9uZW50IGluc3RhbmNlLlxuICAgICAgICBUaGUgaW5zdGFuY2Ugd2lsbCBub3QgaGF2ZSBhIHJlZmVyZW5jZSBvdCB0aGlzIGNoaWxkIGNvbXBvbmVudC5cbiAgICAgICAgU3VwcG9ydCBmb3IgY3JlYXRpbmcgYW4gaW5zdGFuY2Ugd2l0aG91dCB0aGlzIHJlZmVyZW5jZSB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlLmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IGNvbXBvbmVudEluc3RhbmNlITtcbiAgICB0aGlzLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dCBpbnN0YW5jZSBhbmQgZW1pdHMgaXRzIGBjbG9zZWRgIGV2ZW50LlxuICAgKiBAcGFyYW0gYXJncyBBcmd1bWVudHMgdXNlZCB3aGVuIGNsb3NpbmcgdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShhcmdzPzogU2t5Rmx5b3V0Q2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgICAgZGF0YTogeyBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy4jX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljay5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25DbGljay5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5ob3N0Q29udHJvbGxlci5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@skyux/indicators";
5
+ import * as i2 from "@skyux/theme";
6
+ import * as i3 from "@skyux/i18n";
7
+ /**
8
+ * @internal
9
+ */
10
+ export class SkyFlyoutIteratorComponent {
11
+ get previousButtonClick() {
12
+ return this.#_previousButtonClick;
13
+ }
14
+ get nextButtonClick() {
15
+ return this.#_nextButtonClick;
16
+ }
17
+ #ngUnsubscribe = new Subject();
18
+ #_nextButtonClick = new EventEmitter();
19
+ #_previousButtonClick = new EventEmitter();
20
+ ngOnDestroy() {
21
+ this.#ngUnsubscribe.next();
22
+ this.#ngUnsubscribe.complete();
23
+ }
24
+ onIteratorPreviousClick() {
25
+ /* istanbul ignore else */
26
+ if (!this.previousButtonDisabled) {
27
+ this.#_previousButtonClick.emit();
28
+ }
29
+ }
30
+ onIteratorNextClick() {
31
+ /* istanbul ignore else */
32
+ if (!this.nextButtonDisabled) {
33
+ this.#_nextButtonClick.emit();
34
+ }
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], dependencies: [{ kind: "component", type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'sky-flyout-iterator', template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"] }]
42
+ }], propDecorators: { nextButtonDisabled: [{
43
+ type: Input
44
+ }], previousButtonDisabled: [{
45
+ type: Input
46
+ }], previousButtonClick: [{
47
+ type: Output
48
+ }], nextButtonClick: [{
49
+ type: Output
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRS9COztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxJQUNXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVyQyxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdDLHFCQUFxQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFMUMsV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUNoQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7OEdBeENVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLGdRQ2xCdkMseXZDQTBDQTs7MkZEeEJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBTXhCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBSUssbUJBQW1CO3NCQUQ3QixNQUFNO2dCQU1JLGVBQWU7c0JBRHpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmx5b3V0LWl0ZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRJdGVyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuZXh0QnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByZXZpb3VzQnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfcHJldmlvdXNCdXR0b25DbGljaztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IG5leHRCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfbmV4dEJ1dHRvbkNsaWNrO1xuICB9XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfbmV4dEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfcHJldmlvdXNCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JQcmV2aW91c0NsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLnByZXZpb3VzQnV0dG9uRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI19wcmV2aW91c0J1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvck5leHRDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5uZXh0QnV0dG9uRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI19uZXh0QnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cIml0ZXJhdG9yc1wiIGNsYXNzPVwic2t5LWZseW91dC1pdGVyYXRvcnNcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICdza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1xuICAgIFwiXG4gICAgW2Rpc2FibGVkXT1cInByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLWRlZmF1bHQgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktbWFyZ2luLWlubGluZS1zbSc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0NsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNoZXZyb24tdXBcIj4gPC9za3ktaWNvbj5cbiAgICA8c2t5LWljb25cbiAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgaWNvbj1cImNoZXZyb24tdXBcIlxuICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICBzaXplPVwibGdcIlxuICAgID5cbiAgICA8L3NreS1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2Rpc2FibGVkXT1cIm5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvck5leHRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWRvd25cIj4gPC9za3ktaWNvbj5cbiAgICA8c2t5LWljb25cbiAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgaWNvbj1cImNoZXZyb24tZG93blwiXG4gICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgIHNpemU9XCJsZ1wiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { SkyMediaBreakpoints } from '@skyux/core';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * @internal
7
+ */
8
+ export class SkyFlyoutMediaQueryService {
9
+ #currentSubject;
10
+ constructor() {
11
+ this.#currentSubject = new ReplaySubject(1);
12
+ }
13
+ subscribe(listener) {
14
+ return this.#currentSubject.subscribe({
15
+ next: (breakpoints) => {
16
+ listener(breakpoints);
17
+ },
18
+ });
19
+ }
20
+ setBreakpointForWidth(width) {
21
+ let breakpoint;
22
+ if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.xs)) {
23
+ breakpoint = SkyMediaBreakpoints.xs;
24
+ }
25
+ else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.sm)) {
26
+ breakpoint = SkyMediaBreakpoints.sm;
27
+ }
28
+ else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.md)) {
29
+ breakpoint = SkyMediaBreakpoints.md;
30
+ }
31
+ else {
32
+ breakpoint = SkyMediaBreakpoints.lg;
33
+ }
34
+ this.current = breakpoint;
35
+ this.#currentSubject.next(this.current);
36
+ }
37
+ isWidthWithinBreakpoint(width, breakpoint) {
38
+ const xsBreakpointMaxPixels = 767;
39
+ const smBreakpointMinPixels = 768;
40
+ const smBreakpointMaxPixels = 991;
41
+ const mdBreakpointMinPixels = 992;
42
+ const mdBreakpointMaxPixels = 1199;
43
+ const lgBreakpointMinPixels = 1200;
44
+ switch (breakpoint) {
45
+ case SkyMediaBreakpoints.xs: {
46
+ return width <= xsBreakpointMaxPixels;
47
+ }
48
+ case SkyMediaBreakpoints.sm: {
49
+ return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;
50
+ }
51
+ case SkyMediaBreakpoints.md: {
52
+ return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;
53
+ }
54
+ default: {
55
+ return width >= lgBreakpointMinPixels;
56
+ }
57
+ }
58
+ }
59
+ destroy() {
60
+ this.#currentSubject.complete();
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
63
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutMediaQueryService }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
66
+ type: Injectable
67
+ }], ctorParameters: function () { return []; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sYUFBYSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFHckMsZUFBZSxDQUFxQztJQUVwRDtRQUNFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxhQUFhLENBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxVQUErQixDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMvRCxVQUFVLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdEUsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQzthQUFNO1lBQ0wsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sdUJBQXVCLENBQzVCLEtBQWEsRUFDYixVQUErQjtRQUUvQixNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNuQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUVuQyxRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN2QztZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixJQUFJLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN6RTtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixJQUFJLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN6RTtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixDQUFDO2FBQ3ZDO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0EvRFUsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzLCBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgY3VycmVudDogU2t5TWVkaWFCcmVha3BvaW50cyB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8U2t5TWVkaWFCcmVha3BvaW50cz47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY3VycmVudFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPigxKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRTdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgbGlzdGVuZXIoYnJlYWtwb2ludHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuXG4gICAgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcG9pbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMueHMpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcG9pbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMuc20pKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5zbTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcG9pbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMubWQpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWtwb2ludCA9IFNreU1lZGlhQnJlYWtwb2ludHMubGc7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50ID0gYnJlYWtwb2ludDtcbiAgICB0aGlzLiNjdXJyZW50U3ViamVjdC5uZXh0KHRoaXMuY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgaXNXaWR0aFdpdGhpbkJyZWFrcG9pbnQoXG4gICAgd2lkdGg6IG51bWJlcixcbiAgICBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHhzQnJlYWtwb2ludE1heFBpeGVscyA9IDc2NztcbiAgICBjb25zdCBzbUJyZWFrcG9pbnRNaW5QaXhlbHMgPSA3Njg7XG4gICAgY29uc3Qgc21CcmVha3BvaW50TWF4UGl4ZWxzID0gOTkxO1xuICAgIGNvbnN0IG1kQnJlYWtwb2ludE1pblBpeGVscyA9IDk5MjtcbiAgICBjb25zdCBtZEJyZWFrcG9pbnRNYXhQaXhlbHMgPSAxMTk5O1xuICAgIGNvbnN0IGxnQnJlYWtwb2ludE1pblBpeGVscyA9IDEyMDA7XG5cbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICByZXR1cm4gd2lkdGggPD0geHNCcmVha3BvaW50TWF4UGl4ZWxzO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtOiB7XG4gICAgICAgIHJldHVybiB3aWR0aCA+PSBzbUJyZWFrcG9pbnRNaW5QaXhlbHMgJiYgd2lkdGggPD0gc21CcmVha3BvaW50TWF4UGl4ZWxzO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kOiB7XG4gICAgICAgIHJldHVybiB3aWR0aCA+PSBtZEJyZWFrcG9pbnRNaW5QaXhlbHMgJiYgd2lkdGggPD0gbWRCcmVha3BvaW50TWF4UGl4ZWxzO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gbGdCcmVha3BvaW50TWluUGl4ZWxzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==