@po-ui/ng-components 16.7.0 → 16.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/lib/components/po-progress/enums/po-progress-size.enum.mjs +13 -0
  2. package/esm2022/lib/components/po-progress/index.mjs +2 -1
  3. package/esm2022/lib/components/po-progress/literals/po-progress.literals.mjs +19 -0
  4. package/esm2022/lib/components/po-progress/po-progress-bar/po-progress-bar.component.mjs +24 -9
  5. package/esm2022/lib/components/po-progress/po-progress-base.component.mjs +39 -2
  6. package/esm2022/lib/components/po-progress/po-progress.component.mjs +77 -54
  7. package/esm2022/lib/components/po-progress/po-progress.module.mjs +7 -4
  8. package/esm2022/lib/components/po-search/enum/po-search-filter-mode.enum.mjs +17 -0
  9. package/esm2022/lib/components/po-search/index.mjs +3 -2
  10. package/esm2022/lib/components/po-search/literals/po-search-literals-default.mjs +19 -0
  11. package/esm2022/lib/components/po-search/literals/po-search-literals.mjs +1 -1
  12. package/esm2022/lib/components/po-search/po-search-base.component.mjs +177 -10
  13. package/esm2022/lib/components/po-search/po-search.component.mjs +52 -48
  14. package/esm2022/lib/components/po-table/po-table-base.component.mjs +3 -3
  15. package/fesm2022/po-ui-ng-components.mjs +413 -124
  16. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  17. package/lib/components/po-progress/enums/po-progress-size.enum.d.ts +11 -0
  18. package/lib/components/po-progress/index.d.ts +1 -0
  19. package/lib/components/po-progress/literals/po-progress.literals.d.ts +18 -0
  20. package/lib/components/po-progress/po-progress-base.component.d.ts +30 -3
  21. package/lib/components/po-progress/po-progress.component.d.ts +5 -1
  22. package/lib/components/po-progress/po-progress.module.d.ts +4 -1
  23. package/lib/components/po-search/{po-search-filter-mode.enum.d.ts → enum/po-search-filter-mode.enum.d.ts} +2 -2
  24. package/lib/components/po-search/index.d.ts +2 -1
  25. package/lib/components/po-search/literals/po-search-literals-default.d.ts +7 -0
  26. package/lib/components/po-search/literals/po-search-literals.d.ts +11 -1
  27. package/lib/components/po-search/po-search-base.component.d.ts +140 -5
  28. package/lib/components/po-search/po-search.component.d.ts +23 -8
  29. package/lib/components/po-table/po-table-base.component.d.ts +2 -2
  30. package/package.json +4 -4
  31. package/po-ui-ng-components-16.8.0.tgz +0 -0
  32. package/schematics/ng-add/index.js +1 -1
  33. package/schematics/ng-update/v14/index.js +1 -1
  34. package/schematics/ng-update/v15/index.js +1 -1
  35. package/schematics/ng-update/v16/index.js +1 -1
  36. package/schematics/ng-update/v2/index.js +1 -1
  37. package/schematics/ng-update/v3/index.js +1 -1
  38. package/schematics/ng-update/v4/index.js +1 -1
  39. package/schematics/ng-update/v5/index.js +1 -1
  40. package/schematics/ng-update/v6/index.js +1 -1
  41. package/esm2022/lib/components/po-search/po-search-filter-mode.enum.mjs +0 -17
  42. package/po-ui-ng-components-16.7.0.tgz +0 -0
