myrta-ui 17.0.31 → 17.0.33

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 (30) hide show
  1. package/esm2022/lib/components/form/select/helpers/get-inner-items.helper.mjs +13 -0
  2. package/esm2022/lib/components/form/select/helpers/get-selected-items.helper.mjs +5 -20
  3. package/esm2022/lib/components/form/select/helpers/modify-origin-items.helper.mjs +21 -0
  4. package/esm2022/lib/components/form/select/select.component.mjs +218 -0
  5. package/esm2022/lib/components/form/select/select.module.mjs +24 -13
  6. package/esm2022/lib/components/paginator/paginator.component.mjs +8 -5
  7. package/esm2022/lib/components/paginator/paginator.module.mjs +8 -4
  8. package/esm2022/lib/components/popup/components/popup/popup.component.mjs +12 -4
  9. package/esm2022/lib/components/popup/components/popup-item/popup-item.component.mjs +6 -3
  10. package/esm2022/lib/components/popup/directives/popup-trigger.directive.mjs +2 -3
  11. package/esm2022/lib/components/table/table.component.mjs +2 -2
  12. package/esm2022/lib/pipes/date/helpers/change-timezone.mjs +4 -2
  13. package/esm2022/public-api.mjs +2 -3
  14. package/fesm2022/myrta-ui.mjs +774 -721
  15. package/fesm2022/myrta-ui.mjs.map +1 -1
  16. package/lib/components/form/select/helpers/get-inner-items.helper.d.ts +3 -0
  17. package/lib/components/form/select/helpers/get-selected-items.helper.d.ts +2 -2
  18. package/lib/components/form/select/helpers/modify-origin-items.helper.d.ts +2 -0
  19. package/lib/components/form/select/select.component.d.ts +68 -0
  20. package/lib/components/form/select/select.module.d.ts +9 -6
  21. package/lib/components/paginator/paginator.component.d.ts +3 -1
  22. package/lib/components/paginator/paginator.module.d.ts +2 -1
  23. package/lib/components/popup/components/popup/popup.component.d.ts +3 -1
  24. package/lib/components/popup/components/popup-item/popup-item.component.d.ts +2 -1
  25. package/package.json +1 -1
  26. package/public-api.d.ts +1 -2
  27. package/esm2022/lib/components/form/select/components/select/select.component.mjs +0 -98
  28. package/esm2022/lib/components/form/select/components/select-multi/select-multi.component.mjs +0 -112
  29. package/lib/components/form/select/components/select/select.component.d.ts +0 -28
  30. package/lib/components/form/select/components/select-multi/select-multi.component.d.ts +0 -31
@@ -0,0 +1,13 @@
1
+ import isEqual from 'lodash-es/isEqual';
2
+ export const getInnerItems = (items, selectedItems = []) => {
3
+ return items.map((item, idx) => {
4
+ const findItem = selectedItems.find(i => isEqual(i, item));
5
+ if (typeof item === 'object' && !Array.isArray(item)) {
6
+ return { ...item, __id: item['id'] || idx, __selected: !!findItem };
7
+ }
8
+ else {
9
+ return { label: item, __id: idx, __selected: !!findItem };
10
+ }
11
+ });
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWlubmVyLWl0ZW1zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9oZWxwZXJzL2dldC1pbm5lci1pdGVtcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBd0IsRUFBRSxnQkFBbUMsRUFBRSxFQUFFLEVBQUU7SUFDL0YsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBd0IsRUFBRTtRQUNuRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JELE9BQU8sRUFBQyxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdElubmVySXRlbU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NlbGVjdC1pbm5lci1pdGVtLm1vZGVsJztcclxuXHJcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC1lcy9pc0VxdWFsJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRJbm5lckl0ZW1zID0gKGl0ZW1zOiBTZWxlY3RJdGVtTW9kZWxbXSwgc2VsZWN0ZWRJdGVtczogU2VsZWN0SXRlbU1vZGVsW10gPSBbXSkgPT4ge1xyXG4gIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0sIGlkeCk6IFNlbGVjdElubmVySXRlbU1vZGVsID0+IHtcclxuICAgIGNvbnN0IGZpbmRJdGVtID0gc2VsZWN0ZWRJdGVtcy5maW5kKGkgPT4gaXNFcXVhbChpLCBpdGVtKSk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICByZXR1cm4gey4uLml0ZW0sIF9faWQ6IGl0ZW1bJ2lkJ10gfHwgaWR4LCBfX3NlbGVjdGVkOiAhIWZpbmRJdGVtfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB7bGFiZWw6IGl0ZW0sIF9faWQ6IGlkeCwgX19zZWxlY3RlZDogISFmaW5kSXRlbX07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuIl19
@@ -1,21 +1,6 @@
1
- export const getSelectedItems = (selected, bindValue) => {
2
- if (bindValue) {
3
- const modifiedSelected = [];
4
- for (let item of selected) {
5
- for (let key in item) {
6
- if (item.hasOwnProperty(bindValue) && key === bindValue) {
7
- modifiedSelected.push(item[bindValue]);
8
- }
9
- if (!item.hasOwnProperty(bindValue)) {
10
- modifiedSelected.push(null);
11
- break;
12
- }
13
- }
14
- }
15
- return modifiedSelected;
16
- }
17
- else {
18
- return selected;
19
- }
1
+ import { modifyOriginItems } from './modify-origin-items.helper';
2
+ import { cleanSelectedItems } from './clean-selected-items.helper';
3
+ export const getSelectedItems = (innerItems, bindValue, bindLabel) => {
4
+ return modifyOriginItems(cleanSelectedItems(innerItems.filter(item => item.__selected)), bindValue, bindLabel);
20
5
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUEyQixFQUFFLFNBQXdCLEVBQUUsRUFBRTtJQUN4RixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsTUFBTSxnQkFBZ0IsR0FBUSxFQUFFLENBQUE7UUFFaEMsS0FBSyxJQUFJLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMxQixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3hDLENBQUM7Z0JBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDcEMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUMzQixNQUFLO2dCQUNQLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sZ0JBQWdCLENBQUE7SUFDekIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZWxlY3RJdGVtTW9kZWx9IGZyb20gXCIuLi9tb2RlbHMvc2VsZWN0LWl0ZW0ubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEl0ZW1zID0gKHNlbGVjdGVkOiBTZWxlY3RJdGVtTW9kZWxbXSwgYmluZFZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB7XHJcbiAgaWYgKGJpbmRWYWx1ZSkge1xyXG4gICAgY29uc3QgbW9kaWZpZWRTZWxlY3RlZDogYW55ID0gW11cclxuXHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHNlbGVjdGVkKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaGFzT3duUHJvcGVydHkoYmluZFZhbHVlKSAmJiBrZXkgPT09IGJpbmRWYWx1ZSkge1xyXG4gICAgICAgICAgbW9kaWZpZWRTZWxlY3RlZC5wdXNoKGl0ZW1bYmluZFZhbHVlXSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXRlbS5oYXNPd25Qcm9wZXJ0eShiaW5kVmFsdWUpKSB7XHJcbiAgICAgICAgICBtb2RpZmllZFNlbGVjdGVkLnB1c2gobnVsbClcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vZGlmaWVkU2VsZWN0ZWRcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkXHJcbiAgfVxyXG59XHJcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLFNBQXdCLEVBQUUsU0FBd0IsRUFBRSxFQUFFO0lBQ3pILE9BQU8saUJBQWlCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNoSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3QtaW5uZXItaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IG1vZGlmeU9yaWdpbkl0ZW1zIH0gZnJvbSAnLi9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGNsZWFuU2VsZWN0ZWRJdGVtcyB9IGZyb20gJy4vY2xlYW4tc2VsZWN0ZWQtaXRlbXMuaGVscGVyJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEl0ZW1zID0gKGlubmVySXRlbXM6IFNlbGVjdElubmVySXRlbU1vZGVsW10sIGJpbmRWYWx1ZTogc3RyaW5nIHwgbnVsbCwgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsKSA9PiB7XHJcbiAgcmV0dXJuIG1vZGlmeU9yaWdpbkl0ZW1zKGNsZWFuU2VsZWN0ZWRJdGVtcyhpbm5lckl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uX19zZWxlY3RlZCkpLCBiaW5kVmFsdWUsIGJpbmRMYWJlbClcclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ export const modifyOriginItems = (selected, bindValue, bindLabel) => {
2
+ if (bindValue) {
3
+ const modifiedSelected = [];
4
+ for (let item of selected) {
5
+ for (let key in item) {
6
+ if (item.hasOwnProperty(bindValue) && key === bindValue) {
7
+ modifiedSelected.push(item[bindValue]);
8
+ }
9
+ if (!item.hasOwnProperty(bindValue)) {
10
+ modifiedSelected.push(null);
11
+ break;
12
+ }
13
+ }
14
+ }
15
+ return bindLabel ? modifiedSelected : modifiedSelected.map((i) => i['label']);
16
+ }
17
+ else {
18
+ return bindLabel ? selected : selected.map((i) => i['label']);
19
+ }
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LW9yaWdpbi1pdGVtcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3QvaGVscGVycy9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQTJCLEVBQUUsU0FBd0IsRUFBRSxTQUF3QixFQUFFLEVBQUU7SUFDbkgsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE1BQU0sZ0JBQWdCLEdBQVEsRUFBRSxDQUFBO1FBRWhDLEtBQUssSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDMUIsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDeEQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDM0IsTUFBSztnQkFDUCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQ2hHLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VsZWN0SXRlbU1vZGVsfSBmcm9tIFwiLi4vbW9kZWxzL3NlbGVjdC1pdGVtLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY29uc3QgbW9kaWZ5T3JpZ2luSXRlbXMgPSAoc2VsZWN0ZWQ6IFNlbGVjdEl0ZW1Nb2RlbFtdLCBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwsIGJpbmRMYWJlbDogc3RyaW5nIHwgbnVsbCkgPT4ge1xyXG4gIGlmIChiaW5kVmFsdWUpIHtcclxuICAgIGNvbnN0IG1vZGlmaWVkU2VsZWN0ZWQ6IGFueSA9IFtdXHJcblxyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBzZWxlY3RlZCkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgIGlmIChpdGVtLmhhc093blByb3BlcnR5KGJpbmRWYWx1ZSkgJiYga2V5ID09PSBiaW5kVmFsdWUpIHtcclxuICAgICAgICAgIG1vZGlmaWVkU2VsZWN0ZWQucHVzaChpdGVtW2JpbmRWYWx1ZV0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoYmluZFZhbHVlKSkge1xyXG4gICAgICAgICAgbW9kaWZpZWRTZWxlY3RlZC5wdXNoKG51bGwpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBiaW5kTGFiZWwgPyBtb2RpZmllZFNlbGVjdGVkIDogbW9kaWZpZWRTZWxlY3RlZC5tYXAoKGk6IHsgbGFiZWw6IGFueTsgfSkgPT4gaVsnbGFiZWwnXSlcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGJpbmRMYWJlbCA/IHNlbGVjdGVkIDogc2VsZWN0ZWQubWFwKChpKSA9PiBpWydsYWJlbCddKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,218 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { SelectSizeEnum } from './enums';
4
+ import { getSelectedItems } from './helpers/get-selected-items.helper';
5
+ import { getInnerItems } from './helpers/get-inner-items.helper';
6
+ import { v4 as uuidv4 } from 'uuid';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "../../popup/components/popup/popup.component";
11
+ import * as i4 from "../../popup/components/popup-item/popup-item.component";
12
+ import * as i5 from "../../popup/directives/popup-trigger.directive";
13
+ import * as i6 from "../../loader/loader.component";
14
+ import * as i7 from "../input-text/input-text.component";
15
+ import * as i8 from "../../error-message/error-message.component";
16
+ import * as i9 from "../../save-state/save-state.component";
17
+ export class SelectComponent {
18
+ searchValue = '';
19
+ isOpen = false;
20
+ selected = [];
21
+ originItems = [];
22
+ innerItems = [];
23
+ // SAVE STATE
24
+ uuid = uuidv4();
25
+ fields = [];
26
+ set items(items) {
27
+ this.originItems = items;
28
+ this.innerItems = getInnerItems(items, this.selected);
29
+ }
30
+ multiple = false;
31
+ isLoading = false;
32
+ searchable = false;
33
+ clearable = true;
34
+ closable = true;
35
+ size = 'large';
36
+ bindValue = null;
37
+ bindLabel = null;
38
+ bindIcon = null;
39
+ disabled = false;
40
+ readonly = false;
41
+ invalid = false;
42
+ invalidMessage = '';
43
+ checkInvalid = null;
44
+ popupPosition = 'bottom-start';
45
+ dropdown;
46
+ optionTemplate;
47
+ labelTemplate;
48
+ changed = new EventEmitter();
49
+ modelChange = new EventEmitter();
50
+ get readonlyClass() {
51
+ return this.readonly ? 'mrx-input__readonly' : '';
52
+ }
53
+ get checkValidClasses() {
54
+ return this.checkInvalid === false ?
55
+ 'mrx-input-checked-success' :
56
+ this.checkInvalid === true ? 'mrx-input-checked-error' : '';
57
+ }
58
+ get getClasses() {
59
+ return `${SelectSizeEnum[this.size]} ${this.readonlyClass} ${this.checkValidClasses}`;
60
+ }
61
+ get getSelectedLabels() {
62
+ return this.innerItems.filter(i => i.__selected);
63
+ }
64
+ get filteredItems() {
65
+ return this.innerItems.filter(i => {
66
+ if (this.bindLabel) {
67
+ return i[this.bindLabel].includes(this.searchValue);
68
+ }
69
+ else {
70
+ return String(i).includes(this.searchValue);
71
+ }
72
+ });
73
+ }
74
+ get isInvalidMessage() {
75
+ return !!this.invalidMessage || !!this.invalidMessage?.length;
76
+ }
77
+ onChange = (value) => {
78
+ };
79
+ onTouched = () => {
80
+ };
81
+ registerOnChange(fn) {
82
+ this.onChange = fn;
83
+ }
84
+ registerOnTouched(fn) {
85
+ this.onTouched = fn;
86
+ }
87
+ writeValue(selected = []) {
88
+ if (selected) {
89
+ if (this.multiple && Array.isArray(selected)) {
90
+ this.selected = selected;
91
+ }
92
+ else {
93
+ this.selected = [selected];
94
+ }
95
+ this.innerItems = getInnerItems(this.originItems, this.selected);
96
+ }
97
+ }
98
+ updateValue(selectedItems) {
99
+ const clearedSelected = getSelectedItems(selectedItems, this.bindValue, this.bindLabel);
100
+ const outputSelected = this.multiple ? clearedSelected : clearedSelected.length ? clearedSelected[0] : null;
101
+ this.changed.emit(outputSelected);
102
+ this.modelChange.emit({ value: outputSelected, id: this.uuid });
103
+ this.onChange(outputSelected);
104
+ this.onTouched();
105
+ }
106
+ onSelect(item) {
107
+ if (!this.multiple) {
108
+ this.innerItems = this.innerItems.map(i => {
109
+ return { ...i, __selected: i.__id === item.__id ? !i.__selected : false };
110
+ });
111
+ }
112
+ else {
113
+ this.innerItems = this.innerItems.map(i => {
114
+ return { ...i, __selected: i.__id === item.__id ? !i.__selected : i.__selected };
115
+ });
116
+ }
117
+ this.dropdown.updatePopup();
118
+ this.updateValue(this.innerItems);
119
+ }
120
+ onUnselect(item) {
121
+ this.innerItems.forEach(i => {
122
+ if (i.__id === item.__id) {
123
+ i.__selected = false;
124
+ }
125
+ });
126
+ this.updateValue(this.innerItems);
127
+ }
128
+ onOpen(event) {
129
+ event.stopPropagation();
130
+ if (this.isOpen) {
131
+ this.dropdown.togglePopup(false);
132
+ }
133
+ else {
134
+ this.dropdown.togglePopup(true);
135
+ }
136
+ }
137
+ onClear(event) {
138
+ event.stopPropagation();
139
+ this.innerItems = this.innerItems.map(item => ({ ...item, __selected: false }));
140
+ this.dropdown.togglePopup(false);
141
+ this.updateValue([]);
142
+ }
143
+ togglePopup(isOpen) {
144
+ this.isOpen = isOpen;
145
+ }
146
+ asOption(option) {
147
+ return option;
148
+ }
149
+ asLabel(label) {
150
+ return label;
151
+ }
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectComponent, selector: "mrx-select", inputs: { fields: "fields", items: "items", multiple: "multiple", isLoading: "isLoading", searchable: "searchable", clearable: "clearable", closable: "closable", size: "size", bindValue: "bindValue", bindLabel: "bindLabel", bindIcon: "bindIcon", disabled: "disabled", readonly: "readonly", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", popupPosition: "popupPosition" }, outputs: { changed: "changed", modelChange: "modelChange" }, providers: [
154
+ {
155
+ provide: NG_VALUE_ACCESSOR,
156
+ useExisting: forwardRef(() => SelectComponent),
157
+ multi: true,
158
+ },
159
+ ], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">\r\n \u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432\r\n </div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"'\u041D\u0430\u0439\u0442\u0438'\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i4.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id"], outputs: ["clicked"] }, { kind: "directive", type: i5.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i7.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i9.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ }
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
162
+ type: Component,
163
+ args: [{ selector: 'mrx-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
164
+ {
165
+ provide: NG_VALUE_ACCESSOR,
166
+ useExisting: forwardRef(() => SelectComponent),
167
+ multi: true,
168
+ },
169
+ ], template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">\r\n \u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432\r\n </div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"'\u041D\u0430\u0439\u0442\u0438'\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"] }]
170
+ }], propDecorators: { fields: [{
171
+ type: Input
172
+ }], items: [{
173
+ type: Input
174
+ }], multiple: [{
175
+ type: Input
176
+ }], isLoading: [{
177
+ type: Input
178
+ }], searchable: [{
179
+ type: Input
180
+ }], clearable: [{
181
+ type: Input
182
+ }], closable: [{
183
+ type: Input
184
+ }], size: [{
185
+ type: Input
186
+ }], bindValue: [{
187
+ type: Input
188
+ }], bindLabel: [{
189
+ type: Input
190
+ }], bindIcon: [{
191
+ type: Input
192
+ }], disabled: [{
193
+ type: Input
194
+ }], readonly: [{
195
+ type: Input
196
+ }], invalid: [{
197
+ type: Input
198
+ }], invalidMessage: [{
199
+ type: Input
200
+ }], checkInvalid: [{
201
+ type: Input
202
+ }], popupPosition: [{
203
+ type: Input
204
+ }], dropdown: [{
205
+ type: ViewChild,
206
+ args: ['dropdown']
207
+ }], optionTemplate: [{
208
+ type: ContentChild,
209
+ args: ['optionTemplate']
210
+ }], labelTemplate: [{
211
+ type: ContentChild,
212
+ args: ['labelTemplate']
213
+ }], changed: [{
214
+ type: Output
215
+ }], modelChange: [{
216
+ type: Output
217
+ }] } });
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQ1YsS0FBSyxFQUFFLE1BQU0sRUFFYixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sU0FBUyxDQUFDO0FBSTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFpQnBDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixRQUFRLEdBQXNCLEVBQUUsQ0FBQztJQUNqQyxXQUFXLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxVQUFVLEdBQTJCLEVBQUUsQ0FBQztJQUUvQyxhQUFhO0lBQ04sSUFBSSxHQUFXLE1BQU0sRUFBRSxDQUFBO0lBQ2QsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUVyQyxJQUFhLEtBQUssQ0FBQyxLQUFZO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdB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VyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQVdlLE1BQU07c0JBQXJCLEtBQUs7Z0JBRU8sS0FBSztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVcsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0MsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUVaLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcG9wdXAvY29tcG9uZW50cy9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB9IGZyb20gJy4vbW9kZWxzL3NlbGVjdC1pbm5lci1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBnZXRTZWxlY3RlZEl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXInO1xyXG5pbXBvcnQgeyBnZXRJbm5lckl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1pdGVtcy5oZWxwZXInO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uVmFyaWFudHNUeXBlIH0gZnJvbSAnLi4vLi4vY2RrLXRvb2x0aXAvY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0ZWQ6IFNlbGVjdEl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIG9yaWdpbkl0ZW1zOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdID0gW107XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KClcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogYW55W10pIHtcclxuICAgIHRoaXMub3JpZ2luSXRlbXMgPSBpdGVtcztcclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IGdldElubmVySXRlbXMoaXRlbXMsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbG9zYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2l6ZTogU2VsZWN0U2l6ZVR5cGVzID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZEljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIHBvcHVwUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uVmFyaWFudHNUeXBlID0gJ2JvdHRvbS1zdGFydCc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJykgZHJvcGRvd24hOiBQb3B1cENvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPHsgaXRlbTogU2VsZWN0SW5uZXJJdGVtTW9kZWwsIGZpcnN0OiBib29sZWFuLCBsYXN0OiBib29sZWFuIH0+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ2xhYmVsVGVtcGxhdGUnKSBsYWJlbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8eyBpdGVtOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCwgZmlyc3Q6IGJvb2xlYW4sIGxhc3Q6IGJvb2xlYW4gfT47XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ID8gJ21yeC1pbnB1dF9fcmVhZG9ubHknIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJydcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke1NlbGVjdFNpemVFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5yZWFkb25seUNsYXNzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0U2VsZWN0ZWRMYWJlbHMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IGkuX19zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZpbHRlcmVkSXRlbXMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYmluZExhYmVsKSB7XHJcbiAgICAgICByZXR1cm4gaVt0aGlzLmJpbmRMYWJlbF0uaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gU3RyaW5nKGkpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVmFsdWUpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShzZWxlY3RlZDogYW55IHwgYW55W10gPSBbXSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbc2VsZWN0ZWRdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmlubmVySXRlbXMgPSBnZXRJbm5lckl0ZW1zKHRoaXMub3JpZ2luSXRlbXMsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKHNlbGVjdGVkSXRlbXM6IFNlbGVjdElubmVySXRlbU1vZGVsW10pIHtcclxuICAgIGNvbnN0IGNsZWFyZWRTZWxlY3RlZCA9IGdldFNlbGVjdGVkSXRlbXMoc2VsZWN0ZWRJdGVtcywgdGhpcy5iaW5kVmFsdWUsIHRoaXMuYmluZExhYmVsKTtcclxuICAgIGNvbnN0IG91dHB1dFNlbGVjdGVkID0gdGhpcy5tdWx0aXBsZSA/IGNsZWFyZWRTZWxlY3RlZCA6IGNsZWFyZWRTZWxlY3RlZC5sZW5ndGggPyBjbGVhcmVkU2VsZWN0ZWRbMF0gOiBudWxsXHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogb3V0cHV0U2VsZWN0ZWQsIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZShvdXRwdXRTZWxlY3RlZCk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0KGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHsuLi5pLCBfX3NlbGVjdGVkOiBpLl9faWQgPT09IGl0ZW0uX19pZCA/ICFpLl9fc2VsZWN0ZWQgOiBmYWxzZX1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlubmVySXRlbXMgPSB0aGlzLmlubmVySXRlbXMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWQgPyAhaS5fX3NlbGVjdGVkIDogaS5fX3NlbGVjdGVkfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLnVwZGF0ZVBvcHVwKCk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmlubmVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVW5zZWxlY3QoaXRlbTogU2VsZWN0SW5uZXJJdGVtTW9kZWwpIHtcclxuICAgIHRoaXMuaW5uZXJJdGVtcy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICBpZiAoaS5fX2lkID09PSBpdGVtLl9faWQpIHtcclxuICAgICAgICBpLl9fc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmlubmVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cCh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsZWFyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICB0aGlzLmlubmVySXRlbXMgPSB0aGlzLmlubmVySXRlbXMubWFwKGl0ZW0gPT4gKHsuLi5pdGVtLCBfX3NlbGVjdGVkOiBmYWxzZX0pKTtcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFtdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQb3B1cChpc09wZW46IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNPcGVuID0gaXNPcGVuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzT3B0aW9uKG9wdGlvbjogU2VsZWN0SW5uZXJJdGVtTW9kZWwpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB7XHJcbiAgICByZXR1cm4gb3B0aW9uXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXNMYWJlbChsYWJlbDogU2VsZWN0SW5uZXJJdGVtTW9kZWwpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB7XHJcbiAgICByZXR1cm4gbGFiZWxcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RcIlxyXG4gICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuICAgICBbY2xhc3MubXJ4LWlucHV0LWVycm9yXT1cImludmFsaWRcIlxyXG4gICAgIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX3dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dFwiIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIiBbcG9wdXBQb3NpdGlvbl09XCJwb3B1cFBvc2l0aW9uXCI+XHJcbiAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X192YWx1ZXNcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbTsgbGV0IGZpcnN0ID0gJGZpcnN0OyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgICAgICAgQGlmIChsYWJlbFRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMYWJlbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtLCBmaXJzdCwgbGFzdH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3ZhbHVlXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ2V0U2VsZWN0ZWRMYWJlbHM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICB7eyBiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtWydsYWJlbCddIH19XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19wbGFjZWhvbGRlclwiPjwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzXCI+XHJcbiAgICAgICAgQGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgICAgIDxtcngtbG9hZGVyXHJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdsYXJnZScgPyAnc21hbGwnIDogJ2V4dHJhLXNtYWxsJ1wiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCInYnJhbmQnXCJcclxuICAgICAgICAgID48L21yeC1sb2FkZXI+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKGdldFNlbGVjdGVkTGFiZWxzLmxlbmd0aCAmJiBjbGVhcmFibGUpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWl0ZW1cIiAoY2xpY2spPVwib25DbGVhcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTI0XT1cInNpemUgPT09ICdsYXJnZSdcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMTZdPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWl0ZW1cIiAoY2xpY2spPVwib25PcGVuKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cIm1yeC1pY29uXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1jaGV2cm9uLXVwXT1cImlzT3BlblwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIiFpc09wZW5cIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMjRdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0xNl09XCJzaXplID09PSAnbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1yeC1wb3B1cCAjZHJvcGRvd24gW2Nsb3NlQWZ0ZXJDbGlja109XCJjbG9zYWJsZVwiICh0b2dnbGUpPVwidG9nZ2xlUG9wdXAoJGV2ZW50KVwiPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIGZpbHRlcmVkSXRlbXM7IHRyYWNrIGl0ZW0uX19pZDsgbGV0IGZpcnN0ID0gJGZpcnN0OyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgPG1yeC1wb3B1cC1pdGVtIFtjdXN0b21dPVwidHJ1ZVwiIFtpZF09XCJpdGVtLl9faWRcIiAoY2xpY2tlZCk9XCJvblNlbGVjdChpdGVtKVwiPlxyXG4gICAgICAgICAgQGlmIChvcHRpb25UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbSwgZmlyc3QsIGxhc3R9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0T3B0aW9uVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbSwgZmlyc3QsIGxhc3R9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH0gQGVtcHR5IHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2N1c3RvbV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX2VtcHR5XCI+XHJcbiAgICAgICAgICAgINCd0LXRgiDRgNC10LfRg9C70YzRgtCw0YLQvtCyXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19zZWFyY2hcIj5cclxuICAgICAgICAgICAgPG1yeC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIn0J3QsNC50YLQuCdcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgICA+PC9tcngtaW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbXJ4LXBvcHVwPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bXJ4LWVycm9yLW1lc3NhZ2VcclxuICAgICpuZ0lmPVwiaW52YWxpZCAmJiBpc0ludmFsaWRNZXNzYWdlXCJcclxuICAgIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiXHJcbiAgPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgW3R5cGVdPVwiJ2lucHV0J1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TGFiZWxUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICBAaWYgKGFzTGFiZWwoaXRlbSk7IGFzIGxhYmVsKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2JhZGdlXCI+XHJcbiAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IGxhYmVsW2JpbmRMYWJlbF0gOiBsYWJlbCB9fTwvcD5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0xNlwiIChjbGljayk9XCJvblVuc2VsZWN0KGxhYmVsKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIEBpZiAoYXNPcHRpb24oaXRlbSk7IGFzIG9wdGlvbikge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19pdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9faXRlbS0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoYmluZEljb24gJiYgb3B0aW9uW2JpbmRJY29uXSkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWZvbnQtMjRcIiBbY2xhc3NdPVwib3B0aW9uW2JpbmRJY29uXVwiPjwvc3Bhbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IG9wdGlvbltiaW5kTGFiZWxdIDogb3B0aW9uWydsYWJlbCddIH19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIEBpZiAob3B0aW9uLl9fc2VsZWN0ZWQpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hlY2sgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -2,36 +2,47 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { PopupModule } from '../../popup/popup.module';
4
4
  import { FormsModule } from '@angular/forms';
5
- import { SelectComponent } from './components/select/select.component';
6
- import { SelectMultiComponent } from './components/select-multi/select-multi.component';
5
+ import { SelectComponent } from './select.component';
6
+ import { LoaderModule } from '../../loader/loader.module';
7
+ import { InputTextModule } from '../input-text/input-text.module';
8
+ import { ErrorMessageModule } from '../../error-message/error-message.module';
9
+ import { SaveStateModule } from '../../save-state/save-state.module';
7
10
  import * as i0 from "@angular/core";
8
11
  export class SelectModule {
9
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SelectModule, declarations: [SelectComponent,
11
- SelectMultiComponent], imports: [CommonModule,
13
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SelectModule, declarations: [SelectComponent], imports: [CommonModule,
12
14
  FormsModule,
13
- PopupModule], exports: [SelectComponent,
14
- SelectMultiComponent] });
15
+ PopupModule,
16
+ LoaderModule,
17
+ InputTextModule,
18
+ ErrorMessageModule,
19
+ SaveStateModule], exports: [SelectComponent] });
15
20
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectModule, imports: [CommonModule,
16
21
  FormsModule,
17
- PopupModule] });
22
+ PopupModule,
23
+ LoaderModule,
24
+ InputTextModule,
25
+ ErrorMessageModule,
26
+ SaveStateModule] });
18
27
  }
19
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectModule, decorators: [{
20
29
  type: NgModule,
21
30
  args: [{
22
31
  declarations: [
23
- SelectComponent,
24
- SelectMultiComponent
32
+ SelectComponent
25
33
  ],
26
34
  imports: [
27
35
  CommonModule,
28
36
  FormsModule,
29
- PopupModule
37
+ PopupModule,
38
+ LoaderModule,
39
+ InputTextModule,
40
+ ErrorMessageModule,
41
+ SaveStateModule
30
42
  ],
31
43
  exports: [
32
- SelectComponent,
33
- SelectMultiComponent
44
+ SelectComponent
34
45
  ]
35
46
  }]
36
47
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQW1CeEYsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLGlCQWJyQixlQUFlO1lBQ2Ysb0JBQW9CLGFBR3BCLFlBQVk7WUFDWixXQUFXO1lBQ1gsV0FBVyxhQUdYLGVBQWU7WUFDZixvQkFBb0I7eUdBR1gsWUFBWSxZQVRyQixZQUFZO1lBQ1osV0FBVztZQUNYLFdBQVc7OzRGQU9GLFlBQVk7a0JBZnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE11bHRpQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1tdWx0aS9zZWxlY3QtbXVsdGkuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbGVjdENvbXBvbmVudCxcclxuICAgIFNlbGVjdE11bHRpQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFBvcHVwTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZWxlY3RDb21wb25lbnQsXHJcbiAgICBTZWxlY3RNdWx0aUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdE1vZHVsZSB7IH1cclxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQXFCckUsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLGlCQWZyQixlQUFlLGFBR2YsWUFBWTtZQUNaLFdBQVc7WUFDWCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZSxhQUdmLGVBQWU7eUdBR04sWUFBWSxZQVpyQixZQUFZO1lBQ1osV0FBVztZQUNYLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixlQUFlOzs0RkFNTixZQUFZO2tCQWpCeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uL2xvYWRlci9sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAnLi4vaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTYXZlU3RhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi9zYXZlLXN0YXRlL3NhdmUtc3RhdGUubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbGVjdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIExvYWRlck1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEVycm9yTWVzc2FnZU1vZHVsZSxcclxuICAgIFNhdmVTdGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2VsZWN0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0TW9kdWxlIHsgfVxyXG4iXX0=