@clr/angular 17.5.0 → 17.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/clarity.api.md +335 -112
- package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +13 -4
- package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +4 -3
- package/data/datagrid/providers/columns.service.d.ts +1 -0
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +18 -17
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +63 -28
- package/esm2020/data/datagrid/datagrid-column.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +11 -9
- package/esm2020/data/datagrid/providers/columns.service.mjs +4 -1
- package/esm2020/data/datagrid/render/main-renderer.mjs +3 -3
- package/esm2020/forms/combobox/combobox.mjs +7 -7
- package/esm2020/forms/common/abstract-container.mjs +9 -3
- package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +11 -27
- package/esm2020/forms/common/label.mjs +4 -1
- package/esm2020/forms/common/providers/ng-control.service.mjs +5 -1
- package/esm2020/forms/datepicker/calendar.mjs +21 -8
- package/esm2020/forms/datepicker/date-container.mjs +10 -3
- package/esm2020/forms/datepicker/date-input.mjs +2 -2
- package/esm2020/forms/datepicker/datepicker-action-buttons.mjs +50 -0
- package/esm2020/forms/datepicker/datepicker-view-manager.mjs +17 -10
- package/esm2020/forms/datepicker/datepicker.module.mjs +7 -3
- package/esm2020/forms/datepicker/day.mjs +12 -14
- package/esm2020/forms/datepicker/index.mjs +2 -1
- package/esm2020/forms/datepicker/model/calendar-view.model.mjs +15 -4
- package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +9 -4
- package/esm2020/forms/file-input/file-input-container.mjs +101 -13
- package/esm2020/forms/file-input/file-input-validator-errors.mjs +8 -0
- package/esm2020/forms/file-input/file-input-validator.mjs +14 -22
- package/esm2020/forms/file-input/file-input.mjs +3 -2
- package/esm2020/forms/file-input/file-input.module.mjs +35 -4
- package/esm2020/forms/file-input/file-list.mjs +158 -0
- package/esm2020/forms/file-input/file-messages-template.mjs +26 -0
- package/esm2020/forms/file-input/file-messages.mjs +61 -0
- package/esm2020/forms/file-input/index.mjs +5 -1
- package/esm2020/forms/forms.module.mjs +7 -3
- package/esm2020/forms/index.mjs +2 -1
- package/esm2020/forms/input/input-container.mjs +11 -3
- package/esm2020/forms/input/input.mjs +10 -1
- package/esm2020/forms/number-input/index.mjs +10 -0
- package/esm2020/forms/number-input/number-input-container.mjs +145 -0
- package/esm2020/forms/number-input/number-input.mjs +72 -0
- package/esm2020/forms/number-input/number-input.module.mjs +32 -0
- package/esm2020/utils/i18n/common-strings.default.mjs +4 -1
- package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
- package/fesm2015/clr-angular.mjs +893 -181
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +882 -173
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/common/abstract-container.d.ts +2 -0
- package/forms/common/if-control-state/if-control-state.service.d.ts +4 -7
- package/forms/common/providers/ng-control.service.d.ts +2 -0
- package/forms/datepicker/calendar.d.ts +6 -1
- package/forms/datepicker/date-container.d.ts +2 -1
- package/forms/datepicker/datepicker-action-buttons.d.ts +16 -0
- package/forms/datepicker/datepicker-view-manager.d.ts +4 -1
- package/forms/datepicker/datepicker.module.d.ts +9 -8
- package/forms/datepicker/day.d.ts +5 -6
- package/forms/datepicker/index.d.ts +1 -0
- package/forms/datepicker/model/calendar-view.model.d.ts +5 -0
- package/forms/datepicker/providers/date-navigation.service.d.ts +6 -2
- package/forms/file-input/file-input-container.d.ts +15 -4
- package/forms/file-input/file-input-validator-errors.d.ts +52 -0
- package/forms/file-input/file-input.module.d.ts +7 -4
- package/forms/file-input/file-list.d.ts +18 -0
- package/forms/file-input/file-messages-template.d.ts +19 -0
- package/forms/file-input/file-messages.d.ts +17 -0
- package/forms/file-input/index.d.ts +4 -0
- package/forms/forms.module.d.ts +2 -1
- package/forms/index.d.ts +1 -0
- package/forms/input/input-container.d.ts +1 -1
- package/forms/number-input/index.d.ts +3 -0
- package/forms/number-input/number-input-container.d.ts +16 -0
- package/forms/number-input/number-input.d.ts +20 -0
- package/forms/number-input/number-input.module.d.ts +13 -0
- package/package.json +2 -2
- package/utils/i18n/common-strings.interface.d.ts +12 -0
|
@@ -33,6 +33,14 @@ export class CalendarViewModel {
|
|
|
33
33
|
this.setFocusableFlag(day, true);
|
|
34
34
|
this.focusableDay = day;
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Updates the selected day in the calendar
|
|
38
|
+
*/
|
|
39
|
+
updateSelectedDay(day) {
|
|
40
|
+
this.setSelectedDay(this.selectedDay, false);
|
|
41
|
+
this.selectedDay = day;
|
|
42
|
+
this.setSelectedDay(day, true);
|
|
43
|
+
}
|
|
36
44
|
/**
|
|
37
45
|
* Generates a 6x7 matrix of DayViewModel based on the Calendar.
|
|
38
46
|
* The 6x7 matrix is structured according to the first day of the week.
|
|
@@ -122,9 +130,7 @@ export class CalendarViewModel {
|
|
|
122
130
|
* Initialize the selected day if the day is in the calendar.
|
|
123
131
|
*/
|
|
124
132
|
initializeSelectedDay() {
|
|
125
|
-
|
|
126
|
-
this.currMonthDayViews[this.selectedDay.date - 1].isSelected = true;
|
|
127
|
-
}
|
|
133
|
+
this.setSelectedDay(this.selectedDay, true);
|
|
128
134
|
}
|
|
129
135
|
/**
|
|
130
136
|
* Initializes the focusable day if the day is in the calendar. If focusable day is not set, then
|
|
@@ -153,5 +159,10 @@ export class CalendarViewModel {
|
|
|
153
159
|
this.currMonthDayViews[day.date - 1].isFocusable = flag;
|
|
154
160
|
}
|
|
155
161
|
}
|
|
162
|
+
setSelectedDay(day, flag) {
|
|
163
|
+
if (day && this.isDayInCalendarView(day)) {
|
|
164
|
+
this.currMonthDayViews[day?.date - 1].isSelected = flag;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
156
167
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2RhdGVwaWNrZXIvbW9kZWwvY2FsZW5kYXItdmlldy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUdILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ1MsUUFBdUIsRUFDdEIsV0FBcUIsRUFDckIsWUFBc0IsRUFDdEIsS0FBZSxFQUNoQixjQUFzQixFQUNyQixhQUF3QjtRQUx6QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQVc7UUFUMUIsc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQVc3QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsR0FBYTtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENB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QUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBYSxFQUFFLElBQWE7UUFDbkQsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5PX09GX0RBWVNfSU5fQV9XRUVLLCBOT19PRl9ST1dTX0lOX0NBTEVOREFSX1ZJRVcsIFRPVEFMX0RBWVNfSU5fREFZU19WSUVXIH0gZnJvbSAnLi4vdXRpbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldERheSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtdXRpbHMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2RlbCB9IGZyb20gJy4vY2FsZW5kYXIubW9kZWwnO1xuaW1wb3J0IHsgRGF5Vmlld01vZGVsIH0gZnJvbSAnLi9kYXktdmlldy5tb2RlbCc7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4vZGF5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyVmlld01vZGVsIHtcbiAgcHJpdmF0ZSBjdXJyTW9udGhEYXlWaWV3czogRGF5Vmlld01vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBfY2FsZW5kYXJWaWV3OiBEYXlWaWV3TW9kZWxbXVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjYWxlbmRhcjogQ2FsZW5kYXJNb2RlbCxcbiAgICBwcml2YXRlIHNlbGVjdGVkRGF5OiBEYXlNb2RlbCxcbiAgICBwcml2YXRlIGZvY3VzYWJsZURheTogRGF5TW9kZWwsXG4gICAgcHJpdmF0ZSB0b2RheTogRGF5TW9kZWwsXG4gICAgcHVibGljIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXIsXG4gICAgcHJpdmF0ZSBleGNsdWRlZERhdGVzOiBEYXRlUmFuZ2VcbiAgKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQ2FsZW5kYXJWaWV3KCk7XG4gIH1cblxuICAvKipcbiAgICogRGF5Vmlld01vZGVsIG1hdHJpeC4gU2l6ZSA2eDdcbiAgICovXG4gIGdldCBjYWxlbmRhclZpZXcoKTogRGF5Vmlld01vZGVsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyVmlldztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBmb2N1c2FibGUgZGF5IGluIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHVwZGF0ZUZvY3VzYWJsZURheShkYXk6IERheU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKHRoaXMuZm9jdXNhYmxlRGF5LCBmYWxzZSk7XG4gICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKGRheSwgdHJ1ZSk7XG4gICAgdGhpcy5mb2N1c2FibGVEYXkgPSBkYXk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgNng3IG1hdHJpeCBvZiBEYXlWaWV3TW9kZWwgYmFzZWQgb24gdGhlIENhbGVuZGFyLlxuICAgKiBUaGUgNng3IG1hdHJpeCBpcyBzdHJ1Y3R1cmVkIGFjY29yZGluZyB0byB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgKiA2IHJvd3MgdG8gYWNjb21tb2RhdGUgbW9udGhzIHdoaWNoIG1pZ2h0IGhhdmUgZGF0ZXMgc3Bhbm5pbmcgb3ZlciA2IHdlZWtzLlxuICAgKiA3IGNvbHVtbnMgYmVjYXVzZSB0aGVyZSBhcmUgNyBkYXlzIGluIGEgd2VlayA6UCA6RFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2FsZW5kYXJWaWV3KCk6IHZvaWQge1xuICAgIC8vIEdlbmVyYXRlIHByZXYgYW5kIG5leHQgbW9udGggY2FsZW5kYXIgbW9kZWxzLlxuICAgIGNvbnN0IHByZXZNb250aENhbGVuZGFyOiBDYWxlbmRhck1vZGVsID0gdGhpcy5jYWxlbmRhci5wcmV2aW91c01vbnRoKCk7XG4gICAgY29uc3QgbmV4dE1vbnRoQ2FsZW5kYXI6IENhbGVuZGFyTW9kZWwgPSB0aGlzLmNhbGVuZGFyLm5leHRNb250aCgpO1xuXG4gICAgLy8gR2V0IG5vIG9mIGRheXMgZnJvbSBwcmV2IGFuZCBuZXh0IG1vbnRocy5cbiAgICBjb25zdCBkYXlzRnJvbVByZXZNb250aEluQ2FsVmlldzogbnVtYmVyID0gdGhpcy5udW1EYXlzRnJvbVByZXZNb250aEluQ2FsVmlldyhcbiAgICAgIHRoaXMuY2FsZW5kYXIueWVhcixcbiAgICAgIHRoaXMuY2FsZW5kYXIubW9udGhcbiAgICApO1xuICAgIGNvbnN0IGRheXNGcm9tTmV4dE1vbnRoSW5DYWxWaWV3OiBudW1iZXIgPVxuICAgICAgVE9UQUxfREFZU19JTl9EQVlTX1ZJRVcgLSAodGhpcy5jYWxlbmRhci5kYXlzLmxlbmd0aCArIGRheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3KTtcblxuICAgIC8vIEdlbmVyYXRlIHByZXYsIGN1cnIgYW5kIG5leHQgZGF5IHZpZXcgbW9kZWxzXG4gICAgbGV0IHByZXZNb250aERheVZpZXdzOiBEYXlWaWV3TW9kZWxbXSA9IFtdO1xuICAgIGxldCBuZXh0TW9udGhEYXlWaWV3czogRGF5Vmlld01vZGVsW10gPSBbXTtcblxuICAgIGlmIChkYXlzRnJvbVByZXZNb250aEluQ2FsVmlldyA+IDApIHtcbiAgICAgIHByZXZNb250aERheVZpZXdzID0gdGhpcy5nZW5lcmF0ZURheVZpZXdNb2RlbHMoXG4gICAgICAgIHByZXZNb250aENhbGVuZGFyLmRheXMuc2xpY2UoLTEgKiBkYXlzRnJvbVByZXZNb250aEluQ2FsVmlldyksXG4gICAgICAgIHRydWUsXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuY3Vyck1vbnRoRGF5Vmlld3MgPSB0aGlzLmdlbmVyYXRlRGF5Vmlld01vZGVscyh0aGlzLmNhbGVuZGFyLmRheXMsIGZhbHNlLCB0cnVlKTtcblxuICAgIGlmIChkYXlzRnJvbU5leHRNb250aEluQ2FsVmlldyA+IDApIHtcbiAgICAgIG5leHRNb250aERheVZpZXdzID0gdGhpcy5nZW5lcmF0ZURheVZpZXdNb2RlbHMoXG4gICAgICAgIG5leHRNb250aENhbGVuZGFyLmRheXMuc2xpY2UoMCwgZGF5c0Zyb21OZXh0TW9udGhJbkNhbFZpZXcpLFxuICAgICAgICB0cnVlLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjYWxlbmRhciB2aWV3IGFuZCBpbml0aWFsaXplIGZsYWdzXG4gICAgdGhpcy5fY2FsZW5kYXJWaWV3ID0gdGhpcy5nZW5lcmF0ZUNhbGVuZGFyVmlldyhwcmV2TW9udGhEYXlWaWV3cywgdGhpcy5jdXJyTW9udGhEYXlWaWV3cywgbmV4dE1vbnRoRGF5Vmlld3MpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZVNlbGVjdGVkRGF5KCk7XG4gICAgdGhpcy5pbml0aWFsaXplRm9jdXNhYmxlRGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGlzRGF0ZUV4Y2x1ZGVkKGRhdGU6IERheU1vZGVsKSB7XG4gICAgY29uc3QgeyBtaW5EYXRlLCBtYXhEYXRlIH06IERhdGVSYW5nZSA9IHRoaXMuZXhjbHVkZWREYXRlcztcbiAgICBjb25zdCBmcm9tID0gbWluRGF0ZS50b0NvbXBhcmlzb25TdHJpbmcoKTtcbiAgICBjb25zdCB0byA9IG1heERhdGUudG9Db21wYXJpc29uU3RyaW5nKCk7XG4gICAgY29uc3QgdG9kYXkgPSBkYXRlLnRvQ29tcGFyaXNvblN0cmluZygpO1xuXG4gICAgcmV0dXJuICEodG9kYXkgPj0gZnJvbSAmJiB0b2RheSA8PSB0byk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgRGF5Vmlld01vZGVsIGFycmF5IGJhc2VkIG9uIHRoZSBEYXlNb2RlbCBwYXNzZWRcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXlWaWV3TW9kZWxzKGRheXM6IERheU1vZGVsW10sIGlzRXhjbHVkZWQ6IGJvb2xlYW4sIGlzQ3VycmVudENhbGVuZGFyOiBib29sZWFuKTogRGF5Vmlld01vZGVsW10ge1xuICAgIGNvbnN0IGRheVZpZXdzOiBEYXlWaWV3TW9kZWxbXSA9IGRheXMubWFwKGRheSA9PiB7XG4gICAgICByZXR1cm4gbmV3IERheVZpZXdNb2RlbChkYXksIGZhbHNlLCBpc0V4Y2x1ZGVkLCB0aGlzLmlzRGF0ZUV4Y2x1ZGVkKGRheSksIGZhbHNlLCBmYWxzZSk7XG4gICAgfSk7XG4gICAgaWYgKGlzQ3VycmVudENhbGVuZGFyICYmIHRoaXMuY2FsZW5kYXIuaXNEYXlJbkNhbGVuZGFyKHRoaXMudG9kYXkpKSB7XG4gICAgICBkYXlWaWV3c1t0aGlzLnRvZGF5LmRhdGUgLSAxXS5pc1RvZGF5c0RhdGUgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZGF5Vmlld3M7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmlyc3QgZGF5IG9mIHRoZSBjdXJyZW50IG1vbnRoIHRvIGZpZ3VyZSBvdXQgaG93IG1hbnkgZGF0ZXMgb2YgcHJldmlvdXMgbW9udGhcbiAgICogYXJlIG5lZWRlZCB0byBjb21wbGV0ZSB0aGUgQ2FsZW5kYXIgVmlldyBiYXNlZCBvbiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgKiBlZzogQXNzdW1pbmcgbG9jYWxlIGVuLVVTLCB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrIGlzIFN1bmRheSxcbiAgICogaWYgZmlyc3QgZGF5IG9mIHRoZSBjdXJyZW50IG1vbnRoIGxhbmRzIG9uIFdlZG5lc2RheSwgdGhlblxuICAgKiAodGhpcy5nZXREYXkgZnVuY3Rpb24gd291bGQgcmV0dXJuIDMgc2luY2VcbiAgICogZmlyc3QgZGF5IG9mIHRoZSB3ZWVrIGlzIDApLCB3ZSBuZWVkIHRoZSAzIGRheXMgZnJvbSB0aGUgcHJldmlvdXMgbW9udGguXG4gICAqL1xuICBwcml2YXRlIG51bURheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3KGN1cnJlbnRZZWFyOiBudW1iZXIsIGN1cnJlbnRNb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBmaXJzdERheU9mQ3Vyck1vbnRoOiBudW1iZXIgPSBnZXREYXkoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgMSk7XG5cbiAgICBpZiAoZmlyc3REYXlPZkN1cnJNb250aCA+PSB0aGlzLmZpcnN0RGF5T2ZXZWVrKSB7XG4gICAgICByZXR1cm4gZmlyc3REYXlPZkN1cnJNb250aCAtIHRoaXMuZmlyc3REYXlPZldlZWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBOT19PRl9EQVlTX0lOX0FfV0VFSyArIGZpcnN0RGF5T2ZDdXJyTW9udGggLSB0aGlzLmZpcnN0RGF5T2ZXZWVrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIERheSBwYXNzZWQgaXMgaW4gdGhlIENhbGVuZGFyVmlldy5cbiAgICovXG4gIHByaXZhdGUgaXNEYXlJbkNhbGVuZGFyVmlldyhkYXk6IERheU1vZGVsKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyLmlzRGF5SW5DYWxlbmRhcihkYXkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzaW5nIHRoZSBEYXlWaWV3TW9kZWxzIGZyb20gdGhlIHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoLCB0aGlzIGZ1bmN0aW9uXG4gICAqIGdlbmVyYXRlcyB0aGUgQ2FsZW5kYXJWaWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUNhbGVuZGFyVmlldyhwcmV2OiBEYXlWaWV3TW9kZWxbXSwgY3VycjogRGF5Vmlld01vZGVsW10sIG5leHQ6IERheVZpZXdNb2RlbFtdKTogRGF5Vmlld01vZGVsW11bXSB7XG4gICAgY29uc3QgY29tYmluYXRpb25BcnI6IERheVZpZXdNb2RlbFtdID0gWy4uLnByZXYsIC4uLmN1cnIsIC4uLm5leHRdO1xuXG4gICAgY29uc3QgY2FsZW5kYXJWaWV3OiBEYXlWaWV3TW9kZWxbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOT19PRl9ST1dTX0lOX0NBTEVOREFSX1ZJRVc7IGkrKykge1xuICAgICAgY2FsZW5kYXJWaWV3W2ldID0gY29tYmluYXRpb25BcnIuc2xpY2UoaSAqIE5PX09GX0RBWVNfSU5fQV9XRUVLLCAoaSArIDEpICogTk9fT0ZfREFZU19JTl9BX1dFRUspO1xuICAgIH1cbiAgICByZXR1cm4gY2FsZW5kYXJWaWV3O1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHNlbGVjdGVkIGRheSBpZiB0aGUgZGF5IGlzIGluIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVNlbGVjdGVkRGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmIHRoaXMuaXNEYXlJbkNhbGVuZGFyVmlldyh0aGlzLnNlbGVjdGVkRGF5KSkge1xuICAgICAgdGhpcy5jdXJyTW9udGhEYXlWaWV3c1t0aGlzLnNlbGVjdGVkRGF5LmRhdGUgLSAxXS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGZvY3VzYWJsZSBkYXkgaWYgdGhlIGRheSBpcyBpbiB0aGUgY2FsZW5kYXIuIElmIGZvY3VzYWJsZSBkYXkgaXMgbm90IHNldCwgdGhlblxuICAgKiB3ZSBjaGVjayBmb3IgdGhlIHNlbGVjdGVkIGRheS4gSWYgc2VsZWN0ZWQgZGF5IGlzIG5vdCBzZXQgdGhlbiBjaGVjayBpZiB0b2RheSBpcyBpbiB0aGUgY3VycmVudFxuICAgKiBjYWxlbmRhci4gSWYgbm90IHRoZW4ganVzdCBzZXQgdGhlIDE1dGggb2YgdGhlIGN1cnJlbnQgY2FsZW5kYXIgbW9udGguXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVGb2N1c2FibGVEYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9jdXNhYmxlRGF5ICYmIHRoaXMuaXNEYXlJbkNhbGVuZGFyVmlldyh0aGlzLmZvY3VzYWJsZURheSkpIHtcbiAgICAgIHRoaXMuc2V0Rm9jdXNhYmxlRmxhZyh0aGlzLmZvY3VzYWJsZURheSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmIHRoaXMuaXNEYXlJbkNhbGVuZGFyVmlldyh0aGlzLnNlbGVjdGVkRGF5KSkge1xuICAgICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKHRoaXMuc2VsZWN0ZWREYXksIHRydWUpO1xuICAgICAgdGhpcy5mb2N1c2FibGVEYXkgPSB0aGlzLnNlbGVjdGVkRGF5LmNsb25lKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzRGF5SW5DYWxlbmRhclZpZXcodGhpcy50b2RheSkpIHtcbiAgICAgIHRoaXMuc2V0Rm9jdXNhYmxlRmxhZyh0aGlzLnRvZGF5LCB0cnVlKTtcbiAgICAgIHRoaXMuZm9jdXNhYmxlRGF5ID0gdGhpcy50b2RheS5jbG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzYWJsZURheSA9IG5ldyBEYXlNb2RlbCh0aGlzLmNhbGVuZGFyLnllYXIsIHRoaXMuY2FsZW5kYXIubW9udGgsIDE1KTtcbiAgICAgIHRoaXMuc2V0Rm9jdXNhYmxlRmxhZyh0aGlzLmZvY3VzYWJsZURheSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c2FibGVGbGFnKGRheTogRGF5TW9kZWwsIGZsYWc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZGF5KSB7XG4gICAgICB0aGlzLmN1cnJNb250aERheVZpZXdzW2RheS5kYXRlIC0gMV0uaXNGb2N1c2FibGUgPSBmbGFnO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2RhdGVwaWNrZXIvbW9kZWwvY2FsZW5kYXItdmlldy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUdILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ1MsUUFBdUIsRUFDdEIsV0FBcUIsRUFDckIsWUFBc0IsRUFDdEIsS0FBZSxFQUNoQixjQUFzQixFQUNyQixhQUF3QjtRQUx6QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQVc7UUFUMUIsc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQVc3QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsR0FBYTtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENB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U0FDeEM7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBYSxFQUFFLElBQWE7UUFDbkQsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFhLEVBQUUsSUFBYTtRQUNqRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN6RDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOT19PRl9EQVlTX0lOX0FfV0VFSywgTk9fT0ZfUk9XU19JTl9DQUxFTkRBUl9WSUVXLCBUT1RBTF9EQVlTX0lOX0RBWVNfVklFVyB9IGZyb20gJy4uL3V0aWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXREYXkgfSBmcm9tICcuLi91dGlscy9kYXRlLXV0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyTW9kZWwgfSBmcm9tICcuL2NhbGVuZGFyLm1vZGVsJztcbmltcG9ydCB7IERheVZpZXdNb2RlbCB9IGZyb20gJy4vZGF5LXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgRGF5TW9kZWwgfSBmcm9tICcuL2RheS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxlbmRhclZpZXdNb2RlbCB7XG4gIHByaXZhdGUgY3Vyck1vbnRoRGF5Vmlld3M6IERheVZpZXdNb2RlbFtdID0gW107XG4gIHByaXZhdGUgX2NhbGVuZGFyVmlldzogRGF5Vmlld01vZGVsW11bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2FsZW5kYXI6IENhbGVuZGFyTW9kZWwsXG4gICAgcHJpdmF0ZSBzZWxlY3RlZERheTogRGF5TW9kZWwsXG4gICAgcHJpdmF0ZSBmb2N1c2FibGVEYXk6IERheU1vZGVsLFxuICAgIHByaXZhdGUgdG9kYXk6IERheU1vZGVsLFxuICAgIHB1YmxpYyBmaXJzdERheU9mV2VlazogbnVtYmVyLFxuICAgIHByaXZhdGUgZXhjbHVkZWREYXRlczogRGF0ZVJhbmdlXG4gICkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNhbGVuZGFyVmlldygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERheVZpZXdNb2RlbCBtYXRyaXguIFNpemUgNng3XG4gICAqL1xuICBnZXQgY2FsZW5kYXJWaWV3KCk6IERheVZpZXdNb2RlbFtdW10ge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhclZpZXc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZm9jdXNhYmxlIGRheSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICB1cGRhdGVGb2N1c2FibGVEYXkoZGF5OiBEYXlNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Rm9jdXNhYmxlRmxhZyh0aGlzLmZvY3VzYWJsZURheSwgZmFsc2UpO1xuICAgIHRoaXMuc2V0Rm9jdXNhYmxlRmxhZyhkYXksIHRydWUpO1xuICAgIHRoaXMuZm9jdXNhYmxlRGF5ID0gZGF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHNlbGVjdGVkIGRheSBpbiB0aGUgY2FsZW5kYXJcbiAgICovXG4gIHVwZGF0ZVNlbGVjdGVkRGF5KGRheTogRGF5TW9kZWwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkRGF5KHRoaXMuc2VsZWN0ZWREYXksIGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF5ID0gZGF5O1xuICAgIHRoaXMuc2V0U2VsZWN0ZWREYXkoZGF5LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSA2eDcgbWF0cml4IG9mIERheVZpZXdNb2RlbCBiYXNlZCBvbiB0aGUgQ2FsZW5kYXIuXG4gICAqIFRoZSA2eDcgbWF0cml4IGlzIHN0cnVjdHVyZWQgYWNjb3JkaW5nIHRvIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIDYgcm93cyB0byBhY2NvbW1vZGF0ZSBtb250aHMgd2hpY2ggbWlnaHQgaGF2ZSBkYXRlcyBzcGFubmluZyBvdmVyIDYgd2Vla3MuXG4gICAqIDcgY29sdW1ucyBiZWNhdXNlIHRoZXJlIGFyZSA3IGRheXMgaW4gYSB3ZWVrIDpQIDpEXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVDYWxlbmRhclZpZXcoKTogdm9pZCB7XG4gICAgLy8gR2VuZXJhdGUgcHJldiBhbmQgbmV4dCBtb250aCBjYWxlbmRhciBtb2RlbHMuXG4gICAgY29uc3QgcHJldk1vbnRoQ2FsZW5kYXI6IENhbGVuZGFyTW9kZWwgPSB0aGlzLmNhbGVuZGFyLnByZXZpb3VzTW9udGgoKTtcbiAgICBjb25zdCBuZXh0TW9udGhDYWxlbmRhcjogQ2FsZW5kYXJNb2RlbCA9IHRoaXMuY2FsZW5kYXIubmV4dE1vbnRoKCk7XG5cbiAgICAvLyBHZXQgbm8gb2YgZGF5cyBmcm9tIHByZXYgYW5kIG5leHQgbW9udGhzLlxuICAgIGNvbnN0IGRheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3OiBudW1iZXIgPSB0aGlzLm51bURheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3KFxuICAgICAgdGhpcy5jYWxlbmRhci55ZWFyLFxuICAgICAgdGhpcy5jYWxlbmRhci5tb250aFxuICAgICk7XG4gICAgY29uc3QgZGF5c0Zyb21OZXh0TW9udGhJbkNhbFZpZXc6IG51bWJlciA9XG4gICAgICBUT1RBTF9EQVlTX0lOX0RBWVNfVklFVyAtICh0aGlzLmNhbGVuZGFyLmRheXMubGVuZ3RoICsgZGF5c0Zyb21QcmV2TW9udGhJbkNhbFZpZXcpO1xuXG4gICAgLy8gR2VuZXJhdGUgcHJldiwgY3VyciBhbmQgbmV4dCBkYXkgdmlldyBtb2RlbHNcbiAgICBsZXQgcHJldk1vbnRoRGF5Vmlld3M6IERheVZpZXdNb2RlbFtdID0gW107XG4gICAgbGV0IG5leHRNb250aERheVZpZXdzOiBEYXlWaWV3TW9kZWxbXSA9IFtdO1xuXG4gICAgaWYgKGRheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3ID4gMCkge1xuICAgICAgcHJldk1vbnRoRGF5Vmlld3MgPSB0aGlzLmdlbmVyYXRlRGF5Vmlld01vZGVscyhcbiAgICAgICAgcHJldk1vbnRoQ2FsZW5kYXIuZGF5cy5zbGljZSgtMSAqIGRheXNGcm9tUHJldk1vbnRoSW5DYWxWaWV3KSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyTW9udGhEYXlWaWV3cyA9IHRoaXMuZ2VuZXJhdGVEYXlWaWV3TW9kZWxzKHRoaXMuY2FsZW5kYXIuZGF5cywgZmFsc2UsIHRydWUpO1xuXG4gICAgaWYgKGRheXNGcm9tTmV4dE1vbnRoSW5DYWxWaWV3ID4gMCkge1xuICAgICAgbmV4dE1vbnRoRGF5Vmlld3MgPSB0aGlzLmdlbmVyYXRlRGF5Vmlld01vZGVscyhcbiAgICAgICAgbmV4dE1vbnRoQ2FsZW5kYXIuZGF5cy5zbGljZSgwLCBkYXlzRnJvbU5leHRNb250aEluQ2FsVmlldyksXG4gICAgICAgIHRydWUsXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNhbGVuZGFyIHZpZXcgYW5kIGluaXRpYWxpemUgZmxhZ3NcbiAgICB0aGlzLl9jYWxlbmRhclZpZXcgPSB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJWaWV3KHByZXZNb250aERheVZpZXdzLCB0aGlzLmN1cnJNb250aERheVZpZXdzLCBuZXh0TW9udGhEYXlWaWV3cyk7XG4gICAgdGhpcy5pbml0aWFsaXplU2VsZWN0ZWREYXkoKTtcbiAgICB0aGlzLmluaXRpYWxpemVGb2N1c2FibGVEYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEYXRlRXhjbHVkZWQoZGF0ZTogRGF5TW9kZWwpIHtcbiAgICBjb25zdCB7IG1pbkRhdGUsIG1heERhdGUgfTogRGF0ZVJhbmdlID0gdGhpcy5leGNsdWRlZERhdGVzO1xuICAgIGNvbnN0IGZyb20gPSBtaW5EYXRlLnRvQ29tcGFyaXNvblN0cmluZygpO1xuICAgIGNvbnN0IHRvID0gbWF4RGF0ZS50b0NvbXBhcmlzb25TdHJpbmcoKTtcbiAgICBjb25zdCB0b2RheSA9IGRhdGUudG9Db21wYXJpc29uU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gISh0b2RheSA+PSBmcm9tICYmIHRvZGF5IDw9IHRvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBEYXlWaWV3TW9kZWwgYXJyYXkgYmFzZWQgb24gdGhlIERheU1vZGVsIHBhc3NlZFxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZURheVZpZXdNb2RlbHMoZGF5czogRGF5TW9kZWxbXSwgaXNFeGNsdWRlZDogYm9vbGVhbiwgaXNDdXJyZW50Q2FsZW5kYXI6IGJvb2xlYW4pOiBEYXlWaWV3TW9kZWxbXSB7XG4gICAgY29uc3QgZGF5Vmlld3M6IERheVZpZXdNb2RlbFtdID0gZGF5cy5tYXAoZGF5ID0+IHtcbiAgICAgIHJldHVybiBuZXcgRGF5Vmlld01vZGVsKGRheSwgZmFsc2UsIGlzRXhjbHVkZWQsIHRoaXMuaXNEYXRlRXhjbHVkZWQoZGF5KSwgZmFsc2UsIGZhbHNlKTtcbiAgICB9KTtcbiAgICBpZiAoaXNDdXJyZW50Q2FsZW5kYXIgJiYgdGhpcy5jYWxlbmRhci5pc0RheUluQ2FsZW5kYXIodGhpcy50b2RheSkpIHtcbiAgICAgIGRheVZpZXdzW3RoaXMudG9kYXkuZGF0ZSAtIDFdLmlzVG9kYXlzRGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBkYXlWaWV3cztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIGN1cnJlbnQgbW9udGggdG8gZmlndXJlIG91dCBob3cgbWFueSBkYXRlcyBvZiBwcmV2aW91cyBtb250aFxuICAgKiBhcmUgbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBDYWxlbmRhciBWaWV3IGJhc2VkIG9uIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIGVnOiBBc3N1bWluZyBsb2NhbGUgZW4tVVMsIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgU3VuZGF5LFxuICAgKiBpZiBmaXJzdCBkYXkgb2YgdGhlIGN1cnJlbnQgbW9udGggbGFuZHMgb24gV2VkbmVzZGF5LCB0aGVuXG4gICAqICh0aGlzLmdldERheSBmdW5jdGlvbiB3b3VsZCByZXR1cm4gMyBzaW5jZVxuICAgKiBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgMCksIHdlIG5lZWQgdGhlIDMgZGF5cyBmcm9tIHRoZSBwcmV2aW91cyBtb250aC5cbiAgICovXG4gIHByaXZhdGUgbnVtRGF5c0Zyb21QcmV2TW9udGhJbkNhbFZpZXcoY3VycmVudFllYXI6IG51bWJlciwgY3VycmVudE1vbnRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGZpcnN0RGF5T2ZDdXJyTW9udGg6IG51bWJlciA9IGdldERheShjdXJyZW50WWVhciwgY3VycmVudE1vbnRoLCAxKTtcblxuICAgIGlmIChmaXJzdERheU9mQ3Vyck1vbnRoID49IHRoaXMuZmlyc3REYXlPZldlZWspIHtcbiAgICAgIHJldHVybiBmaXJzdERheU9mQ3Vyck1vbnRoIC0gdGhpcy5maXJzdERheU9mV2VlaztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIE5PX09GX0RBWVNfSU5fQV9XRUVLICsgZmlyc3REYXlPZkN1cnJNb250aCAtIHRoaXMuZmlyc3REYXlPZldlZWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgRGF5IHBhc3NlZCBpcyBpbiB0aGUgQ2FsZW5kYXJWaWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBpc0RheUluQ2FsZW5kYXJWaWV3KGRheTogRGF5TW9kZWwpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXIuaXNEYXlJbkNhbGVuZGFyKGRheSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVXNpbmcgdGhlIERheVZpZXdNb2RlbHMgZnJvbSB0aGUgcHJldmlvdXMsIGN1cnJlbnQgYW5kIG5leHQgbW9udGgsIHRoaXMgZnVuY3Rpb25cbiAgICogZ2VuZXJhdGVzIHRoZSBDYWxlbmRhclZpZXcuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlQ2FsZW5kYXJWaWV3KHByZXY6IERheVZpZXdNb2RlbFtdLCBjdXJyOiBEYXlWaWV3TW9kZWxbXSwgbmV4dDogRGF5Vmlld01vZGVsW10pOiBEYXlWaWV3TW9kZWxbXVtdIHtcbiAgICBjb25zdCBjb21iaW5hdGlvbkFycjogRGF5Vmlld01vZGVsW10gPSBbLi4ucHJldiwgLi4uY3VyciwgLi4ubmV4dF07XG5cbiAgICBjb25zdCBjYWxlbmRhclZpZXc6IERheVZpZXdNb2RlbFtdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE5PX09GX1JPV1NfSU5fQ0FMRU5EQVJfVklFVzsgaSsrKSB7XG4gICAgICBjYWxlbmRhclZpZXdbaV0gPSBjb21iaW5hdGlvbkFyci5zbGljZShpICogTk9fT0ZfREFZU19JTl9BX1dFRUssIChpICsgMSkgKiBOT19PRl9EQVlTX0lOX0FfV0VFSyk7XG4gICAgfVxuICAgIHJldHVybiBjYWxlbmRhclZpZXc7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgc2VsZWN0ZWQgZGF5IGlmIHRoZSBkYXkgaXMgaW4gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplU2VsZWN0ZWREYXkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTZWxlY3RlZERheSh0aGlzLnNlbGVjdGVkRGF5LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZm9jdXNhYmxlIGRheSBpZiB0aGUgZGF5IGlzIGluIHRoZSBjYWxlbmRhci4gSWYgZm9jdXNhYmxlIGRheSBpcyBub3Qgc2V0LCB0aGVuXG4gICAqIHdlIGNoZWNrIGZvciB0aGUgc2VsZWN0ZWQgZGF5LiBJZiBzZWxlY3RlZCBkYXkgaXMgbm90IHNldCB0aGVuIGNoZWNrIGlmIHRvZGF5IGlzIGluIHRoZSBjdXJyZW50XG4gICAqIGNhbGVuZGFyLiBJZiBub3QgdGhlbiBqdXN0IHNldCB0aGUgMTV0aCBvZiB0aGUgY3VycmVudCBjYWxlbmRhciBtb250aC5cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZvY3VzYWJsZURheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb2N1c2FibGVEYXkgJiYgdGhpcy5pc0RheUluQ2FsZW5kYXJWaWV3KHRoaXMuZm9jdXNhYmxlRGF5KSkge1xuICAgICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKHRoaXMuZm9jdXNhYmxlRGF5LCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWREYXkgJiYgdGhpcy5pc0RheUluQ2FsZW5kYXJWaWV3KHRoaXMuc2VsZWN0ZWREYXkpKSB7XG4gICAgICB0aGlzLnNldEZvY3VzYWJsZUZsYWcodGhpcy5zZWxlY3RlZERheSwgdHJ1ZSk7XG4gICAgICB0aGlzLmZvY3VzYWJsZURheSA9IHRoaXMuc2VsZWN0ZWREYXkuY2xvbmUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEYXlJbkNhbGVuZGFyVmlldyh0aGlzLnRvZGF5KSkge1xuICAgICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKHRoaXMudG9kYXksIHRydWUpO1xuICAgICAgdGhpcy5mb2N1c2FibGVEYXkgPSB0aGlzLnRvZGF5LmNsb25lKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXNhYmxlRGF5ID0gbmV3IERheU1vZGVsKHRoaXMuY2FsZW5kYXIueWVhciwgdGhpcy5jYWxlbmRhci5tb250aCwgMTUpO1xuICAgICAgdGhpcy5zZXRGb2N1c2FibGVGbGFnKHRoaXMuZm9jdXNhYmxlRGF5LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZvY3VzYWJsZUZsYWcoZGF5OiBEYXlNb2RlbCwgZmxhZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChkYXkpIHtcbiAgICAgIHRoaXMuY3Vyck1vbnRoRGF5Vmlld3NbZGF5LmRhdGUgLSAxXS5pc0ZvY3VzYWJsZSA9IGZsYWc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZERheShkYXk6IERheU1vZGVsLCBmbGFnOiBib29sZWFuKSB7XG4gICAgaWYgKGRheSAmJiB0aGlzLmlzRGF5SW5DYWxlbmRhclZpZXcoZGF5KSkge1xuICAgICAgdGhpcy5jdXJyTW9udGhEYXlWaWV3c1tkYXk/LmRhdGUgLSAxXS5pc1NlbGVjdGVkID0gZmxhZztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,6 +17,7 @@ import * as i0 from "@angular/core";
|
|
|
17
17
|
*/
|
|
18
18
|
export class DateNavigationService {
|
|
19
19
|
constructor() {
|
|
20
|
+
this.hasActionButtons = false;
|
|
20
21
|
this._todaysFullDate = new Date();
|
|
21
22
|
this._selectedDayChange = new Subject();
|
|
22
23
|
this._displayedCalendarChange = new Subject();
|
|
@@ -52,11 +53,12 @@ export class DateNavigationService {
|
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Notifies that the selected day has changed so that the date can be emitted to the user.
|
|
55
|
-
* Note: Only to be called from day.ts
|
|
56
56
|
*/
|
|
57
|
-
notifySelectedDayChanged(dayModel) {
|
|
57
|
+
notifySelectedDayChanged(dayModel, { emitEvent } = { emitEvent: true }) {
|
|
58
58
|
this.selectedDay = dayModel;
|
|
59
|
-
|
|
59
|
+
if (emitEvent) {
|
|
60
|
+
this._selectedDayChange.next(dayModel);
|
|
61
|
+
}
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Initializes the calendar based on the selected day.
|
|
@@ -108,6 +110,9 @@ export class DateNavigationService {
|
|
|
108
110
|
}
|
|
109
111
|
this._focusOnCalendarChange.next();
|
|
110
112
|
}
|
|
113
|
+
resetSelectedDay() {
|
|
114
|
+
this.selectedDay = this.persistedDate;
|
|
115
|
+
}
|
|
111
116
|
// not a setter because i want this to remain private
|
|
112
117
|
setDisplayedCalendar(value) {
|
|
113
118
|
if (!this._displayedCalendar.isEqual(value)) {
|
|
@@ -125,4 +130,4 @@ DateNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
|
|
|
125
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DateNavigationService, decorators: [{
|
|
126
131
|
type: Injectable
|
|
127
132
|
}] });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9kYXRlcGlja2VyL3Byb3ZpZGVycy9kYXRlLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUU5Qzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFNVSxvQkFBZSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbkMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUM3Qyw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9DLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0Msc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztLQW1IckQ7SUFqSEMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVE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QztJQUNyQyxDQUFDO0lBRUQscURBQXFEO0lBQzdDLG9CQUFvQixDQUFDLEtBQW9CO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsRUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FDL0IsQ0FBQztJQUNKLENBQUM7O2tIQTVIVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENhbGVuZGFyTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9jYWxlbmRhci5tb2RlbCc7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4uL21vZGVsL2RheS5tb2RlbCc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvcjpcbiAqIDEuIEluaXRpYWxpemluZyB0aGUgZGlzcGxheWVkIGNhbGVuZGFyLlxuICogMi4gTW92aW5nIHRoZSBjYWxlbmRhciB0byB0aGUgbmV4dCwgcHJldmlvdXMgb3IgY3VycmVudCBtb250aHNcbiAqIDMuIE1hbmFnaW5nIHRoZSBmb2N1c2VkIGFuZCBzZWxlY3RlZCBkYXkgbW9kZWxzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0ZU5hdmlnYXRpb25TZXJ2aWNlIHtcbiAgc2VsZWN0ZWREYXk6IERheU1vZGVsO1xuICBmb2N1c2VkRGF5OiBEYXlNb2RlbDtcblxuICBwcml2YXRlIF9kaXNwbGF5ZWRDYWxlbmRhcjogQ2FsZW5kYXJNb2RlbDtcbiAgcHJpdmF0ZSBfdG9kYXlzRnVsbERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwcml2YXRlIF90b2RheTogRGF5TW9kZWw7XG4gIHByaXZhdGUgX3NlbGVjdGVkRGF5Q2hhbmdlID0gbmV3IFN1YmplY3Q8RGF5TW9kZWw+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXllZENhbGVuZGFyQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfZm9jdXNPbkNhbGVuZGFyQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfZm9jdXNlZERheUNoYW5nZSA9IG5ldyBTdWJqZWN0PERheU1vZGVsPigpO1xuXG4gIGdldCB0b2RheSgpOiBEYXlNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RvZGF5O1xuICB9XG5cbiAgZ2V0IGRpc3BsYXllZENhbGVuZGFyKCk6IENhbGVuZGFyTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhcjtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZERheUNoYW5nZSgpOiBPYnNlcnZhYmxlPERheU1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF5Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBsZXRzIHRoZSBzdWJzY3JpYmVyIGtub3cgdGhhdCB0aGUgZGlzcGxheWVkIGNhbGVuZGFyIGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgZ2V0IGRpc3BsYXllZENhbGVuZGFyQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhckNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG9ic2VydmFibGUgbGV0cyB0aGUgc3Vic2NyaWJlciBrbm93IHRoYXQgdGhlIGZvY3VzIHNob3VsZCBiZSBhcHBsaWVkIG9uIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIGdldCBmb2N1c09uQ2FsZW5kYXJDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzT25DYWxlbmRhckNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG9ic2VydmFibGUgbGV0cyB0aGUgc3Vic2NyaWJlciBrbm93IHRoYXQgdGhlIGZvY3VzZWQgZGF5IGluIHRoZSBkaXNwbGF5ZWQgY2FsZW5kYXIgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBnZXQgZm9jdXNlZERheUNoYW5nZSgpOiBPYnNlcnZhYmxlPERheU1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWREYXlDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogTm90aWZpZXMgdGhhdCB0aGUgc2VsZWN0ZWQgZGF5IGhhcyBjaGFuZ2VkIHNvIHRoYXQgdGhlIGRhdGUgY2FuIGJlIGVtaXR0ZWQgdG8gdGhlIHVzZXIuXG4gICAqIE5vdGU6IE9ubHkgdG8gYmUgY2FsbGVkIGZyb20gZGF5LnRzXG4gICAqL1xuICBub3RpZnlTZWxlY3RlZERheUNoYW5nZWQoZGF5TW9kZWw6IERheU1vZGVsKSB7XG4gICAgdGhpcy5zZWxlY3RlZERheSA9IGRheU1vZGVsO1xuICAgIHRoaXMuX3NlbGVjdGVkRGF5Q2hhbmdlLm5leHQoZGF5TW9kZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBjYWxlbmRhciBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgZGF5LlxuICAgKi9cbiAgaW5pdGlhbGl6ZUNhbGVuZGFyKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZERheSA9IG51bGw7IC8vIENhbiBiZSByZW1vdmVkIGxhdGVyIG9uIHRoZSBzdG9yZSBmb2N1c1xuICAgIHRoaXMuaW5pdGlhbGl6ZVRvZGF5c0RhdGUoKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZERheSkge1xuICAgICAgdGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIgPSBuZXcgQ2FsZW5kYXJNb2RlbCh0aGlzLnNlbGVjdGVkRGF5LnllYXIsIHRoaXMuc2VsZWN0ZWREYXkubW9udGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhciA9IG5ldyBDYWxlbmRhck1vZGVsKHRoaXMudG9kYXkueWVhciwgdGhpcy50b2RheS5tb250aCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTW9udGgobW9udGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2V0RGlzcGxheWVkQ2FsZW5kYXIobmV3IENhbGVuZGFyTW9kZWwodGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIueWVhciwgbW9udGgpKTtcbiAgfVxuXG4gIGNoYW5nZVllYXIoeWVhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZXREaXNwbGF5ZWRDYWxlbmRhcihuZXcgQ2FsZW5kYXJNb2RlbCh5ZWFyLCB0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhci5tb250aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSBkaXNwbGF5ZWQgY2FsZW5kYXIgdG8gdGhlIG5leHQgbW9udGguXG4gICAqL1xuICBtb3ZlVG9OZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5zZXREaXNwbGF5ZWRDYWxlbmRhcih0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhci5uZXh0TW9udGgoKSk7XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIGRpc3BsYXllZCBjYWxlbmRhciB0byB0aGUgcHJldmlvdXMgbW9udGguXG4gICAqL1xuICBtb3ZlVG9QcmV2aW91c01vbnRoKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGlzcGxheWVkQ2FsZW5kYXIodGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIucHJldmlvdXNNb250aCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgZGlzcGxheWVkIGNhbGVuZGFyIHRvIHRoZSBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyLlxuICAgKi9cbiAgbW92ZVRvQ3VycmVudE1vbnRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNwbGF5ZWRDYWxlbmRhci5pc0RheUluQ2FsZW5kYXIodGhpcy50b2RheSkpIHtcbiAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ2FsZW5kYXIobmV3IENhbGVuZGFyTW9kZWwodGhpcy50b2RheS55ZWFyLCB0aGlzLnRvZGF5Lm1vbnRoKSk7XG4gICAgfVxuICAgIHRoaXMuX2ZvY3VzT25DYWxlbmRhckNoYW5nZS5uZXh0KCk7XG4gIH1cblxuICBpbmNyZW1lbnRGb2N1c0RheSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkRGF5ID0gdGhpcy5mb2N1c2VkRGF5LmluY3JlbWVudEJ5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIuaXNEYXlJbkNhbGVuZGFyKHRoaXMuZm9jdXNlZERheSkpIHtcbiAgICAgIHRoaXMuX2ZvY3VzZWREYXlDaGFuZ2UubmV4dCh0aGlzLmZvY3VzZWREYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERpc3BsYXllZENhbGVuZGFyKG5ldyBDYWxlbmRhck1vZGVsKHRoaXMuZm9jdXNlZERheS55ZWFyLCB0aGlzLmZvY3VzZWREYXkubW9udGgpKTtcbiAgICB9XG4gICAgdGhpcy5fZm9jdXNPbkNhbGVuZGFyQ2hhbmdlLm5leHQoKTtcbiAgfVxuXG4gIC8vIG5vdCBhIHNldHRlciBiZWNhdXNlIGkgd2FudCB0aGlzIHRvIHJlbWFpbiBwcml2YXRlXG4gIHByaXZhdGUgc2V0RGlzcGxheWVkQ2FsZW5kYXIodmFsdWU6IENhbGVuZGFyTW9kZWwpIHtcbiAgICBpZiAoIXRoaXMuX2Rpc3BsYXllZENhbGVuZGFyLmlzRXF1YWwodmFsdWUpKSB7XG4gICAgICB0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhciA9IHZhbHVlO1xuICAgICAgdGhpcy5fZGlzcGxheWVkQ2FsZW5kYXJDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVRvZGF5c0RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9kYXlzRnVsbERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuX3RvZGF5ID0gbmV3IERheU1vZGVsKFxuICAgICAgdGhpcy5fdG9kYXlzRnVsbERhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgIHRoaXMuX3RvZGF5c0Z1bGxEYXRlLmdldE1vbnRoKCksXG4gICAgICB0aGlzLl90b2RheXNGdWxsRGF0ZS5nZXREYXRlKClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9kYXRlcGlja2VyL3Byb3ZpZGVycy9kYXRlLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUU5Qzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFLRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHakIsb0JBQWUsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRW5DLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7UUFDN0MsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7S0F3SHJEO0lBdEhDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlB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LENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMzRjtRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxxREFBcUQ7SUFDN0Msb0JBQW9CLENBQUMsS0FBb0I7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksUUFBUSxDQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxFQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUMvQixDQUFDO0lBQ0osQ0FBQzs7a0hBbklVLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2FsZW5kYXJNb2RlbCB9IGZyb20gJy4uL21vZGVsL2NhbGVuZGFyLm1vZGVsJztcbmltcG9ydCB7IERheU1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvZGF5Lm1vZGVsJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yOlxuICogMS4gSW5pdGlhbGl6aW5nIHRoZSBkaXNwbGF5ZWQgY2FsZW5kYXIuXG4gKiAyLiBNb3ZpbmcgdGhlIGNhbGVuZGFyIHRvIHRoZSBuZXh0LCBwcmV2aW91cyBvciBjdXJyZW50IG1vbnRoc1xuICogMy4gTWFuYWdpbmcgdGhlIGZvY3VzZWQgYW5kIHNlbGVjdGVkIGRheSBtb2RlbHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlTmF2aWdhdGlvblNlcnZpY2Uge1xuICBwZXJzaXN0ZWREYXRlOiBEYXlNb2RlbDtcbiAgc2VsZWN0ZWREYXk6IERheU1vZGVsO1xuICBmb2N1c2VkRGF5OiBEYXlNb2RlbDtcbiAgaGFzQWN0aW9uQnV0dG9ucyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXllZENhbGVuZGFyOiBDYWxlbmRhck1vZGVsO1xuICBwcml2YXRlIF90b2RheXNGdWxsRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHByaXZhdGUgX3RvZGF5OiBEYXlNb2RlbDtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXlDaGFuZ2UgPSBuZXcgU3ViamVjdDxEYXlNb2RlbD4oKTtcbiAgcHJpdmF0ZSBfZGlzcGxheWVkQ2FsZW5kYXJDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9mb2N1c09uQ2FsZW5kYXJDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9mb2N1c2VkRGF5Q2hhbmdlID0gbmV3IFN1YmplY3Q8RGF5TW9kZWw+KCk7XG5cbiAgZ2V0IHRvZGF5KCk6IERheU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fdG9kYXk7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkQ2FsZW5kYXIoKTogQ2FsZW5kYXJNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkRGF5Q2hhbmdlKCk6IE9ic2VydmFibGU8RGF5TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXlDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBvYnNlcnZhYmxlIGxldHMgdGhlIHN1YnNjcmliZXIga25vdyB0aGF0IHRoZSBkaXNwbGF5ZWQgY2FsZW5kYXIgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBnZXQgZGlzcGxheWVkQ2FsZW5kYXJDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBsZXRzIHRoZSBzdWJzY3JpYmVyIGtub3cgdGhhdCB0aGUgZm9jdXMgc2hvdWxkIGJlIGFwcGxpZWQgb24gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgZ2V0IGZvY3VzT25DYWxlbmRhckNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPbkNhbGVuZGFyQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBsZXRzIHRoZSBzdWJzY3JpYmVyIGtub3cgdGhhdCB0aGUgZm9jdXNlZCBkYXkgaW4gdGhlIGRpc3BsYXllZCBjYWxlbmRhciBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGdldCBmb2N1c2VkRGF5Q2hhbmdlKCk6IE9ic2VydmFibGU8RGF5TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZERheUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGF0IHRoZSBzZWxlY3RlZCBkYXkgaGFzIGNoYW5nZWQgc28gdGhhdCB0aGUgZGF0ZSBjYW4gYmUgZW1pdHRlZCB0byB0aGUgdXNlci5cbiAgICovXG4gIG5vdGlmeVNlbGVjdGVkRGF5Q2hhbmdlZChkYXlNb2RlbDogRGF5TW9kZWwsIHsgZW1pdEV2ZW50IH0gPSB7IGVtaXRFdmVudDogdHJ1ZSB9KSB7XG4gICAgdGhpcy5zZWxlY3RlZERheSA9IGRheU1vZGVsO1xuICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF5Q2hhbmdlLm5leHQoZGF5TW9kZWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgY2FsZW5kYXIgYmFzZWQgb24gdGhlIHNlbGVjdGVkIGRheS5cbiAgICovXG4gIGluaXRpYWxpemVDYWxlbmRhcigpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWREYXkgPSBudWxsOyAvLyBDYW4gYmUgcmVtb3ZlZCBsYXRlciBvbiB0aGUgc3RvcmUgZm9jdXNcbiAgICB0aGlzLmluaXRpYWxpemVUb2RheXNEYXRlKCk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXkpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyID0gbmV3IENhbGVuZGFyTW9kZWwodGhpcy5zZWxlY3RlZERheS55ZWFyLCB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIgPSBuZXcgQ2FsZW5kYXJNb2RlbCh0aGlzLnRvZGF5LnllYXIsIHRoaXMudG9kYXkubW9udGgpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZU1vbnRoKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNldERpc3BsYXllZENhbGVuZGFyKG5ldyBDYWxlbmRhck1vZGVsKHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyLnllYXIsIG1vbnRoKSk7XG4gIH1cblxuICBjaGFuZ2VZZWFyKHllYXI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2V0RGlzcGxheWVkQ2FsZW5kYXIobmV3IENhbGVuZGFyTW9kZWwoeWVhciwgdGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIubW9udGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgZGlzcGxheWVkIGNhbGVuZGFyIHRvIHRoZSBuZXh0IG1vbnRoLlxuICAgKi9cbiAgbW92ZVRvTmV4dE1vbnRoKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGlzcGxheWVkQ2FsZW5kYXIodGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIubmV4dE1vbnRoKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSBkaXNwbGF5ZWQgY2FsZW5kYXIgdG8gdGhlIHByZXZpb3VzIG1vbnRoLlxuICAgKi9cbiAgbW92ZVRvUHJldmlvdXNNb250aCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERpc3BsYXllZENhbGVuZGFyKHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyLnByZXZpb3VzTW9udGgoKSk7XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIGRpc3BsYXllZCBjYWxlbmRhciB0byB0aGUgY3VycmVudCBtb250aCBhbmQgeWVhci5cbiAgICovXG4gIG1vdmVUb0N1cnJlbnRNb250aCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzcGxheWVkQ2FsZW5kYXIuaXNEYXlJbkNhbGVuZGFyKHRoaXMudG9kYXkpKSB7XG4gICAgICB0aGlzLnNldERpc3BsYXllZENhbGVuZGFyKG5ldyBDYWxlbmRhck1vZGVsKHRoaXMudG9kYXkueWVhciwgdGhpcy50b2RheS5tb250aCkpO1xuICAgIH1cbiAgICB0aGlzLl9mb2N1c09uQ2FsZW5kYXJDaGFuZ2UubmV4dCgpO1xuICB9XG5cbiAgaW5jcmVtZW50Rm9jdXNEYXkodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZERheSA9IHRoaXMuZm9jdXNlZERheS5pbmNyZW1lbnRCeSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyLmlzRGF5SW5DYWxlbmRhcih0aGlzLmZvY3VzZWREYXkpKSB7XG4gICAgICB0aGlzLl9mb2N1c2VkRGF5Q2hhbmdlLm5leHQodGhpcy5mb2N1c2VkRGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREaXNwbGF5ZWRDYWxlbmRhcihuZXcgQ2FsZW5kYXJNb2RlbCh0aGlzLmZvY3VzZWREYXkueWVhciwgdGhpcy5mb2N1c2VkRGF5Lm1vbnRoKSk7XG4gICAgfVxuICAgIHRoaXMuX2ZvY3VzT25DYWxlbmRhckNoYW5nZS5uZXh0KCk7XG4gIH1cblxuICByZXNldFNlbGVjdGVkRGF5KCkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSB0aGlzLnBlcnNpc3RlZERhdGU7XG4gIH1cblxuICAvLyBub3QgYSBzZXR0ZXIgYmVjYXVzZSBpIHdhbnQgdGhpcyB0byByZW1haW4gcHJpdmF0ZVxuICBwcml2YXRlIHNldERpc3BsYXllZENhbGVuZGFyKHZhbHVlOiBDYWxlbmRhck1vZGVsKSB7XG4gICAgaWYgKCF0aGlzLl9kaXNwbGF5ZWRDYWxlbmRhci5pc0VxdWFsKHZhbHVlKSkge1xuICAgICAgdGhpcy5fZGlzcGxheWVkQ2FsZW5kYXIgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX2Rpc3BsYXllZENhbGVuZGFyQ2hhbmdlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVUb2RheXNEYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RvZGF5c0Z1bGxEYXRlID0gbmV3IERhdGUoKTtcbiAgICB0aGlzLl90b2RheSA9IG5ldyBEYXlNb2RlbChcbiAgICAgIHRoaXMuX3RvZGF5c0Z1bGxEYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICB0aGlzLl90b2RheXNGdWxsRGF0ZS5nZXRNb250aCgpLFxuICAgICAgdGhpcy5fdG9kYXlzRnVsbERhdGUuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -12,6 +12,9 @@ import { ControlClassService } from '../common/providers/control-class.service';
|
|
|
12
12
|
import { ControlIdService } from '../common/providers/control-id.service';
|
|
13
13
|
import { NgControlService } from '../common/providers/ng-control.service';
|
|
14
14
|
import { ClrFileInput } from './file-input';
|
|
15
|
+
import { selectFiles } from './file-input.helpers';
|
|
16
|
+
import { ClrFileList } from './file-list';
|
|
17
|
+
import { ClrFileError, ClrFileSuccess } from './file-messages';
|
|
15
18
|
import * as i0 from "@angular/core";
|
|
16
19
|
import * as i1 from "@angular/common";
|
|
17
20
|
import * as i2 from "../../icon/icon";
|
|
@@ -21,28 +24,78 @@ export class ClrFileInputContainer extends ClrAbstractContainer {
|
|
|
21
24
|
super(...arguments);
|
|
22
25
|
this.commonStrings = inject(ClrCommonStringsService);
|
|
23
26
|
}
|
|
27
|
+
get accept() {
|
|
28
|
+
return this.fileInput.elementRef.nativeElement.accept;
|
|
29
|
+
}
|
|
30
|
+
get multiple() {
|
|
31
|
+
return this.fileInput.elementRef.nativeElement.multiple;
|
|
32
|
+
}
|
|
24
33
|
get disabled() {
|
|
25
34
|
return this.fileInput.elementRef.nativeElement.disabled;
|
|
26
35
|
}
|
|
36
|
+
get browseButtonText() {
|
|
37
|
+
const selectionButtonLabel = this.fileList ? undefined : this.fileInput?.selection?.buttonLabel;
|
|
38
|
+
return selectionButtonLabel || this.customButtonLabel || this.commonStrings.keys.browse;
|
|
39
|
+
}
|
|
27
40
|
get browseButtonDescribedBy() {
|
|
28
|
-
return `${this.label?.
|
|
41
|
+
return `${this.label?.forAttr} ${this.fileInput.elementRef.nativeElement.getAttribute('aria-describedby')}`;
|
|
42
|
+
}
|
|
43
|
+
get successMessagePresent() {
|
|
44
|
+
return super.successMessagePresent || !!this.fileSuccessComponent;
|
|
45
|
+
}
|
|
46
|
+
get errorMessagePresent() {
|
|
47
|
+
return super.errorMessagePresent || !!this.fileErrorComponent;
|
|
48
|
+
}
|
|
49
|
+
focusBrowseButton() {
|
|
50
|
+
this.browseButtonElementRef.nativeElement.focus();
|
|
29
51
|
}
|
|
30
52
|
browse() {
|
|
31
|
-
this.fileInput.elementRef
|
|
53
|
+
const fileInputElementRef = this.fileList && this.multiple ? this.fileListFileInputElementRef : this.fileInput.elementRef;
|
|
54
|
+
fileInputElementRef.nativeElement.click();
|
|
32
55
|
}
|
|
33
56
|
clearSelectedFiles() {
|
|
34
57
|
this.fileInput.elementRef.nativeElement.value = '';
|
|
35
58
|
this.fileInput.elementRef.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
|
|
36
|
-
this.
|
|
59
|
+
this.focusBrowseButton();
|
|
60
|
+
}
|
|
61
|
+
addFilesToSelection(newFiles) {
|
|
62
|
+
if (!newFiles.length) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// start with new files
|
|
66
|
+
const mergedFiles = [...newFiles];
|
|
67
|
+
// add existing files if a new file doesn't have the same name
|
|
68
|
+
for (const existingFile of this.fileInput.elementRef.nativeElement.files) {
|
|
69
|
+
if (!mergedFiles.some(file => file.name === existingFile.name)) {
|
|
70
|
+
mergedFiles.push(existingFile);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// update file selection
|
|
74
|
+
selectFiles(this.fileInput.elementRef.nativeElement, mergedFiles);
|
|
37
75
|
}
|
|
38
76
|
}
|
|
39
77
|
ClrFileInputContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrFileInputContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
ClrFileInputContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrFileInputContainer, selector: "clr-file-input-container", inputs: { customButtonLabel: ["clrButtonLabel", "customButtonLabel"] }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "disabled", "class.clr-row": "addGrid()" } }, providers: [IfControlStateService, NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "fileInput", first: true, predicate: i0.forwardRef(function () { return ClrFileInput; }), descendants: true }], viewQueries: [{ propertyName: "browseButtonElementRef", first: true, predicate: ["browseButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
78
|
+
ClrFileInputContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrFileInputContainer, selector: "clr-file-input-container", inputs: { customButtonLabel: ["clrButtonLabel", "customButtonLabel"] }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "disabled", "class.clr-row": "addGrid()" } }, providers: [IfControlStateService, NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "fileInput", first: true, predicate: i0.forwardRef(function () { return ClrFileInput; }), descendants: true }, { propertyName: "fileList", first: true, predicate: i0.forwardRef(function () { return ClrFileList; }), descendants: true }, { propertyName: "fileSuccessComponent", first: true, predicate: ClrFileSuccess, descendants: true }, { propertyName: "fileErrorComponent", first: true, predicate: ClrFileError, descendants: true }], viewQueries: [{ propertyName: "browseButtonElementRef", first: true, predicate: ["browseButton"], descendants: true }, { propertyName: "fileListFileInputElementRef", first: true, predicate: ["fileListFileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
41
79
|
<ng-content select="label"></ng-content>
|
|
42
80
|
<label *ngIf="!label && addGrid()"></label>
|
|
43
81
|
<div class="clr-control-container" [ngClass]="controlClass()">
|
|
44
82
|
<div class="clr-file-input-wrapper">
|
|
45
83
|
<ng-content select="[clrFileInput]"></ng-content>
|
|
84
|
+
|
|
85
|
+
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
86
|
+
<input
|
|
87
|
+
*ngIf="fileList"
|
|
88
|
+
#fileListFileInput
|
|
89
|
+
type="file"
|
|
90
|
+
class="clr-file-input"
|
|
91
|
+
tabindex="-1"
|
|
92
|
+
aria-hidden="true"
|
|
93
|
+
[accept]="accept"
|
|
94
|
+
[multiple]="multiple"
|
|
95
|
+
[disabled]="disabled"
|
|
96
|
+
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
97
|
+
/>
|
|
98
|
+
|
|
46
99
|
<button
|
|
47
100
|
#browseButton
|
|
48
101
|
type="button"
|
|
@@ -52,12 +105,10 @@ ClrFileInputContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
52
105
|
(click)="browse()"
|
|
53
106
|
>
|
|
54
107
|
<cds-icon shape="folder-open"></cds-icon>
|
|
55
|
-
<span class="clr-file-input-browse-button-text">
|
|
56
|
-
{{ fileInput?.selection?.buttonLabel || customButtonLabel || commonStrings.keys.browse }}
|
|
57
|
-
</span>
|
|
108
|
+
<span class="clr-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
58
109
|
</button>
|
|
59
110
|
<button
|
|
60
|
-
*ngIf="fileInput?.selection?.fileCount"
|
|
111
|
+
*ngIf="!fileList && fileInput?.selection?.fileCount"
|
|
61
112
|
type="button"
|
|
62
113
|
class="btn btn-sm clr-file-input-clear-button"
|
|
63
114
|
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
@@ -83,6 +134,12 @@ ClrFileInputContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
83
134
|
<ng-content select="clr-control-helper" *ngIf="showHelper"></ng-content>
|
|
84
135
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
85
136
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
137
|
+
|
|
138
|
+
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
139
|
+
<ng-container>
|
|
140
|
+
<div class="clr-file-list-break"></div>
|
|
141
|
+
<ng-content select="clr-file-list"></ng-content>
|
|
142
|
+
</ng-container>
|
|
86
143
|
</div>
|
|
87
144
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["id", "for"] }] });
|
|
88
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrFileInputContainer, decorators: [{
|
|
@@ -95,6 +152,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
95
152
|
<div class="clr-control-container" [ngClass]="controlClass()">
|
|
96
153
|
<div class="clr-file-input-wrapper">
|
|
97
154
|
<ng-content select="[clrFileInput]"></ng-content>
|
|
155
|
+
|
|
156
|
+
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
157
|
+
<input
|
|
158
|
+
*ngIf="fileList"
|
|
159
|
+
#fileListFileInput
|
|
160
|
+
type="file"
|
|
161
|
+
class="clr-file-input"
|
|
162
|
+
tabindex="-1"
|
|
163
|
+
aria-hidden="true"
|
|
164
|
+
[accept]="accept"
|
|
165
|
+
[multiple]="multiple"
|
|
166
|
+
[disabled]="disabled"
|
|
167
|
+
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
168
|
+
/>
|
|
169
|
+
|
|
98
170
|
<button
|
|
99
171
|
#browseButton
|
|
100
172
|
type="button"
|
|
@@ -104,12 +176,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
104
176
|
(click)="browse()"
|
|
105
177
|
>
|
|
106
178
|
<cds-icon shape="folder-open"></cds-icon>
|
|
107
|
-
<span class="clr-file-input-browse-button-text">
|
|
108
|
-
{{ fileInput?.selection?.buttonLabel || customButtonLabel || commonStrings.keys.browse }}
|
|
109
|
-
</span>
|
|
179
|
+
<span class="clr-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
110
180
|
</button>
|
|
111
181
|
<button
|
|
112
|
-
*ngIf="fileInput?.selection?.fileCount"
|
|
182
|
+
*ngIf="!fileList && fileInput?.selection?.fileCount"
|
|
113
183
|
type="button"
|
|
114
184
|
class="btn btn-sm clr-file-input-clear-button"
|
|
115
185
|
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
@@ -135,6 +205,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
135
205
|
<ng-content select="clr-control-helper" *ngIf="showHelper"></ng-content>
|
|
136
206
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
137
207
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
208
|
+
|
|
209
|
+
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
210
|
+
<ng-container>
|
|
211
|
+
<div class="clr-file-list-break"></div>
|
|
212
|
+
<ng-content select="clr-file-list"></ng-content>
|
|
213
|
+
</ng-container>
|
|
138
214
|
</div>
|
|
139
215
|
`,
|
|
140
216
|
host: {
|
|
@@ -150,8 +226,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
150
226
|
}], fileInput: [{
|
|
151
227
|
type: ContentChild,
|
|
152
228
|
args: [forwardRef(() => ClrFileInput)]
|
|
229
|
+
}], fileList: [{
|
|
230
|
+
type: ContentChild,
|
|
231
|
+
args: [forwardRef(() => ClrFileList)]
|
|
153
232
|
}], browseButtonElementRef: [{
|
|
154
233
|
type: ViewChild,
|
|
155
234
|
args: ['browseButton']
|
|
235
|
+
}], fileListFileInputElementRef: [{
|
|
236
|
+
type: ViewChild,
|
|
237
|
+
args: ['fileListFileInput']
|
|
238
|
+
}], fileSuccessComponent: [{
|
|
239
|
+
type: ContentChild,
|
|
240
|
+
args: [ClrFileSuccess]
|
|
241
|
+
}], fileErrorComponent: [{
|
|
242
|
+
type: ContentChild,
|
|
243
|
+
args: [ClrFileError]
|
|
156
244
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9maWxlLWlucHV0L2ZpbGUtaW5wdXQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBMkQ1QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBekQvRDs7UUE0RHFCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0F3QnBFO0lBbEJDLElBQWMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQWMsdUJBQXVCO1FBQ25DLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztJQUM3RyxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEQsQ0FBQzs7a0hBMUJVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9RQUZyQixDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLG9HQU81RCxZQUFZLG1NQTVEakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NUOzJGQVFVLHFCQUFxQjtrQkF6RGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osMEJBQTBCLEVBQUUsTUFBTTt3QkFDbEMsbUNBQW1DLEVBQUUsVUFBVTt3QkFDL0MsaUJBQWlCLEVBQUUsV0FBVztxQkFDL0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7aUJBQzVGOzhCQUUwQixpQkFBaUI7c0JBQXpDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUkwQyxTQUFTO3NCQUF6RSxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBRVQsc0JBQXNCO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyQWJzdHJhY3RDb250YWluZXIgfSBmcm9tICcuLi9jb21tb24vYWJzdHJhY3QtY29udGFpbmVyJztcbmltcG9ydCB7IElmQ29udHJvbFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9pZi1jb250cm9sLXN0YXRlL2lmLWNvbnRyb2wtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sQ2xhc3NTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3Byb3ZpZGVycy9jb250cm9sLWNsYXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbElkU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9wcm92aWRlcnMvY29udHJvbC1pZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5nQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vcHJvdmlkZXJzL25nLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJGaWxlSW5wdXQgfSBmcm9tICcuL2ZpbGUtaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZmlsZS1pbnB1dC1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgIDxsYWJlbCAqbmdJZj1cIiFsYWJlbCAmJiBhZGRHcmlkKClcIj48L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjbHItY29udHJvbC1jb250YWluZXJcIiBbbmdDbGFzc109XCJjb250cm9sQ2xhc3MoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1maWxlLWlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NsckZpbGVJbnB1dF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAjYnJvd3NlQnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGNsci1maWxlLWlucHV0LWJyb3dzZS1idXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnJvd3NlQnV0dG9uRGVzY3JpYmVkQnlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImJyb3dzZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxjZHMtaWNvbiBzaGFwZT1cImZvbGRlci1vcGVuXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1maWxlLWlucHV0LWJyb3dzZS1idXR0b24tdGV4dFwiPlxuICAgICAgICAgICAge3sgZmlsZUlucHV0Py5zZWxlY3Rpb24/LmJ1dHRvbkxhYmVsIHx8IGN1c3RvbUJ1dHRvbkxhYmVsIHx8IGNvbW1vblN0cmluZ3Mua2V5cy5icm93c2UgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJmaWxlSW5wdXQ/LnNlbGVjdGlvbj8uZmlsZUNvdW50XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gY2xyLWZpbGUtaW5wdXQtY2xlYXItYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZpbGVJbnB1dD8uc2VsZWN0aW9uPy5jbGVhckZpbGVzQnV0dG9uTGFiZWxcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkRmlsZXMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJ0aW1lc1wiIHN0YXR1cz1cIm5ldXRyYWxcIiBzaXplPVwibWRcIj48L2Nkcy1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGNkcy1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93SW52YWxpZFwiXG4gICAgICAgICAgY2xhc3M9XCJjbHItdmFsaWRhdGUtaWNvblwiXG4gICAgICAgICAgc2hhcGU9XCJleGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICAgIHN0YXR1cz1cImRhbmdlclwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPjwvY2RzLWljb24+XG4gICAgICAgIDxjZHMtaWNvblxuICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbGlkXCJcbiAgICAgICAgICBjbGFzcz1cImNsci12YWxpZGF0ZS1pY29uXCJcbiAgICAgICAgICBzaGFwZT1cImNoZWNrLWNpcmNsZVwiXG4gICAgICAgICAgc3RhdHVzPVwic3VjY2Vzc1wiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPjwvY2RzLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWhlbHBlclwiICpuZ0lmPVwic2hvd0hlbHBlclwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWVycm9yXCIgKm5nSWY9XCJzaG93SW52YWxpZFwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLXN1Y2Nlc3NcIiAqbmdJZj1cInNob3dWYWxpZFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuY2xyLWZvcm0tY29udHJvbF0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5jbHItcm93XSc6ICdhZGRHcmlkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFtJZkNvbnRyb2xTdGF0ZVNlcnZpY2UsIE5nQ29udHJvbFNlcnZpY2UsIENvbnRyb2xJZFNlcnZpY2UsIENvbnRyb2xDbGFzc1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJGaWxlSW5wdXRDb250YWluZXIgZXh0ZW5kcyBDbHJBYnN0cmFjdENvbnRhaW5lciB7XG4gIEBJbnB1dCgnY2xyQnV0dG9uTGFiZWwnKSBjdXN0b21CdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb21tb25TdHJpbmdzID0gaW5qZWN0KENsckNvbW1vblN0cmluZ3NTZXJ2aWNlKTtcblxuICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gQ2xyRmlsZUlucHV0KSkgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVJbnB1dDogQ2xyRmlsZUlucHV0O1xuXG4gIEBWaWV3Q2hpbGQoJ2Jyb3dzZUJ1dHRvbicpIHByaXZhdGUgYnJvd3NlQnV0dG9uRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBicm93c2VCdXR0b25EZXNjcmliZWRCeSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbD8uaWRBdHRyfSAke3RoaXMuZmlsZUlucHV0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKX1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJyb3dzZSgpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhclNlbGVjdGVkRmlsZXMoKSB7XG4gICAgdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuXG4gICAgdGhpcy5icm93c2VCdXR0b25FbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIl19
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9maWxlLWlucHV0L2ZpbGUtaW5wdXQtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUE4RS9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBb0I7SUE1RS9EOztRQXlGbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQW9FbEU7SUFsRUMsSUFBYyxNQUFNO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0s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QUFxQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLG9HQUs1RCxZQUFZLGtIQUNaLFdBQVcsMkZBTTVCLGNBQWMscUZBQ2QsWUFBWSxrVEFyRmhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrRVQ7MkZBUVUscUJBQXFCO2tCQTVFakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtFVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osMEJBQTBCLEVBQUUsTUFBTTt3QkFDbEMsbUNBQW1DLEVBQUUsVUFBVTt3QkFDL0MsaUJBQWlCLEVBQUUsV0FBVztxQkFDL0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7aUJBQzVGOzhCQUUwQixpQkFBaUI7c0JBQXpDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUVnQyxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ29CLFFBQVE7c0JBQXZFLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFFUixzQkFBc0I7c0JBQXhELFNBQVM7dUJBQUMsY0FBYztnQkFDZSwyQkFBMkI7c0JBQWxFLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUdpQixvQkFBb0I7c0JBQWxFLFlBQVk7dUJBQUMsY0FBYztnQkFDaUIsa0JBQWtCO3NCQUE5RCxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyQWJzdHJhY3RDb250YWluZXIgfSBmcm9tICcuLi9jb21tb24vYWJzdHJhY3QtY29udGFpbmVyJztcbmltcG9ydCB7IElmQ29udHJvbFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9pZi1jb250cm9sLXN0YXRlL2lmLWNvbnRyb2wtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sQ2xhc3NTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3Byb3ZpZGVycy9jb250cm9sLWNsYXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbElkU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9wcm92aWRlcnMvY29udHJvbC1pZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5nQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vcHJvdmlkZXJzL25nLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJGaWxlSW5wdXQgfSBmcm9tICcuL2ZpbGUtaW5wdXQnO1xuaW1wb3J0IHsgc2VsZWN0RmlsZXMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuaGVscGVycyc7XG5pbXBvcnQgeyBDbHJGaWxlTGlzdCB9IGZyb20gJy4vZmlsZS1saXN0JztcbmltcG9ydCB7IENsckZpbGVFcnJvciwgQ2xyRmlsZVN1Y2Nlc3MgfSBmcm9tICcuL2ZpbGUtbWVzc2FnZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZmlsZS1pbnB1dC1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgIDxsYWJlbCAqbmdJZj1cIiFsYWJlbCAmJiBhZGRHcmlkKClcIj48L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjbHItY29udHJvbC1jb250YWluZXJcIiBbbmdDbGFzc109XCJjb250cm9sQ2xhc3MoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1maWxlLWlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NsckZpbGVJbnB1dF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPCEtLSBmaWxlIGlucHV0IHRvIGhhbmRsZSBhZGRpbmcgbmV3IGZpbGVzIHRvIHNlbGVjdGlvbiB3aGVuIGZpbGUgbGlzdCBpcyBwcmVzZW50IChwcmV2ZW50IHJlcGxhY2luZyBzZWxlY3RlZCBmaWxlcyBvbiB0aGUgbWFpbiBmaWxlIGlucHV0KSAtLT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgKm5nSWY9XCJmaWxlTGlzdFwiXG4gICAgICAgICAgI2ZpbGVMaXN0RmlsZUlucHV0XG4gICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgIGNsYXNzPVwiY2xyLWZpbGUtaW5wdXRcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImFkZEZpbGVzVG9TZWxlY3Rpb24oZmlsZUxpc3RGaWxlSW5wdXQuZmlsZXMpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgI2Jyb3dzZUJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBjbHItZmlsZS1pbnB1dC1icm93c2UtYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImJyb3dzZUJ1dHRvbkRlc2NyaWJlZEJ5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJicm93c2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJmb2xkZXItb3BlblwiPjwvY2RzLWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbHItZmlsZS1pbnB1dC1icm93c2UtYnV0dG9uLXRleHRcIj57eyBicm93c2VCdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWZpbGVMaXN0ICYmIGZpbGVJbnB1dD8uc2VsZWN0aW9uPy5maWxlQ291bnRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBjbHItZmlsZS1pbnB1dC1jbGVhci1idXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZUlucHV0Py5zZWxlY3Rpb24/LmNsZWFyRmlsZXNCdXR0b25MYWJlbFwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWRGaWxlcygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxjZHMtaWNvbiBzaGFwZT1cInRpbWVzXCIgc3RhdHVzPVwibmV1dHJhbFwiIHNpemU9XCJtZFwiPjwvY2RzLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8Y2RzLWljb25cbiAgICAgICAgICAqbmdJZj1cInNob3dJbnZhbGlkXCJcbiAgICAgICAgICBjbGFzcz1cImNsci12YWxpZGF0ZS1pY29uXCJcbiAgICAgICAgICBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiXG4gICAgICAgICAgc3RhdHVzPVwiZGFuZ2VyXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9jZHMtaWNvbj5cbiAgICAgICAgPGNkcy1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93VmFsaWRcIlxuICAgICAgICAgIGNsYXNzPVwiY2xyLXZhbGlkYXRlLWljb25cIlxuICAgICAgICAgIHNoYXBlPVwiY2hlY2stY2lyY2xlXCJcbiAgICAgICAgICBzdGF0dXM9XCJzdWNjZXNzXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9jZHMtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtaGVscGVyXCIgKm5nSWY9XCJzaG93SGVscGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtZXJyb3JcIiAqbmdJZj1cInNob3dJbnZhbGlkXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtc3VjY2Vzc1wiICpuZ0lmPVwic2hvd1ZhbGlkXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8IS0tIElmIHRoaXMgaXMgcHJlc2VudCwgdGhpcyBmaWxlIGlucHV0IGJlY29tZXMgYW4gXCJhZHZhbmNlZFwiIGZpbGUgaW5wdXQuIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNsci1maWxlLWxpc3QtYnJlYWtcIj48L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWZpbGUtbGlzdFwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jbHItZm9ybS1jb250cm9sXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmNsci1yb3ddJzogJ2FkZEdyaWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW0lmQ29udHJvbFN0YXRlU2VydmljZSwgTmdDb250cm9sU2VydmljZSwgQ29udHJvbElkU2VydmljZSwgQ29udHJvbENsYXNzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENsckZpbGVJbnB1dENvbnRhaW5lciBleHRlbmRzIENsckFic3RyYWN0Q29udGFpbmVyIHtcbiAgQElucHV0KCdjbHJCdXR0b25MYWJlbCcpIGN1c3RvbUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IENsckZpbGVJbnB1dCkpIHJlYWRvbmx5IGZpbGVJbnB1dDogQ2xyRmlsZUlucHV0O1xuICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gQ2xyRmlsZUxpc3QpKSBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsZUxpc3Q6IENsckZpbGVMaXN0O1xuXG4gIEBWaWV3Q2hpbGQoJ2Jyb3dzZUJ1dHRvbicpIHByaXZhdGUgYnJvd3NlQnV0dG9uRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2ZpbGVMaXN0RmlsZUlucHV0JykgcHJpdmF0ZSBmaWxlTGlzdEZpbGVJbnB1dEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLy8gVGhlc2UgYXJlIGZvciB0aGUgXCJtZXNzYWdlIHByZXNlbnRcIiBvdmVycmlkZSBwcm9wZXJ0aWVzXG4gIEBDb250ZW50Q2hpbGQoQ2xyRmlsZVN1Y2Nlc3MpIHByaXZhdGUgcmVhZG9ubHkgZmlsZVN1Y2Nlc3NDb21wb25lbnQ6IENsckZpbGVTdWNjZXNzO1xuICBAQ29udGVudENoaWxkKENsckZpbGVFcnJvcikgcHJpdmF0ZSByZWFkb25seSBmaWxlRXJyb3JDb21wb25lbnQ6IENsckZpbGVFcnJvcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vblN0cmluZ3MgPSBpbmplY3QoQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBnZXQgYWNjZXB0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWNjZXB0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtdWx0aXBsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm11bHRpcGxlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBicm93c2VCdXR0b25UZXh0KCkge1xuICAgIGNvbnN0IHNlbGVjdGlvbkJ1dHRvbkxhYmVsID0gdGhpcy5maWxlTGlzdCA/IHVuZGVmaW5lZCA6IHRoaXMuZmlsZUlucHV0Py5zZWxlY3Rpb24/LmJ1dHRvbkxhYmVsO1xuXG4gICAgcmV0dXJuIHNlbGVjdGlvbkJ1dHRvbkxhYmVsIHx8IHRoaXMuY3VzdG9tQnV0dG9uTGFiZWwgfHwgdGhpcy5jb21tb25TdHJpbmdzLmtleXMuYnJvd3NlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBicm93c2VCdXR0b25EZXNjcmliZWRCeSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbD8uZm9yQXR0cn0gJHt0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXQgc3VjY2Vzc01lc3NhZ2VQcmVzZW50KCkge1xuICAgIHJldHVybiBzdXBlci5zdWNjZXNzTWVzc2FnZVByZXNlbnQgfHwgISF0aGlzLmZpbGVTdWNjZXNzQ29tcG9uZW50O1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldCBlcnJvck1lc3NhZ2VQcmVzZW50KCkge1xuICAgIHJldHVybiBzdXBlci5lcnJvck1lc3NhZ2VQcmVzZW50IHx8ICEhdGhpcy5maWxlRXJyb3JDb21wb25lbnQ7XG4gIH1cblxuICBmb2N1c0Jyb3dzZUJ1dHRvbigpIHtcbiAgICB0aGlzLmJyb3dzZUJ1dHRvbkVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJyb3dzZSgpIHtcbiAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50UmVmID1cbiAgICAgIHRoaXMuZmlsZUxpc3QgJiYgdGhpcy5tdWx0aXBsZSA/IHRoaXMuZmlsZUxpc3RGaWxlSW5wdXRFbGVtZW50UmVmIDogdGhpcy5maWxlSW5wdXQuZWxlbWVudFJlZjtcblxuICAgIGZpbGVJbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyU2VsZWN0ZWRGaWxlcygpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG5cbiAgICB0aGlzLmZvY3VzQnJvd3NlQnV0dG9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkRmlsZXNUb1NlbGVjdGlvbihuZXdGaWxlczogRmlsZUxpc3QpIHtcbiAgICBpZiAoIW5ld0ZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0IHdpdGggbmV3IGZpbGVzXG4gICAgY29uc3QgbWVyZ2VkRmlsZXMgPSBbLi4ubmV3RmlsZXNdO1xuXG4gICAgLy8gYWRkIGV4aXN0aW5nIGZpbGVzIGlmIGEgbmV3IGZpbGUgZG9lc24ndCBoYXZlIHRoZSBzYW1lIG5hbWVcbiAgICBmb3IgKGNvbnN0IGV4aXN0aW5nRmlsZSBvZiB0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlsZXMpIHtcbiAgICAgIGlmICghbWVyZ2VkRmlsZXMuc29tZShmaWxlID0+IGZpbGUubmFtZSA9PT0gZXhpc3RpbmdGaWxlLm5hbWUpKSB7XG4gICAgICAgIG1lcmdlZEZpbGVzLnB1c2goZXhpc3RpbmdGaWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB1cGRhdGUgZmlsZSBzZWxlY3Rpb25cbiAgICBzZWxlY3RGaWxlcyh0aGlzLmZpbGVJbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG1lcmdlZEZpbGVzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC12YWxpZGF0b3ItZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZm9ybXMvZmlsZS1pbnB1dC9maWxlLWlucHV0LXZhbGlkYXRvci1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyRmlsZUxpc3RWYWxpZGF0aW9uRXJyb3JzIHtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBhY2NlcHQ/OiBDbHJGaWxlQWNjZXB0RXJyb3JbXTtcbiAgbWluRmlsZVNpemU/OiBDbHJGaWxlTWluRmlsZVNpemVFcnJvcltdO1xuICBtYXhGaWxlU2l6ZT86IENsckZpbGVNYXhGaWxlU2l6ZUVycm9yW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyRmlsZUFjY2VwdEVycm9yIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBmaWxlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0eXBlcyB0aGF0IGFyZSBhY2NlcHRlZCBieSB0aGUgZmlsZSBpbnB1dC5cbiAgICovXG4gIGFjY2VwdDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgTUlNRSB0eXBlIG9mIHRoZSBzZWxlY3RlZCBmaWxlLlxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWN0dWFsIGV4dGVuc2lvbiBvZiB0aGUgc2VsZWN0ZWQgZmlsZS5cbiAgICovXG4gIGV4dGVuc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsckZpbGVNaW5GaWxlU2l6ZUVycm9yIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBmaWxlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBmaWxlIHNpemUgdGhhdCBpcyBhY2NlcHRlZCBieSB0aGUgZmlsZSBpbnB1dC5cbiAgICovXG4gIG1pbkZpbGVTaXplOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgc2VsZWN0ZWQgZmlsZS5cbiAgICovXG4gIGFjdHVhbEZpbGVTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyRmlsZU1heEZpbGVTaXplRXJyb3Ige1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlbGVjdGVkIGZpbGUuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGZpbGUgc2l6ZSB0aGF0IGlzIGFjY2VwdGVkIGJ5IHRoZSBmaWxlIGlucHV0LlxuICAgKi9cbiAgbWF4RmlsZVNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFjdHVhbCBzaXplIG9mIHRoZSBzZWxlY3RlZCBmaWxlLlxuICAgKi9cbiAgYWN0dWFsRmlsZVNpemU6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -19,33 +19,25 @@ export class ClrFileInputValidator {
|
|
|
19
19
|
if (fileInputElement.required && files?.length === 0) {
|
|
20
20
|
errors.required = true;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
const accept = fileInputElement.accept.split(',').map(type => type.trim());
|
|
22
|
+
const accept = fileInputElement.accept ? fileInputElement.accept.split(',').map(type => type.trim()) : null;
|
|
23
|
+
if (files?.length > 0 && (accept || this.minFileSize || this.maxFileSize)) {
|
|
25
24
|
for (let i = 0; i < files.length; i++) {
|
|
26
25
|
const file = files.item(i);
|
|
27
|
-
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
// accept validation (native attribute)
|
|
27
|
+
if (accept) {
|
|
28
|
+
const [fileExtension] = file.name.match(/\..+$/);
|
|
29
|
+
if (!accept.includes(file.type) && !accept.includes(fileExtension)) {
|
|
30
|
+
errors.accept = errors.accept || [];
|
|
31
|
+
errors.accept.push({ name: file.name, accept, type: file.type, extension: fileExtension });
|
|
32
|
+
}
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// min file validation (custom input)
|
|
35
|
-
if (this.minFileSize && files?.length > 0) {
|
|
36
|
-
for (let i = 0; i < files.length; i++) {
|
|
37
|
-
const file = files.item(i);
|
|
38
|
-
if (file.size < this.minFileSize) {
|
|
34
|
+
// min file validation (custom input)
|
|
35
|
+
if (this.minFileSize && file.size < this.minFileSize) {
|
|
39
36
|
errors.minFileSize = errors.minFileSize || [];
|
|
40
37
|
errors.minFileSize.push({ name: file.name, minFileSize: this.minFileSize, actualFileSize: file.size });
|
|
41
38
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// max file validation (custom input)
|
|
45
|
-
if (this.maxFileSize && files?.length > 0) {
|
|
46
|
-
for (let i = 0; i < files.length; i++) {
|
|
47
|
-
const file = files.item(i);
|
|
48
|
-
if (file.size > this.maxFileSize) {
|
|
39
|
+
// max file validation (custom input)
|
|
40
|
+
if (this.maxFileSize && file.size > this.maxFileSize) {
|
|
49
41
|
errors.maxFileSize = errors.maxFileSize || [];
|
|
50
42
|
errors.maxFileSize.push({ name: file.name, maxFileSize: this.maxFileSize, actualFileSize: file.size });
|
|
51
43
|
}
|
|
@@ -69,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
69
61
|
type: Input,
|
|
70
62
|
args: ['clrMaxFileSize']
|
|
71
63
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9mb3Jtcy9maWxlLWlucHV0L2ZpbGUtaW5wdXQtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFtQixhQUFhLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7O0FBUTdGLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBNkIsVUFBd0M7UUFBeEMsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7SUFBRyxDQUFDO0lBRXpFLFFBQVEsQ0FBQyxPQUFrQztRQUN6QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFdkQsTUFBTSxNQUFNLEdBQWdDLEVBQUUsQ0FBQztRQUUvQyx5Q0FBeUM7UUFDekMsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFFRCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU1RyxJQUFJLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3pFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzQix1Q0FBdUM7Z0JBQ3ZDLElBQUksTUFBTSxFQUFFO29CQUNWLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDbEUsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQzt3QkFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7cUJBQzVGO2lCQUNGO2dCQUVELHFDQUFxQztnQkFDckMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztvQkFDOUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3hHO2dCQUVELHFDQUFxQztnQkFDckMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztvQkFDOUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3hHO2FBQ0Y7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BELENBQUM7O2tIQWhEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5S0FGckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFN0UscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHVCQUF1QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDekY7aUdBRTBCLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNFLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2xyRmlsZUxpc3RWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi9maWxlLWlucHV0LXZhbGlkYXRvci1lcnJvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPVwiZmlsZVwiXVtjbHJGaWxlSW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogQ2xyRmlsZUlucHV0VmFsaWRhdG9yLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRmlsZUlucHV0VmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgQElucHV0KCdjbHJNaW5GaWxlU2l6ZScpIG1pbkZpbGVTaXplOiBudW1iZXI7XG4gIEBJbnB1dCgnY2xyTWF4RmlsZVNpemUnKSBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge31cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8RmlsZUxpc3Q+KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgZmlsZXMgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGZpbGVJbnB1dEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IGVycm9yczogQ2xyRmlsZUxpc3RWYWxpZGF0aW9uRXJyb3JzID0ge307XG5cbiAgICAvLyByZXF1aXJlZCB2YWxpZGF0aW9uIChuYXRpdmUgYXR0cmlidXRlKVxuICAgIGlmIChmaWxlSW5wdXRFbGVtZW50LnJlcXVpcmVkICYmIGZpbGVzPy5sZW5ndGggPT09IDApIHtcbiAgICAgIGVycm9ycy5yZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXB0ID0gZmlsZUlucHV0RWxlbWVudC5hY2NlcHQgPyBmaWxlSW5wdXRFbGVtZW50LmFjY2VwdC5zcGxpdCgnLCcpLm1hcCh0eXBlID0+IHR5cGUudHJpbSgpKSA6IG51bGw7XG5cbiAgICBpZiAoZmlsZXM/Lmxlbmd0aCA+IDAgJiYgKGFjY2VwdCB8fCB0aGlzLm1pbkZpbGVTaXplIHx8IHRoaXMubWF4RmlsZVNpemUpKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xuXG4gICAgICAgIC8vIGFjY2VwdCB2YWxpZGF0aW9uIChuYXRpdmUgYXR0cmlidXRlKVxuICAgICAgICBpZiAoYWNjZXB0KSB7XG4gICAgICAgICAgY29uc3QgW2ZpbGVFeHRlbnNpb25dID0gZmlsZS5uYW1lLm1hdGNoKC9cXC4uKyQvKTtcblxuICAgICAgICAgIGlmICghYWNjZXB0LmluY2x1ZGVzKGZpbGUudHlwZSkgJiYgIWFjY2VwdC5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgZXJyb3JzLmFjY2VwdCA9IGVycm9ycy5hY2NlcHQgfHwgW107XG4gICAgICAgICAgICBlcnJvcnMuYWNjZXB0LnB1c2goeyBuYW1lOiBmaWxlLm5hbWUsIGFjY2VwdCwgdHlwZTogZmlsZS50eXBlLCBleHRlbnNpb246IGZpbGVFeHRlbnNpb24gfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWluIGZpbGUgdmFsaWRhdGlvbiAoY3VzdG9tIGlucHV0KVxuICAgICAgICBpZiAodGhpcy5taW5GaWxlU2l6ZSAmJiBmaWxlLnNpemUgPCB0aGlzLm1pbkZpbGVTaXplKSB7XG4gICAgICAgICAgZXJyb3JzLm1pbkZpbGVTaXplID0gZXJyb3JzLm1pbkZpbGVTaXplIHx8IFtdO1xuICAgICAgICAgIGVycm9ycy5taW5GaWxlU2l6ZS5wdXNoKHsgbmFtZTogZmlsZS5uYW1lLCBtaW5GaWxlU2l6ZTogdGhpcy5taW5GaWxlU2l6ZSwgYWN0dWFsRmlsZVNpemU6IGZpbGUuc2l6ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1heCBmaWxlIHZhbGlkYXRpb24gKGN1c3RvbSBpbnB1dClcbiAgICAgICAgaWYgKHRoaXMubWF4RmlsZVNpemUgJiYgZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgICAgIGVycm9ycy5tYXhGaWxlU2l6ZSA9IGVycm9ycy5tYXhGaWxlU2l6ZSB8fCBbXTtcbiAgICAgICAgICBlcnJvcnMubWF4RmlsZVNpemUucHVzaCh7IG5hbWU6IGZpbGUubmFtZSwgbWF4RmlsZVNpemU6IHRoaXMubWF4RmlsZVNpemUsIGFjdHVhbEZpbGVTaXplOiBmaWxlLnNpemUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPyBlcnJvcnMgOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -48,13 +48,14 @@ export class ClrFileInput extends WrappedFormControl {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
ClrFileInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrFileInput, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
-
ClrFileInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrFileInput, selector: "input[type=\"file\"][clrFileInput]", host: { attributes: { "tabindex": "-1" }, listeners: { "change": "handleChange()" }, properties: { "class.clr-file-input": "true" } }, usesInheritance: true, ngImport: i0 });
|
|
51
|
+
ClrFileInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrFileInput, selector: "input[type=\"file\"][clrFileInput]", host: { attributes: { "tabindex": "-1", "aria-hidden": "true" }, listeners: { "change": "handleChange()" }, properties: { "class.clr-file-input": "true" } }, usesInheritance: true, ngImport: i0 });
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrFileInput, decorators: [{
|
|
53
53
|
type: Directive,
|
|
54
54
|
args: [{
|
|
55
55
|
selector: 'input[type="file"][clrFileInput]',
|
|
56
56
|
host: {
|
|
57
57
|
tabindex: '-1',
|
|
58
|
+
'aria-hidden': 'true',
|
|
58
59
|
'[class.clr-file-input]': 'true',
|
|
59
60
|
},
|
|
60
61
|
}]
|
|
@@ -66,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
66
67
|
type: HostListener,
|
|
67
68
|
args: ['change']
|
|
68
69
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUVaLFFBQVEsRUFFUixJQUFJLEdBRUwsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFnQi9ELE1BQU0sT0FBTyxZQUFhLFNBQVEsa0JBQXlDO0lBR3pFLFlBQ0UsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ3pCLFVBQXdDLEVBQzdCLE9BQWtCLEVBQ3JCLGFBQXNDO1FBRXZELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUovRSxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUVoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFSekQsY0FBUyxHQUEwQixTQUFTLENBQUM7SUFXN0MsQ0FBQztJQUdPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLG9CQUE0QixDQUFDO1FBQ2pDLElBQUkscUJBQTZCLENBQUM7UUFFbEMsSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRS9CLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztZQUVoQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xGLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFMUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNqRixLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDLENBQUM7WUFFSCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25GLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTTtZQUN2QixXQUFXLEVBQUUsb0JBQW9CO1lBQ2pDLHFCQUFxQjtTQUN0QixDQUFDO0lBQ0osQ0FBQzs7eUdBakRVLFlBQVk7NkZBQVosWUFBWTsyRkFBWixZQUFZO2tCQVJ4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsSUFBSTt3QkFDZCxhQUFhLEVBQUUsTUFBTTt3QkFDckIsd0JBQXdCLEVBQUUsTUFBTTtxQkFDakM7aUJBQ0Y7OzBCQVNJLElBQUk7OzBCQUFJLFFBQVE7a0ZBT1gsWUFBWTtzQkFEbkIsWUFBWTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0b3IsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNlbGYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFdyYXBwZWRGb3JtQ29udHJvbCB9IGZyb20gJy4uL2NvbW1vbi93cmFwcGVkLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ2xyRmlsZUlucHV0Q29udGFpbmVyIH0gZnJvbSAnLi9maWxlLWlucHV0LWNvbnRhaW5lcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyRmlsZUlucHV0U2VsZWN0aW9uIHtcbiAgZmlsZUNvdW50OiBudW1iZXI7XG4gIGJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gIGNsZWFyRmlsZXNCdXR0b25MYWJlbDogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPVwiZmlsZVwiXVtjbHJGaWxlSW5wdXRdJyxcbiAgaG9zdDoge1xuICAgIHRhYmluZGV4OiAnLTEnLCAvLyBSZW1vdmUgdGhlIGhpZGRlbiBmaWxlIGBpbnB1dGAgZWxlbWVudCBmcm9tIHRoZSB0YWIgb3JkZXIgYmVjYXVzZSB0aGUgYnJvd3NlIGBidXR0b25gIHJlcGxhY2VzIGl0LlxuICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJywgLy8gUmVtb3ZlIHRoZSBoaWRkZW4gZmlsZSBgaW5wdXRgIGVsZW1lbnQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGJlY2F1c2UgdGhlIGJyb3dzZSBgYnV0dG9uYCByZXBsYWNlcyBpdC5cbiAgICAnW2NsYXNzLmNsci1maWxlLWlucHV0XSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRmlsZUlucHV0IGV4dGVuZHMgV3JhcHBlZEZvcm1Db250cm9sPENsckZpbGVJbnB1dENvbnRhaW5lcj4ge1xuICBzZWxlY3Rpb246IENsckZpbGVJbnB1dFNlbGVjdGlvbiA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZVxuICApIHtcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyUmVmLCBDbHJGaWxlSW5wdXRDb250YWluZXIsIGluamVjdG9yLCBjb250cm9sLCByZW5kZXJlciwgZWxlbWVudFJlZik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnKVxuICBwcml2YXRlIGhhbmRsZUNoYW5nZSgpIHtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maWxlcztcbiAgICBsZXQgc2VsZWN0aW9uQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICBsZXQgY2xlYXJGaWxlc0J1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgICBpZiAoZmlsZXM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlsZW5hbWUgPSBmaWxlc1swXS5uYW1lO1xuXG4gICAgICBzZWxlY3Rpb25CdXR0b25MYWJlbCA9IGZpbGVuYW1lO1xuXG4gICAgICBjbGVhckZpbGVzQnV0dG9uTGFiZWwgPSB0aGlzLmNvbW1vblN0cmluZ3MucGFyc2UodGhpcy5jb21tb25TdHJpbmdzLmtleXMuY2xlYXJGaWxlLCB7XG4gICAgICAgIEZJTEU6IGZpbGVuYW1lLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChmaWxlcz8ubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgZmlsZUNvdW50ID0gZmlsZXMubGVuZ3RoLnRvU3RyaW5nKCk7XG5cbiAgICAgIHNlbGVjdGlvbkJ1dHRvbkxhYmVsID0gdGhpcy5jb21tb25TdHJpbmdzLnBhcnNlKHRoaXMuY29tbW9uU3RyaW5ncy5rZXlzLmZpbGVDb3VudCwge1xuICAgICAgICBDT1VOVDogZmlsZUNvdW50LFxuICAgICAgfSk7XG5cbiAgICAgIGNsZWFyRmlsZXNCdXR0b25MYWJlbCA9IHRoaXMuY29tbW9uU3RyaW5ncy5wYXJzZSh0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5jbGVhckZpbGVzLCB7XG4gICAgICAgIENPVU5UOiBmaWxlQ291bnQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGlvbiA9IHtcbiAgICAgIGZpbGVDb3VudDogZmlsZXMubGVuZ3RoLFxuICAgICAgYnV0dG9uTGFiZWw6IHNlbGVjdGlvbkJ1dHRvbkxhYmVsLFxuICAgICAgY2xlYXJGaWxlc0J1dHRvbkxhYmVsLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|