@dereekb/dbx-core 12.6.21 → 12.7.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 (89) hide show
  1. package/esm2022/lib/action/action.machine.mjs +4 -5
  2. package/esm2022/lib/action/action.store.mjs +11 -7
  3. package/esm2022/lib/action/action.store.source.provide.mjs +4 -9
  4. package/esm2022/lib/action/directive/auto/action.automodify.directive.mjs +9 -9
  5. package/esm2022/lib/action/directive/auto/action.autotrigger.directive.mjs +12 -14
  6. package/esm2022/lib/action/directive/context/action.directive.mjs +7 -5
  7. package/esm2022/lib/action/directive/debug/action.logger.directive.mjs +9 -9
  8. package/esm2022/lib/action/directive/map/action.map.directive.mjs +3 -5
  9. package/esm2022/lib/action/directive/map/action.map.mjs +5 -4
  10. package/esm2022/lib/action/directive/map/action.map.working.disable.directive.mjs +11 -12
  11. package/esm2022/lib/action/directive/state/action.disabled.directive.mjs +7 -11
  12. package/esm2022/lib/action/directive/state/action.disableonsuccess.directive.mjs +7 -11
  13. package/esm2022/lib/action/directive/state/action.enforce.modified.directive.mjs +10 -13
  14. package/esm2022/lib/action/directive/state/action.error.handler.directive.mjs +9 -9
  15. package/esm2022/lib/action/directive/state/action.handler.directive.mjs +3 -5
  16. package/esm2022/lib/action/directive/state/action.success.directive.mjs +1 -1
  17. package/esm2022/lib/action/directive/state/action.success.handler.directive.mjs +9 -9
  18. package/esm2022/lib/action/directive/state/action.value.directive.mjs +6 -15
  19. package/esm2022/lib/action/directive/state/action.value.stream.directive.mjs +18 -19
  20. package/esm2022/lib/action/directive/state/action.value.trigger.directive.mjs +5 -6
  21. package/esm2022/lib/button/action/action.button.directive.mjs +10 -17
  22. package/esm2022/lib/button/action/action.button.trigger.directive.mjs +9 -9
  23. package/esm2022/lib/button/button.directive.mjs +11 -16
  24. package/esm2022/lib/button/button.loading.directive.mjs +7 -6
  25. package/esm2022/lib/button/router/button.segue.directive.mjs +6 -7
  26. package/esm2022/lib/filter/filter.abstract.connector.directive.mjs +3 -5
  27. package/esm2022/lib/filter/filter.map.directive.mjs +3 -5
  28. package/esm2022/lib/index.mjs +2 -2
  29. package/esm2022/lib/injection/injection.context.directive.mjs +2 -2
  30. package/esm2022/lib/injection/injection.instance.mjs +3 -3
  31. package/esm2022/lib/injection/injection.mjs +1 -1
  32. package/esm2022/lib/router/model/model.router.id.directive.mjs +9 -13
  33. package/esm2022/lib/router/model/model.router.key.directive.mjs +9 -12
  34. package/esm2022/lib/router/model/model.router.uid.directive.mjs +8 -8
  35. package/esm2022/lib/router/router/transition/transition.watcher.directive.mjs +8 -11
  36. package/esm2022/lib/rxjs/clean.mjs +28 -0
  37. package/esm2022/lib/rxjs/destroy.mjs +13 -0
  38. package/esm2022/lib/rxjs/index.mjs +7 -0
  39. package/esm2022/lib/rxjs/loading.mjs +19 -0
  40. package/esm2022/lib/rxjs/lockset.mjs +56 -0
  41. package/esm2022/lib/rxjs/rxjs.directive.mjs +42 -0
  42. package/esm2022/lib/rxjs/subscription.mjs +16 -0
  43. package/esm2022/lib/view/if.directive.mjs +7 -6
  44. package/fesm2022/dereekb-dbx-core.mjs +306 -245
  45. package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
  46. package/lib/action/action.machine.d.ts +2 -4
  47. package/lib/action/action.store.d.ts +2 -2
  48. package/lib/action/action.store.source.provide.d.ts +1 -4
  49. package/lib/action/directive/auto/action.automodify.directive.d.ts +2 -4
  50. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +3 -5
  51. package/lib/action/directive/context/action.directive.d.ts +1 -3
  52. package/lib/action/directive/debug/action.logger.directive.d.ts +2 -4
  53. package/lib/action/directive/map/action.map.directive.d.ts +1 -3
  54. package/lib/action/directive/map/action.map.working.disable.directive.d.ts +2 -5
  55. package/lib/action/directive/state/action.disabled.directive.d.ts +1 -4
  56. package/lib/action/directive/state/action.disableonsuccess.directive.d.ts +1 -4
  57. package/lib/action/directive/state/action.enforce.modified.directive.d.ts +2 -5
  58. package/lib/action/directive/state/action.error.handler.directive.d.ts +2 -4
  59. package/lib/action/directive/state/action.handler.directive.d.ts +1 -3
  60. package/lib/action/directive/state/action.success.directive.d.ts +1 -2
  61. package/lib/action/directive/state/action.success.handler.directive.d.ts +2 -4
  62. package/lib/action/directive/state/action.value.directive.d.ts +1 -5
  63. package/lib/action/directive/state/action.value.stream.directive.d.ts +2 -6
  64. package/lib/action/directive/state/action.value.trigger.directive.d.ts +4 -5
  65. package/lib/button/action/action.button.directive.d.ts +2 -6
  66. package/lib/button/action/action.button.trigger.directive.d.ts +2 -4
  67. package/lib/button/button.directive.d.ts +3 -5
  68. package/lib/button/button.loading.directive.d.ts +2 -2
  69. package/lib/button/router/button.segue.directive.d.ts +1 -2
  70. package/lib/filter/filter.abstract.connector.directive.d.ts +1 -3
  71. package/lib/filter/filter.map.directive.d.ts +1 -3
  72. package/lib/index.d.ts +1 -1
  73. package/lib/injection/injection.d.ts +2 -0
  74. package/lib/router/model/model.router.id.directive.d.ts +2 -5
  75. package/lib/router/model/model.router.key.directive.d.ts +2 -5
  76. package/lib/router/model/model.router.uid.directive.d.ts +2 -4
  77. package/lib/router/router/transition/transition.watcher.directive.d.ts +3 -5
  78. package/lib/rxjs/clean.d.ts +16 -0
  79. package/lib/rxjs/destroy.d.ts +7 -0
  80. package/lib/rxjs/index.d.ts +6 -0
  81. package/lib/rxjs/loading.d.ts +13 -0
  82. package/lib/rxjs/lockset.d.ts +47 -0
  83. package/lib/{subscription/subscription.directive.d.ts → rxjs/rxjs.directive.d.ts} +4 -0
  84. package/lib/rxjs/subscription.d.ts +9 -0
  85. package/lib/view/if.directive.d.ts +2 -2
  86. package/package.json +1 -1
  87. package/esm2022/lib/subscription/index.mjs +0 -2
  88. package/esm2022/lib/subscription/subscription.directive.mjs +0 -38
  89. package/lib/subscription/index.d.ts +0 -1