@@ -1,35 +1,202 @@
1
- import { PoFilterMode } from './po-search-filter-mode.enum';
1
+ import { poLocaleDefault } from '../../services/po-language/po-language.constant';
2
2
  import { Directive, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { convertToBoolean } from '../../utils/util';
4
+ import { poSearchLiteralsDefault } from './literals/po-search-literals-default';
5
+ import { PoSearchFilterMode } from './enum/po-search-filter-mode.enum';
4
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services/po-language/po-language.service";
8
+ /**
9
+ * @description
10
+ *
11
+ * O componente search, também conhecido como barra de pesquisa, é utilizado para ajudar os usuários a localizar um determinado conteúdo
12
+ *
13
+ * Normalmente localizado no canto superior direito, junto com o ícone de lupa, uma vez que este ícone é amplamente reconhecido.
14
+ *
15
+ * Portanto, é de extrema importância que, ao utilizar este componente, as pessoas responsáveis por seu desenvolvimento considerem os seguintes critérios.
16
+ *
17
+ * #### Boas práticas
18
+ *
19
+ * Foram estruturados os padrões de usabilidade para auxiliar na utilização do componente e garantir uma boa experiência aos usuários. Por isso, é muito importante que ao utilizar este componente, as pessoas que o projetarem devem levar em consideração os seguintes critérios:
20
+ * - Utilize labels para apresentar resultados que estão sendo exibidos e apresente os resultados mais relevantes primeiro.
21
+ * - Exiba uma mensagem clara quando não forem encontrados resultados para busca e sempre que possível ofereça outras sugestões de busca.
22
+ * - Mantenha o texto original no campo de input, que facilita a ação do usuário caso queira fazer uma nova busca com alguma modificação na pesquisa.
23
+ * - Caso seja possível detectar um erro de digitação, mostre os resultados para a palavra "corrigida", isso evita a frustração de não obter resultados e não força o usuário a realizar uma nova busca.
24
+ * - Quando apropriado, destaque os termos da busca nos resultados.
25
+ * - A entrada do campo de pesquisa deve caber em uma linha. Não use entradas de pesquisa de várias linhas.
26
+ * - Recomenda-se ter apenas uma pesquisa por página. Se você precisar de várias pesquisas, rotule-as claramente para indicar sua finalidade.
27
+ * - Se possível, forneça sugestões de pesquisa, seja em um helptext ou sugestão de pesquisa que é um autocomplete. Isso ajuda os usuários a encontrar o que estão procurando, especialmente se os itens pesquisáveis forem complexos.
28
+ *
29
+ * #### Acessibilidade tratada no componente
30
+ *
31
+ * Algumas diretrizes de acessibilidade já são tratadas no componente, internamente, e não podem ser alteradas pelo proprietário do conteúdo. São elas:
32
+ *
33
+ * - Permitir a interação via teclado (2.1.1: Keyboard (A));
34
+ * - Alteração entre os estados precisa ser indicada por mais de um elemento além da cor (1.4.1: Use of Color);
35
+ */
5
36
  export class PoSearchBaseComponent {
37
+ _literals;
38
+ _ariaLabel;
39
+ language;
40
+ /**
41
+ * @optional
42
+ *
43
+ * @description
44
+ *
45
+ * Desabilita o po-search e não permite que o usuário interaja com o mesmo.
46
+ *
47
+ * @default `false`
48
+ */
6
49
  disabled;
7
- loading;
50
+ /**
51
+ * @optional
52
+ *
53
+ * @description
54
+ *
55
+ * Lista de itens que serão utilizados para pesquisa
56
+ */
8
57
  items = [];
58
+ /**
59
+ * @optional
60
+ *
61
+ * @description
62
+ *
63
+ * Define um aria-label para o po-search.
64
+ *
65
+ * > Devido o componente não possuir uma label assim como outros campos de texto, o `aria-label` é utilizado para acessibilidade.
66
+ */
67
+ set ariaLabel(value) {
68
+ this._ariaLabel = value;
69
+ if (value !== this.literals.search) {
70
+ this._ariaLabel = `${this._ariaLabel} ${this.literals.search}`;
71
+ }
72
+ }
73
+ get ariaLabel() {
74
+ return this._ariaLabel;
75
+ }
76
+ /**
77
+ * @optional
78
+ *
79
+ * @description
80
+ *
81
+ * Deve ser informado o nome da propriedade do objeto que será utilizado para a conversão dos itens apresentados na lista do componente (p-items), esta propriedade será responsável pelo texto de apresentação de cada item da lista.
82
+ */
9
83
  filterKeys = [];
10
- filterType = PoFilterMode.startsWith;
84
+ /**
85
+ * @optional
86
+ *
87
+ * @description
88
+ *
89
+ * Deve ser informado o nome da propriedade do objeto que será utilizado para a conversão dos itens apresentados na lista do componente (p-items), esta propriedade será responsável pelo texto de apresentação de cada item da lista.
90
+ */
91
+ icon;
92
+ /**
93
+ * @optional
94
+ *
95
+ * @description
96
+ *
97
+ * Objeto com as literais usadas no `po-search`.
98
+ *
99
+ * Para utilizar basta passar a literal que deseja customizar:
100
+ *
101
+ * ```
102
+ * const customLiterals: PoSearchLiterals = {
103
+ * search: 'Pesquisar',
104
+ * clean: 'Limpar',
105
+ * };
106
+ * ```
107
+ *
108
+ * E para carregar a literal customizada, basta apenas passar o objeto para o componente.
109
+ *
110
+ * ```
111
+ * <po-search
112
+ * [p-literals]="customLiterals">
113
+ * </po-search>
114
+ * ```
115
+ *
116
+ * > O objeto padrão de literais será traduzido de acordo com o idioma do
117
+ * [`PoI18nService`](/documentation/po-i18n) ou do browser.
118
+ */
119
+ set literals(value) {
120
+ if (value instanceof Object && !(value instanceof Array)) {
121
+ this._literals = {
122
+ ...poSearchLiteralsDefault[poLocaleDefault],
123
+ ...poSearchLiteralsDefault[this.language],
124
+ ...value
125
+ };
126
+ }
127
+ else {
128
+ this._literals = poSearchLiteralsDefault[this.language];
129
+ }
130
+ }
131
+ get literals() {
132
+ return this._literals || poSearchLiteralsDefault[this.language];
133
+ }
134
+ /**
135
+ * @optional
136
+ *
137
+ * @description
138
+ *
139
+ * Define o modo de pesquisa utilizado no campo de busca, quando habilitado. Valores definidos no enum: PoSearchFilterMode
140
+ *
141
+ * @default `startsWith`
142
+ */
143
+ filterType = PoSearchFilterMode.startsWith;
144
+ /**
145
+ * @optional
146
+ *
147
+ * @description
148
+ *
149
+ * Evento disparado ao alterar valor do model.
150
+ */
151
+ changeModel = new EventEmitter();
152
+ /**
153
+ * @optional
154
+ *
155
+ * @description
156
+ *
157
+ * Pode ser informada uma função que será disparada quando houver alterações no input.
158
+ */
11
159
  filteredItemsChange = new EventEmitter();
160
+ /**
161
+ * @optional
162
+ *
163
+ * @description
164
+ *
165
+ * Pode ser informada uma função que será disparada quando houver alterações nos filtros.
166
+ */
12
167
  filter = new EventEmitter();
13
- static ɵfac = function PoSearchBaseComponent_Factory(t) { return new (t || PoSearchBaseComponent)(); };
14
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoSearchBaseComponent, inputs: { disabled: ["p-disabled", "disabled", convertToBoolean], loading: ["p-loading", "loading"], items: ["p-items", "items"], filterKeys: ["p-filter-keys", "filterKeys"], filterType: ["p-filter-type", "filterType"] }, outputs: { filteredItemsChange: "p-filtered-items-change", filter: "p-filter" }, features: [i0.ɵɵInputTransformsFeature] });
168
+ constructor(languageService) {
169
+ this.language = languageService.getShortLanguage();
170
+ }
171
+ static ɵfac = function PoSearchBaseComponent_Factory(t) { return new (t || PoSearchBaseComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
172
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoSearchBaseComponent, inputs: { disabled: ["p-disabled", "disabled", convertToBoolean], items: ["p-items", "items"], ariaLabel: ["p-aria-label", "ariaLabel"], filterKeys: ["p-filter-keys", "filterKeys"], icon: ["p-icon", "icon"], literals: ["p-literals", "literals"], filterType: ["p-filter-type", "filterType"] }, outputs: { changeModel: "p-change-model", filteredItemsChange: "p-filtered-items-change", filter: "p-filter" }, features: [i0.ɵɵInputTransformsFeature] });
15
173
  }
