@ifsworld/granite-components 13.1.0 → 13.2.1

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.
@@ -224,7 +224,7 @@ export class GraniteChipComponent {
224
224
  : null;
225
225
  }
226
226
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteChipComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteChipComponent, selector: "granite-chip, granite-input-chip", inputs: { tabIndex: "tabIndex", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], selected: "selected", value: "value", selectable: "selectable", disabled: "disabled", removable: "removable", invalid: "invalid" }, outputs: { selectionChange: "selectionChange", removed: "removed", destroyed: "destroyed", chipFocus: "chipFocus", chipBlur: "chipBlur" }, host: { listeners: { "click": "_handleClick($event)", "keydown": "_handleKeydown($event)", "blur": "_blur()", "focus": "focus()" }, properties: { "class.granite-chip-input": "inputChip", "class.granite-chip-selectable": "selectable", "class.granite-chip-selected": "selected", "class.granite-chip-disabled": "disabled", "class.granite-chip-invalid": "invalid", "class.granite-chip-removable": "!disabled && (removable || inputChip)", "attr.tabindex": "disabled ? null : tabIndex", "attr.role": "role", "attr.disabled": "disabled || null", "attr.aria-label": "ariaLabel", "attr.aria-labelledby": "ariaLabelledby", "attr.aria-disabled": "disabled.toString()", "attr.aria-selected": "ariaSelected" }, classAttribute: "granite-chip" }, exportAs: ["graniteChip"], ngImport: i0, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteChipComponent, selector: "granite-chip, granite-input-chip", inputs: { tabIndex: "tabIndex", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], selected: "selected", value: "value", selectable: "selectable", disabled: "disabled", removable: "removable", invalid: "invalid" }, outputs: { selectionChange: "selectionChange", removed: "removed", destroyed: "destroyed", chipFocus: "chipFocus", chipBlur: "chipBlur" }, host: { listeners: { "click": "_handleClick($event)", "keydown": "_handleKeydown($event)", "blur": "_blur()", "focus": "focus()" }, properties: { "class.granite-chip-input": "inputChip", "class.granite-chip-selectable": "selectable", "class.granite-chip-selected": "selected", "class.granite-chip-disabled": "disabled", "class.granite-chip-invalid": "invalid", "class.granite-chip-removable": "!disabled && (removable || inputChip)", "attr.tabindex": "disabled ? null : tabIndex", "attr.role": "role", "attr.disabled": "disabled || null", "attr.aria-label": "ariaLabel", "attr.aria-labelledby": "ariaLabelledby", "attr.aria-disabled": "disabled.toString()", "attr.aria-selected": "ariaSelected" }, classAttribute: "granite-chip" }, exportAs: ["graniteChip"], ngImport: i0, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus);outline-offset:calc(var(--granite-border-width-focus) * -1)}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
228
228
  }
