@porscheinformatik/clr-addons 15.0.1 → 15.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/clr-addons.module.d.ts +2 -1
  2. package/daterangepicker/daterange.constants.d.ts +21 -0
  3. package/daterangepicker/daterangepicker.module.d.ts +17 -0
  4. package/daterangepicker/directives/abstract-container.component.d.ts +53 -0
  5. package/daterangepicker/directives/datepicker/datepicker.component.d.ts +65 -0
  6. package/daterangepicker/directives/daterangepicker/daterangepicker.directive.d.ts +127 -0
  7. package/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.d.ts +118 -0
  8. package/daterangepicker/directives/if-daterange-error.directive.d.ts +40 -0
  9. package/daterangepicker/index.d.ts +13 -0
  10. package/daterangepicker/interfaces/daterange-preset.interface.d.ts +8 -0
  11. package/daterangepicker/interfaces/daterange.interface.d.ts +12 -0
  12. package/daterangepicker/models/day.model.d.ts +80 -0
  13. package/daterangepicker/models/popover-positions.model.d.ts +20 -0
  14. package/daterangepicker/providers/daterange-control-state.service.d.ts +42 -0
  15. package/daterangepicker/providers/daterange-parsing.service.d.ts +66 -0
  16. package/daterangepicker/providers/daterange.service.d.ts +38 -0
  17. package/daterangepicker/providers/opened-datepickers-tracker.service.d.ts +20 -0
  18. package/daterangepicker/validators/daterange-max.validator.d.ts +32 -0
  19. package/daterangepicker/validators/daterange-min.validator.d.ts +32 -0
  20. package/daterangepicker/validators/daterange-order.validator.d.ts +29 -0
  21. package/daterangepicker/validators/daterange-required.validator.d.ts +29 -0
  22. package/dropdown/clr-dropdown-overflow.directive.d.ts +4 -3
  23. package/esm2020/clr-addons.module.mjs +8 -4
  24. package/esm2020/daterangepicker/daterange.constants.mjs +27 -0
  25. package/esm2020/daterangepicker/daterangepicker.module.mjs +58 -0
  26. package/esm2020/daterangepicker/directives/abstract-container.component.mjs +104 -0
  27. package/esm2020/daterangepicker/directives/datepicker/datepicker.component.mjs +97 -0
  28. package/esm2020/daterangepicker/directives/daterangepicker/daterangepicker.directive.mjs +256 -0
  29. package/esm2020/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.mjs +251 -0
  30. package/esm2020/daterangepicker/directives/if-daterange-error.directive.mjs +94 -0
  31. package/esm2020/daterangepicker/index.mjs +14 -0
  32. package/esm2020/daterangepicker/interfaces/daterange-preset.interface.mjs +2 -0
  33. package/esm2020/daterangepicker/interfaces/daterange.interface.mjs +2 -0
  34. package/esm2020/daterangepicker/models/day.model.mjs +99 -0
  35. package/esm2020/daterangepicker/models/popover-positions.model.mjs +66 -0
  36. package/esm2020/daterangepicker/providers/daterange-control-state.service.mjs +62 -0
  37. package/esm2020/daterangepicker/providers/daterange-parsing.service.mjs +206 -0
  38. package/esm2020/daterangepicker/providers/daterange.service.mjs +54 -0
  39. package/esm2020/daterangepicker/providers/opened-datepickers-tracker.service.mjs +36 -0
  40. package/esm2020/daterangepicker/validators/daterange-max.validator.mjs +85 -0
  41. package/esm2020/daterangepicker/validators/daterange-min.validator.mjs +85 -0
  42. package/esm2020/daterangepicker/validators/daterange-order.validator.mjs +75 -0
  43. package/esm2020/daterangepicker/validators/daterange-required.validator.mjs +71 -0
  44. package/esm2020/dropdown/clr-dropdown-overflow.directive.mjs +15 -11
  45. package/esm2020/index.mjs +3 -2
  46. package/fesm2015/clr-addons.mjs +1920 -264
  47. package/fesm2015/clr-addons.mjs.map +1 -1
  48. package/fesm2020/clr-addons.mjs +1900 -264
  49. package/fesm2020/clr-addons.mjs.map +1 -1
  50. package/index.d.ts +1 -0
  51. package/package.json +3 -3
@@ -0,0 +1,85 @@
1
+ import { Directive, forwardRef, Input, Optional } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { DaterangeService } from '../providers/daterange.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../providers/daterange.service";
6
+ /**
7
+ * Validator for daterangepicker to validate that 'from' date is not before 'min' value.
8
+ * Otherwise will throw corresponding `min` validation error.
9
+ *
10
+ * Validator is applied to the ClrDaterangepickerDirective with `min` attribute.
11
+ * Or when set manually with `clrDaterangeMin` attribute.
12
+ *
13
+ * Validator is active by default when applied. It can be disabled with: `[clrDaterangeMin]="false"`
14
+ */
15
+ export class ClrDaterangeMinValidator {
16
+ constructor(daterangeService) {
17
+ this.daterangeService = daterangeService;
18
+ this._active = true;
19
+ }
20
+ /**
21
+ * Disable validator by setting value to `false`.
22
+ */
23
+ set active(active) {
24
+ this._active = active == null || (active !== false && `${active}` !== 'false');
25
+ }
26
+ /**
27
+ * Validator method. Method that performs synchronous validation against the provided control.
28
+ * @param control - The control to validate against.
29
+ * @returns A map of validation errors if validation fails, otherwise null.
30
+ */
31
+ validate(control) {
32
+ if (!this._active) {
33
+ return null;
34
+ }
35
+ if (control.value == null) {
36
+ return null;
37
+ }
38
+ const min = this.daterangeService.minDate;
39
+ if (min == null) {
40
+ return null;
41
+ }
42
+ const { from } = control.value;
43
+ if (from == null) {
44
+ return null;
45
+ }
46
+ if (from.isBefore(min)) {
47
+ return {
48
+ [ClrDaterangeMinValidator.validationErrorName]: {
49
+ min,
50
+ actual: from,
51
+ },
52
+ };
53
+ }
54
+ return null;
55
+ }
56
+ }
57
+ /** Validation error name. */
58
+ ClrDaterangeMinValidator.validationErrorName = 'min';
59
+ ClrDaterangeMinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMinValidator, deps: [{ token: i1.DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
60
+ ClrDaterangeMinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeMinValidator, selector: "[clrDaterangepicker][min], [clrDaterangeMin]", inputs: { active: ["clrDaterangeMin", "active"] }, providers: [
61
+ {
62
+ provide: NG_VALIDATORS,
63
+ useExisting: forwardRef(() => ClrDaterangeMinValidator),
64
+ multi: true,
65
+ },
66
+ ], ngImport: i0 });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMinValidator, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[clrDaterangepicker][min], [clrDaterangeMin]',
71
+ providers: [
72
+ {
73
+ provide: NG_VALIDATORS,
74
+ useExisting: forwardRef(() => ClrDaterangeMinValidator),
75
+ multi: true,
76
+ },
77
+ ],
78
+ }]
79
+ }], ctorParameters: function () { return [{ type: i1.DaterangeService, decorators: [{
80
+ type: Optional
81
+ }] }]; }, propDecorators: { active: [{
82
+ type: Input,
83
+ args: ['clrDaterangeMin']
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLW1pbi52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRlcmFuZ2VwaWNrZXIvdmFsaWRhdG9ycy9kYXRlcmFuZ2UtbWluLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBSTdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFbEU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQWdELGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRjFFLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFFOEQsQ0FBQztJQUV0Rjs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxHQUFHLEdBQXFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9CLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLE9BQU87Z0JBQ0wsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO29CQUM5QyxHQUFHO29CQUNILE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQWxERCw2QkFBNkI7QUFDTiw0Q0FBbUIsR0FBRyxLQUFLLENBQUM7cUhBRnhDLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBIQVJ4QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztZQUN2RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7MkZBRVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4Q0FBOEM7b0JBQ3hELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzswQkFPcUIsUUFBUTs0Q0FNakIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE51bGxhYmxlRGF0ZXJhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRlcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE51bGxhYmxlRGF5TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZGF5Lm1vZGVsJztcbmltcG9ydCB7IERhdGVyYW5nZVNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZGF0ZXJhbmdlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nIGRhdGUgaXMgbm90IGJlZm9yZSAnbWluJyB2YWx1ZS5cbiAqIE90aGVyd2lzZSB3aWxsIHRocm93IGNvcnJlc3BvbmRpbmcgYG1pbmAgdmFsaWRhdGlvbiBlcnJvci5cbiAqXG4gKiBWYWxpZGF0b3IgaXMgYXBwbGllZCB0byB0aGUgQ2xyRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIHdpdGggYG1pbmAgYXR0cmlidXRlLlxuICogT3Igd2hlbiBzZXQgbWFudWFsbHkgd2l0aCBgY2xyRGF0ZXJhbmdlTWluYCBhdHRyaWJ1dGUuXG4gKlxuICogVmFsaWRhdG9yIGlzIGFjdGl2ZSBieSBkZWZhdWx0IHdoZW4gYXBwbGllZC4gSXQgY2FuIGJlIGRpc2FibGVkIHdpdGg6IGBbY2xyRGF0ZXJhbmdlTWluXT1cImZhbHNlXCJgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJEYXRlcmFuZ2VwaWNrZXJdW21pbl0sIFtjbHJEYXRlcmFuZ2VNaW5dJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZU1pblZhbGlkYXRvciksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRlcmFuZ2VNaW5WYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAvKiogVmFsaWRhdGlvbiBlcnJvciBuYW1lLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHZhbGlkYXRpb25FcnJvck5hbWUgPSAnbWluJztcblxuICBwcml2YXRlIF9hY3RpdmUgPSB0cnVlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGRhdGVyYW5nZVNlcnZpY2U6IERhdGVyYW5nZVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdmFsaWRhdG9yIGJ5IHNldHRpbmcgdmFsdWUgdG8gYGZhbHNlYC5cbiAgICovXG4gIEBJbnB1dCgnY2xyRGF0ZXJhbmdlTWluJylcbiAgcHVibGljIHNldCBhY3RpdmUoYWN0aXZlOiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZSA9PSBudWxsIHx8IChhY3RpdmUgIT09IGZhbHNlICYmIGAke2FjdGl2ZX1gICE9PSAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0b3IgbWV0aG9kLiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBjb250cm9sIC0gVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAgICogQHJldHVybnMgQSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnMgaWYgdmFsaWRhdGlvbiBmYWlscywgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPE51bGxhYmxlRGF0ZXJhbmdlLCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBtaW46IE51bGxhYmxlRGF5TW9kZWwgPSB0aGlzLmRhdGVyYW5nZVNlcnZpY2UubWluRGF0ZTtcbiAgICBpZiAobWluID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZnJvbSB9ID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmIChmcm9tID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChmcm9tLmlzQmVmb3JlKG1pbikpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtDbHJEYXRlcmFuZ2VNaW5WYWxpZGF0b3IudmFsaWRhdGlvbkVycm9yTmFtZV06IHtcbiAgICAgICAgICBtaW4sXG4gICAgICAgICAgYWN0dWFsOiBmcm9tLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,75 @@
1
+ import { Directive, forwardRef, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Validator for daterangepicker to validate that 'from' date is before 'to' date.
6
+ * Otherwise will throw `fromIsAfterTo` validation error.
7
+ *
8
+ * This validator is applied automatically on ClrDaterangepickerDirective.
9
+ * Or when set manually with `clrDaterangeOrder` attribute.
10
+ *
11
+ * Validator is active by default when applied. It can be disabled with: `[clrDaterangeOrder]="false"`
12
+ */
13
+ export class ClrDaterangeOrderValidator {
14
+ constructor() {
15
+ this._active = true;
16
+ }
17
+ /**
18
+ * Disable validator by setting value to `false`.
19
+ */
20
+ set active(active) {
21
+ this._active = active == null || (active !== false && `${active}` !== 'false');
22
+ }
23
+ /**
24
+ * Validator method. Method that performs synchronous validation against the provided control.
25
+ * @param control - The control to validate against.
26
+ * @returns A map of validation errors if validation fails, otherwise null.
27
+ */
28
+ validate(control) {
29
+ if (!this._active) {
30
+ return null;
31
+ }
32
+ // Validation with `null` value is done with the regular required validator.
33
+ if (control.value == null) {
34
+ return null;
35
+ }
36
+ const { from, to } = control.value;
37
+ // Validation with `null` values from 'from' & 'to' is done with the ClrDaterangeRequiredValidator.
38
+ if (from == null || to == null) {
39
+ return null;
40
+ }
41
+ if (from.isAfter(to)) {
42
+ return {
43
+ [ClrDaterangeOrderValidator.validationErrorName]: control.value,
44
+ };
45
+ }
46
+ return null;
47
+ }
48
+ }
49
+ /** Validation error name. */
50
+ ClrDaterangeOrderValidator.validationErrorName = 'fromIsAfterTo';
51
+ ClrDaterangeOrderValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeOrderValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ ClrDaterangeOrderValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeOrderValidator, selector: "[clrDaterangepicker], [clrDaterangeOrder]", inputs: { active: ["clrDaterangeOrder", "active"] }, providers: [
53
+ {
54
+ provide: NG_VALIDATORS,
55
+ useExisting: forwardRef(() => ClrDaterangeOrderValidator),
56
+ multi: true,
57
+ },
58
+ ], ngImport: i0 });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeOrderValidator, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[clrDaterangepicker], [clrDaterangeOrder]',
63
+ providers: [
64
+ {
65
+ provide: NG_VALIDATORS,
66
+ useExisting: forwardRef(() => ClrDaterangeOrderValidator),
67
+ multi: true,
68
+ },
69
+ ],
70
+ }]
71
+ }], propDecorators: { active: [{
72
+ type: Input,
73
+ args: ['clrDaterangeOrder']
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLW9yZGVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGVyYW5nZXBpY2tlci92YWxpZGF0b3JzL2RhdGVyYW5nZS1vcmRlci52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDOztBQUk3Rjs7Ozs7Ozs7R0FRRztBQVdILE1BQU0sT0FBTywwQkFBMEI7SUFWdkM7UUFjVSxZQUFPLEdBQUcsSUFBSSxDQUFDO0tBd0N4QjtJQXRDQzs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNEVBQTRFO1FBQzVFLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUVuQyxtR0FBbUc7UUFDbkcsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixPQUFPO2dCQUNMLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSzthQUNoRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBMUNELDZCQUE2QjtBQUNOLDhDQUFtQixHQUFHLGVBQWUsQ0FBQzt1SEFGbEQsMEJBQTBCOzJHQUExQiwwQkFBMEIseUhBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1lBQ3pELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSwwQkFBMEI7a0JBVnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBV1ksTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nIGRhdGUgaXMgYmVmb3JlICd0bycgZGF0ZS5cbiAqIE90aGVyd2lzZSB3aWxsIHRocm93IGBmcm9tSXNBZnRlclRvYCB2YWxpZGF0aW9uIGVycm9yLlxuICpcbiAqIFRoaXMgdmFsaWRhdG9yIGlzIGFwcGxpZWQgYXV0b21hdGljYWxseSBvbiBDbHJEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUuXG4gKiBPciB3aGVuIHNldCBtYW51YWxseSB3aXRoIGBjbHJEYXRlcmFuZ2VPcmRlcmAgYXR0cmlidXRlLlxuICpcbiAqIFZhbGlkYXRvciBpcyBhY3RpdmUgYnkgZGVmYXVsdCB3aGVuIGFwcGxpZWQuIEl0IGNhbiBiZSBkaXNhYmxlZCB3aXRoOiBgW2NsckRhdGVyYW5nZU9yZGVyXT1cImZhbHNlXCJgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJEYXRlcmFuZ2VwaWNrZXJdLCBbY2xyRGF0ZXJhbmdlT3JkZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgLyoqIFZhbGlkYXRpb24gZXJyb3IgbmFtZS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB2YWxpZGF0aW9uRXJyb3JOYW1lID0gJ2Zyb21Jc0FmdGVyVG8nO1xuXG4gIHByaXZhdGUgX2FjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdmFsaWRhdG9yIGJ5IHNldHRpbmcgdmFsdWUgdG8gYGZhbHNlYC5cbiAgICovXG4gIEBJbnB1dCgnY2xyRGF0ZXJhbmdlT3JkZXInKVxuICBwdWJsaWMgc2V0IGFjdGl2ZShhY3RpdmU6IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gYWN0aXZlID09IG51bGwgfHwgKGFjdGl2ZSAhPT0gZmFsc2UgJiYgYCR7YWN0aXZlfWAgIT09ICdmYWxzZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRvciBtZXRob2QuIE1ldGhvZCB0aGF0IHBlcmZvcm1zIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgcHJvdmlkZWQgY29udHJvbC5cbiAgICogQHBhcmFtIGNvbnRyb2wgLSBUaGUgY29udHJvbCB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyBBIG1hcCBvZiB2YWxpZGF0aW9uIGVycm9ycyBpZiB2YWxpZGF0aW9uIGZhaWxzLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8TnVsbGFibGVEYXRlcmFuZ2UsIGFueT4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gd2l0aCBgbnVsbGAgdmFsdWUgaXMgZG9uZSB3aXRoIHRoZSByZWd1bGFyIHJlcXVpcmVkIHZhbGlkYXRvci5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBjb250cm9sLnZhbHVlO1xuXG4gICAgLy8gVmFsaWRhdGlvbiB3aXRoIGBudWxsYCB2YWx1ZXMgZnJvbSAnZnJvbScgJiAndG8nIGlzIGRvbmUgd2l0aCB0aGUgQ2xyRGF0ZXJhbmdlUmVxdWlyZWRWYWxpZGF0b3IuXG4gICAgaWYgKGZyb20gPT0gbnVsbCB8fCB0byA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZnJvbS5pc0FmdGVyKHRvKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW0NsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvck5hbWVdOiBjb250cm9sLnZhbHVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,71 @@
1
+ import { Directive, forwardRef, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Validator for daterangepicker to validate that 'from' *AND* 'to' date are not `null`.
6
+ * Will throw `required` validation error.
7
+ *
8
+ * Validator is applied to the ClrDaterangepickerDirective with `required` attribute.
9
+ * Or when set manually with `clrDaterangeRequired` attribute.
10
+ *
11
+ * Validator is active by default when applied. It can be disabled with: `[clrDaterangeRequired]="false"`
12
+ */
13
+ export class ClrDaterangeRequiredValidator {
14
+ constructor() {
15
+ this._active = true;
16
+ }
17
+ /**
18
+ * Disable validator by setting value to `false`.
19
+ */
20
+ set active(active) {
21
+ this._active = active == null || (active !== false && `${active}` !== 'false');
22
+ }
23
+ /**
24
+ * Validator method. Method that performs synchronous validation against the provided control.
25
+ * @param control - The control to validate against.
26
+ * @returns A map of validation errors if validation fails, otherwise null.
27
+ */
28
+ validate(control) {
29
+ if (!this._active) {
30
+ return null;
31
+ }
32
+ // Validation with `null` value is done with the regular required validator.
33
+ if (control.value == null) {
34
+ return null;
35
+ }
36
+ const { from, to } = control.value;
37
+ if (from == null || to == null) {
38
+ return {
39
+ [ClrDaterangeRequiredValidator.validationErrorName]: control.value,
40
+ };
41
+ }
42
+ return null;
43
+ }
44
+ }
45
+ /** Validation error name. */
46
+ ClrDaterangeRequiredValidator.validationErrorName = 'required';
47
+ ClrDaterangeRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
48
+ ClrDaterangeRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeRequiredValidator, selector: "[clrDaterangepicker][required], [clrDaterangeRequired]", inputs: { active: ["clrDaterangeRequired", "active"] }, providers: [
49
+ {
50
+ provide: NG_VALIDATORS,
51
+ useExisting: forwardRef(() => ClrDaterangeRequiredValidator),
52
+ multi: true,
53
+ },
54
+ ], ngImport: i0 });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeRequiredValidator, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[clrDaterangepicker][required], [clrDaterangeRequired]',
59
+ providers: [
60
+ {
61
+ provide: NG_VALIDATORS,
62
+ useExisting: forwardRef(() => ClrDaterangeRequiredValidator),
63
+ multi: true,
64
+ },
65
+ ],
66
+ }]
67
+ }], propDecorators: { active: [{
68
+ type: Input,
69
+ args: ['clrDaterangeRequired']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLXJlcXVpcmVkLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGVyYW5nZXBpY2tlci92YWxpZGF0b3JzL2RhdGVyYW5nZS1yZXF1aXJlZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDOztBQUk3Rjs7Ozs7Ozs7R0FRRztBQVdILE1BQU0sT0FBTyw2QkFBNkI7SUFWMUM7UUFjVSxZQUFPLEdBQUcsSUFBSSxDQUFDO0tBa0N4QjtJQWhDQzs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNEVBQTRFO1FBQzVFLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUM5QixPQUFPO2dCQUNMLENBQUMsNkJBQTZCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSzthQUNuRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBcENELDZCQUE2QjtBQUNOLGlEQUFtQixHQUFHLFVBQVUsQ0FBQzswSEFGN0MsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUlBUjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQzVELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSw2QkFBNkI7a0JBVnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBV1ksTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nICpBTkQqICd0bycgZGF0ZSBhcmUgbm90IGBudWxsYC5cbiAqIFdpbGwgdGhyb3cgYHJlcXVpcmVkYCB2YWxpZGF0aW9uIGVycm9yLlxuICpcbiAqIFZhbGlkYXRvciBpcyBhcHBsaWVkIHRvIHRoZSBDbHJEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUgd2l0aCBgcmVxdWlyZWRgIGF0dHJpYnV0ZS5cbiAqIE9yIHdoZW4gc2V0IG1hbnVhbGx5IHdpdGggYGNsckRhdGVyYW5nZVJlcXVpcmVkYCBhdHRyaWJ1dGUuXG4gKlxuICogVmFsaWRhdG9yIGlzIGFjdGl2ZSBieSBkZWZhdWx0IHdoZW4gYXBwbGllZC4gSXQgY2FuIGJlIGRpc2FibGVkIHdpdGg6IGBbY2xyRGF0ZXJhbmdlUmVxdWlyZWRdPVwiZmFsc2VcImBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRhdGVyYW5nZXBpY2tlcl1bcmVxdWlyZWRdLCBbY2xyRGF0ZXJhbmdlUmVxdWlyZWRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZVJlcXVpcmVkVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVyYW5nZVJlcXVpcmVkVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgLyoqIFZhbGlkYXRpb24gZXJyb3IgbmFtZS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB2YWxpZGF0aW9uRXJyb3JOYW1lID0gJ3JlcXVpcmVkJztcblxuICBwcml2YXRlIF9hY3RpdmUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHZhbGlkYXRvciBieSBzZXR0aW5nIHZhbHVlIHRvIGBmYWxzZWAuXG4gICAqL1xuICBASW5wdXQoJ2NsckRhdGVyYW5nZVJlcXVpcmVkJylcbiAgcHVibGljIHNldCBhY3RpdmUoYWN0aXZlOiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZSA9PSBudWxsIHx8IChhY3RpdmUgIT09IGZhbHNlICYmIGAke2FjdGl2ZX1gICE9PSAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0b3IgbWV0aG9kLiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBjb250cm9sIC0gVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAgICogQHJldHVybnMgQSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnMgaWYgdmFsaWRhdGlvbiBmYWlscywgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPE51bGxhYmxlRGF0ZXJhbmdlLCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIHdpdGggYG51bGxgIHZhbHVlIGlzIGRvbmUgd2l0aCB0aGUgcmVndWxhciByZXF1aXJlZCB2YWxpZGF0b3IuXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmcm9tLCB0byB9ID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoZnJvbSA9PSBudWxsIHx8IHRvID09IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtDbHJEYXRlcmFuZ2VSZXF1aXJlZFZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3JOYW1lXTogY29udHJvbC52YWx1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,9 @@
1
1
  /*
2
- * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.
2
+ * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
3
3
  * This software is released under MIT license.
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
6
- import { ContentChildren, Directive, ElementRef, Input, QueryList } from '@angular/core';
6
+ import { ContentChildren, Directive, ElementRef, Input, QueryList, } from '@angular/core';
7
7
  import { ClrDropdown } from '@clr/angular';
8
8
  import { Subject } from 'rxjs';
9
9
  import { takeUntil } from 'rxjs/operators';
@@ -14,8 +14,9 @@ export class ClrDropdownOverflowDirective {
14
14
  this.defaultItemMinHeightRem = 1.5;
15
15
  this.marginBottomRem = 0.1;
16
16
  this.destroy$ = new Subject();
17
+ this.alreadyChecked = false;
17
18
  }
18
- ngAfterContentInit() {
19
+ ngAfterContentChecked() {
19
20
  // first trigger manually because the subscription lower only triggers after first change
20
21
  if (!this.nestedDropdownChildren?.length) {
21
22
  this.applyDropdownOverflowStyles();
@@ -37,14 +38,17 @@ export class ClrDropdownOverflowDirective {
37
38
  applyDropdownOverflowStyles() {
38
39
  // the vertical position of our element in the current window
39
40
  const y = this.elRef.nativeElement.getBoundingClientRect().y;
40
- const itemMinHeightPx = this.getItemMinHeight(this.clrDropdownMenuItemMinHeight);
41
- // see https://stackoverflow.com/questions/22754315/for-loop-for-htmlcollection-elements
42
- for (const item of this.getAllChildDropdownMenuItems()) {
43
- item.style.minHeight = itemMinHeightPx + 'px';
41
+ if (y !== 0 && !this.alreadyChecked) {
42
+ const itemMinHeightPx = this.getItemMinHeight(this.clrDropdownMenuItemMinHeight);
43
+ // see https://stackoverflow.com/questions/22754315/for-loop-for-htmlcollection-elements
44
+ for (const item of this.getAllChildDropdownMenuItems()) {
45
+ item.style.minHeight = itemMinHeightPx + 'px';
46
+ }
47
+ this.elRef.nativeElement.style.maxHeight =
48
+ this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, window.innerHeight - y - this.convertRemToPixels(this.marginBottomRem)) + 'px';
49
+ this.elRef.nativeElement.style.overflowY = 'auto';
50
+ this.alreadyChecked = true;
44
51
  }
45
- this.elRef.nativeElement.style.maxHeight =
46
- this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, window.innerHeight - y - this.convertRemToPixels(this.marginBottomRem)) + 'px';
47
- this.elRef.nativeElement.style.overflowY = 'auto';
48
52
  }
49
53
  removeDropdownOverflowStyles() {
50
54
  for (const item of this.getAllChildDropdownMenuItems()) {
@@ -105,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
105
109
  type: ContentChildren,
106
110
  args: [ClrDropdown, { descendants: true }]
107
111
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xyLWRyb3Bkb3duLW92ZXJmbG93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2Ryb3Bkb3duL2Nsci1kcm9wZG93bi1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBb0IsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUczQyxNQUFNLE9BQU8sNEJBQTRCO0lBV3ZDLFlBQTJCLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFMNUIsNEJBQXVCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBRTlCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRVEsQ0FBQztJQUVoRCxrQkFBa0I7UUFDaEIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFO1lBQ3hDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWdDLEVBQUUsRUFBRTtZQUNoSCwwR0FBMEc7WUFDMUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO2FBQ3BDO2lCQUFNLElBQUks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S0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0RTtpQkFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEU7WUFDRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsRUFBVTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUM3QyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7eUhBckdVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGdPQUl0QixXQUFXOzJGQUpqQiw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7aUdBRWpDLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRXVELHNCQUFzQjtzQkFBbEYsZUFBZTt1QkFBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyRHJvcGRvd24gfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdjbHItZHJvcGRvd24tbWVudScgfSlcbmV4cG9ydCBjbGFzcyBDbHJEcm9wZG93bk92ZXJmbG93RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgY2xyRHJvcGRvd25NZW51TWF4SGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7IC8vIGNhbiBiZSBvZiBweCwgcmVtLCB2aCwgb3IgYSBudW1iZXIgKHdoaWNoIHRoZW4gaXMgY29uc2lkZXJlZCBhcyBweCB2YWx1ZSlcbiAgQElucHV0KCkgY2xyRHJvcGRvd25NZW51SXRlbU1pbkhlaWdodDogc3RyaW5nIHwgbnVtYmVyOyAvLyBjYW4gYmUgb2YgcHgsIHJlbSwgdmgsIG9yIGEgbnVtYmVyICh3aGljaCB0aGVuIGlzIGNvbnNpZGVyZWQgYXMgcHggdmFsdWUpXG5cbiAgQENvbnRlbnRDaGlsZHJlbihDbHJEcm9wZG93biwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBwcml2YXRlIG5lc3RlZERyb3Bkb3duQ2hpbGRyZW46IFF1ZXJ5TGlzdDxDbHJEcm9wZG93bj47XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRJdGVtTWluSGVpZ2h0UmVtID0gMS41O1xuICBwdWJsaWMgcmVhZG9ubHkgbWFyZ2luQm90dG9tUmVtID0gMC4xO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBmaXJzdCB0cmlnZ2VyIG1hbnVhbGx5IGJlY2F1c2UgdGhlIHN1YnNjcmlwdGlvbiBsb3dlciBvbmx5IHRyaWdnZXJzIGFmdGVyIGZpcnN0IGNoYW5nZVxuICAgIGlmICghdGhpcy5uZXN0ZWREcm9wZG93bkNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYXBwbHlEcm9wZG93bk92ZXJmbG93U3R5bGVzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5uZXN0ZWREcm9wZG93bkNoaWxkcmVuLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoY2hpbGRyZW46IFF1ZXJ5TGlzdDxDbHJEcm9wZG93bj4pID0+IHtcbiAgICAgIC8vIGlmIHRoZXJlIGFyZSBhbnkgbmVzdGVkIGRyb3Bkb3ducywgb3VyIG92ZXJmbG93IGZpeCBwcmV2ZW50cyB0aG9zZSBmcm9tIHNob3dpbmcgYW5kIG5lZWRzIHRvIGJlIHJlbW92ZWRcbiAgICAgIGlmICghY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFwcGx5RHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTogdm9pZCB7XG4gICAgLy8gdGhlIHZlcnRpY2FsIHBvc2l0aW9uIG9mIG91ciBlbGVtZW50IGluIHRoZSBjdXJyZW50IHdpbmRvd1xuICAgIGNvbnN0IHkgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueTtcblxuICAgIGNvbnN0IGl0ZW1NaW5IZWlnaHRQeCA9IHRoaXMuZ2V0SXRlbU1pbkhlaWdodCh0aGlzLmNsckRyb3Bkb3duTWVudUl0ZW1NaW5IZWlnaHQpO1xuICAgIC8vIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMjc1NDMxNS9mb3ItbG9vcC1mb3ItaHRtbGNvbGxlY3Rpb24tZWxlbWVudHNcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5nZXRBbGxDaGlsZERyb3Bkb3duTWVudUl0ZW1zKCkpIHtcbiAgICAgIGl0ZW0uc3R5bGUubWluSGVpZ2h0ID0gaXRlbU1pbkhlaWdodFB4ICsgJ3B4JztcbiAgICB9XG5cbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgIHRoaXMuZ2V0TWVudU1heEhlaWdodChcbiAgICAgICAgdGhpcy5jbHJEcm9wZG93bk1lbnVNYXhIZWlnaHQsXG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCAtIHkgLSB0aGlzLmNvbnZlcnRSZW1Ub1BpeGVscyh0aGlzLm1hcmdpbkJvdHRvbVJlbSlcbiAgICAgICkgKyAncHgnO1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5vdmVyZmxvd1kgPSAnYXV0byc7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpKSB7XG4gICAgICBpdGVtLnN0eWxlLm1pbkhlaWdodCA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9IG51bGw7XG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbENoaWxkRHJvcGRvd25NZW51SXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkcm9wZG93bi1pdGVtJyk7XG4gIH1cblxuICBwcml2YXRlIGdldE1lbnVNYXhIZWlnaHQobWVudU1heEhlaWdodFByb3ZpZGVkOiBzdHJpbmcgfCBudW1iZXIsIG1lbnVNYXhIZWlnaHRQeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobWVudU1heEhlaWdodFByb3ZpZGVkKSB7XG4gICAgICBjb25zdCBtYXhIZWlnaHRQeCA9IHRoaXMuY29udmVydFRvUGl4ZWxzKG1lbnVNYXhIZWlnaHRQcm92aWRlZCk7XG4gICAgICByZXR1cm4gbWF4SGVpZ2h0UHggPiBtZW51TWF4SGVpZ2h0UHggPyBtZW51TWF4SGVpZ2h0UHggOiBtYXhIZWlnaHRQeDtcbiAgICB9XG4gICAgcmV0dXJuIG1lbnVNYXhIZWlnaHRQeDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbU1pbkhlaWdodChpdGVtTWluSGVpZ2h0UHJvdmlkZWQ6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFRvUGl4ZWxzKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRSZW1Ub1BpeGVscyh0aGlzLmRlZmF1bHRJdGVtTWluSGVpZ2h0UmVtKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvUGl4ZWxzKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodmFsdWUuZW5kc1dpdGgoJ3B4JykpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncHgnLCAnJykpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZS5lbmRzV2l0aCgncmVtJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncmVtJywgJycpKSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmVuZHNXaXRoKCd2aCcpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRWaFRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgndmgnLCAnJykpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0UmVtVG9QaXhlbHMocmVtOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiByZW0gKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRWaFRvUGl4ZWxzKHZoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHB4UGVyVmhVbml0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMTAwO1xuICAgIHJldHVybiB2aCAqIHB4UGVyVmhVbml0O1xuICB9XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xyLWRyb3Bkb3duLW92ZXJmbG93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2Ryb3Bkb3duL2Nsci1kcm9wZG93bi1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsWUFBMkIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQU41Qiw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFFOUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFFZ0IsQ0FBQztJQUVoRCxxQkFBcUI7UUFDbkIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFO1lBQ3hDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWdDLEVBQUUsRUFBRTtZQUNoSCwwR0FBMEc7WUFDMUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQywyQkFBMkIs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b3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEcm9wZG93biB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2Nsci1kcm9wZG93bi1tZW51JyB9KVxuZXhwb3J0IGNsYXNzIENsckRyb3Bkb3duT3ZlcmZsb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjbHJEcm9wZG93bk1lbnVNYXhIZWlnaHQ6IHN0cmluZyB8IG51bWJlcjsgLy8gY2FuIGJlIG9mIHB4LCByZW0sIHZoLCBvciBhIG51bWJlciAod2hpY2ggdGhlbiBpcyBjb25zaWRlcmVkIGFzIHB4IHZhbHVlKVxuICBASW5wdXQoKSBjbHJEcm9wZG93bk1lbnVJdGVtTWluSGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7IC8vIGNhbiBiZSBvZiBweCwgcmVtLCB2aCwgb3IgYSBudW1iZXIgKHdoaWNoIHRoZW4gaXMgY29uc2lkZXJlZCBhcyBweCB2YWx1ZSlcblxuICBAQ29udGVudENoaWxkcmVuKENsckRyb3Bkb3duLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHByaXZhdGUgbmVzdGVkRHJvcGRvd25DaGlsZHJlbjogUXVlcnlMaXN0PENsckRyb3Bkb3duPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEl0ZW1NaW5IZWlnaHRSZW0gPSAxLjU7XG4gIHB1YmxpYyByZWFkb25seSBtYXJnaW5Cb3R0b21SZW0gPSAwLjE7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgYWxyZWFkeUNoZWNrZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgLy8gZmlyc3QgdHJpZ2dlciBtYW51YWxseSBiZWNhdXNlIHRoZSBzdWJzY3JpcHRpb24gbG93ZXIgb25seSB0cmlnZ2VycyBhZnRlciBmaXJzdCBjaGFuZ2VcbiAgICBpZiAoIXRoaXMubmVzdGVkRHJvcGRvd25DaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFwcGx5RHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgIH1cblxuICAgIHRoaXMubmVzdGVkRHJvcGRvd25DaGlsZHJlbi5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGNoaWxkcmVuOiBRdWVyeUxpc3Q8Q2xyRHJvcGRvd24+KSA9PiB7XG4gICAgICAvLyBpZiB0aGVyZSBhcmUgYW55IG5lc3RlZCBkcm9wZG93bnMsIG91ciBvdmVyZmxvdyBmaXggcHJldmVudHMgdGhvc2UgZnJvbSBzaG93aW5nIGFuZCBuZWVkcyB0byBiZSByZW1vdmVkXG4gICAgICBpZiAoIWNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hcHBseURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlbW92ZURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEcm9wZG93bk92ZXJmbG93U3R5bGVzKCk6IHZvaWQge1xuICAgIC8vIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbiBvZiBvdXIgZWxlbWVudCBpbiB0aGUgY3VycmVudCB3aW5kb3dcbiAgICBjb25zdCB5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7XG4gICAgaWYgKHkgIT09IDAgJiYgIXRoaXMuYWxyZWFkeUNoZWNrZWQpIHtcbiAgICAgIGNvbnN0IGl0ZW1NaW5IZWlnaHRQeCA9IHRoaXMuZ2V0SXRlbU1pbkhlaWdodCh0aGlzLmNsckRyb3Bkb3duTWVudUl0ZW1NaW5IZWlnaHQpO1xuICAgICAgLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIyNzU0MzE1L2Zvci1sb29wLWZvci1odG1sY29sbGVjdGlvbi1lbGVtZW50c1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpKSB7XG4gICAgICAgIGl0ZW0uc3R5bGUubWluSGVpZ2h0ID0gaXRlbU1pbkhlaWdodFB4ICsgJ3B4JztcbiAgICAgIH1cbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPVxuICAgICAgICB0aGlzLmdldE1lbnVNYXhIZWlnaHQoXG4gICAgICAgICAgdGhpcy5jbHJEcm9wZG93bk1lbnVNYXhIZWlnaHQsXG4gICAgICAgICAgd2luZG93LmlubmVySGVpZ2h0IC0geSAtIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHRoaXMubWFyZ2luQm90dG9tUmVtKVxuICAgICAgICApICsgJ3B4JztcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5vdmVyZmxvd1kgPSAnYXV0byc7XG4gICAgICB0aGlzLmFscmVhZHlDaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpKSB7XG4gICAgICBpdGVtLnN0eWxlLm1pbkhlaWdodCA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9IG51bGw7XG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbENoaWxkRHJvcGRvd25NZW51SXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkcm9wZG93bi1pdGVtJyk7XG4gIH1cblxuICBwcml2YXRlIGdldE1lbnVNYXhIZWlnaHQobWVudU1heEhlaWdodFByb3ZpZGVkOiBzdHJpbmcgfCBudW1iZXIsIG1lbnVNYXhIZWlnaHRQeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobWVudU1heEhlaWdodFByb3ZpZGVkKSB7XG4gICAgICBjb25zdCBtYXhIZWlnaHRQeCA9IHRoaXMuY29udmVydFRvUGl4ZWxzKG1lbnVNYXhIZWlnaHRQcm92aWRlZCk7XG4gICAgICByZXR1cm4gbWF4SGVpZ2h0UHggPiBtZW51TWF4SGVpZ2h0UHggPyBtZW51TWF4SGVpZ2h0UHggOiBtYXhIZWlnaHRQeDtcbiAgICB9XG4gICAgcmV0dXJuIG1lbnVNYXhIZWlnaHRQeDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbU1pbkhlaWdodChpdGVtTWluSGVpZ2h0UHJvdmlkZWQ6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFRvUGl4ZWxzKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRSZW1Ub1BpeGVscyh0aGlzLmRlZmF1bHRJdGVtTWluSGVpZ2h0UmVtKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvUGl4ZWxzKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodmFsdWUuZW5kc1dpdGgoJ3B4JykpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncHgnLCAnJykpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZS5lbmRzV2l0aCgncmVtJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncmVtJywgJycpKSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmVuZHNXaXRoKCd2aCcpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRWaFRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgndmgnLCAnJykpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0UmVtVG9QaXhlbHMocmVtOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiByZW0gKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRWaFRvUGl4ZWxzKHZoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHB4UGVyVmhVbml0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMTAwO1xuICAgIHJldHVybiB2aCAqIHB4UGVyVmhVbml0O1xuICB9XG59XG4iXX0=
package/esm2020/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.
2
+ * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
3
3
  * This software is released under MIT license.
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
@@ -34,4 +34,5 @@ export * from './autocomplete-off/index';
34
34
  export * from './abstract-form-component/index';
35
35
  export * from './dropdown/index';
36
36
  export * from './datagrid/index';
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY2xyLWFkZG9ucy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3ZpZXctZWRpdC1zZWN0aW9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kb3QtcGFnZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlZC1zZWFyY2gtcmVzdWx0LWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsYXBzZS1leHBhbmQtc2VjdGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21haW4tbmF2LWdyb3VwL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1wYW5lbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9mbG93LWJhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JhY2stYnV0dG9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3Mtc3Bpbm5lci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL251bWVyaWNmaWVsZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaGZpZWxkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZXRhYmxlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS10aW1lLWNvbnRhaW5lci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3F1aWNrLWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aWxpbmd1YWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1xdWljay1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGV0dGVyLWF2YXRhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC12YWxpZGF0b3IvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9icmFuZC1hdmF0YXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhdGlvbi1iYXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUtb2ZmL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtZm9ybS1jb21wb25lbnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFncmlkL2luZGV4JztcbiJdfQ==
37
+ export * from './daterangepicker/index';
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jbHItYWRkb25zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdmlldy1lZGl0LXNlY3Rpb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RvdC1wYWdlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxhcHNlLWV4cGFuZC1zZWN0aW9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXYtZ3JvdXAvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50LXBhbmVsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Zsb3ctYmFyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYmFjay1idXR0b24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1zcGlubmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJpY2ZpZWxkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoZmllbGQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVldGFibGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXRpbWUtY29udGFpbmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcXVpY2stbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpbGluZ3VhbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLXF1aWNrLWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9sZXR0ZXItYXZhdGFyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LXZhbGlkYXRvci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb25zL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaGlzdG9yeS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JyYW5kLWF2YXRhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9uLWJhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1vZmYvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcmFuZ2VwaWNrZXIvaW5kZXgnO1xuIl19