16
174
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSearchBaseComponent, [{
17
175
  type: Directive
18
- }], null, { disabled: [{
176
+ }], function () { return [{ type: i1.PoLanguageService }]; }, { disabled: [{
19
177
  type: Input,
20
178
  args: [{ alias: 'p-disabled', transform: convertToBoolean }]
21
- }], loading: [{
22
- type: Input,
23
- args: ['p-loading']
24
179
  }], items: [{
25
180
  type: Input,
26
181
  args: ['p-items']
182
+ }], ariaLabel: [{
183
+ type: Input,
184
+ args: ['p-aria-label']
27
185
  }], filterKeys: [{
28
186
  type: Input,
29
187
  args: ['p-filter-keys']
188
+ }], icon: [{
189
+ type: Input,
190
+ args: ['p-icon']
191
+ }], literals: [{
192
+ type: Input,
193
+ args: ['p-literals']
30
194
  }], filterType: [{
31
195
  type: Input,
32
196
  args: ['p-filter-type']
197
+ }], changeModel: [{
198
+ type: Output,
199
+ args: ['p-change-model']
33
200
  }], filteredItemsChange: [{
34
201
  type: Output,
35
202
  args: ['p-filtered-items-change']
@@ -37,4 +204,4 @@ export class PoSearchBaseComponent {
37
204
  type: Output,
38
205
  args: ['p-filter']
39
206
  }] }); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VhcmNoLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXNlYXJjaC9wby1zZWFyY2gtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR3BELE1BQU0sT0FBTyxxQkFBcUI7SUFDNkIsUUFBUSxDQUFXO0lBRTVELE9BQU8sQ0FBVTtJQUVuQixLQUFLLEdBQWUsRUFBRSxDQUFDO0lBRWpCLFVBQVUsR0FBZSxFQUFFLENBQUM7SUFFNUIsVUFBVSxHQUFpQixZQUFZLENBQUMsVUFBVSxDQUFDO0lBRXhDLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFFcEUsTUFBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDOytFQWI3RCxxQkFBcUI7NkRBQXJCLHFCQUFxQixpREFDUyxnQkFBZ0I7O3VGQUQ5QyxxQkFBcUI7Y0FEakMsU0FBUztnQkFFcUQsUUFBUTtrQkFBcEUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBRXZDLE9BQU87a0JBQTFCLEtBQUs7bUJBQUMsV0FBVztZQUVBLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVRLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQUVFLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQUVhLG1CQUFtQjtrQkFBckQsTUFBTTttQkFBQyx5QkFBeUI7WUFFYixNQUFNO2tCQUF6QixNQUFNO21CQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb0ZpbHRlck1vZGUgfSBmcm9tICcuL3BvLXNlYXJjaC1maWx0ZXItbW9kZS5lbnVtJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9TZWFyY2hCYXNlQ29tcG9uZW50IHtcbiAgQElucHV0KHsgYWxpYXM6ICdwLWRpc2FibGVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICBASW5wdXQoJ3AtbG9hZGluZycpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCdwLWl0ZW1zJykgaXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICBASW5wdXQoJ3AtZmlsdGVyLWtleXMnKSBmaWx0ZXJLZXlzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgQElucHV0KCdwLWZpbHRlci10eXBlJykgZmlsdGVyVHlwZTogUG9GaWx0ZXJNb2RlID0gUG9GaWx0ZXJNb2RlLnN0YXJ0c1dpdGg7XG5cbiAgQE91dHB1dCgncC1maWx0ZXJlZC1pdGVtcy1jaGFuZ2UnKSBmaWx0ZXJlZEl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxhbnk+PigpO1xuXG4gIEBPdXRwdXQoJ3AtZmlsdGVyJykgZmlsdGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xufVxuIl19
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VhcmNoLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXNlYXJjaC9wby1zZWFyY2gtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWxGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixTQUFTLENBQW9CO0lBQzdCLFVBQVUsQ0FBVTtJQUNwQixRQUFRLENBQVM7SUFFekI7Ozs7Ozs7O09BUUc7SUFDMEQsUUFBUSxDQUFXO0lBRWhGOzs7Ozs7T0FNRztJQUNlLEtBQUssR0FBZSxFQUFFLENBQUM7SUFFekM7Ozs7Ozs7O09BUUc7SUFDSCxJQUEyQixTQUFTLENBQUMsS0FBYTtRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ3FCLFVBQVUsR0FBZSxFQUFFLENBQUM7SUFFcEQ7Ozs7OztPQU1HO0lBQ2MsSUFBSSxDQUE2QjtJQUVsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EwQkc7SUFDSCxJQUF5QixRQUFRLENBQUMsS0FBdUI7UUFDdkQsSUFBSSxLQUFLLFlBQVksTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRztnQkFDZixHQUFHLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztnQkFDM0MsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN6QyxHQUFHLEtBQUs7YUFDVCxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ3FCLFVBQVUsR0FBdUIsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBRXZGOzs7Ozs7T0FNRztJQUN1QixXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFOUU7Ozs7OztPQU1HO0lBQ2dDLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFFeEY7Ozs7OztPQU1HO0lBQ2lCLE1BQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV4RSxZQUFZLGVBQWtDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDckQsQ0FBQzsrRUFuSlUscUJBQXFCOzZEQUFyQixxQkFBcUIsaURBY1MsZ0JBQWdCOzt1RkFkOUMscUJBQXFCO2NBRGpDLFNBQVM7b0VBZXFELFFBQVE7a0JBQXBFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVN6QyxLQUFLO2tCQUF0QixLQUFLO21CQUFDLFNBQVM7WUFXVyxTQUFTO2tCQUFuQyxLQUFLO21CQUFDLGNBQWM7WUFtQkcsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBU0wsSUFBSTtrQkFBcEIsS0FBSzttQkFBQyxRQUFRO1lBNkJVLFFBQVE7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQXlCSyxVQUFVO2tCQUFqQyxLQUFLO21CQUFDLGVBQWU7WUFTSSxXQUFXO2tCQUFwQyxNQUFNO21CQUFDLGdCQUFnQjtZQVNXLG1CQUFtQjtrQkFBckQsTUFBTTttQkFBQyx5QkFBeUI7WUFTYixNQUFNO2tCQUF6QixNQUFNO21CQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgcG9Mb2NhbGVEZWZhdWx0IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2UuY29uc3RhbnQnO1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvU2VhcmNoTGl0ZXJhbHMgfSBmcm9tICcuL2xpdGVyYWxzL3BvLXNlYXJjaC1saXRlcmFscyc7XG5pbXBvcnQgeyBwb1NlYXJjaExpdGVyYWxzRGVmYXVsdCB9IGZyb20gJy4vbGl0ZXJhbHMvcG8tc2VhcmNoLWxpdGVyYWxzLWRlZmF1bHQnO1xuaW1wb3J0IHsgUG9TZWFyY2hGaWx0ZXJNb2RlIH0gZnJvbSAnLi9lbnVtL3BvLXNlYXJjaC1maWx0ZXItbW9kZS5lbnVtJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGNvbXBvbmVudGUgc2VhcmNoLCB0YW1iw6ltIGNvbmhlY2lkbyBjb21vIGJhcnJhIGRlIHBlc3F1aXNhLCDDqSB1dGlsaXphZG8gcGFyYSBhanVkYXIgb3MgdXN1w6FyaW9zIGEgbG9jYWxpemFyIHVtIGRldGVybWluYWRvIGNvbnRlw7pkb1xuICpcbiAqIE5vcm1hbG1lbnRlIGxvY2FsaXphZG8gbm8gY2FudG8gc3VwZXJpb3IgZGlyZWl0bywganVudG8gY29tIG8gw61jb25lIGRlIGx1cGEsIHVtYSB2ZXogcXVlIGVzdGUgw61jb25lIMOpIGFtcGxhbWVudGUgcmVjb25oZWNpZG8uXG4gKlxuICogUG9ydGFudG8sIMOpIGRlIGV4dHJlbWEgaW1wb3J0w6JuY2lhIHF1ZSwgYW8gdXRpbGl6YXIgZXN0ZSBjb21wb25lbnRlLCBhcyBwZXNzb2FzIHJlc3BvbnPDoXZlaXMgcG9yIHNldSBkZXNlbnZvbHZpbWVudG8gY29uc2lkZXJlbSBvcyBzZWd1aW50ZXMgY3JpdMOpcmlvcy5cbiAqXG4gKiAjIyMjIEJvYXMgcHLDoXRpY2FzXG4gKlxuICogRm9yYW0gZXN0cnV0dXJhZG9zIG9zIHBhZHLDtWVzIGRlIHVzYWJpbGlkYWRlIHBhcmEgYXV4aWxpYXIgbmEgdXRpbGl6YcOnw6NvIGRvIGNvbXBvbmVudGUgZSBnYXJhbnRpciB1bWEgYm9hIGV4cGVyacOqbmNpYSBhb3MgdXN1w6FyaW9zLiBQb3IgaXNzbywgw6kgbXVpdG8gaW1wb3J0YW50ZSBxdWUgYW8gdXRpbGl6YXIgZXN0ZSBjb21wb25lbnRlLCBhcyBwZXNzb2FzIHF1ZSBvIHByb2pldGFyZW0gZGV2ZW0gbGV2YXIgZW0gY29uc2lkZXJhw6fDo28gb3Mgc2VndWludGVzIGNyaXTDqXJpb3M6XG4gKiAtIFV0aWxpemUgbGFiZWxzIHBhcmEgYXByZXNlbnRhciByZXN1bHRhZG9zIHF1ZSBlc3TDo28gc2VuZG8gZXhpYmlkb3MgZSBhcHJlc2VudGUgb3MgcmVzdWx0YWRvcyBtYWlzIHJlbGV2YW50ZXMgcHJpbWVpcm8uXG4gKiAtIEV4aWJhIHVtYSBtZW5zYWdlbSBjbGFyYSBxdWFuZG8gbsOjbyBmb3JlbSBlbmNvbnRyYWRvcyByZXN1bHRhZG9zIHBhcmEgYnVzY2EgZSBzZW1wcmUgcXVlIHBvc3PDrXZlbCBvZmVyZcOnYSBvdXRyYXMgc3VnZXN0w7VlcyBkZSBidXNjYS5cbiAqIC0gTWFudGVuaGEgbyB0ZXh0byBvcmlnaW5hbCBubyBjYW1wbyBkZSBpbnB1dCwgcXVlIGZhY2lsaXRhIGEgYcOnw6NvIGRvIHVzdcOhcmlvIGNhc28gcXVlaXJhIGZhemVyIHVtYSBub3ZhIGJ1c2NhIGNvbSBhbGd1bWEgbW9kaWZpY2HDp8OjbyBuYSBwZXNxdWlzYS5cbiAqIC0gQ2FzbyBzZWphIHBvc3PDrXZlbCBkZXRlY3RhciB1bSBlcnJvIGRlIGRpZ2l0YcOnw6NvLCBtb3N0cmUgb3MgcmVzdWx0YWRvcyBwYXJhIGEgcGFsYXZyYSBcImNvcnJpZ2lkYVwiLCBpc3NvIGV2aXRhIGEgZnJ1c3RyYcOnw6NvIGRlIG7Do28gb2J0ZXIgcmVzdWx0YWRvcyBlIG7Do28gZm9yw6dhIG8gdXN1w6FyaW8gYSByZWFsaXphciB1bWEgbm92YSBidXNjYS5cbiAqIC0gUXVhbmRvIGFwcm9wcmlhZG8sIGRlc3RhcXVlIG9zIHRlcm1vcyBkYSBidXNjYSBub3MgcmVzdWx0YWRvcy5cbiAqIC0gQSBlbnRyYWRhIGRvIGNhbXBvIGRlIHBlc3F1aXNhIGRldmUgY2FiZXIgZW0gdW1hIGxpbmhhLiBOw6NvIHVzZSBlbnRyYWRhcyBkZSBwZXNxdWlzYSBkZSB2w6FyaWFzIGxpbmhhcy5cbiAqIC0gUmVjb21lbmRhLXNlIHRlciBhcGVuYXMgdW1hIHBlc3F1aXNhIHBvciBww6FnaW5hLiBTZSB2b2PDqiBwcmVjaXNhciBkZSB2w6FyaWFzIHBlc3F1aXNhcywgcm90dWxlLWFzIGNsYXJhbWVudGUgcGFyYSBpbmRpY2FyIHN1YSBmaW5hbGlkYWRlLlxuICogLSBTZSBwb3Nzw612ZWwsIGZvcm5lw6dhIHN1Z2VzdMO1ZXMgZGUgcGVzcXVpc2EsIHNlamEgZW0gdW0gaGVscHRleHQgb3Ugc3VnZXN0w6NvIGRlIHBlc3F1aXNhIHF1ZSDDqSB1bSBhdXRvY29tcGxldGUuIElzc28gYWp1ZGEgb3MgdXN1w6FyaW9zIGEgZW5jb250cmFyIG8gcXVlIGVzdMOjbyBwcm9jdXJhbmRvLCBlc3BlY2lhbG1lbnRlIHNlIG9zIGl0ZW5zIHBlc3F1aXPDoXZlaXMgZm9yZW0gY29tcGxleG9zLlxuICpcbiAqICMjIyMgQWNlc3NpYmlsaWRhZGUgdHJhdGFkYSBubyBjb21wb25lbnRlXG4gKlxuICogIEFsZ3VtYXMgZGlyZXRyaXplcyBkZSBhY2Vzc2liaWxpZGFkZSBqw6Egc8OjbyB0cmF0YWRhcyBubyBjb21wb25lbnRlLCBpbnRlcm5hbWVudGUsIGUgbsOjbyBwb2RlbSBzZXIgYWx0ZXJhZGFzIHBlbG8gcHJvcHJpZXTDoXJpbyBkbyBjb250ZcO6ZG8uIFPDo28gZWxhczpcbiAqXG4gKiAtIFBlcm1pdGlyIGEgaW50ZXJhw6fDo28gdmlhIHRlY2xhZG8gKDIuMS4xOiBLZXlib2FyZCAoQSkpO1xuICogLSBBbHRlcmHDp8OjbyBlbnRyZSBvcyBlc3RhZG9zIHByZWNpc2Egc2VyIGluZGljYWRhIHBvciBtYWlzIGRlIHVtIGVsZW1lbnRvIGFsw6ltIGRhIGNvciAoMS40LjE6IFVzZSBvZiBDb2xvcik7XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvU2VhcmNoQmFzZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgX2xpdGVyYWxzPzogUG9TZWFyY2hMaXRlcmFscztcbiAgcHJpdmF0ZSBfYXJpYUxhYmVsPzogc3RyaW5nO1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVzYWJpbGl0YSBvIHBvLXNlYXJjaCBlIG7Do28gcGVybWl0ZSBxdWUgbyB1c3XDoXJpbyBpbnRlcmFqYSBjb20gbyBtZXNtby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWRpc2FibGVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaXN0YSBkZSBpdGVucyBxdWUgc2Vyw6NvIHV0aWxpemFkb3MgcGFyYSBwZXNxdWlzYVxuICAgKi9cbiAgQElucHV0KCdwLWl0ZW1zJykgaXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgdW0gYXJpYS1sYWJlbCBwYXJhIG8gcG8tc2VhcmNoLlxuICAgKlxuICAgKiA+IERldmlkbyBvIGNvbXBvbmVudGUgbsOjbyBwb3NzdWlyIHVtYSBsYWJlbCBhc3NpbSBjb21vIG91dHJvcyBjYW1wb3MgZGUgdGV4dG8sIG8gYGFyaWEtbGFiZWxgIMOpIHV0aWxpemFkbyBwYXJhIGFjZXNzaWJpbGlkYWRlLlxuICAgKi9cbiAgQElucHV0KCdwLWFyaWEtbGFiZWwnKSBzZXQgYXJpYUxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hcmlhTGFiZWwgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5saXRlcmFscy5zZWFyY2gpIHtcbiAgICAgIHRoaXMuX2FyaWFMYWJlbCA9IGAke3RoaXMuX2FyaWFMYWJlbH0gJHt0aGlzLmxpdGVyYWxzLnNlYXJjaH1gO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXJpYUxhYmVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGV2ZSBzZXIgaW5mb3JtYWRvIG8gbm9tZSBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGEgY29udmVyc8OjbyBkb3MgaXRlbnMgYXByZXNlbnRhZG9zIG5hIGxpc3RhIGRvIGNvbXBvbmVudGUgKHAtaXRlbXMpLCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIHJlc3BvbnPDoXZlbCBwZWxvIHRleHRvIGRlIGFwcmVzZW50YcOnw6NvIGRlIGNhZGEgaXRlbSBkYSBsaXN0YS5cbiAgICovXG4gIEBJbnB1dCgncC1maWx0ZXIta2V5cycpIGZpbHRlcktleXM6IEFycmF5PGFueT4gPSBbXTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZXZlIHNlciBpbmZvcm1hZG8gbyBub21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgYSBjb252ZXJzw6NvIGRvcyBpdGVucyBhcHJlc2VudGFkb3MgbmEgbGlzdGEgZG8gY29tcG9uZW50ZSAocC1pdGVtcyksIGVzdGEgcHJvcHJpZWRhZGUgc2Vyw6EgcmVzcG9uc8OhdmVsIHBlbG8gdGV4dG8gZGUgYXByZXNlbnRhw6fDo28gZGUgY2FkYSBpdGVtIGRhIGxpc3RhLlxuICAgKi9cbiAgQElucHV0KCdwLWljb24nKSBpY29uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBubyBgcG8tc2VhcmNoYC5cbiAgICpcbiAgICogUGFyYSB1dGlsaXphciBiYXN0YSBwYXNzYXIgYSBsaXRlcmFsIHF1ZSBkZXNlamEgY3VzdG9taXphcjpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9TZWFyY2hMaXRlcmFscyA9IHtcbiAgICogICAgc2VhcmNoOiAnUGVzcXVpc2FyJyxcbiAgICogICAgY2xlYW46ICdMaW1wYXInLFxuICAgKiAgfTtcbiAgICogYGBgXG4gICAqXG4gICAqIEUgcGFyYSBjYXJyZWdhciBhIGxpdGVyYWwgY3VzdG9taXphZGEsIGJhc3RhIGFwZW5hcyBwYXNzYXIgbyBvYmpldG8gcGFyYSBvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIGBgYFxuICAgKiA8cG8tc2VhcmNoXG4gICAqICAgW3AtbGl0ZXJhbHNdPVwiY3VzdG9tTGl0ZXJhbHNcIj5cbiAgICogPC9wby1zZWFyY2g+XG4gICAqIGBgYFxuICAgKlxuICAgKiA+IE8gb2JqZXRvIHBhZHLDo28gZGUgbGl0ZXJhaXMgc2Vyw6EgdHJhZHV6aWRvIGRlIGFjb3JkbyBjb20gbyBpZGlvbWEgZG9cbiAgICogW2BQb0kxOG5TZXJ2aWNlYF0oL2RvY3VtZW50YXRpb24vcG8taTE4bikgb3UgZG8gYnJvd3Nlci5cbiAgICovXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9TZWFyY2hMaXRlcmFscykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHtcbiAgICAgICAgLi4ucG9TZWFyY2hMaXRlcmFsc0RlZmF1bHRbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgICAgLi4ucG9TZWFyY2hMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXG4gICAgICAgIC4uLnZhbHVlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHBvU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsaXRlcmFscygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGl0ZXJhbHMgfHwgcG9TZWFyY2hMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgbyBtb2RvIGRlIHBlc3F1aXNhIHV0aWxpemFkbyBubyBjYW1wbyBkZSBidXNjYSwgcXVhbmRvIGhhYmlsaXRhZG8uIFZhbG9yZXMgZGVmaW5pZG9zIG5vIGVudW06IFBvU2VhcmNoRmlsdGVyTW9kZVxuICAgKlxuICAgKiBAZGVmYXVsdCBgc3RhcnRzV2l0aGBcbiAgICovXG4gIEBJbnB1dCgncC1maWx0ZXItdHlwZScpIGZpbHRlclR5cGU6IFBvU2VhcmNoRmlsdGVyTW9kZSA9IFBvU2VhcmNoRmlsdGVyTW9kZS5zdGFydHNXaXRoO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBkbyBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLW1vZGVsJykgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBvZGUgc2VyIGluZm9ybWFkYSB1bWEgZnVuw6fDo28gcXVlIHNlcsOhIGRpc3BhcmFkYSBxdWFuZG8gaG91dmVyIGFsdGVyYcOnw7VlcyBubyBpbnB1dC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtZmlsdGVyZWQtaXRlbXMtY2hhbmdlJykgZmlsdGVyZWRJdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8YW55Pj4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIGZ1bsOnw6NvIHF1ZSBzZXLDoSBkaXNwYXJhZGEgcXVhbmRvIGhvdXZlciBhbHRlcmHDp8O1ZXMgbm9zIGZpbHRyb3MuXG4gICAqL1xuICBAT3V0cHV0KCdwLWZpbHRlcicpIGZpbHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,59 +1,63 @@
1
- import { PoFilterMode } from './po-search-filter-mode.enum';
2
1
  import { Component, ElementRef, ViewChild } from '@angular/core';
3
2
  import { PoSearchBaseComponent } from './po-search-base.component';
3
+ import { PoSearchFilterMode } from './enum/po-search-filter-mode.enum';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../services/po-language/po-language.service";
6
6
  import * as i2 from "@angular/common";
7
- import * as i3 from "../po-field/po-clean/po-clean.component";
8
- import * as i4 from "../po-icon/po-icon.component";
9
- import * as i5 from "../po-loading/po-loading-icon/po-loading-icon.component";
7
+ import * as i3 from "../po-icon/po-icon.component";
10
8
  const _c0 = ["poSearchInput"];
11
- function PoSearchComponent_po_icon_2_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelement(0, "po-icon", 7);
13
- } }
14
- function PoSearchComponent_po_loading_icon_3_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelement(0, "po-loading-icon", 8);
16
- } }
17
- function PoSearchComponent_div_6_Template(rf, ctx) { if (rf & 1) {
18
- const _r5 = i0.ɵɵgetCurrentView();
19
- i0.ɵɵelementStart(0, "div", 9)(1, "po-clean", 10);
20
- i0.ɵɵlistener("p-change-event", function PoSearchComponent_div_6_Template_po_clean_p_change_event_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.clearSearch()); });
9
+ function PoSearchComponent_div_5_Template(rf, ctx) { if (rf & 1) {
10
+ const _r3 = i0.ɵɵgetCurrentView();
11
+ i0.ɵɵelementStart(0, "div", 6)(1, "button", 7);
12
+ i0.ɵɵlistener("click", function PoSearchComponent_div_5_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); })("keydown.enter", function PoSearchComponent_div_5_Template_button_keydown_enter_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.clearSearch()); });
13
+ i0.ɵɵelement(2, "po-icon", 8);
21
14
  i0.ɵɵelementEnd()();
