@progressio_resources/gravity-design-system 3.5.2 → 3.5.4

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 (24) hide show
  1. package/esm2022/lib/components/gravity-detail-container/gravity-detail-container.component.mjs +17 -5
  2. package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +3 -3
  3. package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +2 -2
  4. package/esm2022/lib/components/gravity-status-indicator/gravity-status-indicator.component.mjs +2 -2
  5. package/esm2022/lib/gravity-design-system.module.mjs +5 -2
  6. package/esm2022/lib/layout/gravity-header/gravity-header.component.mjs +87 -0
  7. package/esm2022/public-api.mjs +4 -2
  8. package/fesm2022/progressio_resources-gravity-design-system.mjs +25 -10
  9. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  10. package/lib/components/gravity-detail-container/gravity-detail-container.component.d.ts +5 -2
  11. package/lib/gravity-design-system.module.d.ts +1 -1
  12. package/package.json +1 -1
  13. package/public-api.d.ts +1 -1
  14. package/src/lib/assets/icon-set/coins/crypto/gt-icon-avax-currency/gt-icon-avax-currency-disabled.svg +4 -0
  15. package/src/lib/assets/icon-set/coins/crypto/gt-icon-avax-currency/gt-icon-avax-currency.svg +4 -0
  16. package/src/lib/assets/icon-set/networks/gt-icon-avax-network/gt-icon-avax-network-disabled.svg +5 -0
  17. package/src/lib/assets/icon-set/networks/gt-icon-avax-network/gt-icon-avax-network.svg +11 -0
  18. package/src/lib/assets/icon-set/networks/gt-icon-sol-network/gt-icon-sol-network-disabled.svg +5 -0
  19. package/src/lib/assets/icon-set/networks/gt-icon-sol-network/gt-icon-sol-network.svg +15 -0
  20. package/src/lib/assets/json/icons.json +24 -0
  21. package/src/lib/styles/components/_scroll_bar.scss +31 -0
  22. package/src/lib/styles/gravity-design-system.scss +1 -0
  23. package/esm2022/lib/components/gravity-header/gravity-header.component.mjs +0 -87
  24. /package/lib/{components → layout}/gravity-header/gravity-header.component.d.ts +0 -0
@@ -1,7 +1,7 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- import * as i2 from "../gravity-icon/gravity-icon.component";
4
+ import * as i2 from "../gravity-icon-button/gravity-icon-button.component";
5
5
  export class GravityDetailContainerComponent {
6
6
  constructor() {
7
7
  this.title = '';
@@ -17,12 +17,19 @@ export class GravityDetailContainerComponent {
17
17
  this.isOpen = false;
18
18
  this.closed.emit();
19
19
  }
20
+ ngAfterViewInit() {
21
+ const el = this.containerRef.nativeElement;
22
+ const observer = new ResizeObserver(() => {
23
+ el.classList.toggle('has-scroll', el.scrollHeight > el.clientHeight);
24
+ });
25
+ observer.observe(el);
26
+ }
20
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDetailContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityDetailContainerComponent, selector: "gravity-detail-container", inputs: { title: "title", description: "description", mode: "mode", type: "type" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"detail-container-backdrop\" *ngIf=\"type === 'flyout' && mode === 'modal'\" [class.open]=\"isOpen\"\n (click)=\"dismiss()\"></div>\n\n<div class=\"detail-container-content {{type}} {{mode}}\" [ngClass]=\"isOpen ? 'show' : 'dismiss'\">\n <div class=\"detail-header\">\n <p [ngClass]=\"type === 'flyout' ? 'hr-title md-bold' : 'hr-body lg-bold'\">{{ title }}</p>\n <gravity-icon [iconName]=\"'unsuccess'\" [size]=\"'sm'\" (click)=\"dismiss()\"></gravity-icon>\n </div>\n\n <p *ngIf=\"description != '' && type === 'flyout'\" class=\"hr-body sm-regular detail-description\"> {{ description }}</p>\n\n <div class=\"detail-body\">\n <ng-content select=\"[detail-body]\"></ng-content>\n </div>\n\n <div class=\"detail-actions\" *ngIf=\"type === 'flyout'\">\n <ng-content select=\"[detail-actions]\"></ng-content>\n </div>\n</div>\n", styles: [".detail-container-backdrop{width:100%;height:100%;right:0;top:0;display:none;position:fixed;z-index:999;opacity:var(--backdrop-opacity);background-color:var(--backdrop-primary)}.detail-container-backdrop.open{display:block}.detail-container-content{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-primary);background-color:var(--surface-secondary);transition:transform .3s ease-in-out,opacity .3s ease-in-out;inset:0 0 0 auto}.detail-container-content.flyout{width:480px;height:100%;padding:var(--gravity-spacing-lg) 0 var(--gravity-spacing-xl);gap:8px;border-left:2px solid var(--surface-primary)}.detail-container-content.flyout.standard{position:relative}.detail-container-content.flyout .detail-header{padding:0 var(--gravity-spacing-md)}.detail-container-content.flyout .detail-body{padding:var(--gravity-spacing-xs) var(--gravity-spacing-md)}.detail-container-content.detail-view{width:300px;min-height:637px;padding:var(--gravity-spacing-sm);gap:16px;border:2px solid var(--surface-primary);margin-left:8px}.detail-container-content.detail-view.show{position:relative}.detail-container-content.show{transform:translate(0);opacity:1}.detail-container-content.dismiss{transform:translate(100%);opacity:0;animation:setFixed 1s forwards}@keyframes setFixed{to{position:fixed}}.detail-container-content .detail-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.detail-container-content .detail-description{padding:var(--gravity-spacing-xs) var(--gravity-spacing-md);width:100%}.detail-container-content .detail-body{width:100%;flex:1;overflow-y:auto}.detail-container-content .detail-actions{width:100%}.detail-container-content .detail-actions::ng-deep div{display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:var(--gravity-spacing-md) var(--gravity-spacing-md) 0;gap:var(--gravity-spacing-sm);border-top:2px solid var(--surface-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }] }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityDetailContainerComponent, selector: "gravity-detail-container", inputs: { title: "title", description: "description", mode: "mode", type: "type", optionalHeight: "optionalHeight" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }], ngImport: i0, template: "<div class=\"detail-container-backdrop\" *ngIf=\"type === 'flyout' && mode === 'modal'\" [class.open]=\"isOpen\"\n (click)=\"dismiss()\"></div>\n\n<div class=\"detail-container-content {{type}} {{mode}}\" [ngClass]=\"isOpen ? 'show' : 'dismiss'\" [style.height]=\"optionalHeight\">\n <div class=\"detail-header\">\n <p [ngClass]=\"type === 'flyout' ? 'hr-title md-bold' : 'hr-body lg-bold'\">{{ title }}</p>\n <gravity-icon-button [icon]=\"'unsuccess'\" [size]=\"'sm'\" (click)=\"dismiss()\" [supportText]=\"'Close'\"></gravity-icon-button>\n </div>\n\n <div class=\"overflow-container\" #containerRef>\n <p *ngIf=\"description != '' && type === 'flyout'\"\n class=\"hr-body sm-regular detail-description\"> {{ description }}</p>\n\n <div class=\"detail-body\">\n <ng-content select=\"[detail-body]\"></ng-content>\n </div>\n </div>\n\n <div class=\"detail-actions\" *ngIf=\"type === 'flyout'\">\n <ng-content select=\"[detail-actions]\"></ng-content>\n </div>\n</div>\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.detail-container-content .overflow-container:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.detail-container-content .overflow-container:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.detail-container-content .overflow-container:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.detail-container-content .overflow-container::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.detail-container-backdrop{width:100%;height:100%;right:0;top:0;display:none;position:fixed;z-index:999;opacity:var(--backdrop-opacity);background-color:var(--backdrop-primary)}.detail-container-backdrop.open{display:block}.detail-container-content{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-primary);background-color:var(--surface-secondary);transition:transform .3s ease-in-out,opacity .3s ease-in-out;inset:0 0 0 auto}.detail-container-content.flyout{width:480px;height:100%;padding:var(--gravity-spacing-lg) 0 var(--gravity-spacing-xl);gap:8px;border-left:2px solid var(--surface-primary)}.detail-container-content.flyout.standard{position:relative}.detail-container-content.flyout .overflow-container.has-scroll .detail-description,.detail-container-content.flyout .overflow-container.has-scroll .detail-body{padding:var(--gravity-spacing-xs) 8px var(--gravity-spacing-xs) var(--gravity-spacing-md)!important}.detail-container-content.flyout .detail-header{padding:0 var(--gravity-spacing-md)}.detail-container-content.flyout .detail-description,.detail-container-content.flyout .detail-body{width:100%;padding:var(--gravity-spacing-xs) var(--gravity-spacing-sm) var(--gravity-spacing-xs) var(--gravity-spacing-md)}.detail-container-content.detail-view{width:300px;height:637px;max-height:637px;padding:var(--gravity-spacing-sm) 0;gap:16px;border:2px solid var(--surface-primary);margin-left:8px;border-radius:4.797px}.detail-container-content.detail-view.show{position:relative}.detail-container-content.detail-view .overflow-container.has-scroll .detail-body{padding:0 0 0 var(--gravity-spacing-sm)!important}.detail-container-content.detail-view .detail-header{padding:0 var(--gravity-spacing-sm)}.detail-container-content.detail-view .detail-body{padding:0 8px 0 var(--gravity-spacing-sm)}.detail-container-content.show{transform:translate(0);opacity:1}.detail-container-content.dismiss{transform:translate(100%);opacity:0;animation:setFixed 1s forwards}@keyframes setFixed{to{position:fixed}}.detail-container-content .detail-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.detail-container-content .overflow-container{flex:1;overflow-y:auto;margin-right:8px;width:calc(100% - 8px)}.detail-container-content .detail-actions{width:100%}.detail-container-content .detail-actions::ng-deep div{display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:var(--gravity-spacing-md) var(--gravity-spacing-md) 0;gap:var(--gravity-spacing-sm);border-top:2px solid var(--surface-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }] }); }
22
29
  }
23
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDetailContainerComponent, decorators: [{
24
31
  type: Component,
25
- args: [{ selector: 'gravity-detail-container', template: "<div class=\"detail-container-backdrop\" *ngIf=\"type === 'flyout' && mode === 'modal'\" [class.open]=\"isOpen\"\n (click)=\"dismiss()\"></div>\n\n<div class=\"detail-container-content {{type}} {{mode}}\" [ngClass]=\"isOpen ? 'show' : 'dismiss'\">\n <div class=\"detail-header\">\n <p [ngClass]=\"type === 'flyout' ? 'hr-title md-bold' : 'hr-body lg-bold'\">{{ title }}</p>\n <gravity-icon [iconName]=\"'unsuccess'\" [size]=\"'sm'\" (click)=\"dismiss()\"></gravity-icon>\n </div>\n\n <p *ngIf=\"description != '' && type === 'flyout'\" class=\"hr-body sm-regular detail-description\"> {{ description }}</p>\n\n <div class=\"detail-body\">\n <ng-content select=\"[detail-body]\"></ng-content>\n </div>\n\n <div class=\"detail-actions\" *ngIf=\"type === 'flyout'\">\n <ng-content select=\"[detail-actions]\"></ng-content>\n </div>\n</div>\n", styles: [".detail-container-backdrop{width:100%;height:100%;right:0;top:0;display:none;position:fixed;z-index:999;opacity:var(--backdrop-opacity);background-color:var(--backdrop-primary)}.detail-container-backdrop.open{display:block}.detail-container-content{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-primary);background-color:var(--surface-secondary);transition:transform .3s ease-in-out,opacity .3s ease-in-out;inset:0 0 0 auto}.detail-container-content.flyout{width:480px;height:100%;padding:var(--gravity-spacing-lg) 0 var(--gravity-spacing-xl);gap:8px;border-left:2px solid var(--surface-primary)}.detail-container-content.flyout.standard{position:relative}.detail-container-content.flyout .detail-header{padding:0 var(--gravity-spacing-md)}.detail-container-content.flyout .detail-body{padding:var(--gravity-spacing-xs) var(--gravity-spacing-md)}.detail-container-content.detail-view{width:300px;min-height:637px;padding:var(--gravity-spacing-sm);gap:16px;border:2px solid var(--surface-primary);margin-left:8px}.detail-container-content.detail-view.show{position:relative}.detail-container-content.show{transform:translate(0);opacity:1}.detail-container-content.dismiss{transform:translate(100%);opacity:0;animation:setFixed 1s forwards}@keyframes setFixed{to{position:fixed}}.detail-container-content .detail-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.detail-container-content .detail-description{padding:var(--gravity-spacing-xs) var(--gravity-spacing-md);width:100%}.detail-container-content .detail-body{width:100%;flex:1;overflow-y:auto}.detail-container-content .detail-actions{width:100%}.detail-container-content .detail-actions::ng-deep div{display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:var(--gravity-spacing-md) var(--gravity-spacing-md) 0;gap:var(--gravity-spacing-sm);border-top:2px solid var(--surface-primary)}\n"] }]
32
+ args: [{ selector: 'gravity-detail-container', template: "<div class=\"detail-container-backdrop\" *ngIf=\"type === 'flyout' && mode === 'modal'\" [class.open]=\"isOpen\"\n (click)=\"dismiss()\"></div>\n\n<div class=\"detail-container-content {{type}} {{mode}}\" [ngClass]=\"isOpen ? 'show' : 'dismiss'\" [style.height]=\"optionalHeight\">\n <div class=\"detail-header\">\n <p [ngClass]=\"type === 'flyout' ? 'hr-title md-bold' : 'hr-body lg-bold'\">{{ title }}</p>\n <gravity-icon-button [icon]=\"'unsuccess'\" [size]=\"'sm'\" (click)=\"dismiss()\" [supportText]=\"'Close'\"></gravity-icon-button>\n </div>\n\n <div class=\"overflow-container\" #containerRef>\n <p *ngIf=\"description != '' && type === 'flyout'\"\n class=\"hr-body sm-regular detail-description\"> {{ description }}</p>\n\n <div class=\"detail-body\">\n <ng-content select=\"[detail-body]\"></ng-content>\n </div>\n </div>\n\n <div class=\"detail-actions\" *ngIf=\"type === 'flyout'\">\n <ng-content select=\"[detail-actions]\"></ng-content>\n </div>\n</div>\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.detail-container-content .overflow-container:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.detail-container-content .overflow-container:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.detail-container-content .overflow-container:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.detail-container-content .overflow-container::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.detail-container-backdrop{width:100%;height:100%;right:0;top:0;display:none;position:fixed;z-index:999;opacity:var(--backdrop-opacity);background-color:var(--backdrop-primary)}.detail-container-backdrop.open{display:block}.detail-container-content{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-primary);background-color:var(--surface-secondary);transition:transform .3s ease-in-out,opacity .3s ease-in-out;inset:0 0 0 auto}.detail-container-content.flyout{width:480px;height:100%;padding:var(--gravity-spacing-lg) 0 var(--gravity-spacing-xl);gap:8px;border-left:2px solid var(--surface-primary)}.detail-container-content.flyout.standard{position:relative}.detail-container-content.flyout .overflow-container.has-scroll .detail-description,.detail-container-content.flyout .overflow-container.has-scroll .detail-body{padding:var(--gravity-spacing-xs) 8px var(--gravity-spacing-xs) var(--gravity-spacing-md)!important}.detail-container-content.flyout .detail-header{padding:0 var(--gravity-spacing-md)}.detail-container-content.flyout .detail-description,.detail-container-content.flyout .detail-body{width:100%;padding:var(--gravity-spacing-xs) var(--gravity-spacing-sm) var(--gravity-spacing-xs) var(--gravity-spacing-md)}.detail-container-content.detail-view{width:300px;height:637px;max-height:637px;padding:var(--gravity-spacing-sm) 0;gap:16px;border:2px solid var(--surface-primary);margin-left:8px;border-radius:4.797px}.detail-container-content.detail-view.show{position:relative}.detail-container-content.detail-view .overflow-container.has-scroll .detail-body{padding:0 0 0 var(--gravity-spacing-sm)!important}.detail-container-content.detail-view .detail-header{padding:0 var(--gravity-spacing-sm)}.detail-container-content.detail-view .detail-body{padding:0 8px 0 var(--gravity-spacing-sm)}.detail-container-content.show{transform:translate(0);opacity:1}.detail-container-content.dismiss{transform:translate(100%);opacity:0;animation:setFixed 1s forwards}@keyframes setFixed{to{position:fixed}}.detail-container-content .detail-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.detail-container-content .overflow-container{flex:1;overflow-y:auto;margin-right:8px;width:calc(100% - 8px)}.detail-container-content .detail-actions{width:100%}.detail-container-content .detail-actions::ng-deep div{display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:var(--gravity-spacing-md) var(--gravity-spacing-md) 0;gap:var(--gravity-spacing-sm);border-top:2px solid var(--surface-primary)}\n"] }]
26
33
  }], propDecorators: { title: [{
27
34
  type: Input
28
35
  }], description: [{
@@ -31,7 +38,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
38
  type: Input
32
39
  }], type: [{
33
40
  type: Input
41
+ }], optionalHeight: [{
42
+ type: Input
34
43
  }], closed: [{
35
44
  type: Output
45
+ }], containerRef: [{
46
+ type: ViewChild,
47
+ args: ['containerRef']
36
48
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci9ncmF2aXR5LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9yRSxNQUFNLE9BQU8sK0JBQStCO0lBTDVDO1FBTVcsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixTQUFJLEdBQTZCLFFBQVEsQ0FBQztRQUV6QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVyQyxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBVXZCO0lBUlEsSUFBSTtRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQWpCVSwrQkFBK0I7bUdBQS9CLCtCQUErQixtTENQNUMsKzFCQW1CQTs7NEZEWmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDBCQUEwQjs4QkFLM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlEZXRhaWxDb250YWluZXJDb21wb25lbnQge1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbW9kZTogJ21vZGFsJyB8ICdzdGFuZGFyZCc7XG4gIEBJbnB1dCgpIHR5cGU6ICdmbHlvdXQnIHwgJ2RldGFpbC12aWV3JyA9ICdmbHlvdXQnO1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbnRhaW5lci1iYWNrZHJvcFwiICpuZ0lmPVwidHlwZSA9PT0gJ2ZseW91dCcgJiYgbW9kZSA9PT0gJ21vZGFsJ1wiIFtjbGFzcy5vcGVuXT1cImlzT3BlblwiXG4gICAgIChjbGljayk9XCJkaXNtaXNzKClcIj48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImRldGFpbC1jb250YWluZXItY29udGVudCB7e3R5cGV9fSB7e21vZGV9fVwiIFtuZ0NsYXNzXT1cImlzT3BlbiA/ICdzaG93JyA6ICdkaXNtaXNzJ1wiPlxuICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWhlYWRlclwiPlxuICAgIDxwIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdmbHlvdXQnID8gJ2hyLXRpdGxlIG1kLWJvbGQnIDogJ2hyLWJvZHkgbGctYm9sZCdcIj57eyB0aXRsZSB9fTwvcD5cbiAgICA8Z3Jhdml0eS1pY29uIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIFtzaXplXT1cIidzbSdcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+PC9ncmF2aXR5LWljb24+XG4gIDwvZGl2PlxuXG4gIDxwICpuZ0lmPVwiZGVzY3JpcHRpb24gIT0gJycgJiYgdHlwZSA9PT0gJ2ZseW91dCdcIiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhciBkZXRhaWwtZGVzY3JpcHRpb25cIj4ge3sgZGVzY3JpcHRpb24gfX08L3A+XG5cbiAgPGRpdiBjbGFzcz1cImRldGFpbC1ib2R5XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RldGFpbC1ib2R5XVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImRldGFpbC1hY3Rpb25zXCIgKm5nSWY9XCJ0eXBlID09PSAnZmx5b3V0J1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkZXRhaWwtYWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci9ncmF2aXR5LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPNUYsTUFBTSxPQUFPLCtCQUErQjtJQUw1QztRQU1XLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsU0FBSSxHQUE2QixRQUFRLENBQUM7UUFHekMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJckMsV0FBTSxHQUFHLEtBQUssQ0FBQztLQW1CdkI7SUFqQlEsSUFBSTtRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUN2QyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7K0dBN0JVLCtCQUErQjttR0FBL0IsK0JBQStCLG1VQ1A1QyxtL0JBc0JBOzs0RkRmYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQUszQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUVvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LWRldGFpbC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eURldGFpbENvbnRhaW5lckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtb2RlOiAnbW9kYWwnIHwgJ3N0YW5kYXJkJztcbiAgQElucHV0KCkgdHlwZTogJ2ZseW91dCcgfCAnZGV0YWlsLXZpZXcnID0gJ2ZseW91dCc7XG4gIEBJbnB1dCgpIG9wdGlvbmFsSGVpZ2h0OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXJSZWYnKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgZWwuY2xhc3NMaXN0LnRvZ2dsZSgnaGFzLXNjcm9sbCcsIGVsLnNjcm9sbEhlaWdodCA+IGVsLmNsaWVudEhlaWdodCk7XG4gICAgfSk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKGVsKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRldGFpbC1jb250YWluZXItYmFja2Ryb3BcIiAqbmdJZj1cInR5cGUgPT09ICdmbHlvdXQnICYmIG1vZGUgPT09ICdtb2RhbCdcIiBbY2xhc3Mub3Blbl09XCJpc09wZW5cIlxuICAgICAoY2xpY2spPVwiZGlzbWlzcygpXCI+PC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkZXRhaWwtY29udGFpbmVyLWNvbnRlbnQge3t0eXBlfX0ge3ttb2RlfX1cIiBbbmdDbGFzc109XCJpc09wZW4gPyAnc2hvdycgOiAnZGlzbWlzcydcIiBbc3R5bGUuaGVpZ2h0XT1cIm9wdGlvbmFsSGVpZ2h0XCI+XG4gIDxkaXYgY2xhc3M9XCJkZXRhaWwtaGVhZGVyXCI+XG4gICAgPHAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ2ZseW91dCcgPyAnaHItdGl0bGUgbWQtYm9sZCcgOiAnaHItYm9keSBsZy1ib2xkJ1wiPnt7IHRpdGxlIH19PC9wPlxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uIFtpY29uXT1cIid1bnN1Y2Nlc3MnXCIgW3NpemVdPVwiJ3NtJ1wiIChjbGljayk9XCJkaXNtaXNzKClcIiBbc3VwcG9ydFRleHRdPVwiJ0Nsb3NlJ1wiPjwvZ3Jhdml0eS1pY29uLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LWNvbnRhaW5lclwiICNjb250YWluZXJSZWY+XG4gICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvbiAhPSAnJyAmJiB0eXBlID09PSAnZmx5b3V0J1wiXG4gICAgICAgY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXIgZGV0YWlsLWRlc2NyaXB0aW9uXCI+IHt7IGRlc2NyaXB0aW9uIH19PC9wPlxuXG4gICAgPGRpdiBjbGFzcz1cImRldGFpbC1ib2R5XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGV0YWlsLWJvZHldXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWFjdGlvbnNcIiAqbmdJZj1cInR5cGUgPT09ICdmbHlvdXQnXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RldGFpbC1hY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==