@leanix/components 0.3.45 → 0.3.47

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.
@@ -23,7 +23,7 @@ export class AutocloseDirective {
23
23
  onClick(target) {
24
24
  const clickedInside = this.elementRef.nativeElement.contains(target);
25
25
  if (!clickedInside) {
26
- this.autoclose.emit();
26
+ this.autoclose.emit(target);
27
27
  }
28
28
  }
29
29
  }
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
37
37
  }], autocloseGroup: [{
38
38
  type: Input
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Nsb3NlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvZGlyZWN0aXZlcy9hdXRvY2xvc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFBb0IsVUFBc0IsRUFBVSxZQUFtQztRQUFuRSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBWDdFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBU2pDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRW1ELENBQUM7SUFFM0YsUUFBUTtRQUNOLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxNQUEwQjtRQUN4QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7K0dBaENVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO3FJQUU1QixTQUFTO3NCQUFsQixNQUFNO2dCQU9FLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0b2Nsb3NlR3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9hdXRvY2xvc2UtZ3JvdXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tseEF1dG9jbG9zZV0nIH0pXG5leHBvcnQgY2xhc3MgQXV0b2Nsb3NlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgYXV0b2Nsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZ3JvdXAgbHhBdXRvY2xvc2UgZWxlbWVudHMgaW4gb3JkZXIgdG8gcHJldmVudFxuICAgKiB0byBvcGVuIG11bHRpcGxlIG9mIHRoZW0gaW4gdGhhdCBzYW1lIGdyb3VwLiBJZiBubyBncm91cFxuICAgKiBpcyBwcm92aWRlZCB0aGlzIHByZXZlbnRpb24gZG9lcyBub3QgaGFwcGVuLlxuICAgKi9cbiAgQElucHV0KCkgYXV0b2Nsb3NlR3JvdXA/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGdyb3VwU2VydmljZTogQXV0b2Nsb3NlR3JvdXBTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJywgeyBjYXB0dXJlOiB0cnVlIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkNsaWNrKGV2ZW50Py50YXJnZXQpKTtcblxuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5ncm91cFNlcnZpY2UudW5yZWdpc3Rlcih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DbGljayh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xuICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAgICAgdGhpcy5hdXRvY2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Nsb3NlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvZGlyZWN0aXZlcy9hdXRvY2xvc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFBb0IsVUFBc0IsRUFBVSxZQUFtQztRQUFuRSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBWDdFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQVNyRCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVtRCxDQUFDO0lBRTNGLFFBQVE7UUFDTixTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxPQUFPLENBQUMsTUFBMEI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDOzsrR0FoQ1Usa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUU7cUlBRTVCLFNBQVM7c0JBQWxCLE1BQU07Z0JBT0UsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRvY2xvc2VHcm91cFNlcnZpY2UgfSBmcm9tICcuL2F1dG9jbG9zZS1ncm91cC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2x4QXV0b2Nsb3NlXScgfSlcbmV4cG9ydCBjbGFzcyBBdXRvY2xvc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBhdXRvY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50VGFyZ2V0IHwgbnVsbD4oKTtcblxuICAvKipcbiAgICogQWxsb3dzIHRvIGdyb3VwIGx4QXV0b2Nsb3NlIGVsZW1lbnRzIGluIG9yZGVyIHRvIHByZXZlbnRcbiAgICogdG8gb3BlbiBtdWx0aXBsZSBvZiB0aGVtIGluIHRoYXQgc2FtZSBncm91cC4gSWYgbm8gZ3JvdXBcbiAgICogaXMgcHJvdmlkZWQgdGhpcyBwcmV2ZW50aW9uIGRvZXMgbm90IGhhcHBlbi5cbiAgICovXG4gIEBJbnB1dCgpIGF1dG9jbG9zZUdyb3VwPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBncm91cFNlcnZpY2U6IEF1dG9jbG9zZUdyb3VwU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycsIHsgY2FwdHVyZTogdHJ1ZSB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25DbGljayhldmVudD8udGFyZ2V0KSk7XG5cbiAgICB0aGlzLmdyb3VwU2VydmljZS5yZWdpc3Rlcih0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIG9uQ2xpY2sodGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwpIHtcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHRoaXMuYXV0b2Nsb3NlLmVtaXQodGFyZ2V0KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Pipe } from '@angular/core';
2
- import _ from 'lodash';
2
+ import { escape } from 'lodash/fp';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * These characters are treated as seperators by
@@ -8,20 +8,28 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  const STANDARD_TOKENIZER_SEPERATORS = /[^a-zA-Z\d\s]/g;
10
10
  export class HighlightTermPipe {
11
- transform(text, search) {
11
+ /**
12
+ * Transforms the input text with highlighted text according to the provided search term.
13
+ * @param text The input text.
14
+ * @param search The search term to highlight.
15
+ * @param options The highlight term search options.
16
+ * @returns The transformed text with highlighted search term.
17
+ */
18
+ transform(text, search, options = { exactMatch: false }) {
12
19
  if (search && text) {
13
- let pattern = search
14
- .replace(STANDARD_TOKENIZER_SEPERATORS, ' ')
15
- // replace special chars for a backslash for RegExp
16
- .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
17
- pattern = pattern
18
- .split(' ')
19
- .filter((t) => {
20
- return t.length > 0;
21
- })
22
- .join('|');
20
+ let pattern = options.exactMatch ? search.trim() : search.replace(STANDARD_TOKENIZER_SEPERATORS, ' ');
21
+ // replace special chars for a backslash for RegExp
22
+ pattern = pattern.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
23
+ pattern = options.exactMatch
24
+ ? escape(pattern)
25
+ : pattern
26
+ .split(' ')
27
+ .filter((t) => {
28
+ return t.length > 0;
29
+ })
30
+ .join('|');
23
31
  const regex = new RegExp(pattern, 'gi');
24
- text = _.escape(text);
32
+ text = escape(text);
25
33
  return text.replace(regex, (match) => `<span class="termHighlight">${match}</span>`); // add highlighting to matched regex pattern
26
34
  }
27
35
  else {
@@ -35,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
35
43
  type: Pipe,
36
44
  args: [{ name: 'lxHighlightTerm' }]
37
45
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRlcm0ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvaGlnaGxpZ2h0LXRlcm0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7O0FBRXZCOzs7O0dBSUc7QUFDSCxNQUFNLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUFDLElBQWEsRUFBRSxNQUFlO1FBQ3RDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLE9BQU8sR0FBRyxNQUFNO2lCQUNqQixPQUFPLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDO2dCQUM1QyxtREFBbUQ7aUJBQ2xELE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUUxRCxPQUFPLEdBQUcsT0FBTztpQkFDZCxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUViLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQywrQkFBK0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLDRDQUE0QztTQUNuSTthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7OzhHQXJCVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGVzZSBjaGFyYWN0ZXJzIGFyZSB0cmVhdGVkIGFzIHNlcGVyYXRvcnMgYnlcbiAqIGVsYXN0aWNzZWFyY2ggYW5kIHNwbGl0IHRoZSBpbnB1dCBpbnRvIHNlYXJjaCB0b2tlbnNcbiAqIHdoaWNoIGFyZSB1c2VkIHRvIGZpbmQgbWF0Y2hlcy5cbiAqL1xuY29uc3QgU1RBTkRBUkRfVE9LRU5JWkVSX1NFUEVSQVRPUlMgPSAvW15hLXpBLVpcXGRcXHNdL2c7XG5cbkBQaXBlKHsgbmFtZTogJ2x4SGlnaGxpZ2h0VGVybScgfSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRUZXJtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odGV4dD86IHN0cmluZywgc2VhcmNoPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoc2VhcmNoICYmIHRleHQpIHtcbiAgICAgIGxldCBwYXR0ZXJuID0gc2VhcmNoXG4gICAgICAgIC5yZXBsYWNlKFNUQU5EQVJEX1RPS0VOSVpFUl9TRVBFUkFUT1JTLCAnICcpXG4gICAgICAgIC8vIHJlcGxhY2Ugc3BlY2lhbCBjaGFycyBmb3IgYSBiYWNrc2xhc2ggZm9yIFJlZ0V4cFxuICAgICAgICAucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF5cXCRcXHxdL2csICdcXFxcJCYnKTtcblxuICAgICAgcGF0dGVybiA9IHBhdHRlcm5cbiAgICAgICAgLnNwbGl0KCcgJylcbiAgICAgICAgLmZpbHRlcigodCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0Lmxlbmd0aCA+IDA7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCd8Jyk7XG5cbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChwYXR0ZXJuLCAnZ2knKTtcbiAgICAgIHRleHQgPSBfLmVzY2FwZSh0ZXh0KTtcbiAgICAgIHJldHVybiB0ZXh0LnJlcGxhY2UocmVnZXgsIChtYXRjaCkgPT4gYDxzcGFuIGNsYXNzPVwidGVybUhpZ2hsaWdodFwiPiR7bWF0Y2h9PC9zcGFuPmApOyAvLyBhZGQgaGlnaGxpZ2h0aW5nIHRvIG1hdGNoZWQgcmVnZXggcGF0dGVyblxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRlcm0ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvcGlwZXMvaGlnaGxpZ2h0LXRlcm0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQVVuQzs7OztHQUlHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyxnQkFBZ0IsQ0FBQztBQUd2RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxJQUFhLEVBQUUsTUFBZSxFQUFFLFVBQXNDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtRQUNuRyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDbEIsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXRHLG1EQUFtRDtZQUNuRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV6RSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVU7Z0JBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUNqQixDQUFDLENBQUMsT0FBTztxQkFDSixLQUFLLENBQUMsR0FBRyxDQUFDO3FCQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNaLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQztxQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsK0JBQStCLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyw0Q0FBNEM7U0FDbkk7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs4R0E5QlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVzY2FwZSB9IGZyb20gJ2xvZGFzaC9mcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlnaGxpZ2h0VGVybVNlYXJjaE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gc2hvdWxkIGJlIGV4YWN0bHkgbWF0Y2hlZCBpbiB0aGUgZ2l2ZW4gdGV4dC4gV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIGZvbGxvd2luZ1xuICAgKiBjaGFyYWN0ZXJzIGFuZCBzcGFjZXMgYmV0d2VlbiB3b3JkcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHNlYXJjaDogLSBbIF0gLyB7IH0gKCApICogKyA/IC4gXiAkIHxcbiAgICovXG4gIGV4YWN0TWF0Y2g6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlc2UgY2hhcmFjdGVycyBhcmUgdHJlYXRlZCBhcyBzZXBlcmF0b3JzIGJ5XG4gKiBlbGFzdGljc2VhcmNoIGFuZCBzcGxpdCB0aGUgaW5wdXQgaW50byBzZWFyY2ggdG9rZW5zXG4gKiB3aGljaCBhcmUgdXNlZCB0byBmaW5kIG1hdGNoZXMuXG4gKi9cbmNvbnN0IFNUQU5EQVJEX1RPS0VOSVpFUl9TRVBFUkFUT1JTID0gL1teYS16QS1aXFxkXFxzXS9nO1xuXG5AUGlwZSh7IG5hbWU6ICdseEhpZ2hsaWdodFRlcm0nIH0pXG5leHBvcnQgY2xhc3MgSGlnaGxpZ2h0VGVybVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGlucHV0IHRleHQgd2l0aCBoaWdobGlnaHRlZCB0ZXh0IGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgc2VhcmNoIHRlcm0uXG4gICAqIEBwYXJhbSB0ZXh0IFRoZSBpbnB1dCB0ZXh0LlxuICAgKiBAcGFyYW0gc2VhcmNoIFRoZSBzZWFyY2ggdGVybSB0byBoaWdobGlnaHQuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBoaWdobGlnaHQgdGVybSBzZWFyY2ggb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHRleHQgd2l0aCBoaWdobGlnaHRlZCBzZWFyY2ggdGVybS5cbiAgICovXG4gIHRyYW5zZm9ybSh0ZXh0Pzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIG9wdGlvbnM6IEhpZ2hsaWdodFRlcm1TZWFyY2hPcHRpb25zID0geyBleGFjdE1hdGNoOiBmYWxzZSB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoc2VhcmNoICYmIHRleHQpIHtcbiAgICAgIGxldCBwYXR0ZXJuID0gb3B0aW9ucy5leGFjdE1hdGNoID8gc2VhcmNoLnRyaW0oKSA6IHNlYXJjaC5yZXBsYWNlKFNUQU5EQVJEX1RPS0VOSVpFUl9TRVBFUkFUT1JTLCAnICcpO1xuXG4gICAgICAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcnMgZm9yIGEgYmFja3NsYXNoIGZvciBSZWdFeHBcbiAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoL1tcXC1cXFtcXF1cXC9cXHtcXH1cXChcXClcXCpcXCtcXD9cXC5cXFxcXFxeXFwkXFx8XS9nLCAnXFxcXCQmJyk7XG5cbiAgICAgIHBhdHRlcm4gPSBvcHRpb25zLmV4YWN0TWF0Y2hcbiAgICAgICAgPyBlc2NhcGUocGF0dGVybilcbiAgICAgICAgOiBwYXR0ZXJuXG4gICAgICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAgICAgLmZpbHRlcigodCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdC5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCd8Jyk7XG5cbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChwYXR0ZXJuLCAnZ2knKTtcbiAgICAgIHRleHQgPSBlc2NhcGUodGV4dCk7XG4gICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKHJlZ2V4LCAobWF0Y2gpID0+IGA8c3BhbiBjbGFzcz1cInRlcm1IaWdobGlnaHRcIj4ke21hdGNofTwvc3Bhbj5gKTsgLy8gYWRkIGhpZ2hsaWdodGluZyB0byBtYXRjaGVkIHJlZ2V4IHBhdHRlcm5cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -986,7 +986,7 @@ class AutocloseDirective {
986
986
  onClick(target) {
987
987
  const clickedInside = this.elementRef.nativeElement.contains(target);
988
988
  if (!clickedInside) {
989
- this.autoclose.emit();
989
+ this.autoclose.emit(target);
990
990
  }
991
991
  }
992
992
  }
@@ -1377,20 +1377,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
1377
1377
  */
1378
1378
  const STANDARD_TOKENIZER_SEPERATORS = /[^a-zA-Z\d\s]/g;
1379
1379
  class HighlightTermPipe {
1380
- transform(text, search) {
1380
+ /**
1381
+ * Transforms the input text with highlighted text according to the provided search term.
1382
+ * @param text The input text.
1383
+ * @param search The search term to highlight.
1384
+ * @param options The highlight term search options.
1385
+ * @returns The transformed text with highlighted search term.
1386
+ */
1387
+ transform(text, search, options = { exactMatch: false }) {
1381
1388
  if (search && text) {
1382
- let pattern = search
1383
- .replace(STANDARD_TOKENIZER_SEPERATORS, ' ')
1384
- // replace special chars for a backslash for RegExp
1385
- .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
1386
- pattern = pattern
1387
- .split(' ')
1388
- .filter((t) => {
1389
- return t.length > 0;
1390
- })
1391
- .join('|');
1389
+ let pattern = options.exactMatch ? search.trim() : search.replace(STANDARD_TOKENIZER_SEPERATORS, ' ');
1390
+ // replace special chars for a backslash for RegExp
1391
+ pattern = pattern.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
1392
+ pattern = options.exactMatch
1393
+ ? escape(pattern)
1394
+ : pattern
1395
+ .split(' ')
1396
+ .filter((t) => {
1397
+ return t.length > 0;
1398
+ })
1399
+ .join('|');
1392
1400
  const regex = new RegExp(pattern, 'gi');
1393
- text = _.escape(text);
1401
+ text = escape(text);
1394
1402
  return text.replace(regex, (match) => `<span class="termHighlight">${match}</span>`); // add highlighting to matched regex pattern
1395
1403
  }
1396
1404
  else {