22
15
  } if (rf & 2) {
23
- const ctx_r3 = i0.ɵɵnextContext();
24
- const _r2 = i0.ɵɵreference(5);
25
- i0.ɵɵproperty("tabindex", !ctx_r3.disabled ? 0 : -1);
16
+ const ctx_r1 = i0.ɵɵnextContext();
26
17
  i0.ɵɵadvance(1);
27
- i0.ɵɵproperty("p-element-ref", _r2);
18
+ i0.ɵɵproperty("ariaLabel", ctx_r1.literals.clean);
28
19
  } }
29
- export const poSearchLiteralsDefault = {
30
- en: { search: 'Search' },
31
- es: { search: 'Buscar' },
32
- pt: { search: 'Pesquisar' },
33
- ru: { search: 'Поиск' }
34
- };
20
+ /**
21
+ * @docsExtends PoSearchBaseComponent
22
+ *
23
+ * @example
24
+ *
25
+ * <example name="po-search-basic" title="PO Search Basic">
26
+ * <file name="sample-po-search-basic/sample-po-search-basic.component.html"> </file>
27
+ * <file name="sample-po-search-basic/sample-po-search-basic.component.ts"> </file>
28
+ * </example>
29
+ *
30
+ * <example name="po-search-labs" title="PO Search Labs">
31
+ * <file name="sample-po-search-labs/sample-po-search-labs.component.html"> </file>
32
+ * <file name="sample-po-search-labs/sample-po-search-labs.component.ts"> </file>
33
+ * <file name="sample-po-search-labs/sample-po-search-labs.service.ts"> </file>
34
+ * </example>
35
+ *
36
+ * <example name="po-search-find-people" title="PO Search Find People">
37
+ * <file name="sample-po-search-find-people/sample-po-search-find-people.component.html"> </file>
38
+ * <file name="sample-po-search-find-people/sample-po-search-find-people.component.ts"> </file>
39
+ * <file name="sample-po-search-find-people/sample-po-search-find-people.service.ts"> </file>
40
+ * </example>
41
+ *
42
+ */
35
43
  export class PoSearchComponent extends PoSearchBaseComponent {
36
44
  languageService;
37
45
  renderer;
38
46
  poSearchInput;
39
47
  filteredItems = [];
40
- literals;
41
48
  constructor(languageService, renderer) {
42
- super();
49
+ super(languageService);
43
50
  this.languageService = languageService;
44
51
  this.renderer = renderer;
45
52
  }
46
53
  ngOnInit() {
47
- this.literals = {
48
- ...poSearchLiteralsDefault[this.languageService?.getLanguageDefault()],
49
- ...poSearchLiteralsDefault[this.languageService?.getShortLanguage()]
50
- };
51
54
  this.filteredItems = this.items;
52
55
  }
53
56
  clearSearch() {
54
57
  this.poSearchInput.nativeElement.value = '';
55
58
  this.onSearchChange('');
56
59
  this.filteredItemsChange.emit(this.items);
60
+ this.poSearchInput.nativeElement.focus();
57
61
  }
58
62
  onBlur() {
59
63
  this.renderer.removeClass(this.poSearchInput.nativeElement.parentElement, 'po-search-focused');
@@ -70,13 +74,13 @@ export class PoSearchComponent extends PoSearchBaseComponent {
70
74
  value = value != null ? value.toString() : null;
71
75
  }
72
76
  value = value != null ? value.toLowerCase() : null;
73
- if (this.filterType === PoFilterMode.startsWith) {
77
+ if (this.filterType === PoSearchFilterMode.startsWith) {
74
78
  return value != null && value.startsWith(searchText);
75
79
  }
76
- else if (this.filterType === PoFilterMode.contains) {
80
+ else if (this.filterType === PoSearchFilterMode.contains) {
77
81
  return value != null && value.includes(searchText);
78
82
  }
79
- else if (this.filterType === PoFilterMode.endsWith) {
83
+ else if (this.filterType === PoSearchFilterMode.endsWith) {
80
84
  return value != null && value.endsWith(searchText);
81
85
  }
82
86
  return false;
@@ -87,6 +91,7 @@ export class PoSearchComponent extends PoSearchBaseComponent {
87
91
  this.filteredItems = [];
88
92
  this.filteredItemsChange.emit(this.filteredItems);
89
93
  }
94
+ this.changeModel.emit(searchText);
90
95
  }
91
96
  static ɵfac = function PoSearchComponent_Factory(t) { return new (t || PoSearchComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService), i0.ɵɵdirectiveInject(i0.Renderer2)); };
92
97
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSearchComponent, selectors: [["po-search"]], viewQuery: function PoSearchComponent_Query(rf, ctx) { if (rf & 1) {
@@ -94,33 +99,32 @@ export class PoSearchComponent extends PoSearchBaseComponent {
94
99
  } if (rf & 2) {
95
100
  let _t;
96
101
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poSearchInput = _t.first);
97
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 5, consts: [[1, "po-search"], [1, "po-search-icon"], ["p-icon", "po-icon-search", 4, "ngIf"], ["p-size", "sm", 4, "ngIf"], ["type", "text", 3, "disabled", "placeholder", "blur", "focus", "input"], ["poSearchInput", ""], ["class", "po-search-clean", 3, "tabindex", 4, "ngIf"], ["p-icon", "po-icon-search"], ["p-size", "sm"], [1, "po-search-clean", 3, "tabindex"], [3, "p-element-ref", "p-change-event"]], template: function PoSearchComponent_Template(rf, ctx) { if (rf & 1) {
102
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 9, consts: [[1, "po-search"], [1, "po-search-icon"], [3, "p-icon"], ["type", "text", 1, "po-search-input", 3, "ariaLabel", "disabled", "placeholder", "blur", "focus", "input"], ["poSearchInput", ""], ["class", "po-search-container-clean", 4, "ngIf"], [1, "po-search-container-clean"], [1, "po-search-clean", 3, "ariaLabel", "click", "keydown.enter"], ["p-icon", "po-icon-clear-content"]], template: function PoSearchComponent_Template(rf, ctx) { if (rf & 1) {
98
103
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
99
- i0.ɵɵtemplate(2, PoSearchComponent_po_icon_2_Template, 1, 0, "po-icon", 2);
100
- i0.ɵɵtemplate(3, PoSearchComponent_po_loading_icon_3_Template, 1, 0, "po-loading-icon", 3);
104
+ i0.ɵɵelement(2, "po-icon", 2);
101
105
  i0.ɵɵelementEnd();
102
- i0.ɵɵelementStart(4, "input", 4, 5);
103
- i0.ɵɵlistener("blur", function PoSearchComponent_Template_input_blur_4_listener() { return ctx.onBlur(); })("focus", function PoSearchComponent_Template_input_focus_4_listener() { return ctx.onFocus(); })("input", function PoSearchComponent_Template_input_input_4_listener($event) { return ctx.onSearchChange($event.target.value); });
106
+ i0.ɵɵelementStart(3, "input", 3, 4);
107
+ i0.ɵɵlistener("blur", function PoSearchComponent_Template_input_blur_3_listener() { return ctx.onBlur(); })("focus", function PoSearchComponent_Template_input_focus_3_listener() { return ctx.onFocus(); })("input", function PoSearchComponent_Template_input_input_3_listener($event) { return ctx.onSearchChange($event.target.value); });
104
108
  i0.ɵɵelementEnd();
105
- i0.ɵɵtemplate(6, PoSearchComponent_div_6_Template, 2, 2, "div", 6);
109
+ i0.ɵɵtemplate(5, PoSearchComponent_div_5_Template, 3, 1, "div", 5);
106
110
  i0.ɵɵelementEnd();
107
111
  } if (rf & 2) {
108
- const _r2 = i0.ɵɵreference(5);
112
+ const _r0 = i0.ɵɵreference(4);
113
+ i0.ɵɵclassProp("po-search-disabled", ctx.disabled);
109
114
  i0.ɵɵadvance(2);
110
- i0.ɵɵproperty("ngIf", !ctx.loading);
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", ctx.loading);
115
+ i0.ɵɵproperty("p-icon", ctx.icon ? ctx.icon : "po-icon-search");
113
116
  i0.ɵɵadvance(1);
114
- i0.ɵɵproperty("disabled", ctx.disabled)("placeholder", ctx.literals.search);
117
+ i0.ɵɵclassProp("po-search-icon-right", !!_r0.value && !ctx.disabled);
118
+ i0.ɵɵproperty("ariaLabel", ctx.ariaLabel)("disabled", ctx.disabled)("placeholder", ctx.literals.search);
115
119
  i0.ɵɵadvance(2);
116
- i0.ɵɵproperty("ngIf", !!_r2.value && !ctx.disabled);
117
- } }, dependencies: [i2.NgIf, i3.PoCleanComponent, i4.PoIconComponent, i5.PoLoadingIconComponent], encapsulation: 2 });
120
+ i0.ɵɵproperty("ngIf", !!_r0.value && !ctx.disabled);
121
+ } }, dependencies: [i2.NgIf, i3.PoIconComponent], encapsulation: 2 });
118
122
  }
119
123
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSearchComponent, [{
120
124
  type: Component,
121
- args: [{ selector: 'po-search', template: "<div class=\"po-search\">\n <div class=\"po-search-icon\">\n <po-icon *ngIf=\"!loading\" p-icon=\"po-icon-search\"></po-icon>\n <po-loading-icon *ngIf=\"loading\" p-size=\"sm\"></po-loading-icon>\n </div>\n\n <input\n #poSearchInput\n type=\"text\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n (input)=\"onSearchChange($event.target.value)\"\n />\n\n <div *ngIf=\"!!poSearchInput.value && !disabled\" class=\"po-search-clean\" [tabindex]=\"!disabled ? 0 : -1\">\n <po-clean [p-element-ref]=\"poSearchInput\" (p-change-event)=\"clearSearch()\"></po-clean>\n </div>\n</div>\n" }]
125
+ args: [{ selector: 'po-search', template: "<div class=\"po-search\" [class.po-search-disabled]=\"disabled\">\n <div class=\"po-search-icon\">\n <po-icon [p-icon]=\"icon ? icon : 'po-icon-search'\"></po-icon>\n </div>\n\n <input\n #poSearchInput\n type=\"text\"\n class=\"po-search-input\"\n [ariaLabel]=\"ariaLabel\"\n [class.po-search-icon-right]=\"!!poSearchInput.value && !disabled\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n (input)=\"onSearchChange($event.target.value)\"\n />\n\n <div *ngIf=\"!!poSearchInput.value && !disabled\" class=\"po-search-container-clean\">\n <button\n class=\"po-search-clean\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"clearSearch()\"\n (keydown.enter)=\"clearSearch()\"\n >\n <po-icon p-icon=\"po-icon-clear-content\"></po-icon>\n </button>\n </div>\n</div>\n" }]
122
126
  }], function () { return [{ type: i1.PoLanguageService }, { type: i0.Renderer2 }]; }, { poSearchInput: [{
123
127
  type: ViewChild,
124
128
  args: ['poSearchInput', { read: ElementRef, static: true }]
125
129
  }] }); })();
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1zZWFyY2gvcG8tc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1zZWFyY2gvcG8tc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7SUNIL0QsNkJBQTREOzs7SUFDNUQscUNBQStEOzs7O0lBYWpFLDhCQUF3RyxtQkFBQTtJQUM1RCxrTEFBa0IsZUFBQSxvQkFBYSxDQUFBLElBQUM7SUFBQyxpQkFBVyxFQUFBOzs7O0lBRGhCLG9EQUErQjtJQUMzRixlQUErQjtJQUEvQixtQ0FBK0I7O0FEVjdDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLEVBQUUsRUFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0lBQzFDLEVBQUUsRUFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0lBQzFDLEVBQUUsRUFBb0IsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFO0lBQzdDLEVBQUUsRUFBb0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0NBQzFDLENBQUM7QUFNRixNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBT3ZDO0lBQTRDO0lBTkMsYUFBYSxDQUFhO0lBRTFGLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFFeEIsUUFBUSxDQUFPO0lBRXRCLFlBQW1CLGVBQWtDLEVB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QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDOzJFQWpFVSxpQkFBaUI7NkRBQWpCLGlCQUFpQjttQ0FDUSxVQUFVOzs7OztZQ25CaEQsOEJBQXVCLGFBQUE7WUFFbkIsMEVBQTREO1lBQzVELDBGQUErRDtZQUNqRSxpQkFBTTtZQUVOLG1DQVFFO1lBSEEsMkZBQVEsWUFBUSxJQUFDLGdGQUNSLGFBQVMsSUFERCxzRkFFUix1Q0FBbUMsSUFGM0I7WUFMbkIsaUJBUUU7WUFFRixrRUFFTTtZQUNSLGlCQUFNOzs7WUFqQlEsZUFBYztZQUFkLG1DQUFjO1lBQ04sZUFBYTtZQUFiLGtDQUFhO1lBTS9CLGVBQXFCO1lBQXJCLHVDQUFxQixvQ0FBQTtZQU9qQixlQUF3QztZQUF4QyxtREFBd0M7Ozt1RkRFbkMsaUJBQWlCO2NBSjdCLFNBQVM7MkJBQ0UsV0FBVzs0RkFJMkMsYUFBYTtrQkFBNUUsU0FBUzttQkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb0ZpbHRlck1vZGUgfSBmcm9tICcuL3BvLXNlYXJjaC1maWx0ZXItbW9kZS5lbnVtJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9TZWFyY2hMaXRlcmFscyB9IGZyb20gJy4vbGl0ZXJhbHMvcG8tc2VhcmNoLWxpdGVyYWxzJztcbmltcG9ydCB7IFBvU2VhcmNoQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tc2VhcmNoLWJhc2UuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IHBvU2VhcmNoTGl0ZXJhbHNEZWZhdWx0ID0ge1xuICBlbjogPFBvU2VhcmNoTGl0ZXJhbHM+eyBzZWFyY2g6ICdTZWFyY2gnIH0sXG4gIGVzOiA8UG9TZWFyY2hMaXRlcmFscz57IHNlYXJjaDogJ0J1c2NhcicgfSxcbiAgcHQ6IDxQb1NlYXJjaExpdGVyYWxzPnsgc2VhcmNoOiAnUGVzcXVpc2FyJyB9LFxuICBydTogPFBvU2VhcmNoTGl0ZXJhbHM+eyBzZWFyY2g6ICfQn9C+0LjRgdC6JyB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tc2VhcmNoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1NlYXJjaENvbXBvbmVudCBleHRlbmRzIFBvU2VhcmNoQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3BvU2VhcmNoSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwb1NlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICBwdWJsaWMgbGl0ZXJhbHM/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4ucG9TZWFyY2hMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZVNlcnZpY2U/LmdldExhbmd1YWdlRGVmYXVsdCgpXSxcbiAgICAgIC4uLnBvU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VTZXJ2aWNlPy5nZXRTaG9ydExhbmd1YWdlKCldXG4gICAgfTtcblxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gIH1cblxuICBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvU2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMub25TZWFyY2hDaGFuZ2UoJycpO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5wb1NlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3BvLXNlYXJjaC1mb2N1c2VkJyk7XG4gIH1cblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5wb1NlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3BvLXNlYXJjaC1mb2N1c2VkJyk7XG4gIH1cblxuICBvblNlYXJjaENoYW5nZShzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+XG4gICAgICAgIHRoaXMuZmlsdGVyS2V5cy5zb21lKGtleSA9PiB7XG4gICAgICAgICAgbGV0IHZhbHVlID0gaXRlbVtrZXldO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgIT0gbnVsbCA/IHZhbHVlLnRvU3RyaW5nKCkgOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhbHVlID0gdmFsdWUgIT0gbnVsbCA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiBudWxsO1xuXG4gICAgICAgICAgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gUG9GaWx0ZXJNb2RlLnN0YXJ0c1dpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHZhbHVlLnN0YXJ0c1dpdGgoc2VhcmNoVGV4dCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09IFBvRmlsdGVyTW9kZS5jb250YWlucykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdmFsdWUuaW5jbHVkZXMoc2VhcmNoVGV4dCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09IFBvRmlsdGVyTW9kZS5lbmRzV2l0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdmFsdWUuZW5kc1dpdGgoc2VhcmNoVGV4dCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gW107XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkSXRlbXMpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXNlYXJjaFwiPlxuICA8ZGl2IGNsYXNzPVwicG8tc2VhcmNoLWljb25cIj5cbiAgICA8cG8taWNvbiAqbmdJZj1cIiFsb2FkaW5nXCIgcC1pY29uPVwicG8taWNvbi1zZWFyY2hcIj48L3BvLWljb24+XG4gICAgPHBvLWxvYWRpbmctaWNvbiAqbmdJZj1cImxvYWRpbmdcIiBwLXNpemU9XCJzbVwiPjwvcG8tbG9hZGluZy1pY29uPlxuICA8L2Rpdj5cblxuICA8aW5wdXRcbiAgICAjcG9TZWFyY2hJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJsaXRlcmFscy5zZWFyY2hcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoaW5wdXQpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAvPlxuXG4gIDxkaXYgKm5nSWY9XCIhIXBvU2VhcmNoSW5wdXQudmFsdWUgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJwby1zZWFyY2gtY2xlYW5cIiBbdGFiaW5kZXhdPVwiIWRpc2FibGVkID8gMCA6IC0xXCI+XG4gICAgPHBvLWNsZWFuIFtwLWVsZW1lbnQtcmVmXT1cInBvU2VhcmNoSW5wdXRcIiAocC1jaGFuZ2UtZXZlbnQpPVwiY2xlYXJTZWFyY2goKVwiPjwvcG8tY2xlYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1zZWFyY2gvcG8tc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1zZWFyY2gvcG8tc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7O0lDZXJFLDhCQUFrRixnQkFBQTtJQUk5RSw4SkFBUyxlQUFBLG9CQUFhLENBQUEsSUFBQyxpS0FDTixlQUFBLG9CQUFhLENBQUEsSUFEUDtJQUd2Qiw2QkFBa0Q7SUFDcEQsaUJBQVMsRUFBQTs7O0lBTFAsZUFBNEI7SUFBNUIsaURBQTRCOztBRGhCbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFLSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBS3ZDO0lBQTRDO0lBSkMsYUFBYSxDQUFhO0lBRTFGLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFFL0IsWUFBbUIsZUFBa0MsRUFBVSxRQUFtQjtRQUNoRixLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFETixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBRWxGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEs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QUNSLGlCQUFNOzs7WUE1QmlCLGtEQUFxQztZQUUvQyxlQUF5QztZQUF6QywrREFBeUM7WUFRbEQsZUFBaUU7WUFBakUsb0VBQWlFO1lBRGpFLHlDQUF1QiwwQkFBQSxvQ0FBQTtZQVNuQixlQUF3QztZQUF4QyxtREFBd0M7Ozt1RkRjbkMsaUJBQWlCO2NBSjdCLFNBQVM7MkJBQ0UsV0FBVzs0RkFJMkMsYUFBYTtrQkFBNUUsU0FBUzttQkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb1NlYXJjaEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXNlYXJjaC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1NlYXJjaEZpbHRlck1vZGUgfSBmcm9tICcuL2VudW0vcG8tc2VhcmNoLWZpbHRlci1tb2RlLmVudW0nO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1NlYXJjaEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zZWFyY2gtYmFzaWNcIiB0aXRsZT1cIlBPIFNlYXJjaCBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VhcmNoLWJhc2ljL3NhbXBsZS1wby1zZWFyY2gtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VhcmNoLWJhc2ljL3NhbXBsZS1wby1zZWFyY2gtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VhcmNoLWxhYnNcIiB0aXRsZT1cIlBPIFNlYXJjaCBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWFyY2gtbGFicy9zYW1wbGUtcG8tc2VhcmNoLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VhcmNoLWxhYnMvc2FtcGxlLXBvLXNlYXJjaC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWFyY2gtbGFicy9zYW1wbGUtcG8tc2VhcmNoLWxhYnMuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXNlYXJjaC1maW5kLXBlb3BsZVwiIHRpdGxlPVwiUE8gU2VhcmNoIEZpbmQgUGVvcGxlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWFyY2gtZmluZC1wZW9wbGUvc2FtcGxlLXBvLXNlYXJjaC1maW5kLXBlb3BsZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWFyY2gtZmluZC1wZW9wbGUvc2FtcGxlLXBvLXNlYXJjaC1maW5kLXBlb3BsZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VhcmNoLWZpbmQtcGVvcGxlL3NhbXBsZS1wby1zZWFyY2gtZmluZC1wZW9wbGUuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tc2VhcmNoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1NlYXJjaENvbXBvbmVudCBleHRlbmRzIFBvU2VhcmNoQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3BvU2VhcmNoSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwb1NlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gIH1cblxuICBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvU2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMub25TZWFyY2hDaGFuZ2UoJycpO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xuICAgIHRoaXMucG9TZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnBvU2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCAncG8tc2VhcmNoLWZvY3VzZWQnKTtcbiAgfVxuXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnBvU2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCAncG8tc2VhcmNoLWZvY3VzZWQnKTtcbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT5cbiAgICAgICAgdGhpcy5maWx0ZXJLZXlzLnNvbWUoa2V5ID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWUgPSBpdGVtW2tleV07XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSAhPSBudWxsID8gdmFsdWUudG9TdHJpbmcoKSA6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZSAhPSBudWxsID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6IG51bGw7XG5cbiAgICAgICAgICBpZiAodGhpcy5maWx0ZXJUeXBlID09PSBQb1NlYXJjaEZpbHRlck1vZGUuc3RhcnRzV2l0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdmFsdWUuc3RhcnRzV2l0aChzZWFyY2hUZXh0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gUG9TZWFyY2hGaWx0ZXJNb2RlLmNvbnRhaW5zKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5pbmNsdWRlcyhzZWFyY2hUZXh0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gUG9TZWFyY2hGaWx0ZXJNb2RlLmVuZHNXaXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5lbmRzV2l0aChzZWFyY2hUZXh0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gW107XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkSXRlbXMpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZU1vZGVsLmVtaXQoc2VhcmNoVGV4dCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1zZWFyY2hcIiBbY2xhc3MucG8tc2VhcmNoLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1zZWFyY2gtaWNvblwiPlxuICAgIDxwby1pY29uIFtwLWljb25dPVwiaWNvbiA/IGljb24gOiAncG8taWNvbi1zZWFyY2gnXCI+PC9wby1pY29uPlxuICA8L2Rpdj5cblxuICA8aW5wdXRcbiAgICAjcG9TZWFyY2hJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzcz1cInBvLXNlYXJjaC1pbnB1dFwiXG4gICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFtjbGFzcy5wby1zZWFyY2gtaWNvbi1yaWdodF09XCIhIXBvU2VhcmNoSW5wdXQudmFsdWUgJiYgIWRpc2FibGVkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJsaXRlcmFscy5zZWFyY2hcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoaW5wdXQpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAvPlxuXG4gIDxkaXYgKm5nSWY9XCIhIXBvU2VhcmNoSW5wdXQudmFsdWUgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJwby1zZWFyY2gtY29udGFpbmVyLWNsZWFuXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJwby1zZWFyY2gtY2xlYW5cIlxuICAgICAgW2FyaWFMYWJlbF09XCJsaXRlcmFscy5jbGVhblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbGVhclNlYXJjaCgpXCJcbiAgICA+XG4gICAgICA8cG8taWNvbiBwLWljb249XCJwby1pY29uLWNsZWFyLWNvbnRlbnRcIj48L3BvLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=