@acorex/components 16.0.20 → 16.0.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -131,9 +131,11 @@ export class AXUploadFileComponent extends AXBaseComponent {
131
131
  }
132
132
  //
133
133
  // this.dropRef.classList.add('ax-upload-drop-over');
134
- this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
135
- this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
136
- this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
134
+ if (this.dropRef) {
135
+ this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
136
+ this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
137
+ this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
138
+ }
137
139
  }
138
140
  handleOverlayDragOver(e) {
139
141
  e.preventDefault();
@@ -173,7 +175,9 @@ export class AXUploadFileComponent extends AXBaseComponent {
173
175
  const progressLabel = this.rendrer.createElement('small');
174
176
  progressLabel.innerText = file.name;
175
177
  this.fileName = file.name;
176
- this.rendrer.appendChild(this.progressRef, progressDiv);
178
+ if (this.type === 'box') {
179
+ this.rendrer.appendChild(this.progressRef, progressDiv);
180
+ }
177
181
  const com = this.injectionService.appendComponent(AXProgressBarComponent, { progress: 0 }, progressDiv).instance;
178
182
  this.rendrer.appendChild(progressDiv, progressLabel);
179
183
  const reader = new FileReader();
@@ -292,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
292
296
  }], onRemove: [{
293
297
  type: Output
294
298
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxHQUdoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHFCQUNYLFNBQVEsZUFBZTtJQXFHYjtJQUNBO0lBQ0E7SUFDRTtJQUNGO0lBdEdGLFVBQVUsQ0FBYztJQUdoQyxXQUFXLEdBT0UsS0FBSyxDQUFDO0lBR25CLE9BQU8sQ0FBYztJQUdyQixXQUFXLENBQWM7SUFHekIsS0FBSyxDQUFTO0lBR2QsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFSCxTQUFTLENBQWE7SUFHOUMsSUFBSSxHQUFnQyxRQUFRLENBQUM7SUFHdEMsUUFBUSxDQUFtQjtJQUV6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLE1BQU0sR0FDSixJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUc1QyxVQUFVLEdBQ1Is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R3RCLElBQUk7c0JBREgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFFTixNQUFNO3NCQURMLE1BQU07Z0JBS1AsVUFBVTtzQkFEVCxNQUFNO2dCQUtQLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmVuZGVyU2VydmljZSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWEJhc2VDb21wb25lbnQsXG4gIEFYQmFzZVNpemFibGVDb21wb25lbnQsXG4gIEFYRWxlbWVudFNpemUsXG59IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBWFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYVXBsb2FkRmlsZUxvYWRFdmVudCxcbiAgQVhVcGxvYWRGaWxlUHJvZ3Jlc3NFdmVudCxcbn0gZnJvbSAnLi91cGxvYWQtZmlsZS5ldmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC11cGxvYWQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICdkaXNwbGF5OiBibG9jazsgd2lkdGg6MTAwJTsgcG9zaXRpb246IHJlbGF0aXZlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFVwbG9hZEZpbGVDb21wb25lbnRcbiAgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50XG57XG4gIHByaXZhdGUgb3ZlcmxheURpdjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgY29udGVudFR5cGU6XG4gICAgfCAnaW1hZ2UnXG4gICAgfCAnZXhjZWwnXG4gICAgfCAnYXVkaW8nXG4gICAgfCAndmlkZW8nXG4gICAgfCAndmlkZW8vaW1hZ2UnXG4gICAgfCAnYW55J1xuICAgIHwgJ2pzb24nID0gJ2FueSc7XG5cbiAgQElucHV0KClcbiAgZHJvcFJlZjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NSZWY6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6ICdib3gnIHwgJ2lubGluZScgfCAnaGlkZGVuJyA9ICdpbmxpbmUnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgb25Mb2FkOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRGaWxlTG9hZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uUHJvZ3Jlc3M6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblJlbW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZmlsZVR5cGVzOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZyddLFxuICAgICAgbWVzc2FnZTogJ9i52qnYsycsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnYXVkaW8nLFxuICAgICAgYWNjZXB0OiBbJ2F1ZGlvL21wMyddLFxuICAgICAgbWVzc2FnZTogJ2F1ZGlvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdlYm9vaycsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gICAgICBtZXNzYWdlOiAncGRmJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdleGNlbCcsXG4gICAgICBhY2NlcHQ6IFtcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9FbmFibGVkLjEyJyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLFxuICAgICAgICAndGV4dC9jc3YnLFxuICAgICAgXSxcbiAgICAgIG1lc3NhZ2U6ICfYp9qp2LPZhCcsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndmlkZW8nLFxuICAgICAgYWNjZXB0OiBbJ3ZpZGVvLyonXSxcbiAgICAgIG1lc3NhZ2U6ICd2aWRlbycsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndmlkZW8vaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICd2aWRlby8qJ10sXG4gICAgICBtZXNzYWdlOiAndmlkZW8vaW1hZ2UnLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2pzb24nLFxuICAgICAgYWNjZXB0OiBbJ2FwcGxpY2F0aW9uL2pzb24nXSxcbiAgICAgIG1lc3NhZ2U6ICdqc29uJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdhbnknLFxuICAgICAgYWNjZXB0OiBbJyovKiddLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSxcbiAgXTtcblxuICBmaWxlczogRmlsZVtdID0gW107XG4gIGZvY3VzKCkge31cblxuICBmaWxlTmFtZTogc3RyaW5nID0gJyc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaW5qZWN0aW9uU2VydmljZTogQVhSZW5kZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZHJlcjogUmVuZGVyZXIyLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBBWFRvYXN0U2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb25EZWxldGVDbGljayhlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uRmlsZUNoYW5nZShlKSB7XG4gICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICB0aGlzLmFkZEZpbGUoZmlsZXNbMF0pO1xuICAgICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljayh7IGFjY2VwdDogdGhpcy5hY2Nlc3NUeXBlcyB9KTtcbiAgfVxuICByZW1vdmUoKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZmlsZXMgPSBbXTtcbiAgICB0aGlzLmZpbGVOYW1lID0gbnVsbDtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdib3gnKSB7XG4gICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgdGhpcy5oYW5kbGVTaG93RW1wdHlGaWxlKCk7XG4gICAgfVxuICAgIHRoaXMub25SZW1vdmUuZW1pdCgpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wUmVmICE9IG51bGwpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcm9wUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy51cGxvYWQtZmlsZS1ib3gnKTtcbiAgICB9XG4gICAgLy9cbiAgICBpZiAodGhpcy5wcm9ncmVzc1JlZiAhPSBudWxsKSB7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NSZWYgPVxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnVwbG9hZC1maWxlLWJveCcpO1xuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdoaWRkZW4nIHx8IHRoaXMudHlwZSA9PT0gJ2JveCcpIHtcbiAgICAgIHRoaXMuaGFuZGxlU2hvd0VtcHR5RmlsZSgpO1xuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWcnLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5oYW5kbGVPdmVybGF5RHJhZ092ZXIpO1xuICAgIH1cbiAgICAvL1xuICAgIC8vIHRoaXMuZHJvcFJlZi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtZHJvcC1vdmVyJyk7XG4gICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5oYW5kbGVEcmFnT3Zlci5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5oYW5kbGVEcmFnTGVhdmUuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCB0aGlzLmhhbmRsZURyb3AuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU92ZXJsYXlEcmFnT3ZlcihlOiBEcmFnRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURyYWdPdmVyKGU6IERyYWdFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3ZlcmxheURpdi5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmFnTGVhdmUoZTogRHJhZ0V2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBoYW5kbGVEcm9wKGU6IERyYWdFdmVudCkge1xuICAgIHRoaXMuaGFuZGxlRHJhZ0xlYXZlKGUpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZS5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBlLmRhdGFUcmFuc2Zlci5maWxlc1tpXTtcbiAgICAgIHRoaXMuYWRkRmlsZShmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbGUoZmlsZTogRmlsZSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29udGVudFR5cGUgJiZcbiAgICAgIHRoaXMuY29udGVudFR5cGUgIT09ICdhbnknICYmXG4gICAgICAhdGhpcy5maWxlVHlwZXNcbiAgICAgICAgLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gdGhpcy5jb250ZW50VHlwZSlcbiAgICAgICAgLmFjY2VwdC5pbmNsdWRlcyhmaWxlLnR5cGUpXG4gICAgKSB7XG4gICAgICB0aGlzLnRvYXN0U2VydmljZS5pbmZvKFxuICAgICAgICBg2YHYp9uM2YQg2KjYp9ix2q/YsNin2LHbjCDYqNin24zYryDYp9iyINmG2YjYuSAke1xuICAgICAgICAgIHRoaXMuZmlsZVR5cGVzLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gdGhpcy5jb250ZW50VHlwZSkubWVzc2FnZVxuICAgICAgICB9INio2KfYtNivYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9ncmVzc0RpdiA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBwcm9ncmVzc0Rpdi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtcHJvZ3Jlc3MtcGFuZWwnKTtcbiAgICBjb25zdCBwcm9ncmVzc0xhYmVsID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ3NtYWxsJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgcHJvZ3Jlc3NMYWJlbC5pbm5lclRleHQgPSBmaWxlLm5hbWU7XG4gICAgdGhpcy5maWxlTmFtZSA9IGZpbGUubmFtZTtcbiAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5wcm9ncmVzc1JlZiwgcHJvZ3Jlc3NEaXYpO1xuICAgIGNvbnN0IGNvbSA9IHRoaXMuaW5qZWN0aW9uU2VydmljZS5hcHBlbmRDb21wb25lbnQoXG4gICAgICBBWFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgICAgeyBwcm9ncmVzczogMCB9LFxuICAgICAgcHJvZ3Jlc3NEaXZcbiAgICApLmluc3RhbmNlIGFzIEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQ7XG4gICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHByb2dyZXNzRGl2LCBwcm9ncmVzc0xhYmVsKTtcblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vbkxvYWQuZW1pdCh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGRhdGE6IChlIGFzIGFueSkudGFyZ2V0LnJlc3VsdCxcbiAgICAgIH0pO1xuICAgICAgLy9cbiAgICAgIC8vIEZha2UgVXBsb2FkXG4gICAgICBsZXQgcHYgPSAwO1xuICAgICAgbGV0IHVwbG9hZGVkID0gMDtcbiAgICAgIGNvbnN0IGludHYgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHVwbG9hZGVkICs9IDEwMjQgKiAxMDAwO1xuICAgICAgICBpZiAodXBsb2FkZWQgPiBlLnRvdGFsKSB7XG4gICAgICAgICAgdXBsb2FkZWQgPSBlLnRvdGFsO1xuICAgICAgICB9XG4gICAgICAgIHB2ID0gTWF0aC5jZWlsKCh1cGxvYWRlZCAvIGUudG90YWwpICogMTAwKTtcbiAgICAgICAgY29tLnByb2dyZXNzID0gcHY7XG4gICAgICAgIHRoaXMub25Qcm9ncmVzcy5lbWl0KHtcbiAgICAgICAgICBmaWxlLFxuICAgICAgICAgIHRvdGFsOiBlLnRvdGFsLFxuICAgICAgICAgIHVwbG9hZGVkLFxuICAgICAgICAgIHZhbHVlOiBwdixcbiAgICAgICAgfSk7XG4gICAgICAgIC8vXG4gICAgICAgIGlmIChjb20ucHJvZ3Jlc3MgPj0gMTAwKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnR2KTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLnByb2dyZXNzUmVmLCBwcm9ncmVzc0Rpdik7XG4gICAgICAgICAgICBpZiAodGhpcy5maWxlTmFtZSkge1xuICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAnZGl2J1xuICAgICAgICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZCgnb3ZlcmxheScpO1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImNvbG9yOiB2YXIoLS1heC1kYW5nZXItY29sb3IpXCIgY2xhc3M9XCJmYXIgZmEtdGltZXMgZmEtM3hcIj48L2k+XG4gICAgICAgICAgICAgIDxzcGFuPiR7dGhpcy5maWxlTmFtZX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYDtcbiAgICAgICAgICAgICAgY29uc3QgY2xvc2VJY29uID0gdGhpcy5vdmVybGF5RGl2LnF1ZXJ5U2VsZWN0b3IoJy5mYXIuZmEtdGltZXMnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kcmVyLmxpc3RlbihjbG9zZUljb24sICdjbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2hvd0VtcHR5RmlsZSgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIHRoaXMuZmlsZXMucHVzaChmaWxlKTtcbiAgfVxuXG4gIGdldCBhY2Nlc3NUeXBlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVR5cGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PSB0aGlzLmNvbnRlbnRUeXBlKS5hY2NlcHQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNob3dFbXB0eUZpbGUoKSB7XG4gICAgdGhpcy5vdmVybGF5RGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMub3ZlcmxheURpdi5jbGFzc0xpc3QuYWRkKCdvdmVybGF5Jyk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmlubmVySFRNTCA9IGBcbiAgICAgIDxkaXYgIHN0eWxlPVwiXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgIFwiPlxuICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNsb3VkLXVwbG9hZC1hbHQgZmEtM3hcIj48L2k+XG4gICAgPHNwYW4+JHtBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24udXBsb2FkJyl9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgIHRoaXMuZHJvcFJlZi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtZHJvcC1vdmVyJyk7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjZmlsZUlucHV0XG4gIHR5cGU9XCJmaWxlXCJcbiAgW2FjY2VwdF09XCJhY2Nlc3NUeXBlcy5qb2luKCcsJylcIlxuICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbi8+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09ICdpbmxpbmUnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICA8YXgtZm9ybS1ncm91cCBzaXplPVwie3sgc2l6ZSB9fVwiPlxuICAgIDxheC10ZXh0LWJveFxuICAgICAgW3ZhbHVlXT1cImZpbGVOYW1lXCJcbiAgICAgIHJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID48L2F4LXRleHQtYm94PlxuICAgIDxheC1idXR0b25cbiAgICAgIHR5cGU9XCJibGFuayBsaWdodFwiXG4gICAgICBpY29uPVwiZmFyIGZhLXRpbWVzXCJcbiAgICAgIChjbGljayk9XCJyZW1vdmUoKVwiXG4gICAgICAqbmdJZj1cImZpbGVOYW1lXCJcbiAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgPlxuICAgIDwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b25cbiAgICAgIHR5cGU9XCJwcmltYXJ5IGJsYW5rXCJcbiAgICAgIGljb249XCJmYXIgZmEtdXBsb2FkXCJcbiAgICAgIChjbGljayk9XCJvcGVuKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2F4LWZvcm0tZ3JvdXA+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJheCB1cGxvYWQtZmlsZS1ib3hcIiAoY2xpY2spPVwib3BlbigpXCIgI2Ryb3BSZWY+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxHQUdoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHFCQUNYLFNBQVEsZUFBZTtJQXFHYjtJQUNBO0lBQ0E7SUFDRTtJQUNGO0lBdEdGLFVBQVUsQ0FBYztJQUdoQyxXQUFXLEdBT0UsS0FBSyxDQUFDO0lBR25CLE9BQU8sQ0FBYztJQUdyQixXQUFXLENBQWM7SUFHekIsS0FBSyxDQUFTO0lBR2QsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFSCxTQUFTLENBQWE7SUFHOUMsSUFBSSxHQUFnQyxRQUFRLENBQUM7SUFHdEMsUUFBUSxDQUFtQjtJQUV6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLE1BQU0sR0FDSixJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUc1QyxVQUFVLEdBQ1Is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O2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBR2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFHdEIsSUFBSTtzQkFESCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVOLE1BQU07c0JBREwsTUFBTTtnQkFLUCxVQUFVO3NCQURULE1BQU07Z0JBS1AsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhSZW5kZXJTZXJ2aWNlLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYQmFzZUNvbXBvbmVudCxcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbn0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQVhVcGxvYWRGaWxlTG9hZEV2ZW50LFxuICBBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50LFxufSBmcm9tICcuL3VwbG9hZC1maWxlLmV2ZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXVwbG9hZC1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBzdHlsZTogJ2Rpc3BsYXk6IGJsb2NrOyB3aWR0aDoxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmUnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkRmlsZUNvbXBvbmVudFxuICBleHRlbmRzIEFYQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnRcbntcbiAgcHJpdmF0ZSBvdmVybGF5RGl2OiBIVE1MRWxlbWVudDtcblxuICBASW5wdXQoKVxuICBjb250ZW50VHlwZTpcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdleGNlbCdcbiAgICB8ICdhdWRpbydcbiAgICB8ICd2aWRlbydcbiAgICB8ICd2aWRlby9pbWFnZSdcbiAgICB8ICdhbnknXG4gICAgfCAnanNvbicgPSAnYW55JztcblxuICBASW5wdXQoKVxuICBkcm9wUmVmOiBIVE1MRWxlbWVudDtcblxuICBASW5wdXQoKVxuICBwcm9ncmVzc1JlZjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KClcbiAgdHlwZTogJ2JveCcgfCAnaW5saW5lJyB8ICdoaWRkZW4nID0gJ2lubGluZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZUxvYWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25Qcm9ncmVzczogRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBmaWxlVHlwZXM6IGFueVtdID0gW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICBhY2NlcHQ6IFsnaW1hZ2UvZ2lmJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJ10sXG4gICAgICBtZXNzYWdlOiAn2LnaqdizJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdhdWRpbycsXG4gICAgICBhY2NlcHQ6IFsnYXVkaW8vbXAzJ10sXG4gICAgICBtZXNzYWdlOiAnYXVkaW8nLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2Vib29rJyxcbiAgICAgIGFjY2VwdDogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgICAgIG1lc3NhZ2U6ICdwZGYnLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2V4Y2VsJyxcbiAgICAgIGFjY2VwdDogW1xuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQuMTInLFxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCcsXG4gICAgICAgICd0ZXh0L2NzdicsXG4gICAgICBdLFxuICAgICAgbWVzc2FnZTogJ9in2qnYs9mEJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd2aWRlbycsXG4gICAgICBhY2NlcHQ6IFsndmlkZW8vKiddLFxuICAgICAgbWVzc2FnZTogJ3ZpZGVvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd2aWRlby9pbWFnZScsXG4gICAgICBhY2NlcHQ6IFsnaW1hZ2UvZ2lmJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJywgJ3ZpZGVvLyonXSxcbiAgICAgIG1lc3NhZ2U6ICd2aWRlby9pbWFnZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnanNvbicsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICAgICAgbWVzc2FnZTogJ2pzb24nLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2FueScsXG4gICAgICBhY2NlcHQ6IFsnKi8qJ10sXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICB9LFxuICBdO1xuXG4gIGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgZm9jdXMoKSB7fVxuXG4gIGZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBpbmplY3Rpb25TZXJ2aWNlOiBBWFJlbmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IEFYVG9hc3RTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvbkRlbGV0ZUNsaWNrKGUpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25GaWxlQ2hhbmdlKGUpIHtcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgIHRoaXMuYWRkRmlsZShmaWxlc1swXSk7XG4gICAgKHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKHsgYWNjZXB0OiB0aGlzLmFjY2Vzc1R5cGVzIH0pO1xuICB9XG4gIHJlbW92ZSgpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2JveCcpIHtcbiAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgICB0aGlzLmhhbmRsZVNob3dFbXB0eUZpbGUoKTtcbiAgICB9XG4gICAgdGhpcy5vblJlbW92ZS5lbWl0KCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3BSZWYgIT0gbnVsbCkge1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRyb3BSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnVwbG9hZC1maWxlLWJveCcpO1xuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLnByb2dyZXNzUmVmICE9IG51bGwpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9ncmVzc1JlZiA9XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudXBsb2FkLWZpbGUtYm94Jyk7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2hpZGRlbicgfHwgdGhpcy50eXBlID09PSAnYm94Jykge1xuICAgICAgdGhpcy5oYW5kbGVTaG93RW1wdHlGaWxlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZycsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gdGhpcy5kcm9wUmVmLmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1kcm9wLW92ZXInKTtcbiAgICBpZiAodGhpcy5kcm9wUmVmKSB7XG4gICAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZURyYWdPdmVyLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdkcmFnbGVhdmUnLFxuICAgICAgICB0aGlzLmhhbmRsZURyYWdMZWF2ZS5iaW5kKHRoaXMpXG4gICAgICApO1xuICAgICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCB0aGlzLmhhbmRsZURyb3AuYmluZCh0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPdmVybGF5RHJhZ092ZXIoZTogRHJhZ0V2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmFnT3ZlcihlOiBEcmFnRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ0xlYXZlKGU6IERyYWdFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3ZlcmxheURpdi5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaGFuZGxlRHJvcChlOiBEcmFnRXZlbnQpIHtcbiAgICB0aGlzLmhhbmRsZURyYWdMZWF2ZShlKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGUuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBmaWxlID0gZS5kYXRhVHJhbnNmZXIuZmlsZXNbaV07XG4gICAgICB0aGlzLmFkZEZpbGUoZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRGaWxlKGZpbGU6IEZpbGUpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRlbnRUeXBlICYmXG4gICAgICB0aGlzLmNvbnRlbnRUeXBlICE9PSAnYW55JyAmJlxuICAgICAgIXRoaXMuZmlsZVR5cGVzXG4gICAgICAgIC5maW5kKCh4KSA9PiB4LnR5cGUgPT09IHRoaXMuY29udGVudFR5cGUpXG4gICAgICAgIC5hY2NlcHQuaW5jbHVkZXMoZmlsZS50eXBlKVxuICAgICkge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2UuaW5mbyhcbiAgICAgICAgYNmB2KfbjNmEINio2KfYsdqv2LDYp9ix24wg2KjYp9uM2K8g2KfYsiDZhtmI2LkgJHtcbiAgICAgICAgICB0aGlzLmZpbGVUeXBlcy5maW5kKCh4KSA9PiB4LnR5cGUgPT09IHRoaXMuY29udGVudFR5cGUpLm1lc3NhZ2VcbiAgICAgICAgfSDYqNin2LTYr2BcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvZ3Jlc3NEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgcHJvZ3Jlc3NEaXYuY2xhc3NMaXN0LmFkZCgnYXgtdXBsb2FkLXByb2dyZXNzLXBhbmVsJyk7XG4gICAgY29uc3QgcHJvZ3Jlc3NMYWJlbCA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KCdzbWFsbCcpIGFzIEhUTUxFbGVtZW50O1xuICAgIHByb2dyZXNzTGFiZWwuaW5uZXJUZXh0ID0gZmlsZS5uYW1lO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlLm5hbWU7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2JveCcpIHtcbiAgICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLnByb2dyZXNzUmVmLCBwcm9ncmVzc0Rpdik7XG4gICAgfVxuICAgIGNvbnN0IGNvbSA9IHRoaXMuaW5qZWN0aW9uU2VydmljZS5hcHBlbmRDb21wb25lbnQoXG4gICAgICBBWFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgICAgeyBwcm9ncmVzczogMCB9LFxuICAgICAgcHJvZ3Jlc3NEaXZcbiAgICApLmluc3RhbmNlIGFzIEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQ7XG4gICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHByb2dyZXNzRGl2LCBwcm9ncmVzc0xhYmVsKTtcblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZSkgPT4ge1xuICAgICAgdGhpcy5vbkxvYWQuZW1pdCh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGRhdGE6IChlIGFzIGFueSkudGFyZ2V0LnJlc3VsdCxcbiAgICAgIH0pO1xuICAgICAgLy9cbiAgICAgIC8vIEZha2UgVXBsb2FkXG4gICAgICBsZXQgcHYgPSAwO1xuICAgICAgbGV0IHVwbG9hZGVkID0gMDtcbiAgICAgIGNvbnN0IGludHYgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHVwbG9hZGVkICs9IDEwMjQgKiAxMDAwO1xuICAgICAgICBpZiAodXBsb2FkZWQgPiBlLnRvdGFsKSB7XG4gICAgICAgICAgdXBsb2FkZWQgPSBlLnRvdGFsO1xuICAgICAgICB9XG4gICAgICAgIHB2ID0gTWF0aC5jZWlsKCh1cGxvYWRlZCAvIGUudG90YWwpICogMTAwKTtcbiAgICAgICAgY29tLnByb2dyZXNzID0gcHY7XG4gICAgICAgIHRoaXMub25Qcm9ncmVzcy5lbWl0KHtcbiAgICAgICAgICBmaWxlLFxuICAgICAgICAgIHRvdGFsOiBlLnRvdGFsLFxuICAgICAgICAgIHVwbG9hZGVkLFxuICAgICAgICAgIHZhbHVlOiBwdixcbiAgICAgICAgfSk7XG4gICAgICAgIC8vXG4gICAgICAgIGlmIChjb20ucHJvZ3Jlc3MgPj0gMTAwKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnR2KTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLnByb2dyZXNzUmVmLCBwcm9ncmVzc0Rpdik7XG4gICAgICAgICAgICBpZiAodGhpcy5maWxlTmFtZSkge1xuICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAnZGl2J1xuICAgICAgICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZCgnb3ZlcmxheScpO1xuICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImNvbG9yOiB2YXIoLS1heC1kYW5nZXItY29sb3IpXCIgY2xhc3M9XCJmYXIgZmEtdGltZXMgZmEtM3hcIj48L2k+XG4gICAgICAgICAgICAgIDxzcGFuPiR7dGhpcy5maWxlTmFtZX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYDtcbiAgICAgICAgICAgICAgY29uc3QgY2xvc2VJY29uID0gdGhpcy5vdmVybGF5RGl2LnF1ZXJ5U2VsZWN0b3IoJy5mYXIuZmEtdGltZXMnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kcmVyLmxpc3RlbihjbG9zZUljb24sICdjbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2hvd0VtcHR5RmlsZSgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIHRoaXMuZmlsZXMucHVzaChmaWxlKTtcbiAgfVxuXG4gIGdldCBhY2Nlc3NUeXBlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVR5cGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PSB0aGlzLmNvbnRlbnRUeXBlKS5hY2NlcHQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNob3dFbXB0eUZpbGUoKSB7XG4gICAgdGhpcy5vdmVybGF5RGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMub3ZlcmxheURpdi5jbGFzc0xpc3QuYWRkKCdvdmVybGF5Jyk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmlubmVySFRNTCA9IGBcbiAgICAgIDxkaXYgIHN0eWxlPVwiXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgIFwiPlxuICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNsb3VkLXVwbG9hZC1hbHQgZmEtM3hcIj48L2k+XG4gICAgPHNwYW4+JHtBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24udXBsb2FkJyl9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgIHRoaXMuZHJvcFJlZi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtZHJvcC1vdmVyJyk7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjZmlsZUlucHV0XG4gIHR5cGU9XCJmaWxlXCJcbiAgW2FjY2VwdF09XCJhY2Nlc3NUeXBlcy5qb2luKCcsJylcIlxuICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbi8+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09ICdpbmxpbmUnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICA8YXgtZm9ybS1ncm91cCBzaXplPVwie3sgc2l6ZSB9fVwiPlxuICAgIDxheC10ZXh0LWJveFxuICAgICAgW3ZhbHVlXT1cImZpbGVOYW1lXCJcbiAgICAgIHJlYWRvbmx5PVwidHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID48L2F4LXRleHQtYm94PlxuICAgIDxheC1idXR0b25cbiAgICAgIHR5cGU9XCJibGFuayBsaWdodFwiXG4gICAgICBpY29uPVwiZmFyIGZhLXRpbWVzXCJcbiAgICAgIChjbGljayk9XCJyZW1vdmUoKVwiXG4gICAgICAqbmdJZj1cImZpbGVOYW1lXCJcbiAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgPlxuICAgIDwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b25cbiAgICAgIHR5cGU9XCJwcmltYXJ5IGJsYW5rXCJcbiAgICAgIGljb249XCJmYXIgZmEtdXBsb2FkXCJcbiAgICAgIChjbGljayk9XCJvcGVuKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2F4LWZvcm0tZ3JvdXA+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJheCB1cGxvYWQtZmlsZS1ib3hcIiAoY2xpY2spPVwib3BlbigpXCIgI2Ryb3BSZWY+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -973,21 +973,43 @@ class AXCalendarBoxComponent {
973
973
  jalali: {
974
974
  locale: AXConfig.get('dateTime.jalali.locale') || 'fa',
975
975
  dir: 'rtl',
976
- number: 1
976
+ number: 1,
977
977
  },
978
978
  gregorian: {
979
979
  locale: AXConfig.get('dateTime.gregorian.locale') || 'en',
980
980
  dir: 'ltr',
981
- number: 0
982
- }
981
+ number: 0,
982
+ },
983
983
  };
984
984
  numRotate;
985
985
  size = 'md';
986
986
  type;
987
987
  locale;
988
988
  dir;
989
- min;
990
- max;
989
+ _min;
990
+ set min(v) {
991
+ if (v) {
992
+ this._min = v;
993
+ this.focusedValue = this.today;
994
+ this.viewRange = this.today.month.range;
995
+ this.navigate(0);
996
+ }
997
+ }
998
+ get min() {
999
+ return this._min;
1000
+ }
1001
+ _max;
1002
+ set max(v) {
1003
+ if (v) {
1004
+ this._max = v;
1005
+ this.focusedValue = this.today;
1006
+ this.viewRange = this.today.month.range;
1007
+ this.navigate(0);
1008
+ }
1009
+ }
1010
+ get max() {
1011
+ return this._max;
1012
+ }
991
1013
  selectableHoliday = true;
992
1014
  dayStyle = [];
993
1015
  dayMinMaxResoan = '';
@@ -1028,7 +1050,7 @@ class AXCalendarBoxComponent {
1028
1050
  vv = AXDateTime.convert(v);
1029
1051
  }
1030
1052
  let unValidDate = false;
1031
- if (this.max || this.min) {
1053
+ if (this._max || this._min) {
1032
1054
  unValidDate = this.isInMInMaxRange(vv);
1033
1055
  }
1034
1056
  if (!unValidDate) {
@@ -1040,7 +1062,7 @@ class AXCalendarBoxComponent {
1040
1062
  this.onValueChanged.emit({
1041
1063
  component: this,
1042
1064
  value: this._value?.date,
1043
- htmlElement: this.ref.nativeElement
1065
+ htmlElement: this.ref.nativeElement,
1044
1066
  });
1045
1067
  }
1046
1068
  if (v == undefined) {
@@ -1052,7 +1074,7 @@ class AXCalendarBoxComponent {
1052
1074
  this.onClick.emit({
1053
1075
  component: this,
1054
1076
  value: this._value?.date,
1055
- htmlElement: this.ref.nativeElement
1077
+ htmlElement: this.ref.nativeElement,
1056
1078
  });
1057
1079
  }
1058
1080
  }
@@ -1088,8 +1110,10 @@ class AXCalendarBoxComponent {
1088
1110
  return this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0]).text;
1089
1111
  }
1090
1112
  else {
1091
- if ((this.min && this.max && date.compaireNew(new AXDateTime(this.min, this.type), 'YMD', this.type) === -1) ||
1092
- date.compaireNew(new AXDateTime(this.max, this.type), 'YMD', this.type) === 1) {
1113
+ if ((this._min &&
1114
+ this._max &&
1115
+ date.compaireNew(new AXDateTime(this._min, this.type), 'YMD', this.type) === -1) ||
1116
+ date.compaireNew(new AXDateTime(this._max, this.type), 'YMD', this.type) === 1) {
1093
1117
  return this.dayMinMaxResoan;
1094
1118
  }
1095
1119
  else {
@@ -1143,7 +1167,7 @@ class AXCalendarBoxComponent {
1143
1167
  AXTranslator.get(`${path}.wed`, this.locale),
1144
1168
  AXTranslator.get(`${path}.thu`, this.locale),
1145
1169
  AXTranslator.get(`${path}.fri`, this.locale),
1146
- AXTranslator.get(`${path}.sat`, this.locale)
1170
+ AXTranslator.get(`${path}.sat`, this.locale),
1147
1171
  ];
1148
1172
  }
1149
1173
  getTodayName() {
@@ -1157,7 +1181,11 @@ class AXCalendarBoxComponent {
1157
1181
  }
1158
1182
  rotate(array, n) {
1159
1183
  const len = array.length;
1160
- return !(n % len) ? array : n > 0 ? array.map((e, i, a) => a[(i + n) % len]) : array.map((e, i, a) => a[(len - ((len - i - n) % len)) % len]);
1184
+ return !(n % len)
1185
+ ? array
1186
+ : n > 0
1187
+ ? array.map((e, i, a) => a[(i + n) % len])
1188
+ : array.map((e, i, a) => a[(len - ((len - i - n) % len)) % len]);
1161
1189
  }
1162
1190
  navigate(value) {
1163
1191
  let start;
@@ -1168,7 +1196,10 @@ class AXCalendarBoxComponent {
1168
1196
  fd = value.startOf('month');
1169
1197
  }
1170
1198
  else {
1171
- fd = this.viewRange.startTime.add('day', 15).add('month', value).startOf('month');
1199
+ fd = this.viewRange.startTime
1200
+ .add('day', 15)
1201
+ .add('month', value)
1202
+ .startOf('month');
1172
1203
  }
1173
1204
  start = fd.firstDayOfWeek;
1174
1205
  end = fd.endOf('month').endDayOfWeek;
@@ -1191,7 +1222,10 @@ class AXCalendarBoxComponent {
1191
1222
  fd = value.startOf('year');
1192
1223
  }
1193
1224
  else {
1194
- fd = this.viewRange.startTime.add('day', 15).add('year', value).startOf('year');
1225
+ fd = this.viewRange.startTime
1226
+ .add('day', 15)
1227
+ .add('year', value)
1228
+ .startOf('year');
1195
1229
  }
1196
1230
  start = fd;
1197
1231
  end = fd.endOf('year');
@@ -1221,7 +1255,8 @@ class AXCalendarBoxComponent {
1221
1255
  //
1222
1256
  if (this.view === 'day') {
1223
1257
  this.matrix = this.matrixify(this.applyStyle(this.viewRange.enumurate('day', this.type)), 7);
1224
- if (this.matrix.length > 0 && this.matrix[0].find((c) => c.nextMonth === false) === undefined) {
1258
+ if (this.matrix.length > 0 &&
1259
+ this.matrix[0].find((c) => c.nextMonth === false) === undefined) {
1225
1260
  this.matrix.splice(0, 1);
1226
1261
  }
1227
1262
  if (this.matrix[this.matrix.length - 1].find((c) => c.nextMonth === false) === undefined) {
@@ -1241,12 +1276,17 @@ class AXCalendarBoxComponent {
1241
1276
  dates.forEach((d, i, j) => {
1242
1277
  const item = {};
1243
1278
  item.date = d;
1244
- item.selected = d.compaireNew(new AXDateTime(this.value, this.type), this.getViewCompaire(this.view), this.type) === 0;
1245
- item.focused = d.compaireNew(this.focusedValue, this.getViewCompaire(this.view), this.type) === 0;
1246
- item.today = this.today && d.compaireNew(this.today, this.getViewCompaire(this.view), this.type) === 0;
1279
+ item.selected =
1280
+ d.compaireNew(new AXDateTime(this.value, this.type), this.getViewCompaire(this.view), this.type) === 0;
1281
+ item.focused =
1282
+ d.compaireNew(this.focusedValue, this.getViewCompaire(this.view), this.type) === 0;
1283
+ item.today =
1284
+ this.today &&
1285
+ d.compaireNew(this.today, this.getViewCompaire(this.view), this.type) === 0;
1247
1286
  if (this.view === 'day') {
1248
1287
  // item.nextMonth = d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM') !== 0;
1249
- item.nextMonth = d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM', this.type) !== 0;
1288
+ item.nextMonth =
1289
+ d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM', this.type) !== 0;
1250
1290
  item.unselect = this.isInMInMaxRange(d);
1251
1291
  this.holidays.forEach((h) => {
1252
1292
  const comp = d.compaireNew(new AXDateTime(h.date, this.type), 'YMD', this.type);
@@ -1298,16 +1338,18 @@ class AXCalendarBoxComponent {
1298
1338
  isInMInMaxRange(d) {
1299
1339
  let r = false;
1300
1340
  if (d !== undefined) {
1301
- if (this.min && !this.max) {
1302
- r = d.compaireNew(new AXDateTime(this.min, this.type), this.getViewCompaire(this.view), this.type) === -1;
1341
+ if (this._min && !this._max) {
1342
+ r =
1343
+ d.compaireNew(new AXDateTime(this._min, this.type), this.getViewCompaire(this.view), this.type) === -1;
1303
1344
  }
1304
- if (this.max && !this.min) {
1305
- r = d.compaireNew(new AXDateTime(this.max, this.type), this.getViewCompaire(this.view), this.type) === 1;
1345
+ if (this._max && !this._min) {
1346
+ r =
1347
+ d.compaireNew(new AXDateTime(this._max, this.type), this.getViewCompaire(this.view), this.type) === 1;
1306
1348
  }
1307
- if (this.min && this.max) {
1349
+ if (this._min && this._max) {
1308
1350
  r =
1309
- d.compaireNew(new AXDateTime(this.min, this.type), this.getViewCompaire(this.view), this.type) === -1 ||
1310
- d.compaireNew(new AXDateTime(this.max, this.type), this.getViewCompaire(this.view), this.type) === 1;
1351
+ d.compaireNew(new AXDateTime(this._min, this.type), this.getViewCompaire(this.view), this.type) === -1 ||
1352
+ d.compaireNew(new AXDateTime(this._max, this.type), this.getViewCompaire(this.view), this.type) === 1;
1311
1353
  }
1312
1354
  }
1313
1355
  return r;
@@ -1318,7 +1360,9 @@ class AXCalendarBoxComponent {
1318
1360
  }
1319
1361
  else {
1320
1362
  this.view = 'day';
1321
- this.setFocus(new AXDateTime(this.value, this.type).set('year', date.year).set('month', date.monthOfYear));
1363
+ this.setFocus(new AXDateTime(this.value, this.type)
1364
+ .set('year', date.year)
1365
+ .set('month', date.monthOfYear));
1322
1366
  }
1323
1367
  event.stopPropagation();
1324
1368
  }
@@ -1651,6 +1695,11 @@ class AXTooltipDirective {
1651
1695
  this.hide();
1652
1696
  }
1653
1697
  }
1698
+ onMouseClick() {
1699
+ if (this.tooltip && this.tooltipTitle) {
1700
+ this.hide();
1701
+ }
1702
+ }
1654
1703
  show() {
1655
1704
  this.create();
1656
1705
  this.setPosition();
@@ -1686,7 +1735,10 @@ class AXTooltipDirective {
1686
1735
  setPosition() {
1687
1736
  const hostPos = this.el.nativeElement.getBoundingClientRect();
1688
1737
  const tooltipPos = this.tooltip.getBoundingClientRect();
1689
- const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
1738
+ const scrollPos = window.pageYOffset ||
1739
+ document.documentElement.scrollTop ||
1740
+ document.body.scrollTop ||
1741
+ 0;
1690
1742
  let top;
1691
1743
  let left;
1692
1744
  if (this.placement === 'top') {
@@ -1709,12 +1761,12 @@ class AXTooltipDirective {
1709
1761
  this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
1710
1762
  }
1711
1763
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1712
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
1764
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onMouseClick()" } }, ngImport: i0 });
1713
1765
  }
1714
1766
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTooltipDirective, decorators: [{
1715
1767
  type: Directive,
1716
1768
  args: [{
1717
- selector: '[axTooltip]'
1769
+ selector: '[axTooltip]',
1718
1770
  }]
1719
1771
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipTitle: [{
1720
1772
  type: Input,
@@ -1729,6 +1781,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1729
1781
  }], onMouseLeave: [{
1730
1782
  type: HostListener,
1731
1783
  args: ['mouseleave']
1784
+ }], onMouseClick: [{
1785
+ type: HostListener,
1786
+ args: ['click']
1732
1787
  }] } });
1733
1788
 
1734
1789
  class AXMenuItemClickEvent extends AXEvent {
@@ -13189,7 +13244,7 @@ class AXSelectBoxPropertyEditorComponent extends AXProperyEditorComponent {
13189
13244
  selectionMode = 'single';
13190
13245
  selectionDataMode = 'value';
13191
13246
  allowSearch = true;
13192
- allowNull = false;
13247
+ allowNull = true;
13193
13248
  disabled = false;
13194
13249
  items = [];
13195
13250
  remoteOperation = false;
@@ -17261,9 +17316,11 @@ class AXUploadFileComponent extends AXBaseComponent {
17261
17316
  }
17262
17317
  //
17263
17318
  // this.dropRef.classList.add('ax-upload-drop-over');
17264
- this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
17265
- this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
17266
- this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
17319
+ if (this.dropRef) {
17320
+ this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
17321
+ this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
17322
+ this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
17323
+ }
17267
17324
  }
17268
17325
  handleOverlayDragOver(e) {
17269
17326
  e.preventDefault();
@@ -17303,7 +17360,9 @@ class AXUploadFileComponent extends AXBaseComponent {
17303
17360
  const progressLabel = this.rendrer.createElement('small');
17304
17361
  progressLabel.innerText = file.name;
17305
17362
  this.fileName = file.name;
17306
- this.rendrer.appendChild(this.progressRef, progressDiv);
17363
+ if (this.type === 'box') {
17364
+ this.rendrer.appendChild(this.progressRef, progressDiv);
17365
+ }
17307
17366
  const com = this.injectionService.appendComponent(AXProgressBarComponent, { progress: 0 }, progressDiv).instance;
17308
17367
  this.rendrer.appendChild(progressDiv, progressLabel);
17309
17368
  const reader = new FileReader();