@skyux/modals 11.31.0 → 12.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 (61) hide show
  1. package/documentation.json +871 -865
  2. package/fesm2022/skyux-modals-testing.mjs +11 -11
  3. package/fesm2022/skyux-modals-testing.mjs.map +1 -1
  4. package/fesm2022/skyux-modals.mjs +115 -79
  5. package/fesm2022/skyux-modals.mjs.map +1 -1
  6. package/lib/modules/modal/modal-host.component.d.ts +2 -2
  7. package/lib/modules/modal/modal-host.service.d.ts +9 -1
  8. package/package.json +12 -16
  9. package/esm2022/index.mjs +0 -21
  10. package/esm2022/lib/modules/confirm/confirm-button-action.mjs +0 -2
  11. package/esm2022/lib/modules/confirm/confirm-button-config.mjs +0 -2
  12. package/esm2022/lib/modules/confirm/confirm-button-style-type.mjs +0 -2
  13. package/esm2022/lib/modules/confirm/confirm-button.mjs +0 -2
  14. package/esm2022/lib/modules/confirm/confirm-closed-event-args.mjs +0 -2
  15. package/esm2022/lib/modules/confirm/confirm-config-token.mjs +0 -6
  16. package/esm2022/lib/modules/confirm/confirm-config.mjs +0 -2
  17. package/esm2022/lib/modules/confirm/confirm-instance.mjs +0 -23
  18. package/esm2022/lib/modules/confirm/confirm-service-interface.mjs +0 -2
  19. package/esm2022/lib/modules/confirm/confirm-type.mjs +0 -24
  20. package/esm2022/lib/modules/confirm/confirm.component.mjs +0 -151
  21. package/esm2022/lib/modules/confirm/confirm.module.mjs +0 -15
  22. package/esm2022/lib/modules/confirm/confirm.service.mjs +0 -44
  23. package/esm2022/lib/modules/modal/modal-adapter.service.mjs +0 -122
  24. package/esm2022/lib/modules/modal/modal-before-close-handler.mjs +0 -10
  25. package/esm2022/lib/modules/modal/modal-close-args.mjs +0 -7
  26. package/esm2022/lib/modules/modal/modal-component-adapter.service.mjs +0 -79
  27. package/esm2022/lib/modules/modal/modal-configuration.mjs +0 -16
  28. package/esm2022/lib/modules/modal/modal-content.component.mjs +0 -16
  29. package/esm2022/lib/modules/modal/modal-error.mjs +0 -2
  30. package/esm2022/lib/modules/modal/modal-errors.service.mjs +0 -21
  31. package/esm2022/lib/modules/modal/modal-footer.component.mjs +0 -24
  32. package/esm2022/lib/modules/modal/modal-header.component.mjs +0 -18
  33. package/esm2022/lib/modules/modal/modal-host-context-args.mjs +0 -2
  34. package/esm2022/lib/modules/modal/modal-host-context.mjs +0 -21
  35. package/esm2022/lib/modules/modal/modal-host.component.mjs +0 -154
  36. package/esm2022/lib/modules/modal/modal-host.service.mjs +0 -68
  37. package/esm2022/lib/modules/modal/modal-instance.mjs +0 -128
  38. package/esm2022/lib/modules/modal/modal-is-dirty.directive.mjs +0 -95
  39. package/esm2022/lib/modules/modal/modal-service-interface.mjs +0 -2
  40. package/esm2022/lib/modules/modal/modal.component.mjs +0 -266
  41. package/esm2022/lib/modules/modal/modal.interface.mjs +0 -2
  42. package/esm2022/lib/modules/modal/modal.module.mjs +0 -42
  43. package/esm2022/lib/modules/modal/modal.service.mjs +0 -118
  44. package/esm2022/lib/modules/shared/sky-modals-resources.module.mjs +0 -45
  45. package/esm2022/skyux-modals.mjs +0 -5
  46. package/esm2022/testing/legacy/modal-fixture.mjs +0 -143
  47. package/esm2022/testing/modules/confirm/confirm-button-harness-filters.mjs +0 -2
  48. package/esm2022/testing/modules/confirm/confirm-button-harness.mjs +0 -52
  49. package/esm2022/testing/modules/confirm/confirm-harness.mjs +0 -90
  50. package/esm2022/testing/modules/confirm/confirm-testing.controller.mjs +0 -7
  51. package/esm2022/testing/modules/confirm/confirm-testing.module.mjs +0 -18
  52. package/esm2022/testing/modules/confirm/confirm-testing.service.mjs +0 -101
  53. package/esm2022/testing/modules/confirm/provide-confirm-testing.mjs +0 -20
  54. package/esm2022/testing/modules/modal/controller/modal-testing.controller.mjs +0 -8
  55. package/esm2022/testing/modules/modal/controller/modal-testing.module.mjs +0 -18
  56. package/esm2022/testing/modules/modal/controller/modal-testing.service.mjs +0 -60
  57. package/esm2022/testing/modules/modal/controller/provide-modal-testing.mjs +0 -20
  58. package/esm2022/testing/modules/modal/modal-harness-filters.mjs +0 -2
  59. package/esm2022/testing/modules/modal/modal-harness.mjs +0 -110
  60. package/esm2022/testing/public-api.mjs +0 -9
  61. package/esm2022/testing/skyux-modals-testing.mjs +0 -5
@@ -1,128 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { SkyModalBeforeCloseHandler } from './modal-before-close-handler';
3
- import { SkyModalCloseArgs } from './modal-close-args';
4
- export class SkyModalInstance {
5
- /**
6
- * An event that the modal instance emits when it is about to close.
7
- * It emits a `SkyModalBeforeCloseHandler` object with a `closeModal` method
8
- * that closes the modal. If a subscription exists for this event,
9
- * the modal does not close until the subscriber calls the `closeModal` method.
10
- */
11
- get beforeClose() {
12
- return this.#_beforeClose;
13
- }
14
- /**
15
- * An event that the modal instance emits when it closes.
16
- * It emits a `SkyModalCloseArgs` object with a `data` property that includes
17
- * data passed from users on close or save and a `reason` property that indicates
18
- * whether the modal was saved or closed without saving.
19
- * The `reason` property accepts any string value.
20
- * Common examples include `"cancel"`, `"close"`, and `"save"`.
21
- */
22
- get closed() {
23
- return this.#_closed;
24
- }
25
- /**
26
- * An event that the modal instance emits when users click
27
- * the <i class="fa fa-question-circle" aria-hidden="true"></i> button.
28
- * If a `helpKey` parameter was specified, the `helpOpened` event broadcasts the `helpKey`.
29
- * @deprecated
30
- */
31
- get helpOpened() {
32
- return this.#_helpOpened;
33
- }
34
- /**
35
- * Sets the component adapter for the instance. This is used internally for actions such as scrolling the content.
36
- * @internal
37
- */
38
- set adapter(value) {
39
- this.#adapter = value;
40
- }
41
- /**
42
- * Sets the component ref for the instance. This is used to extract the component instance for the public API and the element ref for internal use.
43
- * @internal
44
- */
45
- set componentRef(value) {
46
- this.componentInstance = value.instance;
47
- this.#elementRef = value.location;
48
- }
49
- #_beforeClose = new Subject();
50
- #_closed = new Subject();
51
- /**
52
- * @deprecated
53
- */
54
- #_helpOpened = new Subject();
55
- #adapter;
56
- #elementRef;
57
- /**
58
- * Closes the modal instance.
59
- * @param result Specifies an object to emit to subscribers of the `closed` event of the
60
- * modal instance. The `SkyModalInstance` provider can be injected into a component's constructor
61
- * so that this `close` function can be called from a button in the `sky-modal-footer`.
62
- * @param reason Specifies the reason for the modal closing, with the default reason of `"close"`.
63
- * @param ignoreBeforeClose Indicates whether to ignore the modal instance's `beforeClose` event.
64
- */
65
- close(result, reason, ignoreBeforeClose) {
66
- if (reason === undefined) {
67
- reason = 'close';
68
- }
69
- this.#closeModal(reason, result, ignoreBeforeClose);
70
- }
71
- /**
72
- * Closes the modal instance with `reason="cancel"`.
73
- * @param result Specifies an object to emit to subscribers of the `closed` event of the modal
74
- * instance. The `SkyModalInstance` provider can be injected into a component's constructor so
75
- * that this cancel function can be called from a button in the `sky-modal-footer`.
76
- */
77
- cancel(result) {
78
- this.#closeModal('cancel', result);
79
- }
80
- /**
81
- * Closes the modal instance with `reason="save"`.
82
- * @param result Specifies an object to emit to subscribers of the `closed` event of the modal
83
- * instance. The `SkyModalInstance` provider can be injected into a component's constructor so
84
- * that this `save` function can be called from a button in `the sky-modal-footer`.
85
- */
86
- save(result) {
87
- this.#closeModal('save', result);
88
- }
89
- /**
90
- * Scrolls the modal content area to the top of its scrollable area.
91
- */
92
- scrollContentToTop() {
93
- if (this.#adapter && this.#elementRef) {
94
- this.#adapter.scrollContentToTop(this.#elementRef);
95
- }
96
- }
97
- /**
98
- * Triggers the `helpOpened` event that broadcasts a `helpKey` parameter to open
99
- * when users click the <i class="fa fa-question-circle" aria-hidden="true"></i> button.
100
- * @param helpKey Specifies a string to emit to subscribers of
101
- * the modal instance's `helpOpened` event. Consumers can inject the `SkyModalInstance` provider
102
- * into a component's constructor to call the `openHelp` function in the modal template.
103
- * @deprecated
104
- */
105
- openHelp(helpKey) {
106
- this.#_helpOpened.next(helpKey);
107
- }
108
- #closeModal(type, result, ignoreBeforeClose = false) {
109
- const args = new SkyModalCloseArgs();
110
- args.reason = type;
111
- args.data = result;
112
- if (this.#_beforeClose.observers.length === 0 || ignoreBeforeClose) {
113
- this.#notifyClosed(args);
114
- }
115
- else {
116
- this.#_beforeClose.next(new SkyModalBeforeCloseHandler(() => {
117
- this.#notifyClosed(args);
118
- }, args));
119
- }
120
- }
121
- #notifyClosed(args) {
122
- this.#_closed.next(args);
123
- this.#_closed.complete();
124
- this.#_beforeClose.complete();
125
- this.#_helpOpened.complete();
126
- }
127
- }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQVFEOzs7T0FHRztJQUNILElBQVcsT0FBTyxDQUFDLEtBQTZCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFlBQVksQ0FBQyxLQUF3QjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztJQUUxRCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7SUFFNUM7O09BRUc7SUFDSCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUVyQyxRQUFRLENBQXFDO0lBQzdDLFdBQVcsQ0FBeUI7SUFFcEM7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FDVixNQUFZLEVBQ1osTUFBZSxFQUNmLGlCQUEyQjtRQUUzQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBWTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsTUFBWTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxRQUFRLENBQUMsT0FBZTtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUMvRCxNQUFNLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ1QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL21vZGFsLWNsb3NlLWFyZ3MnO1xuXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGlzIGFib3V0IHRvIGNsb3NlLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcmAgb2JqZWN0IHdpdGggYSBgY2xvc2VNb2RhbGAgbWV0aG9kXG4gICAqIHRoYXQgY2xvc2VzIHRoZSBtb2RhbC4gSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgbW9kYWwgZG9lcyBub3QgY2xvc2UgdW50aWwgdGhlIHN1YnNjcmliZXIgY2FsbHMgdGhlIGBjbG9zZU1vZGFsYCBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJlZm9yZUNsb3NlKCk6IE9ic2VydmFibGU8U2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbENsb3NlQXJnc2Agb2JqZWN0IHdpdGggYSBgZGF0YWAgcHJvcGVydHkgdGhhdCBpbmNsdWRlc1xuICAgKiBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIG9uIGNsb3NlIG9yIHNhdmUgYW5kIGEgYHJlYXNvbmAgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXNcbiAgICogd2hldGhlciB0aGUgbW9kYWwgd2FzIHNhdmVkIG9yIGNsb3NlZCB3aXRob3V0IHNhdmluZy5cbiAgICogVGhlIGByZWFzb25gIHByb3BlcnR5IGFjY2VwdHMgYW55IHN0cmluZyB2YWx1ZS5cbiAgICogQ29tbW9uIGV4YW1wbGVzIGluY2x1ZGUgYFwiY2FuY2VsXCJgLCBgXCJjbG9zZVwiYCwgYW5kIGBcInNhdmVcImAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQ2xvc2VBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI19jbG9zZWQ7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiB1c2VycyBjbGlja1xuICAgKiB0aGUgPGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IGJ1dHRvbi5cbiAgICogSWYgYSBgaGVscEtleWAgcGFyYW1ldGVyIHdhcyBzcGVjaWZpZWQsIHRoZSBgaGVscE9wZW5lZGAgZXZlbnQgYnJvYWRjYXN0cyB0aGUgYGhlbHBLZXlgLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGdldCBoZWxwT3BlbmVkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuI19oZWxwT3BlbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZGlyZWN0IHJlZmVyZW5jZSB0byB0aGUgcHJvdmlkZWQgY29tcG9uZW50J3MgY2xhc3MuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgY29tcG9uZW50SW5zdGFuY2U6IGFueTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY29tcG9uZW50IGFkYXB0ZXIgZm9yIHRoZSBpbnN0YW5jZS4gVGhpcyBpcyB1c2VkIGludGVybmFsbHkgZm9yIGFjdGlvbnMgc3VjaCBhcyBzY3JvbGxpbmcgdGhlIGNvbnRlbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldCBhZGFwdGVyKHZhbHVlOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy4jYWRhcHRlciA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbXBvbmVudCByZWYgZm9yIHRoZSBpbnN0YW5jZS4gVGhpcyBpcyB1c2VkIHRvIGV4dHJhY3QgdGhlIGNvbXBvbmVudCBpbnN0YW5jZSBmb3IgdGhlIHB1YmxpYyBBUEkgYW5kIHRoZSBlbGVtZW50IHJlZiBmb3IgaW50ZXJuYWwgdXNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZXQgY29tcG9uZW50UmVmKHZhbHVlOiBDb21wb25lbnRSZWY8YW55Pikge1xuICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSB2YWx1ZS5pbnN0YW5jZTtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gdmFsdWUubG9jYXRpb247XG4gIH1cblxuICAjX2JlZm9yZUNsb3NlID0gbmV3IFN1YmplY3Q8U2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXI+KCk7XG5cbiAgI19jbG9zZWQgPSBuZXcgU3ViamVjdDxTa3lNb2RhbENsb3NlQXJncz4oKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gICNfaGVscE9wZW5lZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGVcbiAgICogbW9kYWwgaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvclxuICAgKiBzbyB0aGF0IHRoaXMgYGNsb3NlYCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYSBidXR0b24gaW4gdGhlIGBza3ktbW9kYWwtZm9vdGVyYC5cbiAgICogQHBhcmFtIHJlYXNvbiBTcGVjaWZpZXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1vZGFsIGNsb3NpbmcsIHdpdGggdGhlIGRlZmF1bHQgcmVhc29uIG9mIGBcImNsb3NlXCJgLlxuICAgKiBAcGFyYW0gaWdub3JlQmVmb3JlQ2xvc2UgSW5kaWNhdGVzIHdoZXRoZXIgdG8gaWdub3JlIHRoZSBtb2RhbCBpbnN0YW5jZSdzIGBiZWZvcmVDbG9zZWAgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoXG4gICAgcmVzdWx0PzogYW55LFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgICBpZ25vcmVCZWZvcmVDbG9zZT86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmIChyZWFzb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVhc29uID0gJ2Nsb3NlJztcbiAgICB9XG5cbiAgICB0aGlzLiNjbG9zZU1vZGFsKHJlYXNvbiwgcmVzdWx0LCBpZ25vcmVCZWZvcmVDbG9zZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249XCJjYW5jZWxcImAuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGUgbW9kYWxcbiAgICogaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciBzb1xuICAgKiB0aGF0IHRoaXMgY2FuY2VsIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKi9cbiAgcHVibGljIGNhbmNlbChyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZU1vZGFsKCdjYW5jZWwnLCByZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2Ugd2l0aCBgcmVhc29uPVwic2F2ZVwiYC5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZSBtb2RhbFxuICAgKiBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHNvXG4gICAqIHRoYXQgdGhpcyBgc2F2ZWAgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIGB0aGUgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqL1xuICBwdWJsaWMgc2F2ZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZU1vZGFsKCdzYXZlJywgcmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGxzIHRoZSBtb2RhbCBjb250ZW50IGFyZWEgdG8gdGhlIHRvcCBvZiBpdHMgc2Nyb2xsYWJsZSBhcmVhLlxuICAgKi9cbiAgcHVibGljIHNjcm9sbENvbnRlbnRUb1RvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jYWRhcHRlciAmJiB0aGlzLiNlbGVtZW50UmVmKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLnNjcm9sbENvbnRlbnRUb1RvcCh0aGlzLiNlbGVtZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIGBoZWxwT3BlbmVkYCBldmVudCB0aGF0IGJyb2FkY2FzdHMgYSBgaGVscEtleWAgcGFyYW1ldGVyIHRvIG9wZW5cbiAgICogd2hlbiB1c2VycyBjbGljayB0aGUgPGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IGJ1dHRvbi5cbiAgICogQHBhcmFtIGhlbHBLZXkgU3BlY2lmaWVzIGEgc3RyaW5nIHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2ZcbiAgICogdGhlIG1vZGFsIGluc3RhbmNlJ3MgYGhlbHBPcGVuZWRgIGV2ZW50LiBDb25zdW1lcnMgY2FuIGluamVjdCB0aGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyXG4gICAqIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB0byBjYWxsIHRoZSBgb3BlbkhlbHBgIGZ1bmN0aW9uIGluIHRoZSBtb2RhbCB0ZW1wbGF0ZS5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBvcGVuSGVscChoZWxwS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNfaGVscE9wZW5lZC5uZXh0KGhlbHBLZXkpO1xuICB9XG5cbiAgI2Nsb3NlTW9kYWwodHlwZTogc3RyaW5nLCByZXN1bHQ/OiBhbnksIGlnbm9yZUJlZm9yZUNsb3NlID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBhcmdzID0gbmV3IFNreU1vZGFsQ2xvc2VBcmdzKCk7XG5cbiAgICBhcmdzLnJlYXNvbiA9IHR5cGU7XG4gICAgYXJncy5kYXRhID0gcmVzdWx0O1xuXG4gICAgaWYgKHRoaXMuI19iZWZvcmVDbG9zZS5vYnNlcnZlcnMubGVuZ3RoID09PSAwIHx8IGlnbm9yZUJlZm9yZUNsb3NlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19iZWZvcmVDbG9zZS5uZXh0KFxuICAgICAgICBuZXcgU2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXIoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI25vdGlmeUNsb3NlZChhcmdzKTtcbiAgICAgICAgfSwgYXJncyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNub3RpZnlDbG9zZWQoYXJnczogU2t5TW9kYWxDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNfY2xvc2VkLm5leHQoYXJncyk7XG4gICAgdGhpcy4jX2Nsb3NlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19iZWZvcmVDbG9zZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI19oZWxwT3BlbmVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,95 +0,0 @@
1
- import { Directive, HostBinding, Input, inject, } from '@angular/core';
2
- import { SkyLibResourcesService } from '@skyux/i18n';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { SkyConfirmType } from '../confirm/confirm-type';
6
- import { SkyConfirmService } from '../confirm/confirm.service';
7
- import { SkyModalInstance } from './modal-instance';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * Provides a way to mark a modal as "dirty" and displays a confirmation
11
- * message when a user closes the modal without saving.
12
- */
13
- export class SkyModalIsDirtyDirective {
14
- constructor() {
15
- /**
16
- * Whether the user edited an input on the modal.
17
- * @required
18
- */
19
- this.isDirty = false;
20
- this.#ngUnsubscribe = new Subject();
21
- this.#modalInstance = inject(SkyModalInstance);
22
- this.#confirmSvc = inject(SkyConfirmService);
23
- this.#resourcesSvc = inject(SkyLibResourcesService);
24
- }
25
- #ngUnsubscribe;
26
- #modalInstance;
27
- #confirmSvc;
28
- #resourcesSvc;
29
- ngOnInit() {
30
- this.#modalInstance.beforeClose
31
- .pipe(takeUntil(this.#ngUnsubscribe))
32
- .subscribe((handler) => this.#promptIfDirty(handler));
33
- }
34
- ngOnDestroy() {
35
- this.#ngUnsubscribe.next();
36
- this.#ngUnsubscribe.complete();
37
- }
38
- #promptIfDirty(handler) {
39
- if (this.isDirty && handler.closeArgs.reason === 'close') {
40
- this.#resourcesSvc
41
- .getStrings({
42
- message: 'skyux_modal_dirty_default_message',
43
- discardActionText: 'skyux_modal_dirty_default_discard_changes_text',
44
- keepActionText: 'skyux_modal_dirty_default_keep_working_text',
45
- })
46
- .subscribe((textValues) => {
47
- const discardAction = 'discard';
48
- const keepAction = 'keep';
49
- this.#confirmSvc
50
- .open({
51
- message: textValues.message,
52
- buttons: [
53
- {
54
- action: discardAction,
55
- text: textValues.discardActionText,
56
- styleType: 'primary',
57
- },
58
- {
59
- action: keepAction,
60
- text: textValues.keepActionText,
61
- styleType: 'link',
62
- },
63
- ],
64
- type: SkyConfirmType.Custom,
65
- })
66
- .closed.subscribe((args) => {
67
- if (args.action === discardAction) {
68
- handler.closeModal();
69
- }
70
- });
71
- });
72
- }
73
- else {
74
- handler.closeModal();
75
- }
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalIsDirtyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
78
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SkyModalIsDirtyDirective, isStandalone: true, selector: "sky-modal[isDirty]", inputs: { isDirty: "isDirty" }, host: { properties: { "attr.data-sky-modal-is-dirty": "this.isDirty" } }, ngImport: i0 }); }
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalIsDirtyDirective, decorators: [{
81
- type: Directive,
82
- args: [{
83
- standalone: true,
84
- // Since this is limited to sky-modal, it should be safe to
85
- // leave off the sky prefix.
86
- // eslint-disable-next-line @angular-eslint/directive-selector
87
- selector: 'sky-modal[isDirty]',
88
- }]
89
- }], propDecorators: { isDirty: [{
90
- type: Input
91
- }, {
92
- type: HostBinding,
93
- args: ['attr.data-sky-modal-is-dirty']
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFFOzs7V0FHRztRQUtJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFckMsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FvRHpEO0lBeERVLGNBQWMsQ0FBdUI7SUFFckMsY0FBYyxDQUE0QjtJQUMxQyxXQUFXLENBQTZCO0lBQ3hDLGFBQWEsQ0FBa0M7SUFFakQsUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVzthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFtQztRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLGFBQWE7aUJBQ2YsVUFBVSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxtQ0FBbUM7Z0JBQzVDLGlCQUFpQixFQUFFLGdEQUFnRDtnQkFDbkUsY0FBYyxFQUFFLDZDQUE2QzthQUM5RCxDQUFDO2lCQUNELFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUN4QixNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7Z0JBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFFMUIsSUFBSSxDQUFDLFdBQVc7cUJBQ2IsSUFBSSxDQUFDO29CQUNKLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztvQkFDM0IsT0FBTyxFQUFFO3dCQUNQOzRCQUNFLE1BQU0sRUFBRSxhQUFhOzRCQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjs0QkFDbEMsU0FBUyxFQUFFLFNBQVM7eUJBQ3JCO3dCQUNEOzRCQUNFLE1BQU0sRUFBRSxVQUFVOzRCQUNsQixJQUFJLEVBQUUsVUFBVSxDQUFDLGNBQWM7NEJBQy9CLFNBQVMsRUFBRSxNQUFNO3lCQUNsQjtxQkFDRjtvQkFDRCxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07aUJBQzVCLENBQUM7cUJBQ0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssYUFBYSxFQUFFLENBQUM7d0JBQ2xDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDdkIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7K0dBbEVVLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQVBwQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQiwyREFBMkQ7b0JBQzNELDRCQUE0QjtvQkFDNUIsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjs4QkFVUSxPQUFPO3NCQUpiLEtBQUs7O3NCQUdMLFdBQVc7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4uL2NvbmZpcm0vY29uZmlybS10eXBlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgd2F5IHRvIG1hcmsgYSBtb2RhbCBhcyBcImRpcnR5XCIgYW5kIGRpc3BsYXlzIGEgY29uZmlybWF0aW9uXG4gKiBtZXNzYWdlIHdoZW4gYSB1c2VyIGNsb3NlcyB0aGUgbW9kYWwgd2l0aG91dCBzYXZpbmcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyBTaW5jZSB0aGlzIGlzIGxpbWl0ZWQgdG8gc2t5LW1vZGFsLCBpdCBzaG91bGQgYmUgc2FmZSB0b1xuICAvLyBsZWF2ZSBvZmYgdGhlIHNreSBwcmVmaXguXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnc2t5LW1vZGFsW2lzRGlydHldJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBlZGl0ZWQgYW4gaW5wdXQgb24gdGhlIG1vZGFsLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIC8vIFRoaXMgYXR0cmlidXRlIGlzIGJlaW5nIGFwcGxpZWQgdG8gdGhlIGhvc3QgdG8gc3VwcG9ydFxuICAvLyB1bml0IHRlc3RpbmcgdGhpcyBmZWF0dXJlLlxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1za3ktbW9kYWwtaXMtZGlydHknKVxuICBwdWJsaWMgaXNEaXJ0eSA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5ICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSAjbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcbiAgcmVhZG9ubHkgI2NvbmZpcm1TdmMgPSBpbmplY3QoU2t5Q29uZmlybVNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmJlZm9yZUNsb3NlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChoYW5kbGVyKSA9PiB0aGlzLiNwcm9tcHRJZkRpcnR5KGhhbmRsZXIpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjcHJvbXB0SWZEaXJ0eShoYW5kbGVyOiBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlydHkgJiYgaGFuZGxlci5jbG9zZUFyZ3MucmVhc29uID09PSAnY2xvc2UnKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNTdmNcbiAgICAgICAgLmdldFN0cmluZ3Moe1xuICAgICAgICAgIG1lc3NhZ2U6ICdza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X21lc3NhZ2UnLFxuICAgICAgICAgIGRpc2NhcmRBY3Rpb25UZXh0OiAnc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9kaXNjYXJkX2NoYW5nZXNfdGV4dCcsXG4gICAgICAgICAga2VlcEFjdGlvblRleHQ6ICdza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X2tlZXBfd29ya2luZ190ZXh0JyxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgodGV4dFZhbHVlcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpc2NhcmRBY3Rpb24gPSAnZGlzY2FyZCc7XG4gICAgICAgICAgY29uc3Qga2VlcEFjdGlvbiA9ICdrZWVwJztcblxuICAgICAgICAgIHRoaXMuI2NvbmZpcm1TdmNcbiAgICAgICAgICAgIC5vcGVuKHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogdGV4dFZhbHVlcy5tZXNzYWdlLFxuICAgICAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBkaXNjYXJkQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dFZhbHVlcy5kaXNjYXJkQWN0aW9uVGV4dCxcbiAgICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBrZWVwQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dFZhbHVlcy5rZWVwQWN0aW9uVGV4dCxcbiAgICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHR5cGU6IFNreUNvbmZpcm1UeXBlLkN1c3RvbSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2xvc2VkLnN1YnNjcmliZSgoYXJncykgPT4ge1xuICAgICAgICAgICAgICBpZiAoYXJncy5hY3Rpb24gPT09IGRpc2NhcmRBY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVyLmNsb3NlTW9kYWwoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2VydmljZS1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1zZXJ2aWNlLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreU1vZGFsU2VydmljZUludGVyZmFjZSB7XG4gIG9wZW4oXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIHwgYW55W10sXG4gICk6IFNreU1vZGFsSW5zdGFuY2U7XG59XG4iXX0=
@@ -1,266 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, ViewChild, inject, } from '@angular/core';
3
- import { SkyCoreAdapterService, SkyDockLocation, SkyDockService, SkyIdModule, SkyLiveAnnouncerService, SkyScrollShadowDirective, } from '@skyux/core';
4
- import { SkyHelpInlineModule } from '@skyux/help-inline';
5
- import { SkyIconModule } from '@skyux/icon';
6
- import { SkyTheme, SkyThemeService } from '@skyux/theme';
7
- import { Subject } from 'rxjs';
8
- import { takeUntil } from 'rxjs/operators';
9
- import { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';
10
- import { SkyModalComponentAdapterService } from './modal-component-adapter.service';
11
- import { SkyModalConfiguration } from './modal-configuration';
12
- import { SkyModalErrorsService } from './modal-errors.service';
13
- import { SkyModalHeaderComponent } from './modal-header.component';
14
- import { SkyModalHostService } from './modal-host.service';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/common";
17
- import * as i2 from "@skyux/help-inline";
18
- import * as i3 from "@skyux/icon";
19
- import * as i4 from "@skyux/core";
20
- import * as i5 from "@skyux/i18n";
21
- const ARIA_ROLE_DEFAULT = 'dialog';
22
- /**
23
- * Provides a common look-and-feel for modal content with options to display
24
- * a common modal header, specify body content, and display a common modal footer
25
- * and buttons.
26
- */
27
- export class SkyModalComponent {
28
- /**
29
- * A list of form-level errors to display to the user.
30
- */
31
- set formErrors(value) {
32
- this.#errorsSvc.updateErrors(value);
33
- }
34
- /**
35
- * Used by the confirm component to set a different role for the modal.
36
- * @internal
37
- */
38
- set ariaRole(value) {
39
- this.ariaRoleOrDefault = value || ARIA_ROLE_DEFAULT;
40
- }
41
- /**
42
- * Used by the confirm component to set descriptive text without using a
43
- * modal header.
44
- * @internal
45
- */
46
- set ariaDescribedBy(id) {
47
- this.#_ariaDescribedBy = id;
48
- }
49
- get ariaDescribedBy() {
50
- return this.#_ariaDescribedBy;
51
- }
52
- /**
53
- * Used by the confirm component to set descriptive text without using a
54
- * modal header.
55
- * @internal
56
- */
57
- set ariaLabelledBy(id) {
58
- this.#_ariaLabelledBy = id;
59
- }
60
- get ariaLabelledBy() {
61
- return this.#_ariaLabelledBy;
62
- }
63
- #ngUnsubscribe;
64
- #_ariaDescribedBy;
65
- #_ariaLabelledBy;
66
- #changeDetector;
67
- #componentAdapter;
68
- #coreAdapter;
69
- #dockService;
70
- #elRef;
71
- #errorsSvc;
72
- #hostService;
73
- #liveAnnouncerSvc;
74
- /**
75
- * This provider is optional to account for situations where a modal component
76
- * is implemented without the modal service. For example, when a consumer tests
77
- * a component that uses the modal component but doesn't launch the modal from
78
- * the modal service before executing assertions.
79
- */
80
- #config;
81
- #themeSvc;
82
- constructor() {
83
- this.ariaRoleOrDefault = ARIA_ROLE_DEFAULT;
84
- this.ariaOwns = null;
85
- this.modalState = 'in';
86
- this.scrollShadow = {
87
- bottomShadow: 'none',
88
- topShadow: 'none',
89
- };
90
- this.scrollShadowEnabled = false;
91
- this.#ngUnsubscribe = new Subject();
92
- this.#changeDetector = inject(ChangeDetectorRef);
93
- this.#componentAdapter = inject(SkyModalComponentAdapterService);
94
- this.#coreAdapter = inject(SkyCoreAdapterService);
95
- this.#dockService = inject(SkyDockService, { host: true });
96
- this.#elRef = inject(ElementRef);
97
- this.#errorsSvc = inject(SkyModalErrorsService);
98
- this.#hostService = inject(SkyModalHostService);
99
- this.#liveAnnouncerSvc = inject(SkyLiveAnnouncerService);
100
- /**
101
- * This provider is optional to account for situations where a modal component
102
- * is implemented without the modal service. For example, when a consumer tests
103
- * a component that uses the modal component but doesn't launch the modal from
104
- * the modal service before executing assertions.
105
- */
106
- this.#config = inject(SkyModalConfiguration, { optional: true }) ??
107
- new SkyModalConfiguration();
108
- this.#themeSvc = inject(SkyThemeService, { optional: true });
109
- this.ariaDescribedBy = this.#config.ariaDescribedBy;
110
- this.ariaLabelledBy = this.#config.ariaLabelledBy;
111
- this.ariaRole = this.#config.ariaRole;
112
- this.legacyHelpKey = this.#config.helpKey;
113
- this.tiledBody = this.#config.tiledBody;
114
- this.wrapperClass = this.#config.wrapperClass;
115
- this.size = this.#config.fullPage
116
- ? 'full-page'
117
- : this.#config.size?.toLowerCase() || 'medium';
118
- this.modalZIndex = this.#hostService.zIndex;
119
- }
120
- onDocumentKeyUp(event) {
121
- /* istanbul ignore else */
122
- /* sanity check */
123
- if (SkyModalHostService.openModalCount > 0) {
124
- const topModal = SkyModalHostService.topModal;
125
- if (topModal && topModal === this.#hostService) {
126
- if (event.which === 27) {
127
- // Escape key up
128
- event.preventDefault();
129
- this.closeButtonClick();
130
- }
131
- }
132
- }
133
- }
134
- onDocumentKeyDown(event) {
135
- /* istanbul ignore else */
136
- /* sanity check */
137
- if (SkyModalHostService.openModalCount > 0) {
138
- const topModal = SkyModalHostService.topModal;
139
- if (topModal && topModal === this.#hostService) {
140
- if (event.which === 9) {
141
- // Tab pressed
142
- let focusChanged = false;
143
- const focusElementList = this.#coreAdapter.getFocusableChildren(this.#elRef.nativeElement);
144
- if (event.shiftKey &&
145
- (this.#componentAdapter.isFocusInFirstItem(event, focusElementList) ||
146
- this.#componentAdapter.isModalFocused(event, this.#elRef))) {
147
- focusChanged =
148
- this.#componentAdapter.focusLastElement(focusElementList);
149
- }
150
- else if (!event.shiftKey &&
151
- this.#componentAdapter.isFocusInLastItem(event, focusElementList)) {
152
- focusChanged =
153
- this.#componentAdapter.focusFirstElement(focusElementList);
154
- }
155
- if (focusChanged) {
156
- event.preventDefault();
157
- event.stopPropagation();
158
- }
159
- }
160
- }
161
- }
162
- }
163
- ngOnInit() {
164
- this.#liveAnnouncerSvc.announcerElementChanged
165
- .pipe(takeUntil(this.#ngUnsubscribe))
166
- .subscribe((element) => {
167
- if (element?.id) {
168
- this.ariaOwns = element.id;
169
- this.#changeDetector.markForCheck();
170
- }
171
- });
172
- if (this.#themeSvc) {
173
- this.#themeSvc.settingsChange
174
- .pipe(takeUntil(this.#ngUnsubscribe))
175
- .subscribe((themeSettings) => {
176
- this.scrollShadowEnabled =
177
- themeSettings.currentSettings.theme === SkyTheme.presets.modern;
178
- });
179
- }
180
- }
181
- ngAfterViewInit() {
182
- this.#componentAdapter.handleWindowChange(this.#elRef);
183
- this.#dockService.setDockOptions({
184
- location: SkyDockLocation.ElementBottom,
185
- referenceEl: this.modalContentWrapperElement.nativeElement,
186
- zIndex: 5,
187
- });
188
- }
189
- ngOnDestroy() {
190
- this.#ngUnsubscribe.next();
191
- this.#ngUnsubscribe.complete();
192
- }
193
- /**
194
- * @deprecated
195
- */
196
- helpButtonClick() {
197
- if (this.legacyHelpKey) {
198
- this.#hostService.onOpenHelp(this.legacyHelpKey);
199
- }
200
- }
201
- closeButtonClick() {
202
- this.#hostService.onClose();
203
- }
204
- windowResize() {
205
- this.#componentAdapter.handleWindowChange(this.#elRef);
206
- }
207
- scrollShadowChange(args) {
208
- this.scrollShadow = args;
209
- }
210
- viewkeeperEnabled() {
211
- return this.#componentAdapter.modalContentHasDirectChildViewkeeper(this.#elRef);
212
- }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
214
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyModalComponent, isStandalone: true, selector: "sky-modal", inputs: { formErrors: "formErrors", headingText: "headingText", helpKey: "helpKey", helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", ariaRole: "ariaRole", tiledBody: "tiledBody", ariaDescribedBy: "ariaDescribedBy", ariaLabelledBy: "ariaLabelledBy" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [
215
- SkyModalComponentAdapterService,
216
- SkyModalErrorsService,
217
- SkyDockService,
218
- ], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy || modalContentId.id\"\n [attr.aria-labelledby]=\"ariaLabelledBy || headerId.id\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRoleOrDefault\"\n (window:resize)=\"windowResize()\"\n>\n <div\n tabindex=\"-1\"\n class=\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\"\n [ngClass]=\"{\n 'sky-modal-tiled': tiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n #headerId=\"skyId\"\n class=\"sky-modal-header-content\"\n skyId\n [ngClass]=\"{\n 'sky-font-heading-2': size === 'full-page'\n }\"\n >\n @if (headingText) {\n <sky-modal-header>\n {{ headingText }}\n @if (helpKey || helpPopoverContent) {\n <sky-help-inline\n class=\"sky-control-help\"\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </sky-modal-header>\n } @else {\n <ng-content select=\"sky-modal-header\" />\n }\n </div>\n <div class=\"sky-modal-header-buttons\">\n @if (legacyHelpKey) {\n <button\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\" />\n </button>\n </div>\n </div>\n <div\n #modalContentId=\"skyId\"\n #modalContentWrapper\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"headerId.id\"\n [skyScrollShadowEnabled]=\"scrollShadowEnabled\"\n (skyScrollShadow)=\"scrollShadowChange($event)\"\n >\n <ng-content select=\"sky-modal-content\" />\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\" />\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff;--sky-background-color-page-default: #fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;--sky-background-color-page-default: #fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;--sky-background-color-page-default: #fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent;--sky-background-color-page-default: $sky-theme-modern-mode-dark-background-color-page-default}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent;--sky-background-color-page-default: $sky-theme-modern-mode-dark-background-color-page-default}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i2.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i3.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i4.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: SkyModalHeaderComponent, selector: "sky-modal-header" }, { kind: "directive", type: SkyScrollShadowDirective, selector: "[skyScrollShadow]", inputs: ["skyScrollShadowEnabled"], outputs: ["skyScrollShadow"] }, { kind: "ngmodule", type: SkyModalsResourcesModule }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
219
- }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalComponent, decorators: [{
221
- type: Component,
222
- args: [{ standalone: true, selector: 'sky-modal', providers: [
223
- SkyModalComponentAdapterService,
224
- SkyModalErrorsService,
225
- SkyDockService,
226
- ], imports: [
227
- CommonModule,
228
- SkyHelpInlineModule,
229
- SkyIconModule,
230
- SkyIdModule,
231
- SkyModalHeaderComponent,
232
- SkyScrollShadowDirective,
233
- SkyModalsResourcesModule,
234
- ], template: "<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy || modalContentId.id\"\n [attr.aria-labelledby]=\"ariaLabelledBy || headerId.id\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRoleOrDefault\"\n (window:resize)=\"windowResize()\"\n>\n <div\n tabindex=\"-1\"\n class=\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\"\n [ngClass]=\"{\n 'sky-modal-tiled': tiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n #headerId=\"skyId\"\n class=\"sky-modal-header-content\"\n skyId\n [ngClass]=\"{\n 'sky-font-heading-2': size === 'full-page'\n }\"\n >\n @if (headingText) {\n <sky-modal-header>\n {{ headingText }}\n @if (helpKey || helpPopoverContent) {\n <sky-help-inline\n class=\"sky-control-help\"\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </sky-modal-header>\n } @else {\n <ng-content select=\"sky-modal-header\" />\n }\n </div>\n <div class=\"sky-modal-header-buttons\">\n @if (legacyHelpKey) {\n <button\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\" />\n </button>\n </div>\n </div>\n <div\n #modalContentId=\"skyId\"\n #modalContentWrapper\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"headerId.id\"\n [skyScrollShadowEnabled]=\"scrollShadowEnabled\"\n (skyScrollShadow)=\"scrollShadowChange($event)\"\n >\n <ng-content select=\"sky-modal-content\" />\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\" />\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff;--sky-background-color-page-default: #fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;--sky-background-color-page-default: #fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;--sky-background-color-page-default: #fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent;--sky-background-color-page-default: $sky-theme-modern-mode-dark-background-color-page-default}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent;--sky-background-color-page-default: $sky-theme-modern-mode-dark-background-color-page-default}\n"] }]
235
- }], ctorParameters: () => [], propDecorators: { wrapperClass: [{
236
- type: HostBinding,
237
- args: ['class']
238
- }], formErrors: [{
239
- type: Input
240
- }], headingText: [{
241
- type: Input
242
- }], helpKey: [{
243
- type: Input
244
- }], helpPopoverContent: [{
245
- type: Input
246
- }], helpPopoverTitle: [{
247
- type: Input
248
- }], ariaRole: [{
249
- type: Input
250
- }], tiledBody: [{
251
- type: Input
252
- }], ariaDescribedBy: [{
253
- type: Input
254
- }], ariaLabelledBy: [{
255
- type: Input
256
- }], modalContentWrapperElement: [{
257
- type: ViewChild,
258
- args: ['modalContentWrapper', { read: ElementRef }]
259
- }], onDocumentKeyUp: [{
260
- type: HostListener,
261
- args: ['document:keyup', ['$event']]
262
- }], onDocumentKeyDown: [{
263
- type: HostListener,
264
- args: ['document:keydown', ['$event']]
265
- }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGNBQWMsRUFDZCxXQUFXLEVBQ1gsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUV6QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFB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Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFRQyxPQUFPO3NCQURiLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO2dCQVFDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVlDLFNBQVM7c0JBRGYsS0FBSztnQkFTSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBNEJDLDBCQUEwQjtzQkFEaEMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBOEMvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RG9ja0xvY2F0aW9uLFxuICBTa3lEb2NrU2VydmljZSxcbiAgU2t5SWRNb2R1bGUsXG4gIFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlLFxuICBTa3lTY3JvbGxTaGFkb3dEaXJlY3RpdmUsXG4gIFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VGhlbWUsIFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsRXJyb3IgfSBmcm9tICcuL21vZGFsLWVycm9yJztcbmltcG9ydCB7IFNreU1vZGFsRXJyb3JzU2VydmljZSB9IGZyb20gJy4vbW9kYWwtZXJyb3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0U2VydmljZSB9IGZyb20gJy4vbW9kYWwtaG9zdC5zZXJ2aWNlJztcblxuY29uc3QgQVJJQV9ST0xFX0RFRkFVTFQgPSAnZGlhbG9nJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIGNvbW1vbiBsb29rLWFuZC1mZWVsIGZvciBtb2RhbCBjb250ZW50IHdpdGggb3B0aW9ucyB0byBkaXNwbGF5XG4gKiBhIGNvbW1vbiBtb2RhbCBoZWFkZXIsIHNwZWNpZnkgYm9keSBjb250ZW50LCBhbmQgZGlzcGxheSBhIGNvbW1vbiBtb2RhbCBmb290ZXJcbiAqIGFuZCBidXR0b25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lNb2RhbENvbXBvbmVudEFkYXB0ZXJTZXJ2aWNlLFxuICAgIFNreU1vZGFsRXJyb3JzU2VydmljZSxcbiAgICBTa3lEb2NrU2VydmljZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQsXG4gICAgU2t5U2Nyb2xsU2hhZG93RGlyZWN0aXZlLFxuICAgIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgd3JhcHBlckNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBmb3JtLWxldmVsIGVycm9ycyB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb3JtRXJyb3JzKHZhbHVlOiBTa3lNb2RhbEVycm9yW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNlcnJvcnNTdmMudXBkYXRlRXJyb3JzKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBtb2RhbCdzIGhlYWRpbmcuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGluZ1RleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQSBoZWxwIGtleSB0aGF0IGlkZW50aWZpZXMgdGhlIGdsb2JhbCBoZWxwIGNvbnRlbnQgdG8gZGlzcGxheS4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgaGVhZGluZ1RleHRgLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKSBidXR0b24gaXNcbiAgICogYWRkZWQgdG8gdGhlIG1vZGFsIGhlYWRlci4gQ2xpY2tpbmcgdGhlIGJ1dHRvbiBpbnZva2VzIGdsb2JhbCBoZWxwIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWFkaW5nVGV4dGAgaXMgYWxzbyBzcGVjaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgaGVscCBwb3BvdmVyLiBXaGVuIHNwZWNpZmllZCBhbG9uZyB3aXRoIGBoZWFkaW5nVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgbW9kYWwgaGVhZGVyLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVhZGluZ1RleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgY29uZmlybSBjb21wb25lbnQgdG8gc2V0IGEgZGlmZmVyZW50IHJvbGUgZm9yIHRoZSBtb2RhbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmFyaWFSb2xlT3JEZWZhdWx0ID0gdmFsdWUgfHwgQVJJQV9ST0xFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgYXJpYVJvbGVPckRlZmF1bHQgPSBBUklBX1JPTEVfREVGQVVMVDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGlsZWRCb2R5OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHRoZSBjb25maXJtIGNvbXBvbmVudCB0byBzZXQgZGVzY3JpcHRpdmUgdGV4dCB3aXRob3V0IHVzaW5nIGFcbiAgICogbW9kYWwgaGVhZGVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYURlc2NyaWJlZEJ5KGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYURlc2NyaWJlZEJ5ID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYURlc2NyaWJlZEJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIGNvbmZpcm0gY29tcG9uZW50IHRvIHNldCBkZXNjcmlwdGl2ZSB0ZXh0IHdpdGhvdXQgdXNpbmcgYVxuICAgKiBtb2RhbCBoZWFkZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhTGFiZWxsZWRCeShpZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFMYWJlbGxlZEJ5ID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19hcmlhTGFiZWxsZWRCeTtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgbGVnYWN5SGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBtb2RhbFN0YXRlID0gJ2luJztcblxuICBwdWJsaWMgbW9kYWxaSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93OiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MgPSB7XG4gICAgYm90dG9tU2hhZG93OiAnbm9uZScsXG4gICAgdG9wU2hhZG93OiAnbm9uZScsXG4gIH07XG5cbiAgcHVibGljIHNpemU6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnRXcmFwcGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc2Nyb2xsU2hhZG93RW5hYmxlZCA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2FyaWFEZXNjcmliZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2FyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2NvbXBvbmVudEFkYXB0ZXIgPSBpbmplY3QoU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjb3JlQWRhcHRlciA9IGluamVjdChTa3lDb3JlQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjZG9ja1NlcnZpY2UgPSBpbmplY3QoU2t5RG9ja1NlcnZpY2UsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjZXJyb3JzU3ZjID0gaW5qZWN0KFNreU1vZGFsRXJyb3JzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNob3N0U2VydmljZSA9IGluamVjdChTa3lNb2RhbEhvc3RTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3ZpZGVyIGlzIG9wdGlvbmFsIHRvIGFjY291bnQgZm9yIHNpdHVhdGlvbnMgd2hlcmUgYSBtb2RhbCBjb21wb25lbnRcbiAgICogaXMgaW1wbGVtZW50ZWQgd2l0aG91dCB0aGUgbW9kYWwgc2VydmljZS4gRm9yIGV4YW1wbGUsIHdoZW4gYSBjb25zdW1lciB0ZXN0c1xuICAgKiBhIGNvbXBvbmVudCB0aGF0IHVzZXMgdGhlIG1vZGFsIGNvbXBvbmVudCBidXQgZG9lc24ndCBsYXVuY2ggdGhlIG1vZGFsIGZyb21cbiAgICogdGhlIG1vZGFsIHNlcnZpY2UgYmVmb3JlIGV4ZWN1dGluZyBhc3NlcnRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgI2NvbmZpZyA9XG4gICAgaW5qZWN0KFNreU1vZGFsQ29uZmlndXJhdGlvbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/P1xuICAgIG5ldyBTa3lNb2RhbENvbmZpZ3VyYXRpb24oKTtcbiAgcmVhZG9ubHkgI3RoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhRGVzY3JpYmVkQnk7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhTGFiZWxsZWRCeTtcbiAgICB0aGlzLmFyaWFSb2xlID0gdGhpcy4jY29uZmlnLmFyaWFSb2xlO1xuICAgIHRoaXMubGVnYWN5SGVscEtleSA9IHRoaXMuI2NvbmZpZy5oZWxwS2V5O1xuICAgIHRoaXMudGlsZWRCb2R5ID0gdGhpcy4jY29uZmlnLnRpbGVkQm9keTtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IHRoaXMuI2NvbmZpZy53cmFwcGVyQ2xhc3M7XG5cbiAgICB0aGlzLnNpemUgPSB0aGlzLiNjb25maWcuZnVsbFBhZ2VcbiAgICAgID8gJ2Z1bGwtcGFnZSdcbiAgICAgIDogdGhpcy4jY29uZmlnLnNpemU/LnRvTG93ZXJDYXNlKCkgfHwgJ21lZGl1bSc7XG5cbiAgICB0aGlzLm1vZGFsWkluZGV4ID0gdGhpcy4jaG9zdFNlcnZpY2UuekluZGV4O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgICAgIC8vIEVzY2FwZSBrZXkgdXBcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25DbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKSB7XG4gICAgICBjb25zdCB0b3BNb2RhbCA9IFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWw7XG4gICAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwgPT09IHRoaXMuI2hvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkZpcnN0SXRlbShcbiAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgIGZvY3VzRWxlbWVudExpc3QsXG4gICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuI2VsUmVmKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGZvY3VzQ2hhbmdlZCA9XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuZm9jdXNMYXN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgIWV2ZW50LnNoaWZ0S2V5ICYmXG4gICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5mb2N1c0ZpcnN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZm9jdXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2xpdmVBbm5vdW5jZXJTdmMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQ/LmlkKSB7XG4gICAgICAgICAgdGhpcy5hcmlhT3ducyA9IGVsZW1lbnQuaWQ7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFNoYWRvd0VuYWJsZWQgPVxuICAgICAgICAgICAgdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MudGhlbWUgPT09IFNreVRoZW1lLnByZXNldHMubW9kZXJuO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuI2VsUmVmKTtcblxuICAgIHRoaXMuI2RvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50IS5uYXRpdmVFbGVtZW50LFxuICAgICAgekluZGV4OiA1LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZWdhY3lIZWxwS2V5KSB7XG4gICAgICB0aGlzLiNob3N0U2VydmljZS5vbk9wZW5IZWxwKHRoaXMubGVnYWN5SGVscEtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmhhbmRsZVdpbmRvd0NoYW5nZSh0aGlzLiNlbFJlZik7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93Q2hhbmdlKGFyZ3M6IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50QWRhcHRlci5tb2RhbENvbnRlbnRIYXNEaXJlY3RDaGlsZFZpZXdrZWVwZXIoXG4gICAgICB0aGlzLiNlbFJlZixcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWRpYWxvZ1wiXG4gIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgfHwgbW9kYWxDb250ZW50SWQuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgfHwgaGVhZGVySWQuaWRcIlxuICBbYXR0ci5hcmlhLW93bnNdPVwiYXJpYU93bnNcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlT3JEZWZhdWx0XCJcbiAgKHdpbmRvdzpyZXNpemUpPVwid2luZG93UmVzaXplKClcIlxuPlxuICA8ZGl2XG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgY2xhc3M9XCJza3ktbW9kYWwgc2t5LXNoYWRvdyBza3ktYm94IHNreS1lbGV2YXRpb24tMTYgc2t5LW1vZGFsLXt7IHNpemUgfX1cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktbW9kYWwtdGlsZWQnOiB0aWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAjaGVhZGVySWQ9XCJza3lJZFwiXG4gICAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1jb250ZW50XCJcbiAgICAgICAgc2t5SWRcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZm9udC1oZWFkaW5nLTInOiBzaXplID09PSAnZnVsbC1wYWdlJ1xuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChoZWFkaW5nVGV4dCkge1xuICAgICAgICAgIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgICAgICAgICAge3sgaGVhZGluZ1RleHQgfX1cbiAgICAgICAgICAgIEBpZiAoaGVscEtleSB8fCBoZWxwUG9wb3ZlckNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPHNreS1oZWxwLWlubGluZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscFwiXG4gICAgICAgICAgICAgICAgW2hlbHBLZXldPVwiaGVscEtleVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJoZWFkaW5nVGV4dFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1oZWFkZXJcIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgQGlmIChsZWdhY3lIZWxwS2V5KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1tb2RhbC1idG4taGVscFwiXG4gICAgICAgICAgICBuYW1lPVwiaGVscC1idXR0b25cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9vcGVuX2hlbHAnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoZWxwQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb249XCJxdWVzdGlvbi1jaXJjbGVcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWNsb3NlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjbG9zZVwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgI21vZGFsQ29udGVudElkPVwic2t5SWRcIlxuICAgICAgI21vZGFsQ29udGVudFdyYXBwZXJcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWNvbnRlbnQgc2t5LXBhZGRpbmctZXZlbi1sYXJnZVwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBza3lJZFxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImhlYWRlcklkLmlkXCJcbiAgICAgIFtza3lTY3JvbGxTaGFkb3dFbmFibGVkXT1cInNjcm9sbFNoYWRvd0VuYWJsZWRcIlxuICAgICAgKHNreVNjcm9sbFNoYWRvdyk9XCJzY3JvbGxTaGFkb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LW1vZGFsLWNvbnRlbnRcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3RlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py5ib3R0b21TaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1mb290ZXJcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0aWNQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBUT0RPOiBkZWZhdWx0cyB3b24ndCBzaG93IGluIHRoZSBnZW5lcmF0ZWQgZG9jcyB1bnRpbCB0aGlzIHdvcmsgaXMgZG9uZTpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvc2t5dXgtZG9jcy10b29scy9pc3N1ZXMvMzhcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBjcmVhdGluZyBhIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIG1vZGFsIGZ1bGwgc2NyZWVuLlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBmdWxsUGFnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIGZvciB0aGUgbW9kYWwuIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBgc21hbGxgLCBgbWVkaXVtYCwgYW5kIGBsYXJnZWAuXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmYXVsdHMgdG8gYG1lZGl1bWAuXG4gICAqL1xuICBzaXplPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBwcm9wZXJ0eSBvZiBgcHJvdmlkZXJzYC5cbiAgICogSW4gQW5ndWxhciwgYSBwcm92aWRlciBpcyBzb21ldGhpbmcgdGhhdCBjYW4gY3JlYXRlIG9yIGRlbGl2ZXIgYSBzZXJ2aWNlLlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHBhc3MgY29udGV4dCB2YWx1ZXMgZnJvbSB0aGUgY29tcG9uZW50IHRoYXQgbGF1bmNoZXMgdGhlIG1vZGFsIHRvIHRoZSBtb2RhbCBjb21wb25lbnQuXG4gICAqL1xuICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRNTCBlbGVtZW50IElEIG9mIHRoZSBlbGVtZW50IHRoYXQgZGVzY3JpYmVzXG4gICAqIHRoZSBtb2RhbC4gVGhpcyBzZXRzIHRoZSBtb2RhbCdzIGBhcmlhLWRlc2NyaWJlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3JcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVGhlIGRlc2NyaXB0aW9uIHR5cGljYWxseSBpbmNsdWRlcyB0ZXh0IG9uIHRoZSBtb2RhbCBidXQgbm90IG9uIGl0ZW1zIHRoYXQgdXNlcnMgaW50ZXJhY3RcbiAgICogd2l0aCwgc3VjaCBhcyBidXR0b25zIGFuZCBmb3Jtcy4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFuIElELCB0aGUgZGVmYXVsdCBkZXNjcmlwdGlvbiBpc1xuICAgKiB0aGUgY29udGVudCBvZiB0aGUgYHNreS1tb2RhbC1jb250ZW50YCBjb21wb25lbnQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtZGVzY3JpYmVkYnkpLlxuICAgKiBAZGVwcmVjYXRlZCBTZXQgYGhlYWRpbmdUZXh0YCBvbiB0aGUgbW9kYWwgY29tcG9uZW50IGluc3RlYWQuXG4gICAqL1xuICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIG1vZGFsLiBUaGlzIHNldHMgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSBmb3IgdGhlIG1vZGFsIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFRoaXMgaXMgdHlwaWNhbGx5IGEgaGVhZGVyIGVsZW1lbnQsIGFuZCBpZiB5b3UgZG8gbm90IHNwZWNpZnkgYW4gSUQsIHRoZSBkZWZhdWx0IHZhbHVlXG4gICAqIGlzIHRoZSBjb250ZW50IG9mIHRoZSBgc2t5LW1vZGFsLWhlYWRlcmAgY29tcG9uZW50LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWxsZWRieSkuXG4gICAqIEBkZXByZWNhdGVkIFNldCBgaGVhZGluZ1RleHRgIG9uIHRoZSBtb2RhbCBjb21wb25lbnQgaW5zdGVhZC5cbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSByb2xlIGZvciB0aGUgbW9kYWxcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgbW9kYWwgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXRcbiAgICogaG93IGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSwgc2VlIHRoZVxuICAgKiBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHA6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhLyNyb2xlcykuIEJ5IGRlZmF1bHQsIG1vZGFscyBzZXRcbiAgICogdGhlIEFSSUEgcm9sZSB0byBgZGlhbG9nYC5cbiAgICogQGRlZmF1bHQgXCJkaWFsb2dcIlxuICAgKi9cbiAgYXJpYVJvbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1vZGFsIHVzZXMgdGlsZXMuIFdoZW4gc2V0IHRvIGB0cnVlYCwgdGhlIG1vZGFsJ3MgYmFja2dyb3VuZCBzd2l0Y2hlc1xuICAgKiB0byBgJHNreS1iYWNrZ3JvdW5kLWNvbG9yLW5ldXRyYWwtbGlnaHRgIGFuZCB0aWxlIGhlYWRpbmdzIGFyZSBzdHlsZWQgYXMgc3Vic2VjdGlvbiBoZWFkaW5ncy5cbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKiBAZGVwcmVjYXRlZCBUaWxlcyBpbnNpZGUgbW9kYWxzIGFyZSBubyBsb25nZXIgYSByZWNvbW1lbmRlZCBkZXNpZ24gcGF0dGVybi4gRm9yIGNvbXBsZXggZm9ybXMsIHVzZSBbc2VjdGlvbmVkIGZvcm1zXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvc2VjdGlvbmVkLWZvcm0pIG9yIFtvdGhlciBmb3JtIGNvbnRhaW5lcnNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvZm9ybS1kZXNpZ24pIGluc3RlYWQuXG4gICAqL1xuICB0aWxlZEJvZHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYGhlbHBLZXlgIHN0cmluZy4gVGhpcyBwcm9wZXJ0eSBkaXNwbGF5c1xuICAgKiB0aGUgPGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IGJ1dHRvbiBpbiB0aGUgbW9kYWwgaGVhZGVyLlxuICAgKiBXaGVuIHVzZXJzIGNsaWNrIHRoaXMgYnV0dG9uLCB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IGJyb2FkY2FzdHMgdGhlIGBoZWxwS2V5YCBwYXJhbWV0ZXIuXG4gICAqIEJsYWNrYmF1ZCBkZXZlbG9wZXJzIGNhbiB1c2UgdGhlIEhlbHAgV2lkZ2V0LCB3aGljaCBpcyBmb3IgaW50ZXJuYWwgQmxhY2tiYXVkIHVzZSBvbmx5LCB0b1xuICAgKiBbZGlzcGxheSBoZWxwIGNvbnRlbnQgaW4gYSBmbHlvdXQgcGFuZWxdKGh0dHBzOi8vZG9jcy5ibGFja2JhdWQuY29tL2JiLWhlbHAtZG9jcy9jb21wb25lbnRzL21vZGFsLWhlYWRlcikuXG4gICAqIEBkZXByZWNhdGVkIFRvIGRpc3BsYXkgYSBoZWxwIGJ1dHRvbiBpbiB0aGUgbW9kYWwgaGVhZGVyLCBzZXQgZWl0aGVyIHRoZVxuICAgKiBgaGVscEtleWAgb3IgYGhlbHBQb3BvdmVyQ29udGVudGAgaW5wdXRzIG9uIHRoZSBtb2RhbCBjb21wb25lbnQuXG4gICAqL1xuICBoZWxwS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGFkZCB0byB0aGUgbW9kYWwsIHN1Y2ggYXMgYGFnLWN1c3RvbS1jb21wb25lbnQtcG9wdXBgIGZvclxuICAgKiB1c2luZyBhIG1vZGFsIGFzIHBhcnQgb2YgYSBjZWxsIGVkaXRvciBpbiBEYXRhIEVudHJ5IEdyaWQuXG4gICAqL1xuICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG4iXX0=