229
229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteChipComponent, decorators: [{
230
230
  type: Component,
@@ -247,7 +247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
247
247
  '(keydown)': '_handleKeydown($event)',
248
248
  '(blur)': '_blur()',
249
249
  '(focus)': 'focus()',
250
- }, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"] }]
250
+ }, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus);outline-offset:calc(var(--granite-border-width-focus) * -1)}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"] }]
251
251
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef, decorators: [{
252
252
  type: Optional
253
253
  }] }, { type: undefined, decorators: [{
@@ -16,11 +16,11 @@ export class GraniteCollapsibleGroupComponent {
16
16
  this.collapsedChanged.emit(this.collapsed);
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCollapsibleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCollapsibleGroupComponent, selector: "granite-collapsible-group", inputs: { collapsed: "collapsed", id: "id", arialabel: "arialabel" }, outputs: { collapsedChanged: "collapsedChanged" }, queries: [{ propertyName: "conditionalBodyContentRef", first: true, predicate: GraniteCollapsibleConditionalBodyDirective, descendants: true }, { propertyName: "conditionalHeaderContentRef", first: true, predicate: GraniteCollapsibleConditionalHeaderDirective, descendants: true }], ngImport: i0, template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon *ngIf=\"collapsed; else caretUp\">caret-down</granite-icon>\n <ng-template #caretUp>\n <granite-icon>caret-up</granite-icon>\n </ng-template>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background-variant);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-semibold);padding:0 var(--granite-spacing-8);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background-variant);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{opacity:.7}.collapsible-wrapper .collapsible-group-header .collapse-icon{align-self:center;font-size:var(--granite-font-size-display-small)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-2) var(--granite-spacing-16) var(--granite-spacing-2) var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCollapsibleGroupComponent, selector: "granite-collapsible-group", inputs: { collapsed: "collapsed", id: "id", arialabel: "arialabel" }, outputs: { collapsedChanged: "collapsedChanged" }, queries: [{ propertyName: "conditionalBodyContentRef", first: true, predicate: GraniteCollapsibleConditionalBodyDirective, descendants: true }, { propertyName: "conditionalHeaderContentRef", first: true, predicate: GraniteCollapsibleConditionalHeaderDirective, descendants: true }], ngImport: i0, template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCollapsibleGroupComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'granite-collapsible-group', template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon *ngIf=\"collapsed; else caretUp\">caret-down</granite-icon>\n <ng-template #caretUp>\n <granite-icon>caret-up</granite-icon>\n </ng-template>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background-variant);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-semibold);padding:0 var(--granite-spacing-8);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background-variant);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{opacity:.7}.collapsible-wrapper .collapsible-group-header .collapse-icon{align-self:center;font-size:var(--granite-font-size-display-small)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-2) var(--granite-spacing-16) var(--granite-spacing-2) var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"] }]
23
+ args: [{ selector: 'granite-collapsible-group', template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"] }]
24
24
  }], propDecorators: { collapsed: [{
25
25
  type: Input
26
26
  }], id: [{
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
36
36
  type: ContentChild,
37
37
  args: [GraniteCollapsibleConditionalHeaderDirective]
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTXBHLE1BQU0sT0FBTyxnQ0FBZ0M7SUFMN0M7UUFPRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFHdkIscUJBQWdCLEdBQ3ZCLElBQUksWUFBWSxFQUFXLENBQUM7S0FZL0I7SUFKQyxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0F2QlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsaVBBYzdCLDBDQUEwQyw4RkFHMUMsNENBQTRDLGdEQy9CNUQsMnZDQTBDQTs7MkZENUJhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBTXJDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlHLGdCQUFnQjtzQkFEeEIsTUFBTTtnQkFLUCx5QkFBeUI7c0JBRHhCLFlBQVk7dUJBQUMsMENBQTBDO2dCQUl4RCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29sbGFwc2libGUtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgY29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgYXJpYWxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY29sbGFwc2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUpXG4gIGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWY6IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlKVxuICBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWY6IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlO1xuXG4gIHRvZ2dsZUNvbGxhcHNpYmxlR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgdGhpcy5jb2xsYXBzZWRDaGFuZ2VkLmVtaXQodGhpcy5jb2xsYXBzZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sbGFwc2libGUtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXJcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKClcIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgY29uZGl0aW9uYWxIZWFkZXJDb250ZW50UmVmXG4gICAgICAgICAgPyBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWYudGVtcGxhdGVcbiAgICAgICAgICA6IG51bGxcbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWljb25cIj5cbiAgICAgIDxncmFuaXRlLWljb24gKm5nSWY9XCJjb2xsYXBzZWQ7IGVsc2UgY2FyZXRVcFwiPmNhcmV0LWRvd248L2dyYW5pdGUtaWNvbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZXRVcD5cbiAgICAgICAgPGdyYW5pdGUtaWNvbj5jYXJldC11cDwvZ3Jhbml0ZS1pY29uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNvbGxhcHNpYmxlLWdyb3VwLWJvZHlcIlxuICAgIFtjbGFzc109XCJjb2xsYXBzZWQgPyAnY29sbGFwc2UnIDogJ2V4cGFuZCdcIlxuICAgIHJvbGU9XCJyZWdpb25cIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICAhY29sbGFwc2VkICYmIGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWZcbiAgICAgICAgICA/IGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWYudGVtcGxhdGVcbiAgICAgICAgICA6IG51bGxcbiAgICAgIFwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTXBHLE1BQU0sT0FBTyxnQ0FBZ0M7SUFMN0M7UUFPRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFHdkIscUJBQWdCLEdBQ3ZCLElBQUksWUFBWSxFQUFXLENBQUM7S0FZL0I7SUFKQyxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0F2QlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsaVBBYzdCLDBDQUEwQyw4RkFHMUMsNENBQTRDLGdEQy9CNUQsNHJDQXlDQTs7MkZEM0JhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBTXJDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlHLGdCQUFnQjtzQkFEeEIsTUFBTTtnQkFLUCx5QkFBeUI7c0JBRHhCLFlBQVk7dUJBQUMsMENBQTBDO2dCQUl4RCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29sbGFwc2libGUtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgY29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgYXJpYWxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY29sbGFwc2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUpXG4gIGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWY6IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlKVxuICBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWY6IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlO1xuXG4gIHRvZ2dsZUNvbGxhcHNpYmxlR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgdGhpcy5jb2xsYXBzZWRDaGFuZ2VkLmVtaXQodGhpcy5jb2xsYXBzZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sbGFwc2libGUtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXJcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKClcIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgY29uZGl0aW9uYWxIZWFkZXJDb250ZW50UmVmXG4gICAgICAgICAgPyBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWYudGVtcGxhdGVcbiAgICAgICAgICA6IG51bGxcbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWljb25cIj5cbiAgICAgIDxncmFuaXRlLWljb25cbiAgICAgICAgW2ZvbnRJY29uXT1cImNvbGxhcHNlZCA/ICdpY29uLWNhcmV0LWRvd24nIDogJ2ljb24tY2FyZXQtdXAnXCJcbiAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNvbGxhcHNpYmxlLWdyb3VwLWJvZHlcIlxuICAgIFtjbGFzc109XCJjb2xsYXBzZWQgPyAnY29sbGFwc2UnIDogJ2V4cGFuZCdcIlxuICAgIHJvbGU9XCJyZWdpb25cIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICAhY29sbGFwc2VkICYmIGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWZcbiAgICAgICAgICA/IGNvbmRpdGlvbmFsQm9keUNvbnRlbnRSZWYudGVtcGxhdGVcbiAgICAgICAgICA6IG51bGxcbiAgICAgIFwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { DEFAULT_BROWSE_BUTTON_TEXT, DEFAULT_CANCEL_BUTTON_TEXT, DEFAULT_DROP_PLACEHOLDER_TEXT, DEFAULT_DROPZONE_HINT, DEFAULT_DROPZONE_TEXT, DEFAULT_FILE_BROWSE_BUTTON_ICON, DEFAULT_ACCEPT_TYPE, DEFAULT_MULTI_FILE_SUPPORT, DEFAULT_REMOVE_BUTTON_TEXT, DEFAULT_RETRY_BUTTON_TEXT, DEFAULT_UPLOAD_BUTTON_TEXT, DEFAULT_UPLOAD_FAILURE_ICON, DEFAULT_UPLOAD_ICON, DEFAULT_UPLOAD_TITLE, fileSizes, FileUploadStatus, FilUploadErrorTypes, } from './file-upload.constants';
2
+ import { DEFAULT_BROWSE_BUTTON_TEXT, DEFAULT_CANCEL_BUTTON_TEXT, DEFAULT_DROP_PLACEHOLDER_TEXT, DEFAULT_DROPZONE_HINT, DEFAULT_DROPZONE_TEXT, DEFAULT_FILE_BROWSE_BUTTON_ICON, DEFAULT_ACCEPT_TYPE, DEFAULT_MULTI_FILE_SUPPORT, DEFAULT_REMOVE_BUTTON_TEXT, DEFAULT_RETRY_BUTTON_TEXT, DEFAULT_UPLOAD_BUTTON_TEXT, DEFAULT_UPLOAD_ICON, DEFAULT_UPLOAD_TITLE, fileSizes, FileUploadStatus, FilUploadErrorTypes, } from './file-upload.constants';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { validFileTypes } from './file-upload.utils';
5
5
  import * as i0 from "@angular/core";
@@ -13,7 +13,6 @@ export class GraniteFileUploadComponent {
13
13
  this.uploadTitle = DEFAULT_UPLOAD_TITLE;
14
14
  this.uploadIcon = DEFAULT_UPLOAD_ICON;
15
15
  this.browseIcon = DEFAULT_FILE_BROWSE_BUTTON_ICON;
16
- this.errorIcon = DEFAULT_UPLOAD_FAILURE_ICON;
17
16
  this.dropZoneText = DEFAULT_DROPZONE_TEXT;
18
17
  this.browseButtonText = DEFAULT_BROWSE_BUTTON_TEXT;
19
18
  this.dropPlaceholderText = DEFAULT_DROP_PLACEHOLDER_TEXT;
@@ -94,7 +93,9 @@ export class GraniteFileUploadComponent {
94
93
  return files.map((file) => ({
95
94
  file,
96
95
  readableSize: this.formatBytesToReadableSize(file.size, 2),
97
- imageUrl: URL.createObjectURL(file),
96
+ imageUrl: file.type.startsWith('image/')
97
+ ? URL.createObjectURL(file)
98
+ : null,
98
99
  }));
99
100
  }
100
101
  uploadFiles() {
@@ -108,6 +109,14 @@ export class GraniteFileUploadComponent {
108
109
  this.fileRemoveHandler(i);
109
110
  }
110
111
  }
112
+ resetFileUpload() {
113
+ this.fileDropRef.nativeElement.value = null;
114
+ this.fileError = false;
115
+ this.fileDropErrorType = '';
116
+ this.selectedFiles = [];
117
+ this.previewReadyFiles = [];
118
+ this.uploadStatus = FileUploadStatus.NotStarted;
119
+ }
111
120
  formatBytesToReadableSize(bytes, decimals) {
112
121
  if (bytes === 0) {
113
122
  return `0 ${fileSizes[0]}`;
@@ -118,11 +127,11 @@ export class GraniteFileUploadComponent {
118
127
  return `${parseFloat((bytes / Math.pow(bytesPerKB, exp)).toFixed(decimalPoints))} ${fileSizes[exp]}`;
119
128
  }
120
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteFileUploadComponent, selector: "granite-file-upload", inputs: { accept: "accept", uploadTitle: "uploadTitle", uploadIcon: "uploadIcon", browseIcon: "browseIcon", errorIcon: "errorIcon", dropZoneText: "dropZoneText", browseButtonText: "browseButtonText", dropPlaceholderText: "dropPlaceholderText", dropZoneHint: "dropZoneHint", removeButtonText: "removeButtonText", uploadButtonText: "uploadButtonText", retryButtonText: "retryButtonText", cancelButtonText: "cancelButtonText", uploadStatus: "uploadStatus", autoUpload: "autoUpload" }, outputs: { browseOrDragFiles: "browseOrDragFiles", removeFiles: "removeFiles", filesUpload: "filesUpload", fileUploadValidation: "fileUploadValidation" }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n <ng-template #dropPlaceholder>\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n </ng-template>\n <ng-container\n *ngIf=\"!isFileOnDropzone && !fileError; else dropPlaceholder\"\n >\n <div\n class=\"file-upload-browse\"\n *ngIf=\"previewReadyFiles.length === 0; else filePreview\"\n >\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n <ng-template #filePreview>\n <div\n class=\"file-preview-container\"\n *ngFor=\"let previewFile of previewReadyFiles; let i = index\"\n >\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n <div\n class=\"loading-container\"\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n >\n <div class=\"uploading-spinner\"></div>\n </div>\n <div\n class=\"failed-icon-container\"\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n >\n <granite-icon\n class=\"error-icon\"\n [fontIcon]=\"errorIcon\"\n ></granite-icon>\n </div>\n <button\n graniteButton\n *ngIf=\"\n [\n FileUploadStatus.Completed,\n FileUploadStatus.NotStarted\n ].includes(uploadStatus)\n \"\n (click)=\"fileRemoveHandler(i)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:18px;text-align:center;color:var(--granite-color-text-hint);margin:10px 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:6px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;width:100%;text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{opacity:.6;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{width:80px;height:114px;background-color:var(--granite-color-background-variant)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{max-width:100%;max-height:100%;aspect-ratio:2/1;object-fit:cover;object-position:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:10px;color:var(--granite-color-text-link);margin:0 0 14px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container{position:absolute;transform:translateY(100%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container .uploading-spinner,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container .error-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container .error-icon{color:var(--granite-color-state-error);font-size:35px;padding:0}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteButtonComponent, selector: "button[graniteButton],\n button[granitePrimaryButton],\n button[graniteFlatButton],\n button[graniteToolbarButton]\n ", inputs: ["disabled", "toggled"], exportAs: ["graniteButton"] }, { kind: "component", type: i3.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i4.GraniteFileDragAndDropDirective, selector: "[graniteFileDragAndDrop]", inputs: ["multiFileUploadEnabled", "accept", "currentFiles"], outputs: ["droppedFiles", "isFileOver", "fileUploadValidation"], exportAs: ["graniteFileDragAndDrop"] }] }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: GraniteFileUploadComponent, selector: "granite-file-upload", inputs: { accept: "accept", uploadTitle: "uploadTitle", uploadIcon: "uploadIcon", browseIcon: "browseIcon", dropZoneText: "dropZoneText", browseButtonText: "browseButtonText", dropPlaceholderText: "dropPlaceholderText", dropZoneHint: "dropZoneHint", removeButtonText: "removeButtonText", uploadButtonText: "uploadButtonText", retryButtonText: "retryButtonText", cancelButtonText: "cancelButtonText", uploadStatus: "uploadStatus", autoUpload: "autoUpload" }, outputs: { browseOrDragFiles: "browseOrDragFiles", removeFiles: "removeFiles", filesUpload: "filesUpload", fileUploadValidation: "fileUploadValidation" }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n [ngClass]=\"{ 'upload-failed': uploadStatus === FileUploadStatus.Failed }\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n @if (!isFileOnDropzone && !fileError) {\n <div\n class=\"file-upload-browse\"\n *ngIf=\"previewReadyFiles.length === 0; else filePreview\"\n >\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n <ng-template #filePreview>\n <div\n class=\"file-preview-container\"\n *ngFor=\"let previewFile of previewReadyFiles; let i = index\"\n >\n @if (previewFile?.imageUrl) {\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n [ngTemplateOutlet]=\"uploadFailedOverlay\"\n >\n </ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n } @else {\n <div\n class=\"document-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n >\n <div class=\"document-preview-holder\">\n <granite-icon\n class=\"document-file-preview\"\n [class.upload-failed]=\"\n uploadStatus === FileUploadStatus.Failed\n \"\n [fontIcon]=\"'icon-document-alt'\"\n ></granite-icon>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </div>\n }\n <button\n graniteButton\n *ngIf=\"\n [\n FileUploadStatus.Completed,\n FileUploadStatus.NotStarted\n ].includes(uploadStatus)\n \"\n (click)=\"fileRemoveHandler(i)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n </ng-template>\n } @else {\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n }\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #uploadingOverlay>\n <div class=\"file-preview-overlay\"></div>\n <div class=\"loading-container\">\n <div class=\"uploading-spinner\"></div>\n </div>\n</ng-template>\n\n<ng-template #uploadFailedOverlay>\n <div class=\"file-preview-overlay\"></div>\n</ng-template>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.upload-failed{border-color:var(--granite-color-categorical-4)}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * 1.125);text-align:center;color:var(--granite-color-text-hint);margin:calc(var(--granite-spacing-base-rem) * .625) 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:calc(var(--granite-spacing-base-rem) * .375)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:80px;height:114px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(250%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .file-preview-overlay{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder img{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.2}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder img,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-link);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:60px;height:60px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview{font-size:calc(var(--granite-font-size-body) * 3);color:var(--granite-color-text-hint);padding:calc(var(--granite-spacing-4) * 3) 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview.upload-failed{color:var(--granite-color-background-failure)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-10%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .document-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .document-file-preview,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-weak);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-week);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteButtonComponent, selector: "button[graniteButton],\n button[granitePrimaryButton],\n button[graniteFlatButton],\n button[graniteToolbarButton]\n ", inputs: ["disabled", "toggled"], exportAs: ["graniteButton"] }, { kind: "component", type: i3.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i4.GraniteFileDragAndDropDirective, selector: "[graniteFileDragAndDrop]", inputs: ["multiFileUploadEnabled", "accept", "currentFiles"], outputs: ["droppedFiles", "isFileOver", "fileUploadValidation"], exportAs: ["graniteFileDragAndDrop"] }] }); }
122
131
  }
123
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteFileUploadComponent, decorators: [{
124
133
  type: Component,
125
- args: [{ selector: 'granite-file-upload', template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n <ng-template #dropPlaceholder>\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n </ng-template>\n <ng-container\n *ngIf=\"!isFileOnDropzone && !fileError; else dropPlaceholder\"\n >\n <div\n class=\"file-upload-browse\"\n *ngIf=\"previewReadyFiles.length === 0; else filePreview\"\n >\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n <ng-template #filePreview>\n <div\n class=\"file-preview-container\"\n *ngFor=\"let previewFile of previewReadyFiles; let i = index\"\n >\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n <div\n class=\"loading-container\"\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n >\n <div class=\"uploading-spinner\"></div>\n </div>\n <div\n class=\"failed-icon-container\"\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n >\n <granite-icon\n class=\"error-icon\"\n [fontIcon]=\"errorIcon\"\n ></granite-icon>\n </div>\n <button\n graniteButton\n *ngIf=\"\n [\n FileUploadStatus.Completed,\n FileUploadStatus.NotStarted\n ].includes(uploadStatus)\n \"\n (click)=\"fileRemoveHandler(i)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:18px;text-align:center;color:var(--granite-color-text-hint);margin:10px 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:6px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;width:100%;text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{opacity:.6;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{width:80px;height:114px;background-color:var(--granite-color-background-variant)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{max-width:100%;max-height:100%;aspect-ratio:2/1;object-fit:cover;object-position:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:10px;color:var(--granite-color-text-link);margin:0 0 14px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container{position:absolute;transform:translateY(100%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container .uploading-spinner,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .loading-container .error-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .failed-icon-container .error-icon{color:var(--granite-color-state-error);font-size:35px;padding:0}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"] }]
134
+ args: [{ selector: 'granite-file-upload', template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n [ngClass]=\"{ 'upload-failed': uploadStatus === FileUploadStatus.Failed }\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"supportMultiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n @if (!isFileOnDropzone && !fileError) {\n <div\n class=\"file-upload-browse\"\n *ngIf=\"previewReadyFiles.length === 0; else filePreview\"\n >\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n <ng-template #filePreview>\n <div\n class=\"file-preview-container\"\n *ngFor=\"let previewFile of previewReadyFiles; let i = index\"\n >\n @if (previewFile?.imageUrl) {\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n [ngTemplateOutlet]=\"uploadFailedOverlay\"\n >\n </ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n } @else {\n <div\n class=\"document-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress':\n uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n >\n <div class=\"document-preview-holder\">\n <granite-icon\n class=\"document-file-preview\"\n [class.upload-failed]=\"\n uploadStatus === FileUploadStatus.Failed\n \"\n [fontIcon]=\"'icon-document-alt'\"\n ></granite-icon>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </div>\n }\n <button\n graniteButton\n *ngIf=\"\n [\n FileUploadStatus.Completed,\n FileUploadStatus.NotStarted\n ].includes(uploadStatus)\n \"\n (click)=\"fileRemoveHandler(i)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n </ng-template>\n } @else {\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n }\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #uploadingOverlay>\n <div class=\"file-preview-overlay\"></div>\n <div class=\"loading-container\">\n <div class=\"uploading-spinner\"></div>\n </div>\n</ng-template>\n\n<ng-template #uploadFailedOverlay>\n <div class=\"file-preview-overlay\"></div>\n</ng-template>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.upload-failed{border-color:var(--granite-color-categorical-4)}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * 1.125);text-align:center;color:var(--granite-color-text-hint);margin:calc(var(--granite-spacing-base-rem) * .625) 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:calc(var(--granite-spacing-base-rem) * .375)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:80px;height:114px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(250%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .file-preview-overlay{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder img{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.2}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder img,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-link);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:60px;height:60px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview{font-size:calc(var(--granite-font-size-body) * 3);color:var(--granite-color-text-hint);padding:calc(var(--granite-spacing-4) * 3) 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview.upload-failed{color:var(--granite-color-background-failure)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-10%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .document-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .document-file-preview,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-weak);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-week);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"] }]
126
135
  }], propDecorators: { fileDropRef: [{
127
136
  type: ViewChild,
128
137
  args: ['fileDropRef', { read: ElementRef }]
@@ -134,8 +143,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
134
143
  type: Input
135
144
  }], browseIcon: [{
136
145
  type: Input
137
- }], errorIcon: [{
138
- type: Input
139
146
  }], dropZoneText: [{
140
147
  type: Input
141
148
  }], browseButtonText: [{
@@ -165,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
165
172
  }], autoUpload: [{
166
173
  type: Input
167
174
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixTQUFTLEVBRVQsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUVwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBT3JELE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFVRSxXQUFNLEdBQVcsbUJBQW1CLENBQUM7UUFHckMsZ0JBQVcsR0FBVyxvQkFBb0IsQ0FBQztRQUczQyxlQUFVLEdBQVcsbUJBQW1CLENBQUM7UUFHekMsZUFBVSxHQUFXLCtCQUErQixDQUFDO1FBR3JELGNBQVMsR0FBVywyQkFBMkIsQ0FBQztRQUdoRCxpQkFBWSxHQUFXLHFC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QkFBMEI7a0dBQTFCLDBCQUEwQiwrd0JBQ0gsVUFBVSw2QkN0QzlDLG1uSkEySUE7OzJGRHRHYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU0vQixXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJOUMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixNQUFNO2dCQU1QLFdBQVc7c0JBRFYsTUFBTTtnQkFNUCxXQUFXO3NCQURWLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQWdCSCxZQUFZO3NCQURmLEtBQUs7Z0JBWUYsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVCxcbiAgREVGQVVMVF9DQU5DRUxfQlVUVE9OX1RFWFQsXG4gIERFRkFVTFRfRFJPUF9QTEFDRUhPTERFUl9URVhULFxuICBERUZBVUxUX0RST1BaT05FX0hJTlQsXG4gIERFRkFVTFRfRFJPUFpPTkVfVEVYVCxcbiAgREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTixcbiAgREVGQVVMVF9BQ0NFUFRfVFlQRSxcbiAgREVGQVVMVF9NVUxUSV9GSUxFX1NVUFBPUlQsXG4gIERFRkFVTFRfUkVNT1ZFX0JVVFRPTl9URVhULFxuICBERUZBVUxUX1JFVFJZX0JVVFRPTl9URVhULFxuICBERUZBVUxUX1VQTE9BRF9CVVRUT05fVEVYVCxcbiAgREVGQVVMVF9VUExPQURfRkFJTFVSRV9JQ09OLFxuICBERUZBVUxUX1VQTE9BRF9JQ09OLFxuICBERUZBVUxUX1VQTE9BRF9USVRMRSxcbiAgZmlsZVNpemVzLFxuICBGaWxlVXBsb2FkRXJyb3IsXG4gIEZpbGVVcGxvYWRTdGF0dXMsXG4gIEZpbFVwbG9hZEVycm9yVHlwZXMsXG4gIFNlbGVjdGVkRmlsZSxcbn0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb25zdGFudHMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IHZhbGlkRmlsZVR5cGVzIH0gZnJvbSAnLi9maWxlLXVwbG9hZC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2ZpbGVEcm9wUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGZpbGVEcm9wUmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKVxuICBhY2NlcHQ6IHN0cmluZyA9IERFRkFVTFRfQUNDRVBUX1RZUEU7XG5cbiAgQElucHV0KClcbiAgdXBsb2FkVGl0bGU6IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX1RJVExFO1xuXG4gIEBJbnB1dCgpXG4gIHVwbG9hZEljb246IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX0lDT047XG5cbiAgQElucHV0KClcbiAgYnJvd3NlSWNvbjogc3RyaW5nID0gREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTjtcblxuICBASW5wdXQoKVxuICBlcnJvckljb246IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX0ZBSUxVUkVfSUNPTjtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZVRleHQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfVEVYVDtcblxuICBASW5wdXQoKVxuICBicm93c2VCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wUGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgPSBERUZBVUxUX0RST1BfUExBQ0VIT0xERVJfVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZUhpbnQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfSElOVDtcblxuICBASW5wdXQoKVxuICByZW1vdmVCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1JFTU9WRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICB1cGxvYWRCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1VQTE9BRF9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICByZXRyeUJ1dHRvblRleHQ6IHN0cmluZyA9IERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQ7XG5cbiAgQElucHV0KClcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gREVGQVVMVF9DQU5DRUxfQlVUVE9OX1RFWFQ7XG5cbiAgQE91dHB1dCgpXG4gIGJyb3dzZU9yRHJhZ0ZpbGVzOiBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBTZWxlY3RlZEZpbGVbXVxuICA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZUZpbGVzOiBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBTZWxlY3RlZEZpbGVbXVxuICA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVzVXBsb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVVcGxvYWRWYWxpZGF0aW9uOiBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEVycm9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxGaWxlVXBsb2FkRXJyb3I+KCk7XG5cbiAgc2VsZWN0ZWRGaWxlczogRmlsZVtdID0gW107XG4gIHByZXZpZXdSZWFkeUZpbGVzOiBTZWxlY3RlZEZpbGVbXSA9IFtdO1xuICBpc0ZpbGVPbkRyb3B6b25lOiBib29sZWFuID0gZmFsc2U7XG4gIEZpbGVVcGxvYWRTdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzO1xuICBmaWxlRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZURyb3BFcnJvclR5cGU6IHN0cmluZztcbiAgLy8gVE9ETzogdGhpcyBiZWNvbWVzIGlucHV0IHdoZW4gbXVsdGlwbGUgZmlsZSB1cGxvYWQgc3VwcG9ydCB3aXRoIGNhcm91c2VsIGNvbXBvbmVudCB3YXMgZG9uZS5cbiAgc3VwcG9ydE11bHRpRmlsZVVwbG9hZDogYm9vbGVhbiA9IERFRkFVTFRfTVVMVElfRklMRV9TVVBQT1JUO1xuXG4gIHByb3RlY3RlZCBfdXBsb2FkU3RhdHVzOiBGaWxlVXBsb2FkU3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5Ob3RTdGFydGVkO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB1cGxvYWRTdGF0dXMoKTogRmlsZVVwbG9hZFN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3VwbG9hZFN0YXR1cztcbiAgfVxuXG4gIHNldCB1cGxvYWRTdGF0dXMoc3RhdHVzOiBGaWxlVXBsb2FkU3RhdHVzKSB7XG4gICAgdGhpcy5fdXBsb2FkU3RhdHVzID0gc3RhdHVzO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9hdXRvVXBsb2FkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgYXV0b1VwbG9hZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b1VwbG9hZDtcbiAgfVxuXG4gIHNldCBhdXRvVXBsb2FkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYXV0b1VwbG9hZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBmaWxlQnJvd3NlSGFuZGxlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBmaWxlczogRmlsZVtdID0gQXJyYXkuZnJvbSh0YXJnZXQuZmlsZXMpO1xuXG4gICAgaWYgKCF2YWxpZEZpbGVUeXBlcyh0aGlzLmFjY2VwdCwgZmlsZXMpKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRWYWxpZGF0aW9uLmVtaXQoe1xuICAgICAgICBpc0Vycm9yOiB0cnVlLFxuICAgICAgICB0eXBlOiBGaWxVcGxvYWRFcnJvclR5cGVzLkV4dGVuc2lvbk5vdFN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWxlRHJvcFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbLi4udGhpcy5zZWxlY3RlZEZpbGVzLCAuLi5maWxlc107XG4gICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcyA9IHRoaXMucHJlcGFyZVNlbGVjdGVkRmlsZXModGhpcy5zZWxlY3RlZEZpbGVzKTtcbiAgICB0aGlzLmJyb3dzZU9yRHJhZ0ZpbGVzLmVtaXQodGhpcy5wcmV2aWV3UmVhZHlGaWxlcyk7XG4gIH1cblxuICBmaWxlUmVtb3ZlSGFuZGxlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZURyb3BSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLnVwbG9hZFN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZDtcbiAgICB9XG5cbiAgICB0aGlzLnJlbW92ZUZpbGVzLmVtaXQodGhpcy5wcmV2aWV3UmVhZHlGaWxlcyk7XG4gIH1cblxuICBvbkZpbGVzRHJvcEhhbmRsZXIoZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnN1cHBvcnRNdWx0aUZpbGVVcGxvYWQgJiZcbiAgICAgICh0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoID09PSAxIHx8IGZpbGVzLmxlbmd0aCAhPT0gMSlcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZUVycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlcztcblxuICAgIHRoaXMucHJldmlld1JlYWR5RmlsZXMgPSB0aGlzLnByZXBhcmVTZWxlY3RlZEZpbGVzKHRoaXMuc2VsZWN0ZWRGaWxlcyk7XG4gICAgdGhpcy5icm93c2VPckRyYWdGaWxlcy5lbWl0KHRoaXMucHJldmlld1JlYWR5RmlsZXMpO1xuICB9XG5cbiAgb25GaWxlT3ZlckRyb3B6b25lKGlzRmlsZU92ZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRmlsZU9uRHJvcHpvbmUgPSBpc0ZpbGVPdmVyO1xuICB9XG5cbiAgb25GaWxlRHJvcEVycm9yKHZhbGlkYXRpb246IEZpbGVVcGxvYWRFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuZmlsZUVycm9yID0gdmFsaWRhdGlvbi5pc0Vycm9yO1xuICAgIHRoaXMuZmlsZURyb3BFcnJvclR5cGUgPSB2YWxpZGF0aW9uLnR5cGU7XG4gIH1cblxuICBwcmVwYXJlU2VsZWN0ZWRGaWxlcyhmaWxlczogRmlsZVtdKTogU2VsZWN0ZWRGaWxlW10ge1xuICAgIHJldHVybiBmaWxlcy5tYXAoKGZpbGU6IEZpbGUpID0+ICh7XG4gICAgICBmaWxlLFxuICAgICAgcmVhZGFibGVTaXplOiB0aGlzLmZvcm1hdEJ5dGVzVG9SZWFkYWJsZVNpemUoZmlsZS5zaXplLCAyKSxcbiAgICAgIGltYWdlVXJsOiBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHVwbG9hZEZpbGVzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZXNVcGxvYWQuZW1pdCgpO1xuICB9XG5cbiAgcmV0cnlVcGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlc1VwbG9hZC5lbWl0KCk7XG4gIH1cblxuICBjYW5jZWxVcGxvYWQoKTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnByZXZpZXdSZWFkeUZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmZpbGVSZW1vdmVIYW5kbGVyKGkpO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdEJ5dGVzVG9SZWFkYWJsZVNpemUoYnl0ZXM6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XG4gICAgICByZXR1cm4gYDAgJHtmaWxlU2l6ZXNbMF19YDtcbiAgICB9XG5cbiAgICBjb25zdCBieXRlc1BlcktCID0gMTAyNDtcbiAgICBjb25zdCBkZWNpbWFsUG9pbnRzID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscyB8fCAyO1xuICAgIGNvbnN0IGV4cCA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coYnl0ZXNQZXJLQikpO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KFxuICAgICAgKGJ5dGVzIC8gTWF0aC5wb3coYnl0ZXNQZXJLQiwgZXhwKSkudG9GaXhlZChkZWNpbWFsUG9pbnRzKVxuICAgICl9ICR7ZmlsZVNpemVzW2V4cF19YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLXdyYXBwZXJcIj5cbiAgPGgyIGNsYXNzPVwiZmlsZS11cGxvYWQtdGl0bGVcIj57eyB1cGxvYWRUaXRsZSB9fTwvaDI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZpbGUtZHJvcHpvbmVcIlxuICAgIGdyYW5pdGVGaWxlRHJhZ0FuZERyb3BcbiAgICAoZHJvcHBlZEZpbGVzKT1cIm9uRmlsZXNEcm9wSGFuZGxlcigkZXZlbnQpXCJcbiAgICAoaXNGaWxlT3Zlcik9XCJvbkZpbGVPdmVyRHJvcHpvbmUoJGV2ZW50KVwiXG4gICAgKGZpbGVVcGxvYWRWYWxpZGF0aW9uKT1cIm9uRmlsZURyb3BFcnJvcigkZXZlbnQpXCJcbiAgICBbbXVsdGlGaWxlVXBsb2FkRW5hYmxlZF09XCJzdXBwb3J0TXVsdGlGaWxlVXBsb2FkXCJcbiAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgW2N1cnJlbnRGaWxlc109XCJzZWxlY3RlZEZpbGVzXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmaWxlLWlucHV0XCJcbiAgICAgICNmaWxlRHJvcFJlZlxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgdGl0bGU9XCJmaWxlVXBsb2FkXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUJyb3dzZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICBbbXVsdGlwbGVdPVwic3VwcG9ydE11bHRpRmlsZVVwbG9hZFwiXG4gICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS11cGxvYWQtYm9keVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNkcm9wUGxhY2Vob2xkZXI+XG4gICAgICAgIDxwIGNsYXNzPVwiZHJvcC1hcmVhLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAge3sgZHJvcFBsYWNlaG9sZGVyVGV4dCB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIiFpc0ZpbGVPbkRyb3B6b25lICYmICFmaWxlRXJyb3I7IGVsc2UgZHJvcFBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZmlsZS11cGxvYWQtYnJvd3NlXCJcbiAgICAgICAgICAqbmdJZj1cInByZXZpZXdSZWFkeUZpbGVzLmxlbmd0aCA9PT0gMDsgZWxzZSBmaWxlUHJldmlld1wiXG4gICAgICAgID5cbiAgICAgICAgICA8Z3Jhbml0ZS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImZpbGUtdXBsb2FkLWljb25cIlxuICAgICAgICAgICAgW2ZvbnRJY29uXT1cInVwbG9hZEljb25cIlxuICAgICAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1zZWxlY3Rpb25cIj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImZpbGUtdXBsb2FkLWJvZHktdGV4dFwiPnt7IGRyb3Bab25lVGV4dCB9fTwvaDI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1zZWxlY3QtYnV0dG9uXCJcbiAgICAgICAgICAgICAgZ3Jhbml0ZUJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZURyb3BSZWYuY2xpY2soKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxncmFuaXRlLWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJyb3dzZS1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgW2ZvbnRJY29uXT1cImJyb3dzZUljb25cIlxuICAgICAgICAgICAgICA+PC9ncmFuaXRlLWljb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJicm93c2UtYnV0dG9uLXRleHRcIj57eyBicm93c2VCdXR0b25UZXh0IH19PC9kaXY+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCAqbmdJZj1cImRyb3Bab25lSGludFwiIGNsYXNzPVwiZmlsZS11cGxvYWQtaGludFwiPlxuICAgICAgICAgICAge3sgZHJvcFpvbmVIaW50IH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmaWxlUHJldmlldz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZpbGUtcHJldmlldy1jb250YWluZXJcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByZXZpZXdGaWxlIG9mIHByZXZpZXdSZWFkeUZpbGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cImZpbGUtcHJldmlldy1saW5rXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd1cGxvYWRpbmctaW4tcHJvZ3Jlc3MnOlxuICAgICAgICAgICAgICAgICAgdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkluUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgJ3VwbG9hZC1mYWlsZWQnOiB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBbaHJlZl09XCJwcmV2aWV3RmlsZT8uaW1hZ2VVcmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJwcmV2aWV3RmlsZT8uaW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgICAgW2FsdF09XCJwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmlsZS1uYW1lXCIgW3RpdGxlXT1cInByZXZpZXdGaWxlPy5maWxlPy5uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgcHJldmlld0ZpbGU/LmZpbGU/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImZpbGUtc2l6ZVwiPnt7IHByZXZpZXdGaWxlPy5yZWFkYWJsZVNpemUgfX08L3A+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZGluZy1zcGlubmVyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYWlsZWQtaWNvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5GYWlsZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Z3Jhbml0ZS1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlcnJvci1pY29uXCJcbiAgICAgICAgICAgICAgICBbZm9udEljb25dPVwiZXJyb3JJY29uXCJcbiAgICAgICAgICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGdyYW5pdGVCdXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBGaWxlVXBsb2FkU3RhdHVzLkNvbXBsZXRlZCxcbiAgICAgICAgICAgICAgICAgIEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZFxuICAgICAgICAgICAgICAgIF0uaW5jbHVkZXModXBsb2FkU3RhdHVzKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZVJlbW92ZUhhbmRsZXIoaSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByZW1vdmVCdXR0b25UZXh0IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItY29udGFpbmVyXCIgKm5nSWY9XCJwcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWF1dG9VcGxvYWQgJiYgdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLk5vdFN0YXJ0ZWRcIlxuICAgICAgICBncmFuaXRlUHJpbWFyeUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwidXBsb2FkRmlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHVwbG9hZEJ1dHRvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5GYWlsZWRcIj5cbiAgICAgICAgPGJ1dHRvbiBncmFuaXRlQnV0dG9uIChjbGljayk9XCJjYW5jZWxVcGxvYWQoKVwiPlxuICAgICAgICAgIHt7IGNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInJldHJ5LXVwbG9hZC1idXR0b25cIlxuICAgICAgICAgIGdyYW5pdGVQcmltYXJ5QnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInJldHJ5VXBsb2FkKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcmV0cnlCdXR0b25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEdBRXBCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFPckQsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQVVFLFdBQU0sR0FBVyxtQkFBbUIsQ0FBQztRQUdyQyxnQkFBVyxHQUFXLG9CQUFvQixDQUFDO1FBRzNDLGVBQVUsR0FBVyxtQkFBbUIsQ0FBQztRQUd6QyxlQUFVLEdBQVcsK0JBQStCLENBQUM7UUFHckQsaUJBQVksR0FBVyxxQkFBcUIsQ0FBQztRQUc3QyxxQkFBZ0IsR0FBVywwQkFBMEIsQ0FBQztR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cnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERFRkFVTFRfQlJPV1NFX0JVVFRPTl9URVhULFxuICBERUZBVUxUX0NBTkNFTF9CVVRUT05fVEVYVCxcbiAgREVGQVVMVF9EUk9QX1BMQUNFSE9MREVSX1RFWFQsXG4gIERFRkFVTFRfRFJPUFpPTkVfSElOVCxcbiAgREVGQVVMVF9EUk9QWk9ORV9URVhULFxuICBERUZBVUxUX0ZJTEVfQlJPV1NFX0JVVFRPTl9JQ09OLFxuICBERUZBVUxUX0FDQ0VQVF9UWVBFLFxuICBERUZBVUxUX01VTFRJX0ZJTEVfU1VQUE9SVCxcbiAgREVGQVVMVF9SRU1PVkVfQlVUVE9OX1RFWFQsXG4gIERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQsXG4gIERFRkFVTFRfVVBMT0FEX0JVVFRPTl9URVhULFxuICBERUZBVUxUX1VQTE9BRF9JQ09OLFxuICBERUZBVUxUX1VQTE9BRF9USVRMRSxcbiAgZmlsZVNpemVzLFxuICBGaWxlVXBsb2FkRXJyb3IsXG4gIEZpbGVVcGxvYWRTdGF0dXMsXG4gIEZpbFVwbG9hZEVycm9yVHlwZXMsXG4gIFNlbGVjdGVkRmlsZSxcbn0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb25zdGFudHMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IHZhbGlkRmlsZVR5cGVzIH0gZnJvbSAnLi9maWxlLXVwbG9hZC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2ZpbGVEcm9wUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGZpbGVEcm9wUmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKVxuICBhY2NlcHQ6IHN0cmluZyA9IERFRkFVTFRfQUNDRVBUX1RZUEU7XG5cbiAgQElucHV0KClcbiAgdXBsb2FkVGl0bGU6IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX1RJVExFO1xuXG4gIEBJbnB1dCgpXG4gIHVwbG9hZEljb246IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX0lDT047XG5cbiAgQElucHV0KClcbiAgYnJvd3NlSWNvbjogc3RyaW5nID0gREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTjtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZVRleHQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfVEVYVDtcblxuICBASW5wdXQoKVxuICBicm93c2VCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wUGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgPSBERUZBVUxUX0RST1BfUExBQ0VIT0xERVJfVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZUhpbnQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfSElOVDtcblxuICBASW5wdXQoKVxuICByZW1vdmVCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1JFTU9WRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICB1cGxvYWRCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1VQTE9BRF9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICByZXRyeUJ1dHRvblRleHQ6IHN0cmluZyA9IERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQ7XG5cbiAgQElucHV0KClcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gREVGQVVMVF9DQU5DRUxfQlVUVE9OX1RFWFQ7XG5cbiAgQE91dHB1dCgpXG4gIGJyb3dzZU9yRHJhZ0ZpbGVzOiBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBTZWxlY3RlZEZpbGVbXVxuICA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZUZpbGVzOiBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBTZWxlY3RlZEZpbGVbXVxuICA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVzVXBsb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVVcGxvYWRWYWxpZGF0aW9uOiBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEVycm9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxGaWxlVXBsb2FkRXJyb3I+KCk7XG5cbiAgc2VsZWN0ZWRGaWxlczogRmlsZVtdID0gW107XG4gIHByZXZpZXdSZWFkeUZpbGVzOiBTZWxlY3RlZEZpbGVbXSA9IFtdO1xuICBpc0ZpbGVPbkRyb3B6b25lOiBib29sZWFuID0gZmFsc2U7XG4gIEZpbGVVcGxvYWRTdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzO1xuICBmaWxlRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZURyb3BFcnJvclR5cGU6IHN0cmluZztcbiAgLy8gVE9ETzogdGhpcyBiZWNvbWVzIGlucHV0IHdoZW4gbXVsdGlwbGUgZmlsZSB1cGxvYWQgc3VwcG9ydCB3aXRoIGNhcm91c2VsIGNvbXBvbmVudCB3YXMgZG9uZS5cbiAgc3VwcG9ydE11bHRpRmlsZVVwbG9hZDogYm9vbGVhbiA9IERFRkFVTFRfTVVMVElfRklMRV9TVVBQT1JUO1xuXG4gIHByb3RlY3RlZCBfdXBsb2FkU3RhdHVzOiBGaWxlVXBsb2FkU3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5Ob3RTdGFydGVkO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB1cGxvYWRTdGF0dXMoKTogRmlsZVVwbG9hZFN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3VwbG9hZFN0YXR1cztcbiAgfVxuXG4gIHNldCB1cGxvYWRTdGF0dXMoc3RhdHVzOiBGaWxlVXBsb2FkU3RhdHVzKSB7XG4gICAgdGhpcy5fdXBsb2FkU3RhdHVzID0gc3RhdHVzO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9hdXRvVXBsb2FkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgYXV0b1VwbG9hZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b1VwbG9hZDtcbiAgfVxuXG4gIHNldCBhdXRvVXBsb2FkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYXV0b1VwbG9hZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBmaWxlQnJvd3NlSGFuZGxlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBmaWxlczogRmlsZVtdID0gQXJyYXkuZnJvbSh0YXJnZXQuZmlsZXMpO1xuXG4gICAgaWYgKCF2YWxpZEZpbGVUeXBlcyh0aGlzLmFjY2VwdCwgZmlsZXMpKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRWYWxpZGF0aW9uLmVtaXQoe1xuICAgICAgICBpc0Vycm9yOiB0cnVlLFxuICAgICAgICB0eXBlOiBGaWxVcGxvYWRFcnJvclR5cGVzLkV4dGVuc2lvbk5vdFN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWxlRHJvcFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbLi4udGhpcy5zZWxlY3RlZEZpbGVzLCAuLi5maWxlc107XG4gICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcyA9IHRoaXMucHJlcGFyZVNlbGVjdGVkRmlsZXModGhpcy5zZWxlY3RlZEZpbGVzKTtcbiAgICB0aGlzLmJyb3dzZU9yRHJhZ0ZpbGVzLmVtaXQodGhpcy5wcmV2aWV3UmVhZHlGaWxlcyk7XG4gIH1cblxuICBmaWxlUmVtb3ZlSGFuZGxlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZURyb3BSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLnVwbG9hZFN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZDtcbiAgICB9XG5cbiAgICB0aGlzLnJlbW92ZUZpbGVzLmVtaXQodGhpcy5wcmV2aWV3UmVhZHlGaWxlcyk7XG4gIH1cblxuICBvbkZpbGVzRHJvcEhhbmRsZXIoZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnN1cHBvcnRNdWx0aUZpbGVVcGxvYWQgJiZcbiAgICAgICh0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoID09PSAxIHx8IGZpbGVzLmxlbmd0aCAhPT0gMSlcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZUVycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlcztcblxuICAgIHRoaXMucHJldmlld1JlYWR5RmlsZXMgPSB0aGlzLnByZXBhcmVTZWxlY3RlZEZpbGVzKHRoaXMuc2VsZWN0ZWRGaWxlcyk7XG4gICAgdGhpcy5icm93c2VPckRyYWdGaWxlcy5lbWl0KHRoaXMucHJldmlld1JlYWR5RmlsZXMpO1xuICB9XG5cbiAgb25GaWxlT3ZlckRyb3B6b25lKGlzRmlsZU92ZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRmlsZU9uRHJvcHpvbmUgPSBpc0ZpbGVPdmVyO1xuICB9XG5cbiAgb25GaWxlRHJvcEVycm9yKHZhbGlkYXRpb246IEZpbGVVcGxvYWRFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuZmlsZUVycm9yID0gdmFsaWRhdGlvbi5pc0Vycm9yO1xuICAgIHRoaXMuZmlsZURyb3BFcnJvclR5cGUgPSB2YWxpZGF0aW9uLnR5cGU7XG4gIH1cblxuICBwcmVwYXJlU2VsZWN0ZWRGaWxlcyhmaWxlczogRmlsZVtdKTogU2VsZWN0ZWRGaWxlW10ge1xuICAgIHJldHVybiBmaWxlcy5tYXAoKGZpbGU6IEZpbGUpID0+ICh7XG4gICAgICBmaWxlLFxuICAgICAgcmVhZGFibGVTaXplOiB0aGlzLmZvcm1hdEJ5dGVzVG9SZWFkYWJsZVNpemUoZmlsZS5zaXplLCAyKSxcbiAgICAgIGltYWdlVXJsOiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICAgICAgPyBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG4gICAgICAgIDogbnVsbCxcbiAgICB9KSk7XG4gIH1cblxuICB1cGxvYWRGaWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVzVXBsb2FkLmVtaXQoKTtcbiAgfVxuXG4gIHJldHJ5VXBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZXNVcGxvYWQuZW1pdCgpO1xuICB9XG5cbiAgY2FuY2VsVXBsb2FkKCk6IHZvaWQge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5maWxlUmVtb3ZlSGFuZGxlcihpKTtcbiAgICB9XG4gIH1cblxuICByZXNldEZpbGVVcGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlRHJvcFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmZpbGVFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZURyb3BFcnJvclR5cGUgPSAnJztcbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbXTtcbiAgICB0aGlzLnByZXZpZXdSZWFkeUZpbGVzID0gW107XG4gICAgdGhpcy51cGxvYWRTdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLk5vdFN0YXJ0ZWQ7XG4gIH1cblxuICBmb3JtYXRCeXRlc1RvUmVhZGFibGVTaXplKGJ5dGVzOiBudW1iZXIsIGRlY2ltYWxzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChieXRlcyA9PT0gMCkge1xuICAgICAgcmV0dXJuIGAwICR7ZmlsZVNpemVzWzBdfWA7XG4gICAgfVxuXG4gICAgY29uc3QgYnl0ZXNQZXJLQiA9IDEwMjQ7XG4gICAgY29uc3QgZGVjaW1hbFBvaW50cyA9IGRlY2ltYWxzIDw9IDAgPyAwIDogZGVjaW1hbHMgfHwgMjtcbiAgICBjb25zdCBleHAgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGJ5dGVzUGVyS0IpKTtcbiAgICByZXR1cm4gYCR7cGFyc2VGbG9hdChcbiAgICAgIChieXRlcyAvIE1hdGgucG93KGJ5dGVzUGVyS0IsIGV4cCkpLnRvRml4ZWQoZGVjaW1hbFBvaW50cylcbiAgICApfSAke2ZpbGVTaXplc1tleHBdfWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XG4gIDxoMiBjbGFzcz1cImZpbGUtdXBsb2FkLXRpdGxlXCI+e3sgdXBsb2FkVGl0bGUgfX08L2gyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmaWxlLWRyb3B6b25lXCJcbiAgICBbbmdDbGFzc109XCJ7ICd1cGxvYWQtZmFpbGVkJzogdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkZhaWxlZCB9XCJcbiAgICBncmFuaXRlRmlsZURyYWdBbmREcm9wXG4gICAgKGRyb3BwZWRGaWxlcyk9XCJvbkZpbGVzRHJvcEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgKGlzRmlsZU92ZXIpPVwib25GaWxlT3ZlckRyb3B6b25lKCRldmVudClcIlxuICAgIChmaWxlVXBsb2FkVmFsaWRhdGlvbik9XCJvbkZpbGVEcm9wRXJyb3IoJGV2ZW50KVwiXG4gICAgW211bHRpRmlsZVVwbG9hZEVuYWJsZWRdPVwic3VwcG9ydE11bHRpRmlsZVVwbG9hZFwiXG4gICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgIFtjdXJyZW50RmlsZXNdPVwic2VsZWN0ZWRGaWxlc1wiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZmlsZS1pbnB1dFwiXG4gICAgICAjZmlsZURyb3BSZWZcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIHRpdGxlPVwiZmlsZVVwbG9hZFwiXG4gICAgICAoY2hhbmdlKT1cImZpbGVCcm93c2VIYW5kbGVyKCRldmVudClcIlxuICAgICAgW211bHRpcGxlXT1cInN1cHBvcnRNdWx0aUZpbGVVcGxvYWRcIlxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWJvZHlcIj5cbiAgICAgIEBpZiAoIWlzRmlsZU9uRHJvcHpvbmUgJiYgIWZpbGVFcnJvcikge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmaWxlLXVwbG9hZC1icm93c2VcIlxuICAgICAgICAgICpuZ0lmPVwicHJldmlld1JlYWR5RmlsZXMubGVuZ3RoID09PSAwOyBlbHNlIGZpbGVQcmV2aWV3XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxncmFuaXRlLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS11cGxvYWQtaWNvblwiXG4gICAgICAgICAgICBbZm9udEljb25dPVwidXBsb2FkSWNvblwiXG4gICAgICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLXNlbGVjdGlvblwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwiZmlsZS11cGxvYWQtYm9keS10ZXh0XCI+e3sgZHJvcFpvbmVUZXh0IH19PC9oMj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJmaWxlLXNlbGVjdC1idXR0b25cIlxuICAgICAgICAgICAgICBncmFuaXRlQnV0dG9uXG4gICAgICAgICAgICAgIChjbGljayk9XCJmaWxlRHJvcFJlZi5jbGljaygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnJvd3NlLWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgICAgICBbZm9udEljb25dPVwiYnJvd3NlSWNvblwiXG4gICAgICAgICAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJyb3dzZS1idXR0b24tdGV4dFwiPnt7IGJyb3dzZUJ1dHRvblRleHQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwICpuZ0lmPVwiZHJvcFpvbmVIaW50XCIgY2xhc3M9XCJmaWxlLXVwbG9hZC1oaW50XCI+XG4gICAgICAgICAgICB7eyBkcm9wWm9uZUhpbnQgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2ZpbGVQcmV2aWV3PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1wcmV2aWV3LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJldmlld0ZpbGUgb2YgcHJldmlld1JlYWR5RmlsZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAocHJldmlld0ZpbGU/LmltYWdlVXJsKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmaWxlLXByZXZpZXctbGlua1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ3VwbG9hZGluZy1pbi1wcm9ncmVzcyc6XG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzLFxuICAgICAgICAgICAgICAgICAgJ3VwbG9hZC1mYWlsZWQnOiB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwicHJldmlld0ZpbGU/LmltYWdlVXJsXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlldy1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwicHJldmlld0ZpbGU/LmltYWdlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidXBsb2FkaW5nT3ZlcmxheVwiXG4gICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkZhaWxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZEZhaWxlZE92ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmaWxlLW5hbWVcIiBbdGl0bGVdPVwicHJldmlld0ZpbGU/LmZpbGU/Lm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHByZXZpZXdGaWxlPy5maWxlPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmlsZS1zaXplXCI+e3sgcHJldmlld0ZpbGU/LnJlYWRhYmxlU2l6ZSB9fTwvcD5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRvY3VtZW50LXByZXZpZXctbGlua1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ3VwbG9hZGluZy1pbi1wcm9ncmVzcyc6XG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzLFxuICAgICAgICAgICAgICAgICAgJ3VwbG9hZC1mYWlsZWQnOiB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtcHJldmlldy1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxncmFuaXRlLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2N1bWVudC1maWxlLXByZXZpZXdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudXBsb2FkLWZhaWxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb250SWNvbl09XCInaWNvbi1kb2N1bWVudC1hbHQnXCJcbiAgICAgICAgICAgICAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuSW5Qcm9ncmVzc1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZGluZ092ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmlsZS1uYW1lXCIgW3RpdGxlXT1cInByZXZpZXdGaWxlPy5maWxlPy5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICB7eyBwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZpbGUtc2l6ZVwiPnt7IHByZXZpZXdGaWxlPy5yZWFkYWJsZVNpemUgfX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBncmFuaXRlQnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgRmlsZVVwbG9hZFN0YXR1cy5Db21wbGV0ZWQsXG4gICAgICAgICAgICAgICAgICBGaWxlVXBsb2FkU3RhdHVzLk5vdFN0YXJ0ZWRcbiAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKHVwbG9hZFN0YXR1cylcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVSZW1vdmVIYW5kbGVyKGkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcmVtb3ZlQnV0dG9uVGV4dCB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHAgY2xhc3M9XCJkcm9wLWFyZWEtcGxhY2Vob2xkZXJcIj5cbiAgICAgICAgICB7eyBkcm9wUGxhY2Vob2xkZXJUZXh0IH19XG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZC1mb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWNvbnRhaW5lclwiICpuZ0lmPVwicHJldmlld1JlYWR5RmlsZXMubGVuZ3RoID4gMFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFhdXRvVXBsb2FkICYmIHVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5Ob3RTdGFydGVkXCJcbiAgICAgICAgZ3Jhbml0ZVByaW1hcnlCdXR0b25cbiAgICAgICAgKGNsaWNrKT1cInVwbG9hZEZpbGVzKClcIlxuICAgICAgPlxuICAgICAgICB7eyB1cGxvYWRCdXR0b25UZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXCI+XG4gICAgICAgIDxidXR0b24gZ3Jhbml0ZUJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKClcIj5cbiAgICAgICAgICB7eyBjYW5jZWxCdXR0b25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJyZXRyeS11cGxvYWQtYnV0dG9uXCJcbiAgICAgICAgICBncmFuaXRlUHJpbWFyeUJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJyZXRyeVVwbG9hZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHJldHJ5QnV0dG9uVGV4dCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3VwbG9hZGluZ092ZXJsYXk+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctb3ZlcmxheVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkaW5nLXNwaW5uZXJcIj48L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3VwbG9hZEZhaWxlZE92ZXJsYXk+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctb3ZlcmxheVwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -27,7 +27,6 @@ export const DEFAULT_ACCEPT_TYPE = '*.*';
27
27
  export const DEFAULT_UPLOAD_TITLE = 'Upload Files';
28
28
  export const DEFAULT_UPLOAD_ICON = 'icon-upload';
29
29
  export const DEFAULT_FILE_BROWSE_BUTTON_ICON = 'icon-folder-alt';
30
- export const DEFAULT_UPLOAD_FAILURE_ICON = 'icon-error';
31
30
  export const DEFAULT_DROPZONE_TEXT = 'Drop here or';
32
31
  export const DEFAULT_BROWSE_BUTTON_TEXT = 'Browse';
33
32
  export const DEFAULT_DROP_PLACEHOLDER_TEXT = 'Drop files here';
@@ -36,4 +35,4 @@ export const DEFAULT_REMOVE_BUTTON_TEXT = 'Remove';
36
35
  export const DEFAULT_UPLOAD_BUTTON_TEXT = 'Upload';
37
36
  export const DEFAULT_RETRY_BUTTON_TEXT = 'Retry';
38
37
  export const DEFAULT_CANCEL_BUTTON_TEXT = 'Cancel';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFhO0lBQ2pDLE9BQU87SUFDUCxJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtDQUNMLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLDZDQUF5QixDQUFBO0lBQ3pCLDZDQUF5QixDQUFBO0lBQ3pCLDJDQUF1QixDQUFBO0lBQ3ZCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFOVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBTTNCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QixzRUFBK0MsQ0FBQTtJQUMvQyw4RUFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEtBQUssQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBVyxLQUFLLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQVcsY0FBYyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXLGFBQWEsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBVyxpQkFBaUIsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBVyxZQUFZLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQVcsY0FBYyxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFXLFFBQVEsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBVyxpQkFBaUIsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBVyxFQUFFLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsUUFBUSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFXLFFBQVEsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBVyxPQUFPLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZEZpbGUge1xuICBmaWxlOiBGaWxlO1xuICByZWFkYWJsZVNpemU/OiBzdHJpbmc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVVcGxvYWRFcnJvciB7XG4gIGlzRXJyb3I6IGJvb2xlYW47XG4gIHR5cGU6IEZpbFVwbG9hZEVycm9yVHlwZXM7XG59XG5cbmV4cG9ydCBjb25zdCBmaWxlU2l6ZXM6IHN0cmluZ1tdID0gW1xuICAnQnl0ZXMnLFxuICAnS0InLFxuICAnTUInLFxuICAnR0InLFxuICAnVEInLFxuICAnUEInLFxuICAnRUInLFxuICAnWkInLFxuICAnWUInLFxuXTtcblxuZXhwb3J0IGVudW0gRmlsZVVwbG9hZFN0YXR1cyB7XG4gIE5vdFN0YXJ0ZWQgPSAnTm90U3RhcnRlZCcsXG4gIEluUHJvZ3Jlc3MgPSAnSW5Qcm9ncmVzcycsXG4gIENvbXBsZXRlZCA9ICdDb21wbGV0ZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgQ2FuY2VsbGVkID0gJ0NhbmNlbGxlZCcsXG59XG5cbmV4cG9ydCBlbnVtIEZpbFVwbG9hZEVycm9yVHlwZXMge1xuICBFeHRlbnNpb25Ob3RTdXBwb3J0ZWQgPSAnRXh0ZW5zaW9uTm90U3VwcG9ydGVkJyxcbiAgTXVsdGlwbGVGaWxlc05vdFN1cHBvcnRlZCA9ICdNdWx0aXBsZUZpbGVzTm90U3VwcG9ydGVkJyxcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTVVMVElfRklMRV9TVVBQT1JUID0gZmFsc2U7XG5leHBvcnQgY29uc3QgREVGQVVMVF9BQ0NFUFRfVFlQRTogc3RyaW5nID0gJyouKic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9VUExPQURfVElUTEU6IHN0cmluZyA9ICdVcGxvYWQgRmlsZXMnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVBMT0FEX0lDT046IHN0cmluZyA9ICdpY29uLXVwbG9hZCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTjogc3RyaW5nID0gJ2ljb24tZm9sZGVyLWFsdCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9VUExPQURfRkFJTFVSRV9JQ09OOiBzdHJpbmcgPSAnaWNvbi1lcnJvcic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EUk9QWk9ORV9URVhUOiBzdHJpbmcgPSAnRHJvcCBoZXJlIG9yJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVDogc3RyaW5nID0gJ0Jyb3dzZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EUk9QX1BMQUNFSE9MREVSX1RFWFQ6IHN0cmluZyA9ICdEcm9wIGZpbGVzIGhlcmUnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRFJPUFpPTkVfSElOVDogc3RyaW5nID0gJyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9SRU1PVkVfQlVUVE9OX1RFWFQ6IHN0cmluZyA9ICdSZW1vdmUnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVBMT0FEX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnVXBsb2FkJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFVFJZX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnUmV0cnknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FOQ0VMX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnQ2FuY2VsJztcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFhO0lBQ2pDLE9BQU87SUFDUCxJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtDQUNMLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLDZDQUF5QixDQUFBO0lBQ3pCLDZDQUF5QixDQUFBO0lBQ3pCLDJDQUF1QixDQUFBO0lBQ3ZCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFOVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBTTNCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QixzRUFBK0MsQ0FBQTtJQUMvQyw4RUFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEtBQUssQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBVyxLQUFLLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQVcsY0FBYyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXLGFBQWEsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBVyxpQkFBaUIsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBVyxjQUFjLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsUUFBUSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFXLGlCQUFpQixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBVyxRQUFRLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsUUFBUSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFXLE9BQU8sQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBVyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkRmlsZSB7XG4gIGZpbGU6IEZpbGU7XG4gIHJlYWRhYmxlU2l6ZT86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZEVycm9yIHtcbiAgaXNFcnJvcjogYm9vbGVhbjtcbiAgdHlwZTogRmlsVXBsb2FkRXJyb3JUeXBlcztcbn1cblxuZXhwb3J0IGNvbnN0IGZpbGVTaXplczogc3RyaW5nW10gPSBbXG4gICdCeXRlcycsXG4gICdLQicsXG4gICdNQicsXG4gICdHQicsXG4gICdUQicsXG4gICdQQicsXG4gICdFQicsXG4gICdaQicsXG4gICdZQicsXG5dO1xuXG5leHBvcnQgZW51bSBGaWxlVXBsb2FkU3RhdHVzIHtcbiAgTm90U3RhcnRlZCA9ICdOb3RTdGFydGVkJyxcbiAgSW5Qcm9ncmVzcyA9ICdJblByb2dyZXNzJyxcbiAgQ29tcGxldGVkID0gJ0NvbXBsZXRlZCcsXG4gIEZhaWxlZCA9ICdGYWlsZWQnLFxuICBDYW5jZWxsZWQgPSAnQ2FuY2VsbGVkJyxcbn1cblxuZXhwb3J0IGVudW0gRmlsVXBsb2FkRXJyb3JUeXBlcyB7XG4gIEV4dGVuc2lvbk5vdFN1cHBvcnRlZCA9ICdFeHRlbnNpb25Ob3RTdXBwb3J0ZWQnLFxuICBNdWx0aXBsZUZpbGVzTm90U3VwcG9ydGVkID0gJ011bHRpcGxlRmlsZXNOb3RTdXBwb3J0ZWQnLFxufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NVUxUSV9GSUxFX1NVUFBPUlQgPSBmYWxzZTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0FDQ0VQVF9UWVBFOiBzdHJpbmcgPSAnKi4qJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1VQTE9BRF9USVRMRTogc3RyaW5nID0gJ1VwbG9hZCBGaWxlcyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9VUExPQURfSUNPTjogc3RyaW5nID0gJ2ljb24tdXBsb2FkJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTEVfQlJPV1NFX0JVVFRPTl9JQ09OOiBzdHJpbmcgPSAnaWNvbi1mb2xkZXItYWx0JztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RST1BaT05FX1RFWFQ6IHN0cmluZyA9ICdEcm9wIGhlcmUgb3InO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQlJPV1NFX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnQnJvd3NlJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RST1BfUExBQ0VIT0xERVJfVEVYVDogc3RyaW5nID0gJ0Ryb3AgZmlsZXMgaGVyZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EUk9QWk9ORV9ISU5UOiBzdHJpbmcgPSAnJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFTU9WRV9CVVRUT05fVEVYVDogc3RyaW5nID0gJ1JlbW92ZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9VUExPQURfQlVUVE9OX1RFWFQ6IHN0cmluZyA9ICdVcGxvYWQnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQ6IHN0cmluZyA9ICdSZXRyeSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9DQU5DRUxfQlVUVE9OX1RFWFQ6IHN0cmluZyA9ICdDYW5jZWwnO1xuIl19