rd-outer-component 0.1.38 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/custom-checkbox/custom-checkbox.component.mjs +6 -19
- package/esm2020/lib/modules/custom-date/custom-date.component.mjs +7 -25
- package/esm2020/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.mjs +4 -23
- package/esm2020/lib/modules/custom-filter/custom-filter.component.mjs +1 -1
- package/esm2020/lib/modules/custom-input/custom-input.component.mjs +4 -17
- package/esm2020/lib/modules/custom-input-amount/custom-input-amount.component.mjs +3 -17
- package/esm2020/lib/modules/custom-radio/custom-radio.component.mjs +4 -17
- package/esm2020/lib/modules/custom-select/industry-cascader/industry-cascader.component.mjs +7 -25
- package/esm2020/lib/modules/custom-select/pure-select-token/pure-select-token.component.mjs +1 -1
- package/esm2020/lib/modules/custom-select/rd-select.component.mjs +1 -1
- package/esm2020/lib/modules/form-item/form-item.component.mjs +4 -17
- package/esm2020/lib/modules/rd-button/rd-button.component.mjs +7 -18
- package/esm2020/lib/modules/rd-phone/rd-phone.component.mjs +5 -18
- package/esm2020/lib/modules/rd-select-value/rd-select-value.component.mjs +7 -27
- package/fesm2015/rd-outer-component.mjs +40 -205
- package/fesm2015/rd-outer-component.mjs.map +1 -1
- package/fesm2020/rd-outer-component.mjs +40 -205
- package/fesm2020/rd-outer-component.mjs.map +1 -1
- package/lib/modules/custom-checkbox/custom-checkbox.component.d.ts +1 -4
- package/lib/modules/custom-date/custom-date.component.d.ts +1 -4
- package/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.d.ts +1 -4
- package/lib/modules/custom-input/custom-input.component.d.ts +1 -4
- package/lib/modules/custom-input-amount/custom-input-amount.component.d.ts +1 -4
- package/lib/modules/custom-radio/custom-radio.component.d.ts +1 -4
- package/lib/modules/custom-select/industry-cascader/industry-cascader.component.d.ts +1 -4
- package/lib/modules/form-item/form-item.component.d.ts +1 -4
- package/lib/modules/rd-button/rd-button.component.d.ts +1 -4
- package/lib/modules/rd-phone/rd-phone.component.d.ts +1 -4
- package/lib/modules/rd-select-value/rd-select-value.component.d.ts +1 -4
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, HostListener, Input, Output, EventEmitter, forwardRef, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@ngx-translate/core";
|
|
@@ -57,19 +57,9 @@ export class IndustryCascaderComponent {
|
|
|
57
57
|
return path.some((p) => p.labelLower.includes(i));
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
return this.theme === 'light';
|
|
62
|
-
}
|
|
63
|
-
get hostThemeDark() {
|
|
64
|
-
return this.theme === 'dark';
|
|
65
|
-
}
|
|
60
|
+
/** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */
|
|
66
61
|
get drawerWrapClassName() {
|
|
67
|
-
|
|
68
|
-
? 'theme-light'
|
|
69
|
-
: this.theme === 'dark'
|
|
70
|
-
? 'theme-dark'
|
|
71
|
-
: '';
|
|
72
|
-
return ['cascader-drawer', themeClass].filter(Boolean).join(' ');
|
|
62
|
+
return ['cascader-drawer', ''].filter(Boolean).join(' ');
|
|
73
63
|
}
|
|
74
64
|
get showError() {
|
|
75
65
|
return (!!this.control?.invalid && (this.control?.touched || this.control?.dirty));
|
|
@@ -302,7 +292,7 @@ export class IndustryCascaderComponent {
|
|
|
302
292
|
}
|
|
303
293
|
}
|
|
304
294
|
IndustryCascaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
305
|
-
IndustryCascaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: IndustryCascaderComponent, selector: "app-industry-cascader", inputs: { disabled: "disabled", errorMessages: "errorMessages", industryCodes: "industryCodes", label: "label", name: "name"
|
|
295
|
+
IndustryCascaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: IndustryCascaderComponent, selector: "app-industry-cascader", inputs: { disabled: "disabled", errorMessages: "errorMessages", industryCodes: "industryCodes", label: "label", name: "name" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [
|
|
306
296
|
{
|
|
307
297
|
provide: NG_VALUE_ACCESSOR,
|
|
308
298
|
useExisting: forwardRef(() => IndustryCascaderComponent),
|
|
@@ -313,7 +303,7 @@ IndustryCascaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
313
303
|
useExisting: forwardRef(() => IndustryCascaderComponent),
|
|
314
304
|
multi: true,
|
|
315
305
|
},
|
|
316
|
-
], viewQueries: [{ propertyName: "cascaderContainer", first: true, predicate: ["cascaderContainer"], descendants: true }, { propertyName: "valueText", first: true, predicate: ["valueText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;border:none;min-height:50px;border-radius:12px;margin-top:12px}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-panel);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .ant-cascader-dropdown .ant-select-arrow{display:none}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-btn-solid-secondary-bg-default)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i5.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i5.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "directive", type: i6.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i6.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i6.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i8.FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size", "theme"] }, { kind: "component", type: i9.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
306
|
+
], viewQueries: [{ propertyName: "cascaderContainer", first: true, predicate: ["cascaderContainer"], descendants: true }, { propertyName: "valueText", first: true, predicate: ["valueText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;border:none;min-height:50px;border-radius:12px;margin-top:12px}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-panel);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .ant-cascader-dropdown .ant-select-arrow{display:none}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-btn-solid-secondary-bg-default)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i5.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i5.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "directive", type: i6.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i6.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i6.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i8.FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size"] }, { kind: "component", type: i9.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
317
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderComponent, decorators: [{
|
|
318
308
|
type: Component,
|
|
319
309
|
args: [{ selector: 'app-industry-cascader', providers: [
|
|
@@ -327,7 +317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
327
317
|
useExisting: forwardRef(() => IndustryCascaderComponent),
|
|
328
318
|
multi: true,
|
|
329
319
|
},
|
|
330
|
-
], template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;border:none;min-height:50px;border-radius:12px;margin-top:12px}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-panel);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .ant-cascader-dropdown .ant-select-arrow{display:none}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-btn-solid-secondary-bg-default)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"] }]
|
|
320
|
+
], template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;border:none;min-height:50px;border-radius:12px;margin-top:12px}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-panel);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .ant-cascader-dropdown .ant-select-arrow{display:none}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-btn-solid-secondary-bg-default)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"] }]
|
|
331
321
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cascaderContainer: [{
|
|
332
322
|
type: ViewChild,
|
|
333
323
|
args: ['cascaderContainer']
|
|
@@ -346,16 +336,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
346
336
|
type: Input
|
|
347
337
|
}], name: [{
|
|
348
338
|
type: Input
|
|
349
|
-
}], theme: [{
|
|
350
|
-
type: Input
|
|
351
|
-
}], hostThemeLight: [{
|
|
352
|
-
type: HostBinding,
|
|
353
|
-
args: ['class.theme-light']
|
|
354
|
-
}], hostThemeDark: [{
|
|
355
|
-
type: HostBinding,
|
|
356
|
-
args: ['class.theme-dark']
|
|
357
339
|
}], onResize: [{
|
|
358
340
|
type: HostListener,
|
|
359
341
|
args: ['window:resize']
|
|
360
342
|
}] } });
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9pbmR1c3RyeS1jYXNjYWRlci9pbmR1c3RyeS1jYXNjYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2luZHVzdHJ5LWNhc2NhZGVyL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFLWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBSVYsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBcUJ4QixNQUFNLE9BQU8seUJBQXlCO0lBS3BDLFlBQ1UsU0FBMkIsRUFDM0IsR0FBc0I7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUE4QjtZQUNsRCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE1BQU0sRUFBRSxtQkFBbUI7U0FDNUIsQ0FBQztRQUVRLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFbkQsVUFBSyxHQUFHLGlDQUFpQyxDQUFDO1FBQzFDLFNBQUksR0FBRyxFQUFFLENBQUM7UUF1Qm5CLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBRWpDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBYSxFQUFF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STt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3VJQUsrQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNOLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFNYixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBSUcsYUFBYTtzQkFBckIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdGLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU01QixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFxRi9CLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE56Q2FzY2FkZXJPcHRpb24gfSBmcm9tICduZy16b3Jyby1hbnRkL2Nhc2NhZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWluZHVzdHJ5LWNhc2NhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmR1c3RyeUNhc2NhZGVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZHVzdHJ5Q2FzY2FkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kdXN0cnlDYXNjYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBWaWV3Q2hpbGQoJ2Nhc2NhZGVyQ29udGFpbmVyJykgY2FzY2FkZXJDb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd2YWx1ZVRleHQnKSB2YWx1ZVRleHQhOiBFbGVtZW50UmVmO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgIHBhdHRlcm46ICdpbnZhbGlkX2Zvcm1hdCcsXG4gICAgY3VzdG9tOiAndmFsaWRhdGlvbl9mYWlsZWQnLFxuICB9O1xuICBASW5wdXQoKSBpbmR1c3RyeUNvZGVzOiBhbnk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10gfCBudWxsPigpO1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJzFzdCBpbmR1c3RyeSBuYXR1cmUgb2YgYnVzaW5lc3MnO1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIC8qKiBMb2NhbCBjb2xvciBjb250ZXh0LiBPbWl0IHRvIGluaGVyaXQgYm9keSBgLnRoZW1lLWxpZ2h0YCAvIGAudGhlbWUtZGFya2AuICovXG4gIEBJbnB1dCgpIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoZW1lLWxpZ2h0JylcbiAgZ2V0IGhvc3RUaGVtZUxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRoZW1lID09PSAnbGlnaHQnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aGVtZS1kYXJrJylcbiAgZ2V0IGhvc3RUaGVtZURhcmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWUgPT09ICdkYXJrJztcbiAgfVxuXG4gIGdldCBkcmF3ZXJXcmFwQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGhlbWVDbGFzcyA9XG4gICAgICB0aGlzLnRoZW1lID09PSAnbGlnaHQnXG4gICAgICAgID8gJ3RoZW1lLWxpZ2h0J1xuICAgICAgICA6IHRoaXMudGhlbWUgPT09ICdkYXJrJ1xuICAgICAgICAgID8gJ3RoZW1lLWRhcmsnXG4gICAgICAgICAgOiAnJztcbiAgICByZXR1cm4gWydjYXNjYWRlci1kcmF3ZXInLCB0aGVtZUNsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9XG4gIG9wdGlvbnM6IE56Q2FzY2FkZXJPcHRpb25bXSA9IFtdO1xuXG4gIHNlYXJjaElucHV0ID0gJyc7XG4gIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGRyYXdlck9wZW4gPSBmYWxzZTtcbiAgdmlldzogJ3Jvb3QnIHwgJ2NoaWxkcmVuJyA9ICdyb290JztcbiAgYWN0aXZlUGFyZW50OiBhbnkgfCBOekNhc2NhZGVyT3B0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc09wZW4gPSBmYWxzZTtcblxuICBzZWFyY2hUZXJtID0gJyc7XG4gIHNlYXJjaENoaWxkcmVuVGVybSA9ICcnO1xuICBmaWx0ZXJlZE9wdGlvbnM6IGFueSA9IFtdO1xuICBmaWx0ZXJlZENoaWxkcmVuOiBhbnkgPSBbXTtcbiAgcHJpdmF0ZSBzZWFyY2hUaW1lcjogYW55ID0gbnVsbDtcblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICAvLyDmt7vliqDmlrDlsZ7mgKdcbiAgaXNUZXh0T3ZlcmZsb3cgPSBmYWxzZTtcbiAgLy8g5L+u5pS5aXNUZXh0T3ZlcmZsb3fkuLrlr7nosaHvvIzorrDlvZXmm7Tor6bnu4bnmoTkv6Hmga9cbiAgdGV4dE92ZXJmbG93SW5mbyA9IHtcbiAgICBpc092ZXJmbG93OiBmYWxzZSxcbiAgICBsaW5lQ291bnQ6IDAsXG4gICAgbWF4TGluZXM6IDIsIC8vIOS9oOWPr+S7peiuvue9ruacgOWkp+WFgeiuuOeahOihjOaVsFxuICAgIGV4Y2VlZGVkTGluZXM6IDAsIC8vIOi2hei/h+eahOihjOaVsFxuICB9O1xuICBvdmVyZmxvd0xpbmVDb3VudCA9IDA7IC8vIOWunumZheWNoOeUqOeahOihjOaVsFxuICBtYXhBbGxvd2VkTGluZXMgPSAyOyAvLyDmnIDlpKflhYHorrjooYzmlbBcblxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuY29udHJvbD8uaW52YWxpZCAmJiAodGhpcy5jb250cm9sPy50b3VjaGVkIHx8IHRoaXMuY29udHJvbD8uZGlydHkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2w/LmVycm9ycykgcmV0dXJuICcnO1xuXG4gICAgY29uc3QgZmlyc3RFcnJvciA9IE9iamVjdC5rZXlzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IHt9KVswXTtcbiAgICBjb25zdCBtc2cgPSB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl07XG5cbiAgICBzd2l0Y2ggKGZpcnN0RXJyb3IpIHtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtc2cgfHxcbiAgICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ3BsZWFzZV9zZWxlY3QnLFxuICAgICAgICAgICl9JHt0aGlzLmxhYmVsLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICApO1xuICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLmNvbnRyb2w/LmVycm9yc1snY3VzdG9tJ10gfHxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd2YWxpZGF0aW9uX2ZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdKSB8fFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3ZhbGlkYXRpb25fZmFpbGVkJylcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgLy8g5ZON5bqU5byP77ya5piv5ZCm5piv56e75Yqo56uvXG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLnVwZGF0ZUlzTW9iaWxlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUluaXRPcHRpb25zKCk7XG4gICAgdGhpcy51cGRhdGVJc01vYmlsZSgpO1xuICAgIGNvbnN0IG1xID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk5N3B4KScpO1xuICAgIGlmIChtcS5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICBtcS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLnVwZGF0ZUlzTW9iaWxlKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtcS5hZGRMaXN0ZW5lcigoKSA9PiB0aGlzLnVwZGF0ZUlzTW9iaWxlKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snaW5kdXN0cnlDb2RlcyddKSB7XG4gICAgICB0aGlzLmhhbmRsZUluaXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpO1xuICAgIC8vIOWIneWni+ajgOa1i1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja1RleHRPdmVyZmxvdygpLCAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrVGV4dE92ZXJmbG93KCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMudmFsdWVUZXh0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZhbHVlVGV4dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY2FzY2FkZXJDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY2FzY2FkZXJDb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1RleHRPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmFsdWVUZXh0Py5uYXRpdmVFbGVtZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMudmFsdWVUZXh0Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyDmlrnms5Ux77ya6K6h566X5a6e6ZmF6KGM5pWwXG4gICAgdGhpcy5jYWxjdWxhdGVMaW5lQ291bnQodGV4dEVsZW1lbnQpO1xuXG4gICAgLy8g5pa55rOVMu+8muWkh+eUqOWuveW6puajgOa1i1xuICAgIHRoaXMuY2hlY2tXaWR0aE92ZXJmbG93KHRleHRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlTGluZUNvdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgLy8g6I635Y+W5YWD57Sg55qE5qC35byPXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubGluZUhlaWdodCk7XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAvLyDlpoLmnpxsaW5lSGVpZ2h05Li6MOaIlk5hTu+8jOS9v+eUqOm7mOiupOWAvFxuICAgIGNvbnN0IGFjdHVhbExpbmVIZWlnaHQgPSBsaW5lSGVpZ2h0ICYmICFpc05hTihsaW5lSGVpZ2h0KSA/IGxpbmVIZWlnaHQgOiAyMDsgLy8g6buY6K6kMjBweFxuXG4gICAgLy8g6K6h566X5a6e6ZmF6KGM5pWwXG4gICAgY29uc3QgbGluZUNvdW50ID0gTWF0aC5yb3VuZChzY3JvbGxIZWlnaHQgLyBhY3R1YWxMaW5lSGVpZ2h0KTtcbiAgICB0aGlzLm92ZXJmbG93TGluZUNvdW50ID0gbGluZUNvdW50O1xuXG4gICAgLy8g5qOA5p+l5piv5ZCm6LaF6L+H5pyA5aSn5YWB6K646KGM5pWwXG4gICAgdGhpcy5pc1RleHRPdmVyZmxvdyA9IGxpbmVDb3VudCA+IHRoaXMubWF4QWxsb3dlZExpbmVzO1xuXG4gICAgLy8g5L2g5Lmf5Y+v5Lul6K6w5b2V5pu05aSa5L+h5oGvXG4gICAgdGhpcy50ZXh0T3ZlcmZsb3dJbmZvID0ge1xuICAgICAgaXNPdmVyZmxvdzogbGluZUNvdW50ID4gdGhpcy5tYXhBbGxvd2VkTGluZXMsXG4gICAgICBsaW5lQ291bnQ6IGxpbmVDb3VudCxcbiAgICAgIG1heExpbmVzOiB0aGlzLm1heEFsbG93ZWRMaW5lcyxcbiAgICAgIGV4Y2VlZGVkTGluZXM6IE1hdGgubWF4KDAsIGxpbmVDb3VudCAtIHRoaXMubWF4QWxsb3dlZExpbmVzKSxcbiAgICB9O1xuXG4gICAgY29uc29sZS5sb2coYOaWh+acrOihjOaVsDogJHtsaW5lQ291bnR9LCDmmK/lkKbmuqLlh7o6ICR7dGhpcy5pc1RleHRPdmVyZmxvd31gKTtcblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1dpZHRoT3ZlcmZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAvLyDljp/mnInnmoTlrr3luqbmo4DmtYvpgLvovpHvvIjkvZzkuLrlpIfnlKjvvIlcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNhc2NhZGVyQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lclN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKTtcbiAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gcGFyc2VGbG9hdChjb250YWluZXJTdHlsZS53aWR0aCk7XG4gICAgICBjb25zdCB0ZXh0V2lkdGggPSBlbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgICAgY29uc3QgY29udGFpbmVyUGFkZGluZyA9XG4gICAgICAgIHBhcnNlRmxvYXQoY29udGFpbmVyU3R5bGUucGFkZGluZ0xlZnQpICtcbiAgICAgICAgcGFyc2VGbG9hdChjb250YWluZXJTdHlsZS5wYWRkaW5nUmlnaHQpO1xuICAgICAgY29uc3QgYXZhaWxhYmxlV2lkdGggPSBjb250YWluZXJXaWR0aCAtIGNvbnRhaW5lclBhZGRpbmcgLSA1NjtcblxuICAgICAgY29uc3QgaXNXaWR0aE92ZXJmbG93ID0gdGV4dFdpZHRoID4gYXZhaWxhYmxlV2lkdGg7XG5cbiAgICAgIC8vIOe7k+WQiOS4pOenjeajgOa1i+e7k+aenFxuICAgICAgaWYgKGlzV2lkdGhPdmVyZmxvdyAmJiAhdGhpcy5pc1RleHRPdmVyZmxvdykge1xuICAgICAgICB0aGlzLmlzVGV4dE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDkv67mlLloYW5kbGVWYWx1ZUNoYW5nZeaWueazle+8jOa3u+WKoOW7tui/n+ajgOa1i1xuICBoYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG5cbiAgICAvLyDlop7liqDlu7bov5/vvIznoa7kv51ET03lrozlhajmm7TmlrBcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tUZXh0T3ZlcmZsb3coKTtcbiAgICAgIC8vIOWPr+iDvemcgOimgeWkmuasoeajgOa1i+S7peehruS/neWHhuehrlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrVGV4dE92ZXJmbG93KCksIDEwMCk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJc01vYmlsZSgpIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk5N3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBjYXNjYWRlclNlYXJjaEZuID0gKGlucHV0OiBzdHJpbmcsIHBhdGg6IGFueVtdKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaSA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gcGF0aC5zb21lKChwKSA9PiBwLmxhYmVsTG93ZXIuaW5jbHVkZXMoaSkpO1xuICB9O1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlzT3BlbiA9IHZhbHVlO1xuICB9XG5cbiAgaGFuZGxlSW5pdE9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMuaW5kdXN0cnlDb2Rlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5pbmR1c3RyeUNvZGVzLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICB2YWx1ZTogaXRlbS5vYmpJZCxcbiAgICAgICAgICBsYWJlbDogaXRlbS5hbm5leGEsXG4gICAgICAgICAgaXNMZWFmOiBmYWxzZSxcbiAgICAgICAgICBsYWJlbExvd2VyOiBpdGVtLmFubmV4YS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgIGNoaWxkcmVuOiBpdGVtLnN1Ykxpc3QubWFwKChzdWJJdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnN1Ykl0ZW0sXG4gICAgICAgICAgICAgIHZhbHVlOiBzdWJJdGVtLm9iaklkLFxuICAgICAgICAgICAgICBsYWJlbDogc3ViSXRlbS5hbm5leGEsXG4gICAgICAgICAgICAgIGxhYmVsTG93ZXI6IHN1Ykl0ZW0uYW5uZXhhLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICAgIGlzTGVhZjogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLSDnp7vliqjnq6/mk43kvZwgLS0tLS0tLS0tLVxuXG4gIG9wZW5EcmF3ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJztcbiAgICB0aGlzLnNlYXJjaENoaWxkcmVuVGVybSA9ICcnO1xuICAgIHRoaXMuZHJhd2VyT3BlbiA9IHRydWU7XG4gICAgdGhpcy52aWV3ID0gJ3Jvb3QnO1xuICAgIHRoaXMuYWN0aXZlUGFyZW50ID0gbnVsbDtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSBbXTtcbiAgfVxuXG4gIGNsb3NlRHJhd2VyKCkge1xuICAgIHRoaXMuZHJhd2VyT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgZ29CYWNrTW9iaWxlKCk6IHZvaWQge1xuICAgIHRoaXMudmlldyA9ICdyb290JztcbiAgICB0aGlzLmFjdGl2ZVBhcmVudCA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hDaGlsZHJlblRlcm0gPSAnJztcbiAgfVxuXG4gIHNlbGVjdExlYWZNb2JpbGUob3B0aW9uOiBhbnksIHBhcmVudD86IGFueSkge1xuICAgIGNvbnN0IHBhcmVudFZhbCA9IHBhcmVudD8udmFsdWUgPz8gdGhpcy5hY3RpdmVQYXJlbnQ/LnZhbHVlID8/IG51bGw7XG4gICAgY29uc3QgdmFsdWUgPSBbU3RyaW5nKHBhcmVudFZhbCksIFN0cmluZyhvcHRpb24udmFsdWUpXTtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRyYXdlck9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnZpZXcgPSAncm9vdCc7XG4gICAgdGhpcy5hY3RpdmVQYXJlbnQgPSBudWxsO1xuICB9XG5cbiAgb3BlbkNoaWxkcmVuTW9iaWxlKG9wdDogYW55KSB7XG4gICAgaWYgKCFvcHQ/LnZhbHVlKSByZXR1cm47XG4gICAgdGhpcy52aWV3ID0gJ2NoaWxkcmVuJztcbiAgICB0aGlzLmFjdGl2ZVBhcmVudCA9IG9wdDtcbiAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4gfHwgW107XG4gICAgdGhpcy52YWx1ZSA9IFtvcHQudmFsdWVdO1xuICB9XG5cbiAgZG9Nb2JpbGVTZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRlcm0gPSB2YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hUaW1lcik7XG5cbiAgICB0aGlzLnNlYXJjaFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRlcm0pIHtcbiAgICAgICAgLy8g5oGi5aSN5Y6f5pWw5o2uXG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4gfHwgW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudmlldyA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0OiBhbnkpID0+XG4gICAgICAgICAgb3B0LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgICAgIChjaGlsZDogYW55KSA9PiBjaGlsZC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH1cbn1cbiIsIjxhcHAtcmQtZm9ybS1pdGVtXG4gIFt0eXBlXT1cIidzZWxlY3QnXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2ZvY3VzXT1cIiEhc2VhcmNoSW5wdXQgfHwgaXNGb2N1cyB8fCBpc09wZW5cIlxuICBbdmFsdWVdPVwidmFsdWUgJiYgdmFsdWU/Lmxlbmd0aFwiXG4gIFtlcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yID8gY3VycmVudEVycm9yTWVzc2FnZSA6ICcnXCJcbiAgW3RoZW1lXT1cInRoZW1lXCJcbiAgKGNsaWNrKT1cIm9wZW5EcmF3ZXIoKVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAncmQtY2FzY2FkZXItb3ZlcmZsb3ctY29udGFpbmVyJzogaXNUZXh0T3ZlcmZsb3csXG4gICAgJ3JkLWNhc2NhZGVyLW92ZXJmbG93LWNvbnRhaW5lci10aCc6IG92ZXJmbG93TGluZUNvdW50ID49IDMsXG4gIH1cIlxuPlxuICA8ZGl2ICNjYXNjYWRlckNvbnRhaW5lciBjbGFzcz1cImNhc2NhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxuei1jYXNjYWRlclxuICAgICAgW256T3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW256U2hvd1NlYXJjaF09XCJ7IGZpbHRlcjogY2FzY2FkZXJTZWFyY2hGbiB9XCJcbiAgICAgIFtuekFsbG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgbnpFeHBhbmRUcmlnZ2VyPVwiY2xpY2tcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbbnpMYWJlbFJlbmRlcl09XCJyZW5kZXJUcGxcIlxuICAgICAgW256T3B0aW9uUmVuZGVyXT1cIm9wdGlvblRwbFwiXG4gICAgICBbbnpFeHBhbmRJY29uXT1cImN1c3RvbUV4cGFuZEljb25cIlxuICAgICAgKG56VmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBuekNvbHVtbkNsYXNzTmFtZT1cInJkLWNhc2NhZGVyLWNvbHVtXCJcbiAgICAgIGNsYXNzPVwicmQtY2FzY2FkZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAncmQtY2FzY2FkZXItZGlzYWJsZWQtb3Blbic6IGlzTW9iaWxlLFxuICAgICAgICAncmQtY2FzY2FkZXItaXMtdGV4dC1vdmVyZmxvdyc6IGlzVGV4dE92ZXJmbG93LFxuICAgICAgfVwiXG4gICAgPlxuICAgIDwvbnotY2FzY2FkZXI+XG4gIDwvZGl2PlxuPC9hcHAtcmQtZm9ybS1pdGVtPlxuXG48bnotZHJhd2VyXG4gIFtuelZpc2libGVdPVwiZHJhd2VyT3BlbiAmJiBpc01vYmlsZVwiXG4gIFtuelBsYWNlbWVudF09XCInYm90dG9tJ1wiXG4gIFtuekhlaWdodF09XCInNzB2aCdcIlxuICBbbnpUaXRsZV09XCInJ1wiXG4gIFtuekNsb3NhYmxlXT1cImZhbHNlXCJcbiAgW256V3JhcENsYXNzTmFtZV09XCJkcmF3ZXJXcmFwQ2xhc3NOYW1lXCJcbiAgKG56T25DbG9zZSk9XCJjbG9zZURyYXdlcigpXCJcbj5cbiAgPGRpdiAqbnpEcmF3ZXJDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgIHt7IFwic2VsZWN0X25hdHVyZV9vZl9idXNpbmVzc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idG5cIiAqbmdJZj1cInZpZXcgPT09ICdyb290J1wiIChjbGljayk9XCJjbG9zZURyYXdlcigpXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgZD1cIk00LjQ2OTY3IDQuNDY5NjdDNC43NjI1NiA0LjE3Njc4IDUuMjM3NDQgNC4xNzY3OCA1LjUzMDMzIDQuNDY5NjdMMTIgMTAuOTM5M0wxOC40Njk3IDQuNDY5NjdDMTguNzYyNiA0LjE3Njc4IDE5LjIzNzQgNC4xNzY3OCAxOS41MzAzIDQuNDY5NjdDMTkuODIzMiA0Ljc2MjU2IDE5LjgyMzIgNS4yMzc0NCAxOS41MzAzIDUuNTMwMzNMMTMuMDYwNyAxMkwxOS41MzAzIDE4LjQ2OTdDMTkuODIzMiAxOC43NjI2IDE5LjgyMzIgMTkuMjM3NCAxOS41MzAzIDE5LjUzMDNDMTkuMjM3NCAxOS44MjMyIDE4Ljc2MjYgMTkuODIzMiAxOC40Njk3IDE5LjUzMDNMMTIgMTMuMDYwN0w1LjUzMDMzIDE5LjUzMDNDNS4yMzc0NCAxOS44MjMyIDQuNzYyNTYgMTkuODIzMiA0LjQ2OTY3IDE5LjUzMDNDNC4xNzY3OCAxOS4yMzc0IDQuMTc2NzggMTguNzYyNiA0LjQ2OTY3IDE4LjQ2OTdMMTAuOTM5MyAxMkw0LjQ2OTY3IDUuNTMwMzNDNC4xNzY3OCA1LjIzNzQ0IDQuMTc2NzggNC43NjI1NiA0LjQ2OTY3IDQuNDY5NjdaXCJcbiAgICAgICAgICAgICAgZmlsbD1cInZhcigtLXJkLWNvcHktcHJpbWFyeSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG56LWlucHV0LWdyb3VwXG4gICAgICAgIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLXNlYXJjaFwiXG4gICAgICAgIFtuelByZWZpeF09XCJwcmVmaXhJY29uU2VhcmNoXCJcbiAgICAgICAgbnpDbGVhcmFibGVcbiAgICAgICAgKm5nSWY9XCJ2aWV3ID09PSAncm9vdCdcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkb01vYmlsZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbnotaW5wdXQtZ3JvdXA+XG5cbiAgICAgIDxuei1pbnB1dC1ncm91cFxuICAgICAgICAqbmdJZj1cInZpZXcgPT09ICdjaGlsZHJlbidcIlxuICAgICAgICBjbGFzcz1cImNhc2NhZGVyLWRyYXdlci1zZWFyY2hcIlxuICAgICAgICBbbnpQcmVmaXhdPVwicHJlZml4SWNvblNlYXJjaFwiXG4gICAgICAgIG56Q2xlYXJhYmxlXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaENoaWxkcmVuVGVybVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZG9Nb2JpbGVTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L256LWlucHV0LWdyb3VwPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLXN1Yi1oZWFkZXJcIiAqbmdJZj1cInZpZXcgPT09ICdjaGlsZHJlbidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhY2stYnRuXCIgKGNsaWNrKT1cImdvQmFja01vYmlsZSgpXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgZD1cIk0xMS4zNDIyIDIuMTg0MzdDMTEuNTYyNiAyLjQxOTQgMTEuNTUwNyAyLjc4ODU2IDExLjMxNTYgMy4wMDg5TDYuNDM2MjMgNy41ODMzNEwxMS4zMTU2IDEyLjE1NzhDMTEuNTUwNyAxMi4zNzgxIDExLjU2MjYgMTIuNzQ3MyAxMS4zNDIyIDEyLjk4MjNDMTEuMTIxOSAxMy4yMTczIDEwLjc1MjcgMTMuMjI5MiAxMC41MTc3IDEzLjAwODlMNS4xODQzNyA4LjAwODlDNS4wNjY3NCA3Ljg5ODYyIDUgNy43NDQ1NyA1IDcuNTgzMzRDNSA3LjQyMjEgNS4wNjY3NCA3LjI2ODA1IDUuMTg0MzcgNy4xNTc3N0wxMC41MTc3IDIuMTU3NzdDMTAuNzUyNyAxLjkzNzQzIDExLjEyMTkgMS45NDkzNCAxMS4zNDIyIDIuMTg0MzdaXCJcbiAgICAgICAgICAgICAgZmlsbD1cInZhcigtLXJkLWNvcHktcHJpbWFyeSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlsZHJlbi10aXRsZVwiPnt7IGFjdGl2ZVBhcmVudD8ubGFiZWwgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cInZpZXcgPT09ICdyb290J1wiIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLWxpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZE9wdGlvbnM/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdCBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuQ2hpbGRyZW5Nb2JpbGUob3B0KVwiXG4gICAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItb3B0aW9uIGNhc2NhZGVyLWRyYXdlci1yb290LW9wdGlvblwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2Nhc2NhZGVyLWRyYXdlci1vcHRpb24tYWN0aXZlJzogb3B0LnZhbHVlID09PSB2YWx1ZT8uWzBdLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0LmxhYmVsIH19XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUV4cGFuZEljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3ID09PSAnY2hpbGRyZW4nXCIgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItbGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkQ2hpbGRyZW4/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGZpbHRlcmVkQ2hpbGRyZW5cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RMZWFmTW9iaWxlKGNoaWxkKVwiXG4gICAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItb3B0aW9uIGNhc2NhZGVyLWRyYXdlci1jaGlsZHJlbi1vcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzcz1cImNhc2NhZGVyLW9wdGlvbi1yYWRpb1wiXG4gICAgICAgICAgICBuei1yYWRpb1xuICAgICAgICAgICAgW25nTW9kZWxdPVwiY2hpbGQudmFsdWUgPT09IHZhbHVlPy5bMV1cIlxuICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIHt7IGNoaWxkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uei1kcmF3ZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjcmVuZGVyVHBsXG4gIGxldC1sYWJlbHM9XCJsYWJlbHNcIlxuICBsZXQtc2VsZWN0ZWRPcHRpb25zPVwic2VsZWN0ZWRPcHRpb25zXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbGFiZWxzOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFzdFwiPlxuICAgICAgPHNwYW4gI3ZhbHVlVGV4dCBjbGFzcz1cImNhc2NhZGVyLXZhbHVlLXRleHRcIiBbdGl0bGVdPVwibGFiZWxcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj48L25nLWNvbnRhaW5lclxuICAgID5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI29wdGlvblRwbCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicmQtY2FzY2FkZXItbWVudS1vcHRpb25cIj5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0lmPVwib3B0aW9uLmlzTGVhZlwiXG4gICAgICBjbGFzcz1cImNhc2NhZGVyLW9wdGlvbi1yYWRpb1wiXG4gICAgICBuei1yYWRpb1xuICAgICAgW25nTW9kZWxdPVwib3B0aW9uLnZhbHVlID09PSB2YWx1ZT8uWzFdXCJcbiAgICA+PC9sYWJlbFxuICAgID57eyBvcHRpb24ubGFiZWwgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbUV4cGFuZEljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTQuOTA3NzcgMi42MDIzNEM1LjEyODExIDIuMzY3MzEgNS40OTcyNyAyLjM1NTQgNS43MzIzIDIuNTc1NzRMMTEuMDY1NiA3LjU3NTc0QzExLjE4MzMgNy42ODYwMiAxMS4yNSA3Ljg0MDA3IDExLjI1IDguMDAxM0MxMS4yNSA4LjE2MjU0IDExLjE4MzMgOC4zMTY1OSAxMS4wNjU2IDguNDI2ODdMNS43MzIzIDEzLjQyNjlDNS40OTcyNyAxMy42NDcyIDUuMTI4MTEgMTMuNjM1MyA0LjkwNzc3IDEzLjQwMDNDNC42ODc0MyAxMy4xNjUyIDQuNjk5MzQgMTIuNzk2MSA0LjkzNDM3IDEyLjU3NTdMOS44MTM3NyA4LjAwMTNMNC45MzQzNyAzLjQyNjg3QzQuNjk5MzQgMy4yMDY1MiA0LjY4NzQzIDIuODM3MzcgNC45MDc3NyAyLjYwMjM0WlwiXG4gICAgICBmaWxsPVwidmFyKC0tcmQtY29weS1wcmltYXJ5KVwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByZWZpeEljb25TZWFyY2g+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTQuNDk1MSAxMy42OTQ4TDExLjM5NjIgMTAuNTk1OUMxMi4zMTc1IDkuNDY5MDIgMTIuNzcwNCA4LjAzMTIyIDEyLjY2MTMgNi41Nzk4M0MxMi41NTIyIDUuMTI4NDQgMTEuODg5NCAzLjc3NDUxIDEwLjgxIDIuNzk4MDdDOS43MzA2NiAxLjgyMTY0IDguMzE3MyAxLjI5NzQxIDYuODYyMjcgMS4zMzM4MUM1LjQwNzIzIDEuMzcwMjEgNC4wMjE4NSAxLjk2NDQ1IDIuOTkyNjYgMi45OTM2NEMxLjk2MzQ4IDQuMDIyODIgMS4zNjkyMyA1LjQwODIgMS4zMzI4MyA2Ljg2MzIzQzEuMjk2NDMgOC4zMTgyNiAxLjgyMDY2IDkuNzMxNjIgMi43OTcxIDEwLjgxMUMzLjc3MzU0IDExLjg5MDMgNS4xMjc0NyAxMi41NTMxIDYuNTc4ODcgMTIuNjYyMkM4LjAzMDI2IDEyLjc3MTMgOS40NjgwNyAxMi4zMTg0IDEwLjU5NDkgMTEuMzk3MkwxMy42OTM4IDE0LjUwMzJDMTMuODAyNyAxNC42MDczIDEzLjk0NzQgMTQuNjY1NiAxNC4wOTggMTQuNjY2M0MxNC4yMTA1IDE0LjY2NjEgMTQuMzIwNCAxNC42MzI1IDE0LjQxMzggMTQuNTY5N0MxNC41MDcxIDE0LjUwNjkgMTQuNTc5NiAxNC40MTc4IDE0LjYyMjIgMTQuMzEzNkMxNC42NjQ4IDE0LjIwOTUgMTQuNjc1NCAxNC4wOTUxIDE0LjY1MjggMTMuOTg0OUMxNC42MzAyIDEzLjg3NDcgMTQuNTc1MyAxMy43NzM3IDE0LjQ5NTEgMTMuNjk0OFpNNy4wMDY2NyAxMS41NDYxQzYuMTA5MDUgMTEuNTQ2MSA1LjIzMTU4IDExLjI3OTkgNC40ODUyMyAxMC43ODEyQzMuNzM4ODkgMTAuMjgyNSAzLjE1NzE4IDkuNTczNzIgMi44MTM2NyA4Ljc0NDQzQzIuNDcwMTcgNy45MTUxMyAyLjM4MDI5IDcuMDAyNiAyLjU1NTQxIDYuMTIyMjNDMi43MzA1MyA1LjI0MTg1IDMuMTYyNzcgNC40MzMxNyAzLjc5NzQ5IDMuNzk4NDZDNC40MzIyMSAzLjE2Mzc1IDUuMjQwODggMi43MzE1IDYuMTIxMjYgMi41NTYzOEM3LjAwMTY0IDIuMzgxMjcgNy45MTQxNyAyLjQ3MTE0IDguNzQzNDcgMi44MTQ2NUM5LjU3Mjc3IDMuMTU4MTUgMTAuMjgxNiAzLjczOTg2IDEwLjc4MDMgNC40ODYyQzExLjI3OSA1LjIzMjU1IDExLjU0NTEgNi4xMTAwMSAxMS41NDUxIDcuMDA3NjNDMTEuNTQzMyA4LjIxMDczIDExLjA2NDUgOS4zNjQwMiAxMC4yMTM4IDEwLjIxNDdDOS4zNjMwNiAxMS4wNjU1IDguMjA5NzcgMTEuNTQ0MiA3LjAwNjY3IDExLjU0NjFaXCJcbiAgICAgIGZpbGw9XCJ2YXIoLS1yZC1jb3B5LXByaW1hcnkpXCJcbiAgICAvPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9pbmR1c3RyeS1jYXNjYWRlci9pbmR1c3RyeS1jYXNjYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2luZHVzdHJ5LWNhc2NhZGVyL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUtaLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFJVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQnhCLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFDVSxTQUEyQixFQUMzQixHQUFzQjtRQUR0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUd2QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGtCQUFhLEdBQThCO1lBQ2xELE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsTUFBTSxFQUFFLG1CQUFtQjtTQUM1QixDQUFDO1FBRVEsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVuRCxVQUFLLEdBQUcsaUNBQWlDLENBQUM7UUFDMUMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU1uQixZQUFPLEdBQXVCLEVBQUUsQ0FBQztRQUVqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRXJC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QUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBNkVOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE56Q2FzY2FkZXJPcHRpb24gfSBmcm9tICduZy16b3Jyby1hbnRkL2Nhc2NhZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWluZHVzdHJ5LWNhc2NhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmR1c3RyeUNhc2NhZGVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZHVzdHJ5Q2FzY2FkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kdXN0cnlDYXNjYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBWaWV3Q2hpbGQoJ2Nhc2NhZGVyQ29udGFpbmVyJykgY2FzY2FkZXJDb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd2YWx1ZVRleHQnKSB2YWx1ZVRleHQhOiBFbGVtZW50UmVmO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgIHBhdHRlcm46ICdpbnZhbGlkX2Zvcm1hdCcsXG4gICAgY3VzdG9tOiAndmFsaWRhdGlvbl9mYWlsZWQnLFxuICB9O1xuICBASW5wdXQoKSBpbmR1c3RyeUNvZGVzOiBhbnk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10gfCBudWxsPigpO1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJzFzdCBpbmR1c3RyeSBuYXR1cmUgb2YgYnVzaW5lc3MnO1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIC8qKiBMb2NhbCBjb2xvciBjb250ZXh0LiBPbWl0IHRvIGluaGVyaXQgYm9keSBgLnRoZW1lLWxpZ2h0YCAvIGAudGhlbWUtZGFya2AuICovXG5cbiAgZ2V0IGRyYXdlcldyYXBDbGFzc05hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gWydjYXNjYWRlci1kcmF3ZXInLCAnJ10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfVxuICBvcHRpb25zOiBOekNhc2NhZGVyT3B0aW9uW10gPSBbXTtcblxuICBzZWFyY2hJbnB1dCA9ICcnO1xuICB2YWx1ZTogc3RyaW5nW10gPSBbXTtcblxuICBkcmF3ZXJPcGVuID0gZmFsc2U7XG4gIHZpZXc6ICdyb290JyB8ICdjaGlsZHJlbicgPSAncm9vdCc7XG4gIGFjdGl2ZVBhcmVudDogYW55IHwgTnpDYXNjYWRlck9wdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGlzRm9jdXMgPSBmYWxzZTtcbiAgaXNPcGVuID0gZmFsc2U7XG5cbiAgc2VhcmNoVGVybSA9ICcnO1xuICBzZWFyY2hDaGlsZHJlblRlcm0gPSAnJztcbiAgZmlsdGVyZWRPcHRpb25zOiBhbnkgPSBbXTtcbiAgZmlsdGVyZWRDaGlsZHJlbjogYW55ID0gW107XG4gIHByaXZhdGUgc2VhcmNoVGltZXI6IGFueSA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgLy8g5re75Yqg5paw5bGe5oCnXG4gIGlzVGV4dE92ZXJmbG93ID0gZmFsc2U7XG4gIC8vIOS/ruaUuWlzVGV4dE92ZXJmbG935Li65a+56LGh77yM6K6w5b2V5pu06K+m57uG55qE5L+h5oGvXG4gIHRleHRPdmVyZmxvd0luZm8gPSB7XG4gICAgaXNPdmVyZmxvdzogZmFsc2UsXG4gICAgbGluZUNvdW50OiAwLFxuICAgIG1heExpbmVzOiAyLCAvLyDkvaDlj6/ku6Xorr7nva7mnIDlpKflhYHorrjnmoTooYzmlbBcbiAgICBleGNlZWRlZExpbmVzOiAwLCAvLyDotoXov4fnmoTooYzmlbBcbiAgfTtcbiAgb3ZlcmZsb3dMaW5lQ291bnQgPSAwOyAvLyDlrp7pmYXljaDnlKjnmoTooYzmlbBcbiAgbWF4QWxsb3dlZExpbmVzID0gMjsgLy8g5pyA5aSn5YWB6K646KGM5pWwXG5cbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcbiAgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgKHRoaXMuY29udHJvbD8udG91Y2hlZCB8fCB0aGlzLmNvbnRyb2w/LmRpcnR5KVxuICAgICk7XG4gIH1cblxuICBnZXQgY3VycmVudEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jb250cm9sPy5lcnJvcnMpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGZpcnN0RXJyb3IgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2w/LmVycm9ycyB8fCB7fSlbMF07XG4gICAgY29uc3QgbXNnID0gdGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdO1xuXG4gICAgc3dpdGNoIChmaXJzdEVycm9yKSB7XG4gICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgbXNnIHx8XG4gICAgICAgICAgYCR7dGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdwbGVhc2Vfc2VsZWN0JyxcbiAgICAgICAgICApfSR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgndmFsaWRhdGlvbl9mYWlsZWQnKVxuICAgICAgICApO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXSkgfHxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd2YWxpZGF0aW9uX2ZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIC8vIOWTjeW6lOW8j++8muaYr+WQpuaYr+enu+WKqOerr1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgb25SZXNpemUoKSB7XG4gICAgdGhpcy51cGRhdGVJc01vYmlsZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVJbml0T3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlSXNNb2JpbGUoKTtcbiAgICBjb25zdCBtcSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5OTdweCknKTtcbiAgICBpZiAobXEuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgbXEuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4gdGhpcy51cGRhdGVJc01vYmlsZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbXEuYWRkTGlzdGVuZXIoKCkgPT4gdGhpcy51cGRhdGVJc01vYmlsZSgpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2luZHVzdHJ5Q29kZXMnXSkge1xuICAgICAgdGhpcy5oYW5kbGVJbml0T3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKTtcbiAgICAvLyDliJ3lp4vmo4DmtYtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hlY2tUZXh0T3ZlcmZsb3coKSwgMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFJlc2l6ZU9ic2VydmVyKCkge1xuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1RleHRPdmVyZmxvdygpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLnZhbHVlVGV4dD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy52YWx1ZVRleHQubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNhc2NhZGVyQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNhc2NhZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tUZXh0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZhbHVlVGV4dD8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLnZhbHVlVGV4dC5uYXRpdmVFbGVtZW50O1xuXG4gICAgLy8g5pa55rOVMe+8muiuoeeul+WunumZheihjOaVsFxuICAgIHRoaXMuY2FsY3VsYXRlTGluZUNvdW50KHRleHRFbGVtZW50KTtcblxuICAgIC8vIOaWueazlTLvvJrlpIfnlKjlrr3luqbmo4DmtYtcbiAgICB0aGlzLmNoZWNrV2lkdGhPdmVyZmxvdyh0ZXh0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUxpbmVDb3VudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIC8vIOiOt+WPluWFg+e0oOeahOagt+W8j1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpO1xuICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgLy8g5aaC5p6cbGluZUhlaWdodOS4ujDmiJZOYU7vvIzkvb/nlKjpu5jorqTlgLxcbiAgICBjb25zdCBhY3R1YWxMaW5lSGVpZ2h0ID0gbGluZUhlaWdodCAmJiAhaXNOYU4obGluZUhlaWdodCkgPyBsaW5lSGVpZ2h0IDogMjA7IC8vIOm7mOiupDIwcHhcblxuICAgIC8vIOiuoeeul+WunumZheihjOaVsFxuICAgIGNvbnN0IGxpbmVDb3VudCA9IE1hdGgucm91bmQoc2Nyb2xsSGVpZ2h0IC8gYWN0dWFsTGluZUhlaWdodCk7XG4gICAgdGhpcy5vdmVyZmxvd0xpbmVDb3VudCA9IGxpbmVDb3VudDtcblxuICAgIC8vIOajgOafpeaYr+WQpui2hei/h+acgOWkp+WFgeiuuOihjOaVsFxuICAgIHRoaXMuaXNUZXh0T3ZlcmZsb3cgPSBsaW5lQ291bnQgPiB0aGlzLm1heEFsbG93ZWRMaW5lcztcblxuICAgIC8vIOS9oOS5n+WPr+S7peiusOW9leabtOWkmuS/oeaBr1xuICAgIHRoaXMudGV4dE92ZXJmbG93SW5mbyA9IHtcbiAgICAgIGlzT3ZlcmZsb3c6IGxpbmVDb3VudCA+IHRoaXMubWF4QWxsb3dlZExpbmVzLFxuICAgICAgbGluZUNvdW50OiBsaW5lQ291bnQsXG4gICAgICBtYXhMaW5lczogdGhpcy5tYXhBbGxvd2VkTGluZXMsXG4gICAgICBleGNlZWRlZExpbmVzOiBNYXRoLm1heCgwLCBsaW5lQ291bnQgLSB0aGlzLm1heEFsbG93ZWRMaW5lcyksXG4gICAgfTtcblxuICAgIGNvbnNvbGUubG9nKGDmlofmnKzooYzmlbA6ICR7bGluZUNvdW50fSwg5piv5ZCm5rqi5Ye6OiAke3RoaXMuaXNUZXh0T3ZlcmZsb3d9YCk7XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tXaWR0aE92ZXJmbG93KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgLy8g5Y6f5pyJ55qE5a695bqm5qOA5rWL6YC76L6R77yI5L2c5Li65aSH55So77yJXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jYXNjYWRlckNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb25zdCBjb250YWluZXJTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcik7XG4gICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHBhcnNlRmxvYXQoY29udGFpbmVyU3R5bGUud2lkdGgpO1xuICAgICAgY29uc3QgdGV4dFdpZHRoID0gZWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lclBhZGRpbmcgPVxuICAgICAgICBwYXJzZUZsb2F0KGNvbnRhaW5lclN0eWxlLnBhZGRpbmdMZWZ0KSArXG4gICAgICAgIHBhcnNlRmxvYXQoY29udGFpbmVyU3R5bGUucGFkZGluZ1JpZ2h0KTtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZVdpZHRoID0gY29udGFpbmVyV2lkdGggLSBjb250YWluZXJQYWRkaW5nIC0gNTY7XG5cbiAgICAgIGNvbnN0IGlzV2lkdGhPdmVyZmxvdyA9IHRleHRXaWR0aCA+IGF2YWlsYWJsZVdpZHRoO1xuXG4gICAgICAvLyDnu5PlkIjkuKTnp43mo4DmtYvnu5PmnpxcbiAgICAgIGlmIChpc1dpZHRoT3ZlcmZsb3cgJiYgIXRoaXMuaXNUZXh0T3ZlcmZsb3cpIHtcbiAgICAgICAgdGhpcy5pc1RleHRPdmVyZmxvdyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g5L+u5pS5aGFuZGxlVmFsdWVDaGFuZ2Xmlrnms5XvvIzmt7vliqDlu7bov5/mo4DmtYtcbiAgaGFuZGxlVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuXG4gICAgLy8g5aKe5Yqg5bu26L+f77yM56Gu5L+dRE9N5a6M5YWo5pu05pawXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrVGV4dE92ZXJmbG93KCk7XG4gICAgICAvLyDlj6/og73pnIDopoHlpJrmrKHmo4DmtYvku6Xnoa7kv53lh4bnoa5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja1RleHRPdmVyZmxvdygpLCAxMDApO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSXNNb2JpbGUoKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5OTdweCknKS5tYXRjaGVzO1xuICB9XG5cbiAgY2FzY2FkZXJTZWFyY2hGbiA9IChpbnB1dDogc3RyaW5nLCBwYXRoOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGkgPSBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIHBhdGguc29tZSgocCkgPT4gcC5sYWJlbExvd2VyLmluY2x1ZGVzKGkpKTtcbiAgfTtcblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIG9uVmlzaWJsZUNoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pc09wZW4gPSB2YWx1ZTtcbiAgfVxuXG4gIGhhbmRsZUluaXRPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLmluZHVzdHJ5Q29kZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuaW5kdXN0cnlDb2Rlcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgdmFsdWU6IGl0ZW0ub2JqSWQsXG4gICAgICAgICAgbGFiZWw6IGl0ZW0uYW5uZXhhLFxuICAgICAgICAgIGlzTGVhZjogZmFsc2UsXG4gICAgICAgICAgbGFiZWxMb3dlcjogaXRlbS5hbm5leGEudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICBjaGlsZHJlbjogaXRlbS5zdWJMaXN0Lm1hcCgoc3ViSXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5zdWJJdGVtLFxuICAgICAgICAgICAgICB2YWx1ZTogc3ViSXRlbS5vYmpJZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHN1Ykl0ZW0uYW5uZXhhLFxuICAgICAgICAgICAgICBsYWJlbExvd2VyOiBzdWJJdGVtLmFubmV4YS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgICBpc0xlYWY6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0g56e75Yqo56uv5pON5L2cIC0tLS0tLS0tLS1cblxuICBvcGVuRHJhd2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gJyc7XG4gICAgdGhpcy5zZWFyY2hDaGlsZHJlblRlcm0gPSAnJztcbiAgICB0aGlzLmRyYXdlck9wZW4gPSB0cnVlO1xuICAgIHRoaXMudmlldyA9ICdyb290JztcbiAgICB0aGlzLmFjdGl2ZVBhcmVudCA9IG51bGw7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuID0gW107XG4gIH1cblxuICBjbG9zZURyYXdlcigpIHtcbiAgICB0aGlzLmRyYXdlck9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIGdvQmFja01vYmlsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcgPSAncm9vdCc7XG4gICAgdGhpcy5hY3RpdmVQYXJlbnQgPSBudWxsO1xuICAgIHRoaXMuc2VhcmNoQ2hpbGRyZW5UZXJtID0gJyc7XG4gIH1cblxuICBzZWxlY3RMZWFmTW9iaWxlKG9wdGlvbjogYW55LCBwYXJlbnQ/OiBhbnkpIHtcbiAgICBjb25zdCBwYXJlbnRWYWwgPSBwYXJlbnQ/LnZhbHVlID8/IHRoaXMuYWN0aXZlUGFyZW50Py52YWx1ZSA/PyBudWxsO1xuICAgIGNvbnN0IHZhbHVlID0gW1N0cmluZyhwYXJlbnRWYWwpLCBTdHJpbmcob3B0aW9uLnZhbHVlKV07XG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5kcmF3ZXJPcGVuID0gZmFsc2U7XG4gICAgdGhpcy52aWV3ID0gJ3Jvb3QnO1xuICAgIHRoaXMuYWN0aXZlUGFyZW50ID0gbnVsbDtcbiAgfVxuXG4gIG9wZW5DaGlsZHJlbk1vYmlsZShvcHQ6IGFueSkge1xuICAgIGlmICghb3B0Py52YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMudmlldyA9ICdjaGlsZHJlbic7XG4gICAgdGhpcy5hY3RpdmVQYXJlbnQgPSBvcHQ7XG4gICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuID0gdGhpcy5hY3RpdmVQYXJlbnQ/LmNoaWxkcmVuIHx8IFtdO1xuICAgIHRoaXMudmFsdWUgPSBbb3B0LnZhbHVlXTtcbiAgfVxuXG4gIGRvTW9iaWxlU2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0ZXJtID0gdmFsdWU/LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoVGltZXIpO1xuXG4gICAgdGhpcy5zZWFyY2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgIC8vIOaBouWkjeWOn+aVsOaNrlxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuID0gdGhpcy5hY3RpdmVQYXJlbnQ/LmNoaWxkcmVuIHx8IFtdO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnZpZXcgPT09ICdyb290Jykge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKG9wdDogYW55KSA9PlxuICAgICAgICAgIG9wdC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuID0gdGhpcy5hY3RpdmVQYXJlbnQ/LmNoaWxkcmVuLmZpbHRlcihcbiAgICAgICAgICAoY2hpbGQ6IGFueSkgPT4gY2hpbGQubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCAxNTApO1xuICB9XG59XG4iLCI8YXBwLXJkLWZvcm0taXRlbVxuICBbdHlwZV09XCInc2VsZWN0J1wiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtmb2N1c109XCIhIXNlYXJjaElucHV0IHx8IGlzRm9jdXMgfHwgaXNPcGVuXCJcbiAgW3ZhbHVlXT1cInZhbHVlICYmIHZhbHVlPy5sZW5ndGhcIlxuICBbZXJyb3JNZXNzYWdlXT1cInNob3dFcnJvciA/IGN1cnJlbnRFcnJvck1lc3NhZ2UgOiAnJ1wiXG4gIChjbGljayk9XCJvcGVuRHJhd2VyKClcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3JkLWNhc2NhZGVyLW92ZXJmbG93LWNvbnRhaW5lcic6IGlzVGV4dE92ZXJmbG93LFxuICAgICdyZC1jYXNjYWRlci1vdmVyZmxvdy1jb250YWluZXItdGgnOiBvdmVyZmxvd0xpbmVDb3VudCA+PSAzLFxuICB9XCJcbj5cbiAgPGRpdiAjY2FzY2FkZXJDb250YWluZXIgY2xhc3M9XCJjYXNjYWRlci1jb250YWluZXJcIj5cbiAgICA8bnotY2FzY2FkZXJcbiAgICAgIFtuek9wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIFtuekRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuelNob3dTZWFyY2hdPVwieyBmaWx0ZXI6IGNhc2NhZGVyU2VhcmNoRm4gfVwiXG4gICAgICBbbnpBbGxvd0NsZWFyXT1cImZhbHNlXCJcbiAgICAgIG56RXhwYW5kVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgW256TGFiZWxSZW5kZXJdPVwicmVuZGVyVHBsXCJcbiAgICAgIFtuek9wdGlvblJlbmRlcl09XCJvcHRpb25UcGxcIlxuICAgICAgW256RXhwYW5kSWNvbl09XCJjdXN0b21FeHBhbmRJY29uXCJcbiAgICAgIChuelZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgbnpDb2x1bW5DbGFzc05hbWU9XCJyZC1jYXNjYWRlci1jb2x1bVwiXG4gICAgICBjbGFzcz1cInJkLWNhc2NhZGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3JkLWNhc2NhZGVyLWRpc2FibGVkLW9wZW4nOiBpc01vYmlsZSxcbiAgICAgICAgJ3JkLWNhc2NhZGVyLWlzLXRleHQtb3ZlcmZsb3cnOiBpc1RleHRPdmVyZmxvdyxcbiAgICAgIH1cIlxuICAgID5cbiAgICA8L256LWNhc2NhZGVyPlxuICA8L2Rpdj5cbjwvYXBwLXJkLWZvcm0taXRlbT5cblxuPG56LWRyYXdlclxuICBbbnpWaXNpYmxlXT1cImRyYXdlck9wZW4gJiYgaXNNb2JpbGVcIlxuICBbbnpQbGFjZW1lbnRdPVwiJ2JvdHRvbSdcIlxuICBbbnpIZWlnaHRdPVwiJzcwdmgnXCJcbiAgW256VGl0bGVdPVwiJydcIlxuICBbbnpDbG9zYWJsZV09XCJmYWxzZVwiXG4gIFtueldyYXBDbGFzc05hbWVdPVwiZHJhd2VyV3JhcENsYXNzTmFtZVwiXG4gIChuek9uQ2xvc2UpPVwiY2xvc2VEcmF3ZXIoKVwiXG4+XG4gIDxkaXYgKm56RHJhd2VyQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLWhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICB7eyBcInNlbGVjdF9uYXR1cmVfb2ZfYnVzaW5lc3NcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYnRuXCIgKm5nSWY9XCJ2aWV3ID09PSAncm9vdCdcIiAoY2xpY2spPVwiY2xvc2VEcmF3ZXIoKVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIGQ9XCJNNC40Njk2NyA0LjQ2OTY3QzQuNzYyNTYgNC4xNzY3OCA1LjIzNzQ0IDQuMTc2NzggNS41MzAzMyA0LjQ2OTY3TDEyIDEwLjkzOTNMMTguNDY5NyA0LjQ2OTY3QzE4Ljc2MjYgNC4xNzY3OCAxOS4yMzc0IDQuMTc2NzggMTkuNTMwMyA0LjQ2OTY3QzE5LjgyMzIgNC43NjI1NiAxOS44MjMyIDUuMjM3NDQgMTkuNTMwMyA1LjUzMDMzTDEzLjA2MDcgMTJMMTkuNTMwMyAxOC40Njk3QzE5LjgyMzIgMTguNzYyNiAxOS44MjMyIDE5LjIzNzQgMTkuNTMwMyAxOS41MzAzQzE5LjIzNzQgMTkuODIzMiAxOC43NjI2IDE5LjgyMzIgMTguNDY5NyAxOS41MzAzTDEyIDEzLjA2MDdMNS41MzAzMyAxOS41MzAzQzUuMjM3NDQgMTkuODIzMiA0Ljc2MjU2IDE5LjgyMzIgNC40Njk2NyAxOS41MzAzQzQuMTc2NzggMTkuMjM3NCA0LjE3Njc4IDE4Ljc2MjYgNC40Njk2NyAxOC40Njk3TDEwLjkzOTMgMTJMNC40Njk2NyA1LjUzMDMzQzQuMTc2NzggNS4yMzc0NCA0LjE3Njc4IDQuNzYyNTYgNC40Njk2NyA0LjQ2OTY3WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ2YXIoLS1yZC1jb3B5LXByaW1hcnkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuei1pbnB1dC1ncm91cFxuICAgICAgICBjbGFzcz1cImNhc2NhZGVyLWRyYXdlci1zZWFyY2hcIlxuICAgICAgICBbbnpQcmVmaXhdPVwicHJlZml4SWNvblNlYXJjaFwiXG4gICAgICAgIG56Q2xlYXJhYmxlXG4gICAgICAgICpuZ0lmPVwidmlldyA9PT0gJ3Jvb3QnXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbnotaW5wdXRcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZG9Nb2JpbGVTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L256LWlucHV0LWdyb3VwPlxuXG4gICAgICA8bnotaW5wdXQtZ3JvdXBcbiAgICAgICAgKm5nSWY9XCJ2aWV3ID09PSAnY2hpbGRyZW4nXCJcbiAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItc2VhcmNoXCJcbiAgICAgICAgW256UHJlZml4XT1cInByZWZpeEljb25TZWFyY2hcIlxuICAgICAgICBuekNsZWFyYWJsZVxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hDaGlsZHJlblRlcm1cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRvTW9iaWxlU2VhcmNoKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgPC9uei1pbnB1dC1ncm91cD5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhc2NhZGVyLWRyYXdlci1zdWItaGVhZGVyXCIgKm5nSWY9XCJ2aWV3ID09PSAnY2hpbGRyZW4nXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrLWJ0blwiIChjbGljayk9XCJnb0JhY2tNb2JpbGUoKVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIGQ9XCJNMTEuMzQyMiAyLjE4NDM3QzExLjU2MjYgMi40MTk0IDExLjU1MDcgMi43ODg1NiAxMS4zMTU2IDMuMDA4OUw2LjQzNjIzIDcuNTgzMzRMMTEuMzE1NiAxMi4xNTc4QzExLjU1MDcgMTIuMzc4MSAxMS41NjI2IDEyLjc0NzMgMTEuMzQyMiAxMi45ODIzQzExLjEyMTkgMTMuMjE3MyAxMC43NTI3IDEzLjIyOTIgMTAuNTE3NyAxMy4wMDg5TDUuMTg0MzcgOC4wMDg5QzUuMDY2NzQgNy44OTg2MiA1IDcuNzQ0NTcgNSA3LjU4MzM0QzUgNy40MjIxIDUuMDY2NzQgNy4yNjgwNSA1LjE4NDM3IDcuMTU3NzdMMTAuNTE3NyAyLjE1Nzc3QzEwLjc1MjcgMS45Mzc0MyAxMS4xMjE5IDEuOTQ5MzQgMTEuMzQyMiAyLjE4NDM3WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ2YXIoLS1yZC1jb3B5LXByaW1hcnkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW4tdGl0bGVcIj57eyBhY3RpdmVQYXJlbnQ/LmxhYmVsIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3ID09PSAncm9vdCdcIiBjbGFzcz1cImNhc2NhZGVyLWRyYXdlci1saXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRPcHRpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHQgb2YgZmlsdGVyZWRPcHRpb25zXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNoaWxkcmVuTW9iaWxlKG9wdClcIlxuICAgICAgICAgIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLW9wdGlvbiBjYXNjYWRlci1kcmF3ZXItcm9vdC1vcHRpb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdjYXNjYWRlci1kcmF3ZXItb3B0aW9uLWFjdGl2ZSc6IG9wdC52YWx1ZSA9PT0gdmFsdWU/LlswXSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21FeHBhbmRJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwidmlldyA9PT0gJ2NoaWxkcmVuJ1wiIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLWxpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZENoaWxkcmVuPy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBmaWx0ZXJlZENoaWxkcmVuXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TGVhZk1vYmlsZShjaGlsZClcIlxuICAgICAgICAgIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLW9wdGlvbiBjYXNjYWRlci1kcmF3ZXItY2hpbGRyZW4tb3B0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1vcHRpb24tcmFkaW9cIlxuICAgICAgICAgICAgbnotcmFkaW9cbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImNoaWxkLnZhbHVlID09PSB2YWx1ZT8uWzFdXCJcbiAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICB7eyBjaGlsZC5sYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbnotZHJhd2VyPlxuXG48bmctdGVtcGxhdGVcbiAgI3JlbmRlclRwbFxuICBsZXQtbGFiZWxzPVwibGFiZWxzXCJcbiAgbGV0LXNlbGVjdGVkT3B0aW9ucz1cInNlbGVjdGVkT3B0aW9uc1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhc3RcIj5cbiAgICAgIDxzcGFuICN2YWx1ZVRleHQgY2xhc3M9XCJjYXNjYWRlci12YWx1ZS10ZXh0XCIgW3RpdGxlXT1cImxhYmVsXCI+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L3NwYW4+PC9uZy1jb250YWluZXJcbiAgICA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNvcHRpb25UcGwgbGV0LW9wdGlvbj5cbiAgPGRpdiBjbGFzcz1cInJkLWNhc2NhZGVyLW1lbnUtb3B0aW9uXCI+XG4gICAgPGxhYmVsXG4gICAgICAqbmdJZj1cIm9wdGlvbi5pc0xlYWZcIlxuICAgICAgY2xhc3M9XCJjYXNjYWRlci1vcHRpb24tcmFkaW9cIlxuICAgICAgbnotcmFkaW9cbiAgICAgIFtuZ01vZGVsXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWU/LlsxXVwiXG4gICAgPjwvbGFiZWxcbiAgICA+e3sgb3B0aW9uLmxhYmVsIH19XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21FeHBhbmRJY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgaGVpZ2h0PVwiMTZcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk00LjkwNzc3IDIuNjAyMzRDNS4xMjgxMSAyLjM2NzMxIDUuNDk3MjcgMi4zNTU0IDUuNzMyMyAyLjU3NTc0TDExLjA2NTYgNy41NzU3NEMxMS4xODMzIDcuNjg2MDIgMTEuMjUgNy44NDAwNyAxMS4yNSA4LjAwMTNDMTEuMjUgOC4xNjI1NCAxMS4xODMzIDguMzE2NTkgMTEuMDY1NiA4LjQyNjg3TDUuNzMyMyAxMy40MjY5QzUuNDk3MjcgMTMuNjQ3MiA1LjEyODExIDEzLjYzNTMgNC45MDc3NyAxMy40MDAzQzQuNjg3NDMgMTMuMTY1MiA0LjY5OTM0IDEyLjc5NjEgNC45MzQzNyAxMi41NzU3TDkuODEzNzcgOC4wMDEzTDQuOTM0MzcgMy40MjY4N0M0LjY5OTM0IDMuMjA2NTIgNC42ODc0MyAyLjgzNzM3IDQuOTA3NzcgMi42MDIzNFpcIlxuICAgICAgZmlsbD1cInZhcigtLXJkLWNvcHktcHJpbWFyeSlcIlxuICAgIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcmVmaXhJY29uU2VhcmNoPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgaGVpZ2h0PVwiMTZcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTE0LjQ5NTEgMTMuNjk0OEwxMS4zOTYyIDEwLjU5NTlDMTIuMzE3NSA5LjQ2OTAyIDEyLjc3MDQgOC4wMzEyMiAxMi42NjEzIDYuNTc5ODNDMTIuNTUyMiA1LjEyODQ0IDExLjg4OTQgMy43NzQ1MSAxMC44MSAyLjc5ODA3QzkuNzMwNjYgMS44MjE2NCA4LjMxNzMgMS4yOTc0MSA2Ljg2MjI3IDEuMzMzODFDNS40MDcyMyAxLjM3MDIxIDQuMDIxODUgMS45NjQ0NSAyLjk5MjY2IDIuOTkzNjRDMS45NjM0OCA0LjAyMjgyIDEuMzY5MjMgNS40MDgyIDEuMzMyODMgNi44NjMyM0MxLjI5NjQzIDguMzE4MjYgMS44MjA2NiA5LjczMTYyIDIuNzk3MSAxMC44MTFDMy43NzM1NCAxMS44OTAzIDUuMTI3NDcgMTIuNTUzMSA2LjU3ODg3IDEyLjY2MjJDOC4wMzAyNiAxMi43NzEzIDkuNDY4MDcgMTIuMzE4NCAxMC41OTQ5IDExLjM5NzJMMTMuNjkzOCAxNC41MDMyQzEzLjgwMjcgMTQuNjA3MyAxMy45NDc0IDE0LjY2NTYgMTQuMDk4IDE0LjY2NjNDMTQuMjEwNSAxNC42NjYxIDE0LjMyMDQgMTQuNjMyNSAxNC40MTM4IDE0LjU2OTdDMTQuNTA3MSAxNC41MDY5IDE0LjU3OTYgMTQuNDE3OCAxNC42MjIyIDE0LjMxMzZDMTQuNjY0OCAxNC4yMDk1IDE0LjY3NTQgMTQuMDk1MSAxNC42NTI4IDEzLjk4NDlDMTQuNjMwMiAxMy44NzQ3IDE0LjU3NTMgMTMuNzczNyAxNC40OTUxIDEzLjY5NDhaTTcuMDA2NjcgMTEuNTQ2MUM2LjEwOTA1IDExLjU0NjEgNS4yMzE1OCAxMS4yNzk5IDQuNDg1MjMgMTAuNzgxMkMzLjczODg5IDEwLjI4MjUgMy4xNTcxOCA5LjU3MzcyIDIuODEzNjcgOC43NDQ0M0MyLjQ3MDE3IDcuOTE1MTMgMi4zODAyOSA3LjAwMjYgMi41NTU0MSA2LjEyMjIzQzIuNzMwNTMgNS4yNDE4NSAzLjE2Mjc3IDQuNDMzMTcgMy43OTc0OSAzLjc5ODQ2QzQuNDMyMjEgMy4xNjM3NSA1LjI0MDg4IDIuNzMxNSA2LjEyMTI2IDIuNTU2MzhDNy4wMDE2NCAyLjM4MTI3IDcuOTE0MTcgMi40NzExNCA4Ljc0MzQ3IDIuODE0NjVDOS41NzI3NyAzLjE1ODE1IDEwLjI4MTYgMy43Mzk4NiAxMC43ODAzIDQuNDg2MkMxMS4yNzkgNS4yMzI1NSAxMS41NDUxIDYuMTEwMDEgMTEuNTQ1MSA3LjAwNzYzQzExLjU0MzMgOC4yMTA3MyAxMS4wNjQ1IDkuMzY0MDIgMTAuMjEzOCAxMC4yMTQ3QzkuMzYzMDYgMTEuMDY1NSA4LjIwOTc3IDExLjU0NDIgNy4wMDY2NyAxMS41NDYxWlwiXG4gICAgICBmaWxsPVwidmFyKC0tcmQtY29weS1wcmltYXJ5KVwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -51,7 +51,7 @@ PureSelectTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
51
51
|
useExisting: forwardRef(() => PureSelectTokenComponent),
|
|
52
52
|
multi: true,
|
|
53
53
|
},
|
|
54
|
-
], ngImport: i0, template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:var(--rd-copy-disable)}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:var(--rd-copy-disable)}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}.rd-form-item-phone ::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:6px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}.rd-form-item-phone ::ng-deep .rd-form-item-select.ant-select-show-search.ant-select-multiple .ant-select-selector{padding:6px 16px}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:transparent;font-size:14px;font-weight:500;color:var(--rd-copy-primary);display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid var(--rd-input-fg-hover);background:var(--rd-input-bg-hover);box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-empty-description{font-weight:400;font-size:14px;line-height:22px;color:var(--rd-copy-primary)}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:var(--rd-copy-primary);font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:var(--rd-copy-primary);font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:var(--rd-bg-card);min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:var(--rd-copy-primary);font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:var(--rd-copy-secondary);background:var(--rd-input-bg-disable)}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:var(--rd-copy-disable);font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:var(--rd-copy-primary);font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid var(--rd-control-border-empty)}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: i5.FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size", "theme"] }, { kind: "component", type: i6.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }] });
|
|
54
|
+
], ngImport: i0, template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:var(--rd-copy-disable)}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:var(--rd-copy-disable)}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}.rd-form-item-phone ::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:6px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}.rd-form-item-phone ::ng-deep .rd-form-item-select.ant-select-show-search.ant-select-multiple .ant-select-selector{padding:6px 16px}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:transparent;font-size:14px;font-weight:500;color:var(--rd-copy-primary);display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid var(--rd-input-fg-hover);background:var(--rd-input-bg-hover);box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-empty-description{font-weight:400;font-size:14px;line-height:22px;color:var(--rd-copy-primary)}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:var(--rd-copy-primary);font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:var(--rd-copy-primary);font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:var(--rd-bg-card);min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:var(--rd-copy-primary);font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:var(--rd-copy-secondary);background:var(--rd-input-bg-disable)}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:var(--rd-copy-disable);font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:var(--rd-copy-primary);font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid var(--rd-control-border-empty)}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: i5.FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size"] }, { kind: "component", type: i6.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }] });
|
|
55
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PureSelectTokenComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
57
|
args: [{ selector: 'app-rd-pure-select-token', providers: [
|