@@ -0,0 +1,42 @@
1
+ import { Directive } from '@angular/core';
2
+ import { LockSet, SubscriptionObject } from '@dereekb/rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Abstract component that contains a SubscriptionObject and will clean it up automatically.
6
+ *
7
+ * @deprecated Consider using cleanSubscription() directly instead, as it performs the same functionality
8
+ */
9
+ export class AbstractSubscriptionDirective {
10
+ _subscriptionObject = new SubscriptionObject();
11
+ ngOnDestroy() {
12
+ this._subscriptionObject.destroy();
13
+ }
14
+ set sub(subscription) {
15
+ this._subscriptionObject.subscription = subscription;
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSubscriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractSubscriptionDirective, ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSubscriptionDirective, decorators: [{
21
+ type: Directive
22
+ }] });
23
+ /**
24
+ * AbstractSubscriptionDirective extension that prevents the OnDestroy from occuring until the lockset is unlocked.
25
+ *
26
+ * @deprecated Consider using cleanLockSet() directly instead, as it performs the same functionality.
27
+ */
28
+ export class AbstractLockSetSubscriptionDirective extends AbstractSubscriptionDirective {
29
+ lockSet = new LockSet();
30
+ ngOnDestroy() {
31
+ this.lockSet.onNextUnlock(() => this.onLockSetDestroy());
32
+ }
33
+ onLockSetDestroy() {
34
+ super.ngOnDestroy();
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractLockSetSubscriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractLockSetSubscriptionDirective, usesInheritance: true, ngImport: i0 });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractLockSetSubscriptionDirective, decorators: [{
40
+ type: Directive
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3J4anMvcnhqcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc1RDs7OztHQUlHO0FBRUgsTUFBTSxPQUFnQiw2QkFBNkI7SUFDaEMsbUJBQW1CLEdBQUcsSUFBSSxrQkFBa0IsRUFBSyxDQUFDO0lBRW5FLFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQWMsR0FBRyxDQUFDLFlBQTZCO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3ZELENBQUM7d0dBVG1CLDZCQUE2Qjs0RkFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQURsRCxTQUFTOztBQWFWOzs7O0dBSUc7QUFFSCxNQUFNLE9BQWdCLG9DQUFnRixTQUFRLDZCQUFnQztJQUNuSSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUV4QixXQUFXO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0FUbUIsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW5zdWJzY3JpYmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2tTZXQsIFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCB0aGF0IGNvbnRhaW5zIGEgU3Vic2NyaXB0aW9uT2JqZWN0IGFuZCB3aWxsIGNsZWFuIGl0IHVwIGF1dG9tYXRpY2FsbHkuXG4gKlxuICogQGRlcHJlY2F0ZWQgQ29uc2lkZXIgdXNpbmcgY2xlYW5TdWJzY3JpcHRpb24oKSBkaXJlY3RseSBpbnN0ZWFkLCBhcyBpdCBwZXJmb3JtcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlPFQgZXh0ZW5kcyBVbnN1YnNjcmliYWJsZSA9IFVuc3Vic2NyaWJhYmxlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbk9iamVjdCA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3Q8VD4oKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25PYmplY3QuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCBzdWIoc3Vic2NyaXB0aW9uOiBNYXliZTxUIHwgdm9pZD4pIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25PYmplY3Quc3Vic2NyaXB0aW9uID0gc3Vic2NyaXB0aW9uO1xuICB9XG59XG5cbi8qKlxuICogQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgZXh0ZW5zaW9uIHRoYXQgcHJldmVudHMgdGhlIE9uRGVzdHJveSBmcm9tIG9jY3VyaW5nIHVudGlsIHRoZSBsb2Nrc2V0IGlzIHVubG9ja2VkLlxuICpcbiAqIEBkZXByZWNhdGVkIENvbnNpZGVyIHVzaW5nIGNsZWFuTG9ja1NldCgpIGRpcmVjdGx5IGluc3RlYWQsIGFzIGl0IHBlcmZvcm1zIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TG9ja1NldFN1YnNjcmlwdGlvbkRpcmVjdGl2ZTxUIGV4dGVuZHMgVW5zdWJzY3JpYmFibGUgPSBVbnN1YnNjcmliYWJsZT4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4gdGhpcy5vbkxvY2tTZXREZXN0cm95KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTG9ja1NldERlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { SubscriptionObject } from '@dereekb/rxjs';
2
+ import { getValueFromGetter } from '@dereekb/util';
3
+ import { clean } from './clean';
4
+ // MARK: cleanSubscription()
5
+ /**
6
+ * Creates a new SubscriptionObject that is automatically destroyed when the context is destroyed.
7
+ *
8
+ * Must be run within an Angular injection context.
9
+ */
10
+ export function cleanSubscription(sub) {
11
+ const subscription = getValueFromGetter(sub);
12
+ const subscriptionObject = new SubscriptionObject(subscription);
13
+ clean(subscriptionObject);
14
+ return subscriptionObject;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yeGpzL3N1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFzQixrQkFBa0IsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLDRCQUE0QjtBQUM1Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUE0QyxHQUE2QjtJQUN4RyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLENBQUksWUFBWSxDQUFDLENBQUM7SUFDbkUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUIsT0FBTyxrQkFBa0IsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyB0eXBlIEdldHRlck9yVmFsdWUsIGdldFZhbHVlRnJvbUdldHRlciwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdHlwZSBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2xlYW4gfSBmcm9tICcuL2NsZWFuJztcblxuLy8gTUFSSzogY2xlYW5TdWJzY3JpcHRpb24oKVxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IFN1YnNjcmlwdGlvbk9iamVjdCB0aGF0IGlzIGF1dG9tYXRpY2FsbHkgZGVzdHJveWVkIHdoZW4gdGhlIGNvbnRleHQgaXMgZGVzdHJveWVkLlxuICpcbiAqIE11c3QgYmUgcnVuIHdpdGhpbiBhbiBBbmd1bGFyIGluamVjdGlvbiBjb250ZXh0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5TdWJzY3JpcHRpb248VCBleHRlbmRzIFVuc3Vic2NyaWJhYmxlID0gVW5zdWJzY3JpYmFibGU+KHN1Yj86IE1heWJlPEdldHRlck9yVmFsdWU8VD4+KTogU3Vic2NyaXB0aW9uT2JqZWN0PFQ+IHtcbiAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHN1Yik7XG4gIGNvbnN0IHN1YnNjcmlwdGlvbk9iamVjdCA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3Q8VD4oc3Vic2NyaXB0aW9uKTtcbiAgY2xlYW4oc3Vic2NyaXB0aW9uT2JqZWN0KTtcbiAgcmV0dXJuIHN1YnNjcmlwdGlvbk9iamVjdDtcbn1cbiJdfQ==
@@ -1,15 +1,16 @@
1
1
  import { Directive, TemplateRef, ViewContainerRef, inject } from '@angular/core';
2
2
  import { distinctUntilChanged } from 'rxjs';
3
- import { AbstractSubscriptionDirective } from '../subscription';
3
+ import { cleanSubscription } from '../rxjs/subscription';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Abstract directive class that watches a show$ observable and behaves like *ngIf.
7
7
  */
8
- export class AbstractIfDirective extends AbstractSubscriptionDirective {
8
+ export class AbstractIfDirective {
9
9
  _templateRef = inject(TemplateRef);
10
10
  _viewContainer = inject(ViewContainerRef);
11
+ _sub = cleanSubscription();
11
12
  ngOnInit() {
12
- this.sub = this.show$.pipe(distinctUntilChanged()).subscribe((show) => {
13
+ this._sub.subscription = this.show$.pipe(distinctUntilChanged()).subscribe((show) => {
13
14
  if (show) {
14
15
  this._viewContainer.createEmbeddedView(this._templateRef);
15
16
  }
@@ -18,10 +19,10 @@ export class AbstractIfDirective extends AbstractSubscriptionDirective {
18
19
  }
19
20
  });
20
21
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractIfDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
22
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractIfDirective, usesInheritance: true, ngImport: i0 });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractIfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractIfDirective, ngImport: i0 });
23
24
  }
24
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractIfDirective, decorators: [{
25
26
  type: Directive
26
27
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi92aWV3L2lmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVoRTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsNkJBQTZCO0lBQzVELFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBTzNELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwRSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBakJtQixtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi9zdWJzY3JpcHRpb24nO1xuXG4vKipcbiAqIEFic3RyYWN0IGRpcmVjdGl2ZSBjbGFzcyB0aGF0IHdhdGNoZXMgYSBzaG93JCBvYnNlcnZhYmxlIGFuZCBiZWhhdmVzIGxpa2UgKm5nSWYuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SWZEaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGlzIHdhdGNoZWQgZm9yIHNob3dpbmcvaGlkaW5nLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgc2hvdyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLnNob3ckLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKChzaG93KSA9PiB7XG4gICAgICBpZiAoc2hvdykge1xuICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi92aWV3L2lmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsbUJBQW1CO0lBQ3RCLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBTzFDLElBQUksR0FBRyxpQkFBaUIsRUFBRSxDQUFDO0lBRTVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEYsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQW5CbUIsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNsZWFuU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vcnhqcy9zdWJzY3JpcHRpb24nO1xuXG4vKipcbiAqIEFic3RyYWN0IGRpcmVjdGl2ZSBjbGFzcyB0aGF0IHdhdGNoZXMgYSBzaG93JCBvYnNlcnZhYmxlIGFuZCBiZWhhdmVzIGxpa2UgKm5nSWYuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgdGhhdCBpcyB3YXRjaGVkIGZvciBzaG93aW5nL2hpZGluZy5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHNob3ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YiA9IGNsZWFuU3Vic2NyaXB0aW9uKCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2hvdyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKHNob3cpID0+IHtcbiAgICAgIGlmIChzaG93KSB7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19