@alauda/ui 7.3.3-beta.4 → 7.3.3-beta.41
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/button/button.component.d.ts +4 -6
- package/button/button.types.d.ts +1 -1
- package/drawer/types.d.ts +1 -1
- package/dropdown/dropdown.types.d.ts +1 -1
- package/esm2022/button/button.types.mjs +1 -1
- package/esm2022/drawer/types.mjs +1 -1
- package/esm2022/dropdown/dropdown.types.mjs +1 -1
- package/esm2022/form/common-form.mjs +3 -3
- package/esm2022/form/form.types.mjs +1 -1
- package/esm2022/i18n/i18n.pipe.mjs +1 -1
- package/esm2022/i18n/i18n.service.mjs +1 -1
- package/esm2022/i18n/i18n.type.mjs +1 -1
- package/esm2022/icon/icons.mjs +2 -2
- package/esm2022/index.mjs +3 -3
- package/esm2022/inline-alert/inline-alert.types.mjs +1 -1
- package/esm2022/input/input.component.mjs +2 -2
- package/esm2022/input/tags-input/tags-input.component.mjs +3 -3
- package/esm2022/radio/radio.types.mjs +1 -1
- package/esm2022/select/multi-select/multi-select.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +3 -3
- package/esm2022/status-bar/status-bar.types.mjs +1 -1
- package/esm2022/steps/types.mjs +1 -1
- package/esm2022/table/index.mjs +3 -2
- package/esm2022/table/table-cell.directive.mjs +3 -4
- package/esm2022/table/table-column-resizable.directive.mjs +149 -0
- package/esm2022/table/table-header-cell.directive.mjs +3 -4
- package/esm2022/table/table-scroll.directive.mjs +15 -19
- package/esm2022/table/table.component.mjs +15 -11
- package/esm2022/table/table.module.mjs +31 -73
- package/esm2022/tabs/tabs.types.mjs +1 -1
- package/esm2022/tag/tag.types.mjs +1 -1
- package/esm2022/types.mjs +1 -1
- package/esm2022/utils/index.mjs +2 -1
- package/esm2022/utils/styles-renderer.mjs +43 -0
- package/fesm2022/alauda-ui.mjs +266 -124
- package/fesm2022/alauda-ui.mjs.map +1 -1
- package/form/form.types.d.ts +1 -1
- package/i18n/i18n.pipe.d.ts +1 -2
- package/i18n/i18n.service.d.ts +2 -2
- package/i18n/i18n.type.d.ts +0 -1
- package/icon/icons.d.ts +1 -1
- package/index.d.ts +2 -2
- package/inline-alert/inline-alert.types.d.ts +1 -1
- package/input/input.component.d.ts +3 -4
- package/package.json +2 -1
- package/radio/radio.types.d.ts +1 -1
- package/select/base-select.d.ts +4 -5
- package/status-bar/status-bar.types.d.ts +1 -1
- package/steps/types.d.ts +1 -1
- package/table/index.d.ts +2 -1
- package/table/table-column-resizable.directive.d.ts +30 -0
- package/table/table-scroll.directive.d.ts +2 -2
- package/table/table.component.d.ts +4 -1
- package/table/table.module.d.ts +17 -18
- package/tabs/tab-group.component.d.ts +3 -3
- package/tabs/tabs.types.d.ts +1 -1
- package/tag/tag.types.d.ts +1 -1
- package/types.d.ts +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/styles-renderer.d.ts +18 -0
|
@@ -83,7 +83,7 @@ export class SelectComponent extends BaseSelect {
|
|
|
83
83
|
provide: BaseSelect,
|
|
84
84
|
useExisting: SelectComponent,
|
|
85
85
|
},
|
|
86
|
-
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable(hasSelected$ | async)\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-select__input\"\n [class.aui-select__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly\"\n [placeholder]=\"!(hasSelected$ | async) ? placeholder : ''\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-select__icon-container\"\n >\n <aui-icon\n class=\"aui-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"(selectedOption$ | async) && !filterString\"\n class=\"aui-select__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-select__label\">\n <ng-container *ngIf=\"(selectedOption$ | async).label as optionLabel\">\n <ng-container\n *ngIf=\"isTemplateRef(optionLabel); else label\"\n [ngTemplateOutlet]=\"optionLabel\"\n [ngTemplateOutletContext]=\"(selectedOption$ | async).labelContext\"\n ></ng-container>\n <ng-template #label>{{ optionLabel }}</ng-template>\n </ng-container>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #optionListRef\n class=\"aui-option-container__content\"\n >\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-select{display:inline-block;position:relative;width:100%}.aui-select__icon-container{display:block;position:relative;pointer-events:none!important}.aui-select__icon-container .aui-icon{margin:0!important}.aui-select.isDisabled .aui-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-select__indicator{display:flex}.aui-select__clear{display:none}.aui-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-select.isClearable:not(.isDisabled):hover .aui-select__indicator{display:none}.aui-select.isClearable:not(.isDisabled):hover .aui-select__clear{display:flex;pointer-events:auto}.aui-select__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-select.isFilterable.isOpened .aui-select__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-select__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-select__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-select__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-select__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "component", type: InputGroupComponent, selector: "aui-input-group" }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "directive", type: InputSuffixDirective, selector: "[auiInputSuffix]" }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
86
|
+
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable(hasSelected$ | async)\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-select__input\"\n [class.aui-select__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly\"\n [placeholder]=\"!(hasSelected$ | async) ? placeholder : ''\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-select__icon-container\"\n >\n <aui-icon\n class=\"aui-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"(selectedOption$ | async) && !filterString\"\n class=\"aui-select__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-select__label\">\n <ng-container *ngIf=\"(selectedOption$ | async).label as optionLabel\">\n <ng-container\n *ngIf=\"isTemplateRef(optionLabel); else label\"\n [ngTemplateOutlet]=\"optionLabel\"\n [ngTemplateOutletContext]=\"(selectedOption$ | async).labelContext\"\n ></ng-container>\n <ng-template #label>{{ optionLabel }}</ng-template>\n </ng-container>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #optionListRef\n class=\"aui-option-container__content\"\n >\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-select{display:inline-block;position:relative;width:100%}.aui-select__icon-container{display:block;position:relative;pointer-events:none!important}.aui-select__icon-container .aui-icon{margin:0!important}.aui-select.isDisabled .aui-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-select__indicator{display:flex}.aui-select__clear{display:none}.aui-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-select.isClearable:not(.isDisabled):hover .aui-select__indicator{display:none}.aui-select.isClearable:not(.isDisabled):hover .aui-select__clear{display:flex;pointer-events:auto}.aui-select__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-select__label-container.aui-input[readonly]{pointer-events:auto}.aui-select.isFilterable.isOpened .aui-select__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-select__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-select__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-select__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-select__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "component", type: InputGroupComponent, selector: "aui-input-group" }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "directive", type: InputSuffixDirective, selector: "[auiInputSuffix]" }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SelectComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
@@ -108,9 +108,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
108
108
|
OptionComponent,
|
|
109
109
|
NgFor,
|
|
110
110
|
AsyncPipe,
|
|
111
|
-
], template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable(hasSelected$ | async)\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-select__input\"\n [class.aui-select__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly\"\n [placeholder]=\"!(hasSelected$ | async) ? placeholder : ''\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-select__icon-container\"\n >\n <aui-icon\n class=\"aui-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"(selectedOption$ | async) && !filterString\"\n class=\"aui-select__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-select__label\">\n <ng-container *ngIf=\"(selectedOption$ | async).label as optionLabel\">\n <ng-container\n *ngIf=\"isTemplateRef(optionLabel); else label\"\n [ngTemplateOutlet]=\"optionLabel\"\n [ngTemplateOutletContext]=\"(selectedOption$ | async).labelContext\"\n ></ng-container>\n <ng-template #label>{{ optionLabel }}</ng-template>\n </ng-container>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #optionListRef\n class=\"aui-option-container__content\"\n >\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-select{display:inline-block;position:relative;width:100%}.aui-select__icon-container{display:block;position:relative;pointer-events:none!important}.aui-select__icon-container .aui-icon{margin:0!important}.aui-select.isDisabled .aui-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-select__indicator{display:flex}.aui-select__clear{display:none}.aui-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-select.isClearable:not(.isDisabled):hover .aui-select__indicator{display:none}.aui-select.isClearable:not(.isDisabled):hover .aui-select__clear{display:flex;pointer-events:auto}.aui-select__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-select.isFilterable.isOpened .aui-select__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-select__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-select__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-select__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-select__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"] }]
|
|
111
|
+
], template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable(hasSelected$ | async)\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleOptions($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-select__input\"\n [class.aui-select__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly\"\n [placeholder]=\"!(hasSelected$ | async) ? placeholder : ''\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-select__icon-container\"\n >\n <aui-icon\n class=\"aui-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"(selectedOption$ | async) && !filterString\"\n class=\"aui-select__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-select__label\">\n <ng-container *ngIf=\"(selectedOption$ | async).label as optionLabel\">\n <ng-container\n *ngIf=\"isTemplateRef(optionLabel); else label\"\n [ngTemplateOutlet]=\"optionLabel\"\n [ngTemplateOutletContext]=\"(selectedOption$ | async).labelContext\"\n ></ng-container>\n <ng-template #label>{{ optionLabel }}</ng-template>\n </ng-container>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #optionListRef\n class=\"aui-option-container__content\"\n >\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-select{display:inline-block;position:relative;width:100%}.aui-select__icon-container{display:block;position:relative;pointer-events:none!important}.aui-select__icon-container .aui-icon{margin:0!important}.aui-select.isDisabled .aui-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-select__indicator{display:flex}.aui-select__clear{display:none}.aui-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-select.isClearable:not(.isDisabled):hover .aui-select__indicator{display:none}.aui-select.isClearable:not(.isDisabled):hover .aui-select__clear{display:flex;pointer-events:auto}.aui-select__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-select__label-container.aui-input[readonly]{pointer-events:auto}.aui-select.isFilterable.isOpened .aui-select__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-select__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-select__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-select__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-select__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"] }]
|
|
112
112
|
}], propDecorators: { inputRef: [{
|
|
113
113
|
type: ViewChild,
|
|
114
114
|
args: ['inputRef', { static: true }]
|
|
115
115
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxhQUFhLEVBQ2IsRUFBRSxFQUNGLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFtQzVELE1BQU0sT0FBTyxlQUNYLFNBQVEsVUFBYTtJQUlyQixRQUFRLENBQWlCO0lBRXpCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUs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QUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLEtBQUs7d0JBQ0wsU0FBUztxQkFDVjs4QkFPRCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgb2YsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHtcbiAgSW5wdXRDb21wb25lbnQsXG4gIElucHV0U3VmZml4RGlyZWN0aXZlLFxuICBJbnB1dEdyb3VwQ29tcG9uZW50LFxufSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBjb2VyY2VTdHJpbmcsIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IEJhc2VTZWxlY3QgfSBmcm9tICcuL2Jhc2Utc2VsZWN0JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9zZWxlY3QudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBJbnB1dFN1ZmZpeERpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQ8VCA9IHVua25vd24+XG4gIGV4dGVuZHMgQmFzZVNlbGVjdDxUPlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXRcbntcbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogSW5wdXRDb21wb25lbnQ7XG5cbiAgdmFsdWVzJCA9IHRoaXMubW9kZWwkLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKHZhbCA9PiBbdmFsXSkpO1xuXG4gIHNlbGVjdGVkT3B0aW9uJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb24+O1xuXG4gIGhhc1NlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBnZXQgcm9vdENsYXNzKCkge1xuICAgIHJldHVybiBgYXVpLXNlbGVjdCBhdWktc2VsZWN0LS0ke3RoaXMuc2l6ZX1gO1xuICB9XG5cbiAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBgYXVpLW9wdGlvbi1jb250YWluZXIgYXVpLW9wdGlvbi1jb250YWluZXItLSR7dGhpcy5zaXplfWA7XG4gIH1cblxuICBpc0NsZWFyYWJsZSA9IChoYXNTZWxlY3RlZDogYm9vbGVhbikgPT5cbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyYWJsZSAmJiBoYXNTZWxlY3RlZDtcblxuICBvdmVycmlkZSBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgKFxuICAgICAgICB0aGlzLmNvbnRlbnRPcHRpb25zLmNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+Pj5cbiAgICAgICkucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpLFxuICAgICAgICBzd2l0Y2hNYXAob3B0aW9ucyA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi5zZWxlY3RlZCQpKS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwgYXMgdm9pZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gb3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uc2VsZWN0ZWQpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAob3B0aW9uID0+XG4gICAgICAgICAgICAgIG9wdGlvblxuICAgICAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZSQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbCQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbENvbnRleHQkLFxuICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbdmFsdWUsIGxhYmVsLCBsYWJlbENvbnRleHRdKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQ29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogb2YobnVsbCBhcyB2b2lkKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICB0aGlzLm1vZGVsJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbb3B0aW9uLCB2YWx1ZV0pID0+XG4gICAgICAgIG9wdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWwgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVsRm4/LihvcHRpb24udmFsdWUpIHx8XG4gICAgICAgICAgICAgICAgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpKSxcbiAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjQ1MTVcbiAgICAgICAgICAgICAgbGFiZWxDb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgLi4uKG9wdGlvbi5sYWJlbENvbnRleHQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5sYWJlbEZuPy4odmFsdWUpIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkJCA9IHRoaXMuc2VsZWN0ZWRPcHRpb24kLnBpcGUoXG4gICAgICBtYXAoKHsgbGFiZWwgfSkgPT4gISFsYWJlbCksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIG9uVmlzaWJsZU9wdGlvbnModmlzaWJsZTogYm9vbGVhbikge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBzdXBlci5vblNob3dPcHRpb25zKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLm9uSGlkZU9wdGlvbnMoKTtcbiAgICAgIHRoaXMuaW5wdXRSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odjogVCk6IFQge1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIHRoaXMuZW1pdFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0NsZWFyYWJsZV09XCJpc0NsZWFyYWJsZShoYXNTZWxlY3RlZCQgfCBhc3luYylcIlxuICBbY2xhc3MuaXNGaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICBbY2xhc3MuaXNPcGVuZWRdPVwib3BlbmVkXCJcbiAgI3NlbGVjdFJlZlxuICAjdG9vbHRpcFJlZj1cImF1aVRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcF09XCJ0ZW1wbGF0ZVJlZlwiXG4gIGF1aVRvb2x0aXBBbmltVHlwZT1cInNjYWxlWVwiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJwbGFpblwiXG4gIChhdWlUb29sdGlwVmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVPcHRpb25zKCRldmVudClcIlxuPlxuICA8YXVpLWlucHV0LWdyb3VwPlxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBjbGFzcz1cImF1aS1zZWxlY3RfX2lucHV0XCJcbiAgICAgIFtjbGFzcy5hdWktc2VsZWN0X19pbnB1dC1pbmFjdGlvbl09XCJpbmFjdGlvblwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXVpLWlucHV0XG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIiEoaGFzU2VsZWN0ZWQkIHwgYXN5bmMpID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImNsb3NlT3B0aW9uKClcIlxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGF1aUlucHV0U3VmZml4XG4gICAgICBjbGFzcz1cImF1aS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktc2VsZWN0X19jbGVhclwiXG4gICAgICAgIGljb249XCJ4bWFya19zbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiKHNlbGVjdGVkT3B0aW9uJCB8IGFzeW5jKSAmJiAhZmlsdGVyU3RyaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLXNlbGVjdF9fbGFiZWwtY29udGFpbmVyIGF1aS1pbnB1dCBhdWktaW5wdXQtLXt7IHNpemUgfX1cIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/IHRydWUgOiBudWxsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLXNlbGVjdF9fbGFiZWxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzZWxlY3RlZE9wdGlvbiQgfCBhc3luYykubGFiZWwgYXMgb3B0aW9uTGFiZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9uTGFiZWwpOyBlbHNlIGxhYmVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkxhYmVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCIoc2VsZWN0ZWRPcHRpb24kIHwgYXN5bmMpLmxhYmVsQ29udGV4dFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+e3sgb3B0aW9uTGFiZWwgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2F1aS1pbnB1dC1ncm91cD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICA8ZGl2XG4gICAgW2NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI29wdGlvbkxpc3RSZWZcbiAgICAgIGNsYXNzPVwiYXVpLW9wdGlvbi1jb250YWluZXJfX2NvbnRlbnRcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICNpbnB1dHRpbmdPcHRpb25cbiAgICAgICAgKm5nSWY9XCJhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcgJiYgIShoYXNNYXRjaGVkT3B0aW9uJCB8IGFzeW5jKVwiXG4gICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0NyZWF0ZVwiPlxuICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcpXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXVpLW9wdGlvbi1wbGFjZWhvbGRlclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxhQUFhLEVBQ2IsRUFBRSxFQUNGLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFtQzVELE1BQU0sT0FBTyxlQUNYLFNBQVEsVUFBYTtJQUlyQixRQUFRLENBQWlCO0lBRXpCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUs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QUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLEtBQUs7d0JBQ0wsU0FBUztxQkFDVjs4QkFPRCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgb2YsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHtcbiAgSW5wdXRDb21wb25lbnQsXG4gIElucHV0U3VmZml4RGlyZWN0aXZlLFxuICBJbnB1dEdyb3VwQ29tcG9uZW50LFxufSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBjb2VyY2VTdHJpbmcsIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IEJhc2VTZWxlY3QgfSBmcm9tICcuL2Jhc2Utc2VsZWN0JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9zZWxlY3QudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBJbnB1dFN1ZmZpeERpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQ8VCA9IHVua25vd24+XG4gIGV4dGVuZHMgQmFzZVNlbGVjdDxUPlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXRcbntcbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogSW5wdXRDb21wb25lbnQ7XG5cbiAgdmFsdWVzJCA9IHRoaXMubW9kZWwkLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKHZhbCA9PiBbdmFsXSkpO1xuXG4gIHNlbGVjdGVkT3B0aW9uJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb24+O1xuXG4gIGhhc1NlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBnZXQgcm9vdENsYXNzKCkge1xuICAgIHJldHVybiBgYXVpLXNlbGVjdCBhdWktc2VsZWN0LS0ke3RoaXMuc2l6ZX1gO1xuICB9XG5cbiAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBgYXVpLW9wdGlvbi1jb250YWluZXIgYXVpLW9wdGlvbi1jb250YWluZXItLSR7dGhpcy5zaXplfWA7XG4gIH1cblxuICBpc0NsZWFyYWJsZSA9IChoYXNTZWxlY3RlZDogYm9vbGVhbikgPT5cbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyYWJsZSAmJiBoYXNTZWxlY3RlZDtcblxuICBvdmVycmlkZSBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgKFxuICAgICAgICB0aGlzLmNvbnRlbnRPcHRpb25zLmNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+Pj5cbiAgICAgICkucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpLFxuICAgICAgICBzd2l0Y2hNYXAob3B0aW9ucyA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi5zZWxlY3RlZCQpKS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwgYXMgdm9pZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gb3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uc2VsZWN0ZWQpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAob3B0aW9uID0+XG4gICAgICAgICAgICAgIG9wdGlvblxuICAgICAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZSQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbCQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbENvbnRleHQkLFxuICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbdmFsdWUsIGxhYmVsLCBsYWJlbENvbnRleHRdKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQ29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogb2YobnVsbCBhcyB2b2lkKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICB0aGlzLm1vZGVsJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbb3B0aW9uLCB2YWx1ZV0pID0+XG4gICAgICAgIG9wdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWwgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVsRm4/LihvcHRpb24udmFsdWUpIHx8XG4gICAgICAgICAgICAgICAgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpKSxcbiAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjQ1MTVcbiAgICAgICAgICAgICAgbGFiZWxDb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgLi4uKG9wdGlvbi5sYWJlbENvbnRleHQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5sYWJlbEZuPy4odmFsdWUpIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkJCA9IHRoaXMuc2VsZWN0ZWRPcHRpb24kLnBpcGUoXG4gICAgICBtYXAoKHsgbGFiZWwgfSkgPT4gISFsYWJlbCksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIG9uVmlzaWJsZU9wdGlvbnModmlzaWJsZTogYm9vbGVhbikge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBzdXBlci5vblNob3dPcHRpb25zKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLm9uSGlkZU9wdGlvbnMoKTtcbiAgICAgIHRoaXMuaW5wdXRSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odjogVCk6IFQge1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIHRoaXMuZW1pdFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0NsZWFyYWJsZV09XCJpc0NsZWFyYWJsZShoYXNTZWxlY3RlZCQgfCBhc3luYylcIlxuICBbY2xhc3MuaXNGaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICBbY2xhc3MuaXNPcGVuZWRdPVwib3BlbmVkXCJcbiAgI3NlbGVjdFJlZlxuICAjdG9vbHRpcFJlZj1cImF1aVRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcF09XCJ0ZW1wbGF0ZVJlZlwiXG4gIGF1aVRvb2x0aXBBbmltVHlwZT1cInNjYWxlWVwiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJwbGFpblwiXG4gIChhdWlUb29sdGlwVmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVPcHRpb25zKCRldmVudClcIlxuPlxuICA8YXVpLWlucHV0LWdyb3VwPlxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBjbGFzcz1cImF1aS1zZWxlY3RfX2lucHV0XCJcbiAgICAgIFtjbGFzcy5hdWktc2VsZWN0X19pbnB1dC1pbmFjdGlvbl09XCJpbmFjdGlvblwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXVpLWlucHV0XG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIiEoaGFzU2VsZWN0ZWQkIHwgYXN5bmMpID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImNsb3NlT3B0aW9uKClcIlxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGF1aUlucHV0U3VmZml4XG4gICAgICBjbGFzcz1cImF1aS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktc2VsZWN0X19jbGVhclwiXG4gICAgICAgIGljb249XCJ4bWFya19zbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiKHNlbGVjdGVkT3B0aW9uJCB8IGFzeW5jKSAmJiAhZmlsdGVyU3RyaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLXNlbGVjdF9fbGFiZWwtY29udGFpbmVyIGF1aS1pbnB1dCBhdWktaW5wdXQtLXt7IHNpemUgfX1cIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/IHRydWUgOiBudWxsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLXNlbGVjdF9fbGFiZWxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzZWxlY3RlZE9wdGlvbiQgfCBhc3luYykubGFiZWwgYXMgb3B0aW9uTGFiZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9uTGFiZWwpOyBlbHNlIGxhYmVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkxhYmVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCIoc2VsZWN0ZWRPcHRpb24kIHwgYXN5bmMpLmxhYmVsQ29udGV4dFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+e3sgb3B0aW9uTGFiZWwgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2F1aS1pbnB1dC1ncm91cD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICA8ZGl2XG4gICAgW2NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI29wdGlvbkxpc3RSZWZcbiAgICAgIGNsYXNzPVwiYXVpLW9wdGlvbi1jb250YWluZXJfX2NvbnRlbnRcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICNpbnB1dHRpbmdPcHRpb25cbiAgICAgICAgKm5nSWY9XCJhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcgJiYgIShoYXNNYXRjaGVkT3B0aW9uJCB8IGFzeW5jKVwiXG4gICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0NyZWF0ZVwiPlxuICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcpXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXVpLW9wdGlvbi1wbGFjZWhvbGRlclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -10,4 +10,4 @@ export const StatusBarSize = {
|
|
|
10
10
|
Medium: 'medium',
|
|
11
11
|
Small: 'small',
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWJhci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUM7QUFJWCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsdWVPZiB9IGZyb20gJ3RzLWVzc2VudGlhbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1cyB7XG4gIHR5cGU/OiBTdGF0dXNUeXBlO1xuICBjbGFzcz86IHN0cmluZztcbiAgc2NhbGU6IG51bWJlcjtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0YXR1c1R5cGUgPSB7XG4gIFByaW1hcnk6ICdwcmltYXJ5JyxcbiAgU3VjY2VzczogJ3N1Y2Nlc3MnLFxuICBXYXJuaW5nOiAnd2FybmluZycsXG4gIEVycm9yOiAnZXJyb3InLFxuICBJbmZvOiAnaW5mbycsXG4gIFBlbmRpbmc6ICdwZW5kaW5nJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFN0YXR1c1R5cGUgPSBWYWx1ZU9mPHR5cGVvZiBTdGF0dXNUeXBlPjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0JhclNpemUgPSB7XG4gIE1lZGl1bTogJ21lZGl1bScsXG4gIFNtYWxsOiAnc21hbGwnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgU3RhdHVzQmFyU2l6ZSA9IFZhbHVlT2Y8dHlwZW9mIFN0YXR1c0JhclNpemU+O1xuIl19
|
package/esm2022/steps/types.mjs
CHANGED
|
@@ -4,4 +4,4 @@ export const StepState = {
|
|
|
4
4
|
Error: 'error',
|
|
5
5
|
Pending: 'pending',
|
|
6
6
|
};
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RlcHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsU0FBUztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWx1ZU9mIH0gZnJvbSAndHMtZXNzZW50aWFscyc7XG5cbmV4cG9ydCBjb25zdCBTdGVwU3RhdGUgPSB7XG4gIERlZmF1bHQ6ICdkZWZhdWx0JyxcbiAgRG9uZTogJ2RvbmUnLFxuICBFcnJvcjogJ2Vycm9yJyxcbiAgUGVuZGluZzogJ3BlbmRpbmcnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgU3RlcFN0YXRlID0gVmFsdWVPZjx0eXBlb2YgU3RlcFN0YXRlPjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGVwSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzdGF0ZT86IFN0ZXBTdGF0ZTtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTdGVwc09yaWVudGF0aW9uID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblxuZXhwb3J0IHR5cGUgU3RlcHNUeXBlID0gJ3N0ZXAnIHwgJ3Byb2dyZXNzJztcbiJdfQ==
|
package/esm2022/table/index.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { TableComponent } from './table.component';
|
|
2
2
|
export * from './table.module';
|
|
3
3
|
export * from './table-cell.component';
|
|
4
4
|
export * from './table-cell.directive';
|
|
5
5
|
export * from './table-cell-def.directive';
|
|
6
6
|
export * from './table-column-def.directive';
|
|
7
|
+
export * from './table-column-resizable.directive';
|
|
7
8
|
export * from './table-header-cell.directive';
|
|
8
9
|
export * from './table-header-cell-def.directive';
|
|
9
10
|
export * from './table-header-row.component';
|
|
@@ -12,4 +13,4 @@ export * from './table-placeholder.directive';
|
|
|
12
13
|
export * from './table-row.component';
|
|
13
14
|
export * from './table-row-def.directive';
|
|
14
15
|
export * from './table-scroll.directive';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY2VsbC1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY29sdW1uLWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb2x1bW4tcmVzaXphYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWhlYWRlci1jZWxsLWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWhlYWRlci1yb3ctZGVmLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXBsYWNlaG9sZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXJvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1yb3ctZGVmLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXNjcm9sbC5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { CdkCell } from '@angular/cdk/table';
|
|
2
2
|
import { Directive, Input } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { tableBem } from './table.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/cdk/table";
|
|
6
|
-
const bem = buildBem('aui-table');
|
|
7
6
|
export class TableCellDirective extends CdkCell {
|
|
8
7
|
direction = 'row';
|
|
9
8
|
constructor(columnDef, elementRef) {
|
|
10
9
|
super(columnDef, elementRef);
|
|
11
|
-
elementRef.nativeElement.classList.add(
|
|
10
|
+
elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
|
|
12
11
|
}
|
|
13
12
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
13
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableCellDirective, isStandalone: true, selector: "aui-table-cell", inputs: { direction: "direction" }, host: { attributes: { "role": "gridcell" }, properties: { "class.aui-table__cell--column": "direction === \"column\"" }, classAttribute: "aui-table__cell" }, usesInheritance: true, ngImport: i0 });
|
|
@@ -27,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
27
26
|
}], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; }, propDecorators: { direction: [{
|
|
28
27
|
type: Input
|
|
29
28
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWE3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsT0FBTztJQUU3QyxTQUFTLEdBQXFCLEtBQUssQ0FBQztJQUVwQyxZQUFZLFNBQXVCLEVBQUUsVUFBbUM7UUFDdEUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQzt1R0FUVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFFVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLGlDQUFpQyxFQUFFLHdCQUF3QjtxQkFDNUQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzRIQUdDLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0NlbGwsIENka0NvbHVtbkRlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogQ2VsbCB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBhZGRzIHRoZSByaWdodCBjbGFzc2VzIGFuZCByb2xlLiAqL1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXVpLXRhYmxlLWNlbGwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX2NlbGwnLFxuICAgIHJvbGU6ICdncmlkY2VsbCcsXG4gICAgJ1tjbGFzcy5hdWktdGFibGVfX2NlbGwtLWNvbHVtbl0nOiAnZGlyZWN0aW9uID09PSBcImNvbHVtblwiJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIGV4dGVuZHMgQ2RrQ2VsbCB7XG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJyA9ICdyb3cnO1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbkRlZjogQ2RrQ29sdW1uRGVmLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGNvbHVtbkRlZiwgZWxlbWVudFJlZik7XG4gICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXG4gICAgICB0YWJsZUJlbS5lbGVtZW50KGBjb2x1bW4tJHtjb2x1bW5EZWYuY3NzQ2xhc3NGcmllbmRseU5hbWV9YCksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
|
|
2
|
+
import { fromEvent, map, merge, switchMap, take, takeUntil, } from 'rxjs';
|
|
3
|
+
import { buildBem, getCompatibleStylesRenderer } from '../utils';
|
|
4
|
+
import { TableColumnDefDirective } from './table-column-def.directive';
|
|
5
|
+
import { tableBem, TableComponent } from './table.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
let tableColumnResizableID = 0;
|
|
8
|
+
const resizableBem = buildBem('aui-table-column-resizable');
|
|
9
|
+
const markLineWidth = 1;
|
|
10
|
+
export class TableColumnResizableDirective {
|
|
11
|
+
minWidth = '40px';
|
|
12
|
+
maxWidth = '80%';
|
|
13
|
+
renderer2 = inject(Renderer2);
|
|
14
|
+
tableColumnDefDirective = inject(TableColumnDefDirective);
|
|
15
|
+
tableComponent = inject(TableComponent);
|
|
16
|
+
columnElement = inject(ElementRef).nativeElement;
|
|
17
|
+
containerElement = this.tableComponent.elementRef.nativeElement;
|
|
18
|
+
hostAttr = `table-column-resizable-${tableColumnResizableID++}`;
|
|
19
|
+
stylesRenderer = getCompatibleStylesRenderer();
|
|
20
|
+
resizeSubscription;
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.containerElement.setAttribute(this.hostAttr, '');
|
|
23
|
+
}
|
|
24
|
+
ngAfterViewInit() {
|
|
25
|
+
const resizeHandle = this.createResizeHandle();
|
|
26
|
+
this.bindResizable(resizeHandle);
|
|
27
|
+
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
this.resizeSubscription?.unsubscribe();
|
|
30
|
+
this.containerElement.removeAttribute(this.hostAttr);
|
|
31
|
+
this.stylesRenderer.cleanup();
|
|
32
|
+
}
|
|
33
|
+
bindResizable(resizeHandle) {
|
|
34
|
+
const mouseUp$ = fromEvent(document, 'mouseup').pipe(take(1));
|
|
35
|
+
const mouseMove$ = fromEvent(document, 'mousemove').pipe(takeUntil(mouseUp$));
|
|
36
|
+
this.resizeSubscription = fromEvent(resizeHandle, 'mousedown')
|
|
37
|
+
.pipe(switchMap(mouseDownEvent => {
|
|
38
|
+
mouseDownEvent.preventDefault();
|
|
39
|
+
mouseDownEvent.stopPropagation();
|
|
40
|
+
this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');
|
|
41
|
+
const resizeRange = this.getResizeRange();
|
|
42
|
+
const initialMouseX = mouseDownEvent.clientX;
|
|
43
|
+
const columnWidth = this.getColumnWidth();
|
|
44
|
+
const columnOffset = this.getColumnOffset();
|
|
45
|
+
const resizeMarkLine = this.createResizeMarkLine(columnOffset + columnWidth);
|
|
46
|
+
const resizeOverlay = this.createResizeOverlay();
|
|
47
|
+
return merge(mouseMove$.pipe(map(mouseMoveEvent => () => resizeMarkLine.updateOffset(columnOffset +
|
|
48
|
+
this.getWidthInRange(resizeRange, columnWidth + mouseMoveEvent.clientX - initialMouseX)))), mouseUp$.pipe(map(mouseUpEvent => () => {
|
|
49
|
+
this.renderer2.removeStyle(resizeHandle, 'visibility');
|
|
50
|
+
resizeMarkLine.destroy();
|
|
51
|
+
resizeOverlay.destroy();
|
|
52
|
+
this.renderWidthStyles(this.getWidthInRange(resizeRange, columnWidth + mouseUpEvent.clientX - initialMouseX));
|
|
53
|
+
})));
|
|
54
|
+
}))
|
|
55
|
+
.subscribe(exec => {
|
|
56
|
+
exec();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
createResizeHandle() {
|
|
60
|
+
const resizeHandle = this.renderer2.createElement('div');
|
|
61
|
+
this.renderer2.addClass(resizeHandle, resizableBem.element('handle'));
|
|
62
|
+
this.renderer2.appendChild(this.columnElement, resizeHandle);
|
|
63
|
+
return resizeHandle;
|
|
64
|
+
}
|
|
65
|
+
createResizeMarkLine(initialOffset) {
|
|
66
|
+
const markLine = this.renderer2.createElement('div');
|
|
67
|
+
this.renderer2.addClass(markLine, resizableBem.element('mark-line'));
|
|
68
|
+
this.renderer2.setStyle(markLine, 'left', initialOffset - markLineWidth + 'px');
|
|
69
|
+
if (this.isStickyLeftBorderColumn()) {
|
|
70
|
+
this.renderer2.addClass(markLine, 'inStickyBorderElemLeft');
|
|
71
|
+
}
|
|
72
|
+
this.renderer2.appendChild(this.containerElement, markLine);
|
|
73
|
+
return {
|
|
74
|
+
element: markLine,
|
|
75
|
+
updateOffset: (offset) => {
|
|
76
|
+
this.renderer2.setStyle(markLine, 'left', offset - markLineWidth + 'px');
|
|
77
|
+
},
|
|
78
|
+
destroy: () => {
|
|
79
|
+
this.renderer2.removeChild(this.containerElement, markLine);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
createResizeOverlay() {
|
|
84
|
+
const resizeOverlay = this.renderer2.createElement('div');
|
|
85
|
+
this.renderer2.addClass(resizeOverlay, resizableBem.element('overlay'));
|
|
86
|
+
this.renderer2.appendChild(this.containerElement, resizeOverlay);
|
|
87
|
+
return {
|
|
88
|
+
element: resizeOverlay,
|
|
89
|
+
destroy: () => {
|
|
90
|
+
this.renderer2.removeChild(this.containerElement, resizeOverlay);
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
getColumnWidth() {
|
|
95
|
+
return this.columnElement.clientWidth;
|
|
96
|
+
}
|
|
97
|
+
getColumnOffset() {
|
|
98
|
+
return (this.columnElement.getBoundingClientRect().left -
|
|
99
|
+
this.containerElement.getBoundingClientRect().left);
|
|
100
|
+
}
|
|
101
|
+
getWidthInRange([minWidth, maxWidth], width) {
|
|
102
|
+
return Math.min(Math.max(width, minWidth), maxWidth);
|
|
103
|
+
}
|
|
104
|
+
getResizeRange() {
|
|
105
|
+
const minWidth = this.getActualWidth(this.minWidth);
|
|
106
|
+
const maxWidth = this.getActualWidth(this.maxWidth);
|
|
107
|
+
return [minWidth, maxWidth];
|
|
108
|
+
}
|
|
109
|
+
getActualWidth(width) {
|
|
110
|
+
if (typeof width === 'number') {
|
|
111
|
+
return width;
|
|
112
|
+
}
|
|
113
|
+
if (width.endsWith('%')) {
|
|
114
|
+
return ((this.containerElement.clientWidth * parseInt(width.slice(0, -1))) / 100);
|
|
115
|
+
}
|
|
116
|
+
if (width.endsWith('px')) {
|
|
117
|
+
return parseInt(width.slice(0, -2));
|
|
118
|
+
}
|
|
119
|
+
return parseInt(width);
|
|
120
|
+
}
|
|
121
|
+
isStickyLeftBorderColumn() {
|
|
122
|
+
return this.columnElement.classList.contains('aui-table-sticky-border-elem-left');
|
|
123
|
+
}
|
|
124
|
+
renderWidthStyles(width) {
|
|
125
|
+
const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
|
|
126
|
+
const styleString = `[${this.hostAttr}] .${className} {
|
|
127
|
+
flex: none !important;
|
|
128
|
+
width: ${width}px !important;
|
|
129
|
+
min-width: ${width}px !important;
|
|
130
|
+
max-width: ${width}px !important;
|
|
131
|
+
}`;
|
|
132
|
+
this.stylesRenderer.render(styleString);
|
|
133
|
+
this.tableComponent.updateStickyColumnStyles();
|
|
134
|
+
}
|
|
135
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
136
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColumnResizableDirective, isStandalone: true, selector: "[auiTableColumnResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
|
|
137
|
+
}
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, decorators: [{
|
|
139
|
+
type: Directive,
|
|
140
|
+
args: [{
|
|
141
|
+
selector: '[auiTableColumnResizable]',
|
|
142
|
+
standalone: true,
|
|
143
|
+
}]
|
|
144
|
+
}], propDecorators: { minWidth: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], maxWidth: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}] } });
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUVMLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUU3RCxJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUUvQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFNeEIsTUFBTSxPQUFPLDZCQUE2QjtJQUl4QyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBR2xCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFQSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEMsYUFBYSxHQUM1QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRWxCLGdCQUFnQixHQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FB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QUksQ0FBQyxRQUFRLE1BQU0sU0FBUzs7ZUFFekMsS0FBSzttQkFDRCxLQUFLO21CQUNMLEtBQUs7TUFDbEIsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO3VHQTFNVSw2QkFBNkI7MkZBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBS0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSwgZ2V0Q29tcGF0aWJsZVN0eWxlc1JlbmRlcmVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY29sdW1uLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFibGVCZW0sIFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG5sZXQgdGFibGVDb2x1bW5SZXNpemFibGVJRCA9IDA7XG5cbmNvbnN0IHJlc2l6YWJsZUJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUtY29sdW1uLXJlc2l6YWJsZScpO1xuY29uc3QgbWFya0xpbmVXaWR0aCA9IDE7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZUNvbHVtblJlc2l6YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblJlc2l6YWJsZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoID0gJzQwcHgnO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoID0gJzgwJSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb21wb25lbnQgPSBpbmplY3QoVGFibGVDb21wb25lbnQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29sdW1uRWxlbWVudDogSFRNTEVsZW1lbnQgPVxuICAgIGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQgPVxuICAgIHRoaXMudGFibGVDb21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdEF0dHIgPSBgdGFibGUtY29sdW1uLXJlc2l6YWJsZS0ke3RhYmxlQ29sdW1uUmVzaXphYmxlSUQrK31gO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlc1JlbmRlcmVyID0gZ2V0Q29tcGF0aWJsZVN0eWxlc1JlbmRlcmVyKCk7XG4gIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyLCAnJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGhpcy5ob3N0QXR0cik7XG4gICAgdGhpcy5zdHlsZXNSZW5kZXJlci5jbGVhbnVwKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IG1vdXNlVXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpLnBpcGUodGFrZSgxKSk7XG5cbiAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgIHRha2VVbnRpbChtb3VzZVVwJCksXG4gICAgKTtcblxuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG1vdXNlRG93bkV2ZW50ID0+IHtcbiAgICAgICAgICBtb3VzZURvd25FdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIG1vdXNlRG93bkV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgICBjb25zdCByZXNpemVSYW5nZSA9IHRoaXMuZ2V0UmVzaXplUmFuZ2UoKTtcbiAgICAgICAgICBjb25zdCBpbml0aWFsTW91c2VYID0gbW91c2VEb3duRXZlbnQuY2xpZW50WDtcbiAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IHRoaXMuZ2V0Q29sdW1uV2lkdGgoKTtcbiAgICAgICAgICBjb25zdCBjb2x1bW5PZmZzZXQgPSB0aGlzLmdldENvbHVtbk9mZnNldCgpO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU1hcmtMaW5lID0gdGhpcy5jcmVhdGVSZXNpemVNYXJrTGluZShcbiAgICAgICAgICAgIGNvbHVtbk9mZnNldCArIGNvbHVtbldpZHRoLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgcmVzaXplT3ZlcmxheSA9IHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuXG4gICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgbW91c2VNb3ZlJC5waXBlKFxuICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgbW91c2VNb3ZlRXZlbnQgPT4gKCkgPT5cbiAgICAgICAgICAgICAgICAgIHJlc2l6ZU1hcmtMaW5lLnVwZGF0ZU9mZnNldChcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uT2Zmc2V0ICtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFdpZHRoSW5SYW5nZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZVJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uV2lkdGggKyBtb3VzZU1vdmVFdmVudC5jbGllbnRYIC0gaW5pdGlhbE1vdXNlWCxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtb3VzZVVwJC5waXBlKFxuICAgICAgICAgICAgICBtYXAobW91c2VVcEV2ZW50ID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVTdHlsZShyZXNpemVIYW5kbGUsICd2aXNpYmlsaXR5Jyk7XG4gICAgICAgICAgICAgICAgcmVzaXplTWFya0xpbmUuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIHJlc2l6ZU92ZXJsYXkuZGVzdHJveSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJXaWR0aFN0eWxlcyhcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0V2lkdGhJblJhbmdlKFxuICAgICAgICAgICAgICAgICAgICByZXNpemVSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uV2lkdGggKyBtb3VzZVVwRXZlbnQuY2xpZW50WCAtIGluaXRpYWxNb3VzZVgsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXhlYyA9PiB7XG4gICAgICAgIGV4ZWMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVIYW5kbGUoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlOiBIVE1MRGl2RWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHJlc2l6ZUhhbmRsZSwgcmVzaXphYmxlQmVtLmVsZW1lbnQoJ2hhbmRsZScpKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbHVtbkVsZW1lbnQsIHJlc2l6ZUhhbmRsZSk7XG5cbiAgICByZXR1cm4gcmVzaXplSGFuZGxlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVNYXJrTGluZShpbml0aWFsT2Zmc2V0OiBudW1iZXIpIHtcbiAgICBjb25zdCBtYXJrTGluZTogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhtYXJrTGluZSwgcmVzaXphYmxlQmVtLmVsZW1lbnQoJ21hcmstbGluZScpKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIG1hcmtMaW5lLFxuICAgICAgJ2xlZnQnLFxuICAgICAgaW5pdGlhbE9mZnNldCAtIG1hcmtMaW5lV2lkdGggKyAncHgnLFxuICAgICk7XG4gICAgaWYgKHRoaXMuaXNTdGlja3lMZWZ0Qm9yZGVyQ29sdW1uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKG1hcmtMaW5lLCAnaW5TdGlja3lCb3JkZXJFbGVtTGVmdCcpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIG1hcmtMaW5lKTtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudDogbWFya0xpbmUsXG4gICAgICB1cGRhdGVPZmZzZXQ6IChvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgICBtYXJrTGluZSxcbiAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgb2Zmc2V0IC0gbWFya0xpbmVXaWR0aCArICdweCcsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgZGVzdHJveTogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIG1hcmtMaW5lKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICBjb25zdCByZXNpemVPdmVybGF5ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplT3ZlcmxheSwgcmVzaXphYmxlQmVtLmVsZW1lbnQoJ292ZXJsYXknKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCByZXNpemVPdmVybGF5KTtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudDogcmVzaXplT3ZlcmxheSxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCByZXNpemVPdmVybGF5KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uT2Zmc2V0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbHVtbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtXG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFdpZHRoSW5SYW5nZShcbiAgICBbbWluV2lkdGgsIG1heFdpZHRoXTogW251bWJlciwgbnVtYmVyXSxcbiAgICB3aWR0aDogbnVtYmVyLFxuICApOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh3aWR0aCwgbWluV2lkdGgpLCBtYXhXaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlc2l6ZVJhbmdlKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IG1pbldpZHRoID0gdGhpcy5nZXRBY3R1YWxXaWR0aCh0aGlzLm1pbldpZHRoKTtcbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuZ2V0QWN0dWFsV2lkdGgodGhpcy5tYXhXaWR0aCk7XG4gICAgcmV0dXJuIFttaW5XaWR0aCwgbWF4V2lkdGhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3R1YWxXaWR0aCh3aWR0aDogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cbiAgICBpZiAod2lkdGguZW5kc1dpdGgoJyUnKSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgKHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCAqIHBhcnNlSW50KHdpZHRoLnNsaWNlKDAsIC0xKSkpIC8gMTAwXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAod2lkdGguZW5kc1dpdGgoJ3B4JykpIHtcbiAgICAgIHJldHVybiBwYXJzZUludCh3aWR0aC5zbGljZSgwLCAtMikpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQod2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N0aWNreUxlZnRCb3JkZXJDb2x1bW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgICAnYXVpLXRhYmxlLXN0aWNreS1ib3JkZXItZWxlbS1sZWZ0JyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWR0aFN0eWxlcyh3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGFibGVCZW0uZWxlbWVudChcbiAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgKTtcblxuICAgIGNvbnN0IHN0eWxlU3RyaW5nID0gYFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgIH1gO1xuXG4gICAgdGhpcy5zdHlsZXNSZW5kZXJlci5yZW5kZXIoc3R5bGVTdHJpbmcpO1xuICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { CdkHeaderCell } from '@angular/cdk/table';
|
|
2
2
|
import { Directive } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { tableBem } from './table.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/cdk/table";
|
|
6
|
-
const bem = buildBem('aui-table');
|
|
7
6
|
export class TableHeaderCellDirective extends CdkHeaderCell {
|
|
8
7
|
constructor(columnDef, elementRef) {
|
|
9
8
|
super(columnDef, elementRef);
|
|
10
|
-
elementRef.nativeElement.classList.add(
|
|
9
|
+
elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
|
|
11
10
|
}
|
|
12
11
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableHeaderCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
12
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableHeaderCellDirective, isStandalone: true, selector: "aui-table-header-cell", host: { attributes: { "role": "columnheader" }, classAttribute: "aui-table__header-cell" }, usesInheritance: true, ngImport: i0 });
|
|
@@ -23,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
23
22
|
standalone: true,
|
|
24
23
|
}]
|
|
25
24
|
}], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFZN0MsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDekQsWUFBWSxTQUF1QixFQUFFLFVBQW1DO1FBQ3RFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0IsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7dUdBTlUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSx3QkFBd0I7d0JBQy9CLElBQUksRUFBRSxjQUFjO3FCQUNyQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb2x1bW5EZWYsIENka0hlYWRlckNlbGwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogSGVhZGVyIGNlbGwgdGVtcGxhdGUgY29udGFpbmVyIHRoYXQgYWRkcyB0aGUgcmlnaHQgY2xhc3NlcyBhbmQgcm9sZS4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2F1aS10YWJsZS1oZWFkZXItY2VsbCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9faGVhZGVyLWNlbGwnLFxuICAgIHJvbGU6ICdjb2x1bW5oZWFkZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUgZXh0ZW5kcyBDZGtIZWFkZXJDZWxsIHtcbiAgY29uc3RydWN0b3IoY29sdW1uRGVmOiBDZGtDb2x1bW5EZWYsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoY29sdW1uRGVmLCBlbGVtZW50UmVmKTtcbiAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcbiAgICAgIHRhYmxlQmVtLmVsZW1lbnQoYGNvbHVtbi0ke2NvbHVtbkRlZi5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
2
|
-
import { Directive, Host, HostBinding, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { Directive, ElementRef, Host, HostBinding, inject, Input, Optional, } from '@angular/core';
|
|
3
3
|
import { Subject, fromEvent, merge, startWith, takeUntil, switchMap, NEVER, BehaviorSubject, } from 'rxjs';
|
|
4
|
-
import { coerceAttrBoolean, observeResizeOn } from '../utils';
|
|
4
|
+
import { buildBem, coerceAttrBoolean, observeResizeOn } from '../utils';
|
|
5
|
+
import { tableBem } from './table.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/cdk/scrolling";
|
|
7
8
|
import * as i2 from "./table.component";
|
|
8
9
|
import * as i3 from "@angular/cdk/bidi";
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const SCROLLING_CLASS = `${SHADOW_CLASS}--scrolling`;
|
|
13
|
-
const SCROLL_BEFORE_END_CLASS = `${SHADOW_CLASS}--before-end`;
|
|
10
|
+
const shadowClass = tableBem.element('scroll-shadow');
|
|
11
|
+
const shadowBem = buildBem(shadowClass);
|
|
12
|
+
const scrollBeforeEndClass = shadowBem.modifier('before-end');
|
|
14
13
|
const HAS_TABLE_TOP_SHADOW = 'hasTableTopShadow';
|
|
15
14
|
const HAS_TABLE_BOTTOM_SHADOW = 'hasTableBottomShadow';
|
|
16
15
|
const HAS_TABLE_VERTICAL_SCROLL = 'hasTableVerticalScroll';
|
|
17
16
|
export class TableScrollWrapperDirective {
|
|
18
17
|
auiTableScrollWrapper = '100%';
|
|
18
|
+
elementRef = inject(ElementRef);
|
|
19
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableScrollWrapperDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
20
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollWrapperDirective, isStandalone: true, selector: "[auiTableScrollWrapper]", inputs: { auiTableScrollWrapper: "auiTableScrollWrapper" }, host: { properties: { "style.max-height": "this.auiTableScrollWrapper" }, classAttribute: "aui-table__scroll-wrapper" }, ngImport: i0 });
|
|
21
21
|
}
|
|
@@ -52,8 +52,7 @@ export class TableScrollableDirective extends CdkScrollable {
|
|
|
52
52
|
this.el = el;
|
|
53
53
|
this.table = table;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
SHADOW_CLASS = true;
|
|
55
|
+
className = `${scrollBeforeEndClass} ${shadowClass}`;
|
|
57
56
|
get containerEl() {
|
|
58
57
|
return this.el.nativeElement;
|
|
59
58
|
}
|
|
@@ -96,16 +95,16 @@ export class TableScrollableDirective extends CdkScrollable {
|
|
|
96
95
|
}
|
|
97
96
|
mutateHorizontalScroll() {
|
|
98
97
|
const scrollDis = this.containerEl.scrollWidth - this.containerEl.offsetWidth;
|
|
99
|
-
this.placeClassList(this.containerEl.classList, scrollDis > 0,
|
|
98
|
+
this.placeClassList(this.containerEl.classList, scrollDis > 0, shadowBem.modifier('has-scroll'));
|
|
100
99
|
const scrollLeft = this.containerEl.scrollLeft;
|
|
101
|
-
this.placeClassList(this.containerEl.classList, scrollLeft > 0,
|
|
102
|
-
this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis,
|
|
100
|
+
this.placeClassList(this.containerEl.classList, scrollLeft > 0, shadowBem.modifier('scrolling'));
|
|
101
|
+
this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis, scrollBeforeEndClass);
|
|
103
102
|
}
|
|
104
103
|
placeClassList(classList, condition, className) {
|
|
105
104
|
classList[condition ? 'add' : 'remove'](className);
|
|
106
105
|
}
|
|
107
106
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: i2.TableComponent, host: true }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
108
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class
|
|
107
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class": "this.className" } }, providers: [
|
|
109
108
|
{ provide: CdkScrollable, useExisting: TableScrollableDirective },
|
|
110
109
|
], usesInheritance: true, ngImport: i0 });
|
|
111
110
|
}
|
|
@@ -125,11 +124,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
125
124
|
}] }]; }, propDecorators: { scrollable: [{
|
|
126
125
|
type: Input,
|
|
127
126
|
args: ['auiTableScrollable']
|
|
128
|
-
}],
|
|
127
|
+
}], className: [{
|
|
129
128
|
type: HostBinding,
|
|
130
|
-
args: [
|
|
131
|
-
}], SHADOW_CLASS: [{
|
|
132
|
-
type: HostBinding,
|
|
133
|
-
args: [`class.${SHADOW_CLASS}`]
|
|
129
|
+
args: ['class']
|
|
134
130
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssRUFJTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEdBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJOUQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLE1BQU0sWUFBWSxHQUFHLEdBQUcsWUFBWSxpQkFBaUIsQ0FBQztBQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxZQUFZLGFBQWEsQ0FBQztBQUNyRCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFTM0QsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7dUdBSHBCLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQVB2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBSUMscUJBQXFCO3NCQUZwQixXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLEtBQUs7O0FBV1IsTUFBTSxPQUFPLHdCQUNYLFNBQVEsYUFBYTtJQW1CRjtJQUdRO0lBbkIzQixJQUNJLFVBQVUsQ0FBQyxVQUF3QjtRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRTNCLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFaEMsWUFDbUIsRUFBMkIsRUFDNUMsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDVyxLQUE4QixFQUMzQyxHQUFvQjtRQUVoQyxLQUFLLENBQUMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQU54QixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUduQixVQUFLLEdBQUwsS0FBSyxDQUF5QjtJQUl6RCxDQUFDO0lBR0QsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBRy9CLFlBQVksR0FBRyxJQUFJLENBQUM7SUFFcEIsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUMvQixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUNILFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQixJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLEtBQUssQ0FDVixlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FDdEMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDekI7WUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0g7YUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE1BQU0sU0FBUyxHQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBRWhFLElBQUksQ0FBQyxjQUFjLENBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUMxQixTQUFTLEdBQUcsQ0FBQyxFQUNiLHlCQUF5QixDQUMxQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQzFCLFNBQVMsR0FBRyxDQUFDLEVBQ2Isb0JBQW9CLENBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsU0FBUyxHQUFHLFNBQVMsRUFDckIsdUJBQXVCLENBQ3hCLENBQUM7UUFHRixJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUU5RCxJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsU0FBUyxHQUFHLENBQUMsRUFDYixnQkFBZ0IsQ0FDakIsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUMxQixVQUFVLEdBQUcsQ0FBQyxFQUNkLGVBQWUsQ0FDaEIsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUMxQixVQUFVLEdBQUcsU0FBUyxFQUN0Qix1QkFBdUIsQ0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQ1osU0FBdUIsRUFDdkIsU0FBa0IsRUFDbEIsU0FBaUI7UUFFakIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO3VHQXJJVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixnU0FMeEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFO1NBQ2xFOzsyRkFHVSx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLDBCQUEwQixFQUFFO3FCQUNsRTtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXdCSSxJQUFJOzswQkFDSixRQUFROzRDQW5CUCxVQUFVO3NCQURiLEtBQUs7dUJBQUMsb0JBQW9CO2dCQTBCM0IsdUJBQXVCO3NCQUR0QixXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLEVBQUU7Z0JBSS9DLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxTQUFTLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHN0YXJ0V2l0aCxcbiAgdGFrZVVudGlsLFxuICBzd2l0Y2hNYXAsXG4gIE5FVkVSLFxuICBCZWhhdmlvclN1YmplY3QsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3QgQ0xBU1NfUFJFRklYID0gJ2F1aS10YWJsZSc7XG5jb25zdCBTSEFET1dfQ0xBU1MgPSBgJHtDTEFTU19QUkVGSVh9X19zY3JvbGwtc2hhZG93YDtcbmNvbnN0IEhBU19TQ1JPTExfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1oYXMtc2Nyb2xsYDtcbmNvbnN0IFNDUk9MTElOR19DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLXNjcm9sbGluZ2A7XG5jb25zdCBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLWJlZm9yZS1lbmRgO1xuXG5jb25zdCBIQVNfVEFCTEVfVE9QX1NIQURPVyA9ICdoYXNUYWJsZVRvcFNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyA9ICdoYXNUYWJsZUJvdHRvbVNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMID0gJ2hhc1RhYmxlVmVydGljYWxTY3JvbGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBASW5wdXQoKVxuICBhdWlUYWJsZVNjcm9sbFdyYXBwZXIgPSAnMTAwJSc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtTQ1JPTExfQkVGT1JFX0VORF9DTEFTU31gKVxuICBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1NIQURPV19DTEFTU31gKVxuICBTSEFET1dfQ0xBU1MgPSB0cnVlO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfU0NST0xMX0NMQVNTLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gdGhpcy5jb250YWluZXJFbC5zY3JvbGxMZWZ0O1xuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbExlZnQgPiAwLFxuICAgICAgU0NST0xMSU5HX0NMQVNTLFxuICAgICk7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsTGVmdCA8IHNjcm9sbERpcyxcbiAgICAgIFNDUk9MTF9CRUZPUkVfRU5EX0NMQVNTLFxuICAgICk7XG4gIH1cblxuICBwbGFjZUNsYXNzTGlzdChcbiAgICBjbGFzc0xpc3Q6IERPTVRva2VuTGlzdCxcbiAgICBjb25kaXRpb246IGJvb2xlYW4sXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNsYXNzTGlzdFtjb25kaXRpb24gPyAnYWRkJyA6ICdyZW1vdmUnXShjbGFzc05hbWUpO1xuICB9XG59XG4iXX0=
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFTM0QsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzt1R0FMckIsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJG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QUF1QixFQUN2QixTQUFrQixFQUNsQixTQUFpQjtRQUVqQixTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBbElVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHNMQUx4QjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7U0FDbEU7OzJGQUdVLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsMEJBQTBCLEVBQUU7cUJBQ2xFO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBd0JJLElBQUk7OzBCQUNKLFFBQVE7NENBbkJQLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMEIzQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU3ViamVjdCxcbiAgZnJvbUV2ZW50LFxuICBtZXJnZSxcbiAgc3RhcnRXaXRoLFxuICB0YWtlVW50aWwsXG4gIHN3aXRjaE1hcCxcbiAgTkVWRVIsXG4gIEJlaGF2aW9yU3ViamVjdCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGJ1aWxkQmVtLCBjb2VyY2VBdHRyQm9vbGVhbiwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyB0YWJsZUJlbSwgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHNoYWRvd0NsYXNzID0gdGFibGVCZW0uZWxlbWVudCgnc2Nyb2xsLXNoYWRvdycpO1xuY29uc3Qgc2hhZG93QmVtID0gYnVpbGRCZW0oc2hhZG93Q2xhc3MpO1xuY29uc3Qgc2Nyb2xsQmVmb3JlRW5kQ2xhc3MgPSBzaGFkb3dCZW0ubW9kaWZpZXIoJ2JlZm9yZS1lbmQnKTtcblxuY29uc3QgSEFTX1RBQkxFX1RPUF9TSEFET1cgPSAnaGFzVGFibGVUb3BTaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX0JPVFRPTV9TSEFET1cgPSAnaGFzVGFibGVCb3R0b21TaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX1ZFUlRJQ0FMX1NDUk9MTCA9ICdoYXNUYWJsZVZlcnRpY2FsU2Nyb2xsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlU2Nyb2xsV3JhcHBlcl0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgQElucHV0KClcbiAgYXVpVGFibGVTY3JvbGxXcmFwcGVyID0gJzEwMCUnO1xuXG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBjbGFzc05hbWUgPSBgJHtzY3JvbGxCZWZvcmVFbmRDbGFzc30gJHtzaGFkb3dDbGFzc31gO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBzaGFkb3dCZW0ubW9kaWZpZXIoJ2hhcy1zY3JvbGwnKSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsTGVmdDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0ID4gMCxcbiAgICAgIHNoYWRvd0JlbS5tb2RpZmllcignc2Nyb2xsaW5nJyksXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0IDwgc2Nyb2xsRGlzLFxuICAgICAgc2Nyb2xsQmVmb3JlRW5kQ2xhc3MsXG4gICAgKTtcbiAgfVxuXG4gIHBsYWNlQ2xhc3NMaXN0KFxuICAgIGNsYXNzTGlzdDogRE9NVG9rZW5MaXN0LFxuICAgIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgY2xhc3NMaXN0W2NvbmRpdGlvbiA/ICdhZGQnIDogJ3JlbW92ZSddKGNsYXNzTmFtZSk7XG4gIH1cbn1cbiJdfQ==
|