@koobiq/components 18.39.2 → 18.39.3

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 (62) hide show
  1. package/core/highlight/highlight.pipe.d.ts +2 -0
  2. package/core/option/action.d.ts +5 -6
  3. package/datepicker/datepicker-input.directive.d.ts +6 -1
  4. package/esm2022/core/highlight/highlight.pipe.mjs +23 -5
  5. package/esm2022/core/option/action.mjs +21 -22
  6. package/esm2022/core/version.mjs +2 -2
  7. package/esm2022/datepicker/datepicker-input.directive.mjs +9 -2
  8. package/esm2022/datepicker/datepicker.component.mjs +2 -2
  9. package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -2
  10. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +3 -3
  11. package/esm2022/form-field/cleaner.mjs +3 -3
  12. package/esm2022/form-field/fieldset.mjs +2 -2
  13. package/esm2022/form-field/form-field.mjs +2 -2
  14. package/esm2022/form-field/password-toggle.mjs +3 -3
  15. package/esm2022/icon/icon-button.component.mjs +2 -2
  16. package/esm2022/inline-edit/inline-edit.mjs +4 -4
  17. package/esm2022/list/list-selection.component.mjs +12 -2
  18. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  19. package/esm2022/popover/popover.component.mjs +3 -3
  20. package/esm2022/search-expandable/search-expandable.mjs +50 -23
  21. package/esm2022/select/select.component.mjs +7 -4
  22. package/esm2022/tags/tag-input.mjs +7 -6
  23. package/esm2022/tags/tag-list.component.mjs +11 -3
  24. package/esm2022/tags/tag.component.mjs +9 -3
  25. package/fesm2022/koobiq-components-core.mjs +42 -26
  26. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-datepicker.mjs +9 -2
  28. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-dropdown.mjs +2 -1
  30. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-filter-bar.mjs +2 -2
  32. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-form-field.mjs +8 -8
  34. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-icon.mjs +2 -2
  36. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-inline-edit.mjs +3 -3
  38. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-list.mjs +11 -1
  40. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-popover.mjs +4 -4
  42. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-search-expandable.mjs +49 -22
  44. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-select.mjs +6 -3
  46. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-tags.mjs +24 -9
  48. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  49. package/form-field/_form-field-theme.scss +2 -2
  50. package/form-field/form-field.scss +0 -1
  51. package/icon/icon-button.scss +5 -4
  52. package/inline-edit/inline-edit-tokens.scss +1 -1
  53. package/inline-edit/inline-edit.d.ts +2 -2
  54. package/inline-edit/inline-edit.scss +1 -1
  55. package/list/list-selection.component.d.ts +1 -0
  56. package/package.json +4 -4
  57. package/popover/_popover-theme.scss +1 -1
  58. package/schematics/ng-add/index.js +2 -2
  59. package/search-expandable/search-expandable.d.ts +19 -4
  60. package/select/select.component.d.ts +2 -1
  61. package/tags/tag-list.component.d.ts +7 -1
  62. package/tags/tag.component.d.ts +2 -0
@@ -1,5 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /** @docs-private */
4
+ export declare const kbqHighlightMark: (text: string) => string;
3
5
  export declare function escapeRegExp(value: string): string;
4
6
  export declare class KbqHighlightPipe implements PipeTransform {
5
7
  transform(value: any, args: any): any;
@@ -1,5 +1,5 @@
1
- import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
2
- import { AfterViewInit, ElementRef, EventEmitter, InjectionToken, OnDestroy } from '@angular/core';
1
+ import { FocusOrigin } from '@angular/cdk/a11y';
2
+ import { AfterViewInit, EventEmitter, InjectionToken, OnDestroy } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export interface KbqOptionActionParent {
5
5
  dropdownTrigger: {
@@ -17,16 +17,15 @@ export interface KbqOptionActionParent {
17
17
  }
18
18
  export declare const KBQ_OPTION_ACTION_PARENT: InjectionToken<KbqOptionActionParent>;
19
19
  export declare class KbqOptionActionComponent implements AfterViewInit, OnDestroy {
20
- private elementRef;
21
- private focusMonitor;
22
- private option;
20
+ private readonly nativeElement;
21
+ private readonly focusMonitor;
22
+ private readonly option;
23
23
  get disabled(): boolean;
24
24
  set disabled(value: boolean);
25
25
  private _disabled;
26
26
  hasFocus: boolean;
27
27
  get active(): boolean;
28
28
  private readonly destroyRef;
29
- constructor(elementRef: ElementRef<HTMLElement>, focusMonitor: FocusMonitor, option: KbqOptionActionParent);
30
29
  ngAfterViewInit(): void;
31
30
  ngOnDestroy(): void;
32
31
  focus(origin?: FocusOrigin, options?: FocusOptions): void;
@@ -1,7 +1,7 @@
1
1
  import { AfterContentInit, DoCheck, ElementRef, EventEmitter, InjectionToken, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
3
  import { DateAdapter, ErrorStateMatcher, KbqDateFormats } from '@koobiq/components/core';
4
- import { KbqFormFieldControl } from '@koobiq/components/form-field';
4
+ import { KbqFormField, KbqFormFieldControl } from '@koobiq/components/form-field';
5
5
  import { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip';
6
6
  import { Subject } from 'rxjs';
7
7
  import { KbqCalendar } from './calendar.component';
@@ -46,7 +46,10 @@ export declare class KbqDatepickerInput<D> implements KbqFormFieldControl<D>, Co
46
46
  readonly adapter: DateAdapter<D>;
47
47
  private readonly dateFormats;
48
48
  /** @docs-private */
49
+ protected readonly formField: KbqFormField | null;
50
+ /** @docs-private */
49
51
  protected readonly localeService: import("@koobiq/components/core").KbqLocaleService | null;
52
+ /** @docs-private */
50
53
  protected readonly externalConfiguration: unknown;
51
54
  protected configuration: any;
52
55
  readonly stateChanges: Subject<void>;
@@ -150,6 +153,8 @@ export declare class KbqDatepickerInput<D> implements KbqFormFieldControl<D>, Co
150
153
  toISO8601(value: D): string;
151
154
  /** Refreshes the error state of the input. */
152
155
  updateErrorState(): void;
156
+ /** Returns the ElementRef of the formField if it exists; otherwise, returns the ElementRef of the input. */
157
+ getOrigin(): ElementRef;
153
158
  private saveTimePart;
154
159
  private updateLocaleParams;
155
160
  private initDefaultParams;
@@ -1,17 +1,35 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ const HTML_ESCAPES = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' };
4
+ const HTML_SPECIAL_CHARS = /[&<>"']/;
5
+ const HTML_SPECIAL_CHARS_GLOBAL = new RegExp(HTML_SPECIAL_CHARS.source, 'g');
6
+ /** @docs-private */
7
+ export const kbqHighlightMark = (text) => `<mark class="kbq-highlight">${text}</mark>`;
3
8
  export function escapeRegExp(value) {
4
9
  if (value) {
5
10
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
6
11
  }
7
12
  return value;
8
13
  }
14
+ function escapeHtml(value) {
15
+ if (!HTML_SPECIAL_CHARS.test(value))
16
+ return value;
17
+ return value.replace(HTML_SPECIAL_CHARS_GLOBAL, (chr) => HTML_ESCAPES[chr] ?? chr);
18
+ }
9
19
  export class KbqHighlightPipe {
10
20
  transform(value, args) {
11
- if (!args || typeof args !== 'string') {
12
- return value;
13
- }
14
- return value.replace(new RegExp(`(${escapeRegExp(args)})`, 'gi'), '<mark class="kbq-highlight">$1</mark>');
21
+ if (typeof value !== 'string')
22
+ return '';
23
+ if (!args || typeof args !== 'string')
24
+ return escapeHtml(value);
25
+ const parts = value.split(new RegExp(`(${escapeRegExp(args)})`, 'gi'));
26
+ return parts
27
+ .map((part, i) => {
28
+ const escaped = escapeHtml(part);
29
+ const isMatch = i % 2 === 1;
30
+ return isMatch ? kbqHighlightMark(escaped) : escaped;
31
+ })
32
+ .join('');
15
33
  }
16
34
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
35
  /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqHighlightPipe, name: "mcHighlight" }); }
@@ -20,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
20
38
  type: Pipe,
21
39
  args: [{ name: 'mcHighlight' }]
22
40
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvaGlnaGxpZ2h0L2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFTO1FBQzNCLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLHVDQUF1QyxDQUFDLENBQUM7SUFDL0csQ0FBQztrSUFQUSxnQkFBZ0I7Z0lBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVSZWdFeHAodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbkBQaXBlKHsgbmFtZTogJ21jSGlnaGxpZ2h0JyB9KVxuZXhwb3J0IGNsYXNzIEticUhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgYXJnczogYW55KTogYW55IHtcbiAgICAgICAgaWYgKCFhcmdzIHx8IHR5cGVvZiBhcmdzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChgKCR7ZXNjYXBlUmVnRXhwKGFyZ3MpfSlgLCAnZ2knKSwgJzxtYXJrIGNsYXNzPVwia2JxLWhpZ2hsaWdodFwiPiQxPC9tYXJrPicpO1xuICAgIH1cbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvaGlnaGxpZ2h0L2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBVyxDQUFDO0FBQ3RHLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0FBQ3JDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzdFLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQUMsK0JBQStCLElBQUksU0FBUyxDQUFDO0FBRXZHLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRWxELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUMzQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV2RSxPQUFPLEtBQUs7YUFDUCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDekQsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7a0lBZlEsZ0JBQWdCO2dJQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBIVE1MX0VTQ0FQRVMgPSB7ICcmJzogJyZhbXA7JywgJzwnOiAnJmx0OycsICc+JzogJyZndDsnLCAnXCInOiAnJnF1b3Q7JywgXCInXCI6ICcmIzM5OycgfSBhcyBjb25zdDtcbmNvbnN0IEhUTUxfU1BFQ0lBTF9DSEFSUyA9IC9bJjw+XCInXS87XG5jb25zdCBIVE1MX1NQRUNJQUxfQ0hBUlNfR0xPQkFMID0gbmV3IFJlZ0V4cChIVE1MX1NQRUNJQUxfQ0hBUlMuc291cmNlLCAnZycpO1xuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBrYnFIaWdobGlnaHRNYXJrID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PiBgPG1hcmsgY2xhc3M9XCJrYnEtaGlnaGxpZ2h0XCI+JHt0ZXh0fTwvbWFyaz5gO1xuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBlc2NhcGVIdG1sKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghSFRNTF9TUEVDSUFMX0NIQVJTLnRlc3QodmFsdWUpKSByZXR1cm4gdmFsdWU7XG5cbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShIVE1MX1NQRUNJQUxfQ0hBUlNfR0xPQkFMLCAoY2hyKSA9PiBIVE1MX0VTQ0FQRVNbY2hyXSA/PyBjaHIpO1xufVxuXG5AUGlwZSh7IG5hbWU6ICdtY0hpZ2hsaWdodCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gJyc7XG4gICAgICAgIGlmICghYXJncyB8fCB0eXBlb2YgYXJncyAhPT0gJ3N0cmluZycpIHJldHVybiBlc2NhcGVIdG1sKHZhbHVlKTtcblxuICAgICAgICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KG5ldyBSZWdFeHAoYCgke2VzY2FwZVJlZ0V4cChhcmdzKX0pYCwgJ2dpJykpO1xuXG4gICAgICAgIHJldHVybiBwYXJ0c1xuICAgICAgICAgICAgLm1hcCgocGFydCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVzY2FwZWQgPSBlc2NhcGVIdG1sKHBhcnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzTWF0Y2ggPSBpICUgMiA9PT0gMTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBpc01hdGNoID8ga2JxSGlnaGxpZ2h0TWFyayhlc2NhcGVkKSA6IGVzY2FwZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJycpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,11 +1,19 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Inject, InjectionToken, Input, ViewEncapsulation } from '@angular/core';
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, inject, InjectionToken, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { ENTER, SPACE, TAB } from '@koobiq/cdk/keycodes';
5
+ import { kbqInjectNativeElement } from '../utils';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/a11y";
7
7
  export const KBQ_OPTION_ACTION_PARENT = new InjectionToken('KBQ_OPTION_ACTION_PARENT');
8
8
  export class KbqOptionActionComponent {
9
+ constructor() {
10
+ this.nativeElement = kbqInjectNativeElement();
11
+ this.focusMonitor = inject(FocusMonitor);
12
+ this.option = inject(KBQ_OPTION_ACTION_PARENT);
13
+ this._disabled = false;
14
+ this.hasFocus = false;
15
+ this.destroyRef = inject(DestroyRef);
16
+ }
9
17
  get disabled() {
10
18
  return this._disabled;
11
19
  }
@@ -17,17 +25,9 @@ export class KbqOptionActionComponent {
17
25
  get active() {
18
26
  return this.hasFocus || !!this.option.dropdownTrigger?.opened;
19
27
  }
20
- constructor(elementRef, focusMonitor, option) {
21
- this.elementRef = elementRef;
22
- this.focusMonitor = focusMonitor;
23
- this.option = option;
24
- this._disabled = false;
25
- this.hasFocus = false;
26
- this.destroyRef = inject(DestroyRef);
27
- }
28
28
  ngAfterViewInit() {
29
29
  this.focusMonitor
30
- .monitor(this.elementRef.nativeElement, true)
30
+ .monitor(this.nativeElement, true)
31
31
  .pipe(takeUntilDestroyed(this.destroyRef))
32
32
  .subscribe((result) => (this.hasFocus = !!result));
33
33
  if (!this.option.dropdownTrigger)
@@ -35,19 +35,21 @@ export class KbqOptionActionComponent {
35
35
  this.option.dropdownTrigger.restoreFocus = false;
36
36
  this.option.dropdownTrigger.dropdownClosed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
37
37
  this.preventShowingTooltip();
38
- const destroyReason = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ? 'keyboard' : 'program';
39
- this.focus(destroyReason);
38
+ const lastDestroyReason = this.option.dropdownTrigger.lastDestroyReason;
39
+ if (lastDestroyReason) {
40
+ this.focus(lastDestroyReason === 'keydown' ? 'keyboard' : 'program');
41
+ }
40
42
  });
41
43
  }
42
44
  ngOnDestroy() {
43
- this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
45
+ this.focusMonitor.stopMonitoring(this.nativeElement);
44
46
  }
45
47
  focus(origin, options) {
46
48
  if (this.focusMonitor && origin) {
47
- this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);
49
+ this.focusMonitor.focusVia(this.nativeElement, origin, options);
48
50
  }
49
51
  else {
50
- this.elementRef.nativeElement.focus();
52
+ this.nativeElement.focus();
51
53
  }
52
54
  this.hasFocus = true;
53
55
  }
@@ -75,7 +77,7 @@ export class KbqOptionActionComponent {
75
77
  this.option.tooltipTrigger.disabled = true;
76
78
  setTimeout(() => (this.option.tooltipTrigger.disabled = false));
77
79
  }
78
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqOptionActionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KBQ_OPTION_ACTION_PARENT }], target: i0.ɵɵFactoryTarget.Component }); }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqOptionActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
81
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, exportAs: ["kbqOptionAction"], ngImport: i0, template: `
80
82
  <ng-content select="[kbq-icon]">
81
83
  <i class="kbq kbq-icon kbq-contrast-fade kbq-ellipsis-vertical_16"></i>
@@ -97,11 +99,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
97
99
  '(click)': 'onClick($event)',
98
100
  '(keydown)': 'onKeyDown($event)'
99
101
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{display:flex;align-items:center;justify-content:center;cursor:pointer;outline:none;border:var(--kbq-size-3xs) solid transparent;border-radius:var(--kbq-size-xs);width:var(--kbq-size-xl);height:var(--kbq-size-xl)}.kbq-option-action:not(.kbq-disabled):hover .kbq-icon,.kbq-option-action:not(.kbq-disabled):focus .kbq-icon{color:var(--kbq-icon-button-fade-contrast-states-hover)}.kbq-option-action.kbq-disabled{cursor:default}.kbq-option-action.cdk-keyboard-focused{border-color:var(--kbq-states-line-focus-theme)}.kbq-option-action:active,.kbq-option-action.kbq-pressed{background-color:var(--kbq-background-transparent)}.kbq-option-action:active .kbq-icon.kbq-empty,.kbq-option-action.kbq-pressed .kbq-icon.kbq-empty{color:var(--kbq-states-icon-contrast-fade-active)}.kbq-option-action:hover .kbq-icon.kbq-empty{color:var(--kbq-states-icon-contrast-fade-hover)}.kbq-option-action.kbq-disabled{background-color:var(--kbq-background-transparent)}.kbq-option-action.kbq-disabled .kbq-icon.kbq-empty{color:var(--kbq-states-icon-disabled)}\n"] }]
100
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
101
- type: Inject,
102
- args: [KBQ_OPTION_ACTION_PARENT]
103
- }] }], propDecorators: { disabled: [{
102
+ }], propDecorators: { disabled: [{
104
103
  type: Input,
105
104
  args: [{ transform: booleanAttribute }]
106
105
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLE1BQU0sRUFDTixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQWlCekQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQXdCLDBCQUEwQixDQUFDLENBQUM7QUF5QjlHLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQU1ELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO0lBQ2xFLENBQUM7SUFJRCxZQUNZLFVBQW1DLEVBQ25DLFlBQTBCLEVBQ1EsTUFBNkI7UUFGL0QsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsaUJBQVksR0FBWixZ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Y0FBYyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRTNDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7a0lBekZRLHdCQUF3Qix3RUF5QnJCLHdCQUF3QjtzSEF6QjNCLHdCQUF3Qiw4RUFDYixnQkFBZ0IsbVVBckIxQjs7OztLQUlUOzs0RkFnQlEsd0JBQXdCO2tCQXZCcEMsU0FBUzsrQkFDSSxtQkFBbUIsWUFDbkIsaUJBQWlCLFlBQ2pCOzs7O0tBSVQsUUFFSzt3QkFDRixLQUFLLEVBQUUsbUJBQW1CO3dCQUMxQixzQkFBc0IsRUFBRSxPQUFPO3dCQUMvQixzQkFBc0IsRUFBRSxVQUFVO3dCQUVsQyxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGlCQUFpQixFQUFFLElBQUk7d0JBRXZCLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLFdBQVcsRUFBRSxtQkFBbUI7cUJBQ25DLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQTJCMUMsTUFBTTsyQkFBQyx3QkFBd0I7eUNBdkJoQyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFPcHRpb25BY3Rpb25QYXJlbnQge1xuICAgIGRyb3Bkb3duVHJpZ2dlcjoge1xuICAgICAgICBvcGVuZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlc3RvcmVGb2N1czogYm9vbGVhbjtcbiAgICAgICAgZHJvcGRvd25DbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgICAgICAgbGFzdERlc3Ryb3lSZWFzb246IHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYic7XG4gICAgICAgIG9wZW5lZEJ5OiBFeGNsdWRlPEZvY3VzT3JpZ2luLCAncHJvZ3JhbScgfCBudWxsPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgdG9nZ2xlKCk6IHZvaWQ7XG4gICAgfTtcbiAgICB0b29sdGlwVHJpZ2dlcjoge1xuICAgICAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGZvY3VzKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBLQlFfT1BUSU9OX0FDVElPTl9QQVJFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxT3B0aW9uQWN0aW9uUGFyZW50PignS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLW9wdGlvbi1hY3Rpb24nLFxuICAgIGV4cG9ydEFzOiAna2JxT3B0aW9uQWN0aW9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLWljb25dXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImticSBrYnEtaWNvbiBrYnEtY29udHJhc3QtZmFkZSBrYnEtZWxsaXBzaXMtdmVydGljYWxfMTZcIj48L2k+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2FjdGlvbi5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1vcHRpb24tYWN0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZXhwYW5kZWRdJzogJ2ZhbHNlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcblxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2F0dHIudGFiSW5kZXhdJzogJy0xJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBLYnFPcHRpb25BY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgaGFzRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0ZvY3VzIHx8ICEhdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyPy5vcGVuZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIEBJbmplY3QoS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UKSBwcml2YXRlIG9wdGlvbjogS2JxT3B0aW9uQWN0aW9uUGFyZW50XG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvclxuICAgICAgICAgICAgLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4gKHRoaXMuaGFzRm9jdXMgPSAhIXJlc3VsdCkpO1xuXG4gICAgICAgIGlmICghdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyLnJlc3RvcmVGb2N1cyA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlci5kcm9wZG93bkNsb3NlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50U2hvd2luZ1Rvb2x0aXAoKTtcblxuICAgICAgICAgICAgY29uc3QgZGVzdHJveVJlYXNvbjogRm9jdXNPcmlnaW4gPVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlci5sYXN0RGVzdHJveVJlYXNvbiA9PT0gJ2tleWRvd24nID8gJ2tleWJvYXJkJyA6ICdwcm9ncmFtJztcblxuICAgICAgICAgICAgdGhpcy5mb2N1cyhkZXN0cm95UmVhc29uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbiwgb3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5mb2N1c01vbml0b3IgJiYgb3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgb3JpZ2luLCBvcHRpb25zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhc0ZvY3VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duKCRldmVudCkge1xuICAgICAgICBpZiAoW1NQQUNFLCBFTlRFUl0uaW5jbHVkZXMoJGV2ZW50LmtleUNvZGUpICYmIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyLm9wZW5lZEJ5ID0gJ2tleWJvYXJkJztcbiAgICAgICAgfSBlbHNlIGlmICgkZXZlbnQuc2hpZnRLZXkgJiYgJGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuXG4gICAgICAgICAgICB0aGlzLm9wdGlvbi5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKCRldmVudC5rZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmV2ZW50U2hvd2luZ1Rvb2x0aXAoKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb24udG9vbHRpcFRyaWdnZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3B0aW9uLnRvb2x0aXBUcmlnZ2VyLmRpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLm9wdGlvbi50b29sdGlwVHJpZ2dlci5kaXNhYmxlZCA9IGZhbHNlKSk7XG4gICAgfVxufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBRVYsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFpQmxELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF3QiwwQkFBMEIsQ0FBQyxDQUFDO0FBeUI5RyxNQUFNLE9BQU8sd0JBQXdCO0lBdkJyQztRQXdCcUIsa0JBQWEsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQWFuRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRW5DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFNVCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBaUVwRDtJQXBGRyxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFD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QUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFM0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztrSUF4RlEsd0JBQXdCO3NIQUF4Qix3QkFBd0IsOEVBS2IsZ0JBQWdCLG1VQXpCMUI7Ozs7S0FJVDs7NEZBZ0JRLHdCQUF3QjtrQkF2QnBDLFNBQVM7K0JBQ0ksbUJBQW1CLFlBQ25CLGlCQUFpQixZQUNqQjs7OztLQUlULFFBRUs7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsc0JBQXNCLEVBQUUsT0FBTzt3QkFDL0Isc0JBQXNCLEVBQUUsVUFBVTt3QkFFbEMsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxpQkFBaUIsRUFBRSxJQUFJO3dCQUV2QixTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQyxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVEzQyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IGticUluamVjdE5hdGl2ZUVsZW1lbnQgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2JxT3B0aW9uQWN0aW9uUGFyZW50IHtcbiAgICBkcm9wZG93blRyaWdnZXI6IHtcbiAgICAgICAgb3BlbmVkOiBib29sZWFuO1xuICAgICAgICByZXN0b3JlRm9jdXM6IGJvb2xlYW47XG4gICAgICAgIGRyb3Bkb3duQ2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gICAgICAgIGxhc3REZXN0cm95UmVhc29uOiB2b2lkIHwgJ2NsaWNrJyB8ICdrZXlkb3duJyB8ICd0YWInO1xuICAgICAgICBvcGVuZWRCeTogRXhjbHVkZTxGb2N1c09yaWdpbiwgJ3Byb2dyYW0nIHwgbnVsbD4gfCB1bmRlZmluZWQ7XG4gICAgICAgIHRvZ2dsZSgpOiB2b2lkO1xuICAgIH07XG4gICAgdG9vbHRpcFRyaWdnZXI6IHtcbiAgICAgICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgfTtcbiAgICBmb2N1cygpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UID0gbmV3IEluamVjdGlvblRva2VuPEticU9wdGlvbkFjdGlvblBhcmVudD4oJ0tCUV9PUFRJT05fQUNUSU9OX1BBUkVOVCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1vcHRpb24tYWN0aW9uJyxcbiAgICBleHBvcnRBczogJ2ticU9wdGlvbkFjdGlvbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1pY29uXVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJrYnEga2JxLWljb24ga2JxLWNvbnRyYXN0LWZhZGUga2JxLWVsbGlwc2lzLXZlcnRpY2FsXzE2XCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9hY3Rpb24uc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtb3B0aW9uLWFjdGlvbicsXG4gICAgICAgICdbY2xhc3Mua2JxLWV4cGFuZGVkXSc6ICdmYWxzZScsXG4gICAgICAgICdbY2xhc3Mua2JxLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG5cbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnRhYkluZGV4XSc6ICctMScsXG5cbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2JxT3B0aW9uQWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQgPSBrYnFJbmplY3ROYXRpdmVFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IGluamVjdChLQlFfT1BUSU9OX0FDVElPTl9QQVJFTlQpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzRm9jdXMgfHwgISF0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXI/Lm9wZW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yXG4gICAgICAgICAgICAubW9uaXRvcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRydWUpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4gKHRoaXMuaGFzRm9jdXMgPSAhIXJlc3VsdCkpO1xuXG4gICAgICAgIGlmICghdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyLnJlc3RvcmVGb2N1cyA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlci5kcm9wZG93bkNsb3NlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50U2hvd2luZ1Rvb2x0aXAoKTtcblxuICAgICAgICAgICAgY29uc3QgbGFzdERlc3Ryb3lSZWFzb24gPSB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIubGFzdERlc3Ryb3lSZWFzb247XG5cbiAgICAgICAgICAgIGlmIChsYXN0RGVzdHJveVJlYXNvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXMobGFzdERlc3Ryb3lSZWFzb24gPT09ICdrZXlkb3duJyA/ICdrZXlib2FyZCcgOiAncHJvZ3JhbScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbiwgb3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5mb2N1c01vbml0b3IgJiYgb3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQ2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmIChbU1BBQ0UsIEVOVEVSXS5pbmNsdWRlcygkZXZlbnQua2V5Q29kZSkgJiYgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIub3BlbmVkQnkgPSAna2V5Ym9hcmQnO1xuICAgICAgICB9IGVsc2UgaWYgKCRldmVudC5zaGlmdEtleSAmJiAkZXZlbnQua2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9uLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoJGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXZlbnRTaG93aW5nVG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbi50b29sdGlwVHJpZ2dlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcHRpb24udG9vbHRpcFRyaWdnZXIuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMub3B0aW9uLnRvb2x0aXBUcmlnZ2VyLmRpc2FibGVkID0gZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('18.39.2+sha-3fb71e1');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjM5LjIrc2hhLTNmYjcxZTEnKTtcbiJdfQ==
2
+ export const VERSION = new Version('18.39.3+sha-edbe5e2');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjM5LjMrc2hhLWVkYmU1ZTInKTtcbiJdfQ==