myrta-ui 17.0.32 → 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 (28) hide show
  1. package/esm2022/lib/components/form/select/helpers/get-inner-items.helper.mjs +7 -2
  2. package/esm2022/lib/components/form/select/helpers/get-selected-items.helper.mjs +3 -3
  3. package/esm2022/lib/components/form/select/helpers/modify-origin-items.helper.mjs +4 -4
  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/public-api.mjs +2 -3
  13. package/fesm2022/myrta-ui.mjs +767 -722
  14. package/fesm2022/myrta-ui.mjs.map +1 -1
  15. package/lib/components/form/select/helpers/get-selected-items.helper.d.ts +1 -1
  16. package/lib/components/form/select/helpers/modify-origin-items.helper.d.ts +1 -1
  17. package/lib/components/form/select/select.component.d.ts +68 -0
  18. package/lib/components/form/select/select.module.d.ts +9 -6
  19. package/lib/components/paginator/paginator.component.d.ts +3 -1
  20. package/lib/components/paginator/paginator.module.d.ts +2 -1
  21. package/lib/components/popup/components/popup/popup.component.d.ts +3 -1
  22. package/lib/components/popup/components/popup-item/popup-item.component.d.ts +2 -1
  23. package/package.json +1 -1
  24. package/public-api.d.ts +1 -2
  25. package/esm2022/lib/components/form/select/components/select/select.component.mjs +0 -97
  26. package/esm2022/lib/components/form/select/components/select-multi/select-multi.component.mjs +0 -105
  27. package/lib/components/form/select/components/select/select.component.d.ts +0 -28
  28. package/lib/components/form/select/components/select-multi/select-multi.component.d.ts +0 -31
@@ -1,2 +1,2 @@
1
1
  import { SelectInnerItemModel } from '../models/select-inner-item.model';
2
- export declare const getSelectedItems: (innerItems: SelectInnerItemModel[], bindValue: string | null, selectedOnly?: boolean) => any;
2
+ export declare const getSelectedItems: (innerItems: SelectInnerItemModel[], bindValue: string | null, bindLabel: string | null) => any;
@@ -1,2 +1,2 @@
1
1
  import { SelectItemModel } from "../models/select-item.model";
2
- export declare const modifyOriginItems: (selected: SelectItemModel[], bindValue: string | null) => any;
2
+ export declare const modifyOriginItems: (selected: SelectItemModel[], bindValue: string | null, bindLabel: string | null) => any;
@@ -0,0 +1,68 @@
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { SelectSizeTypes } from './enums';
4
+ import { PopupComponent } from '../../popup/components/popup/popup.component';
5
+ import { SelectInnerItemModel } from './models/select-inner-item.model';
6
+ import { SelectItemModel } from './models/select-item.model';
7
+ import { Field } from '../../../services';
8
+ import { ConnectedPositionVariantsType } from '../../cdk-tooltip/constants';
9
+ import * as i0 from "@angular/core";
10
+ export declare class SelectComponent implements ControlValueAccessor {
11
+ searchValue: string;
12
+ isOpen: boolean;
13
+ selected: SelectItemModel[];
14
+ originItems: SelectItemModel[];
15
+ innerItems: SelectInnerItemModel[];
16
+ uuid: string;
17
+ fields: Field[];
18
+ set items(items: any[]);
19
+ multiple: boolean;
20
+ isLoading: boolean;
21
+ searchable: boolean;
22
+ clearable: boolean;
23
+ closable: boolean;
24
+ size: SelectSizeTypes;
25
+ bindValue: string | null;
26
+ bindLabel: string | null;
27
+ bindIcon: string | null;
28
+ disabled: boolean;
29
+ readonly: boolean;
30
+ invalid: boolean;
31
+ invalidMessage: string | string[];
32
+ checkInvalid: true | false | null;
33
+ popupPosition: ConnectedPositionVariantsType;
34
+ dropdown: PopupComponent;
35
+ optionTemplate: TemplateRef<{
36
+ item: SelectInnerItemModel;
37
+ first: boolean;
38
+ last: boolean;
39
+ }>;
40
+ labelTemplate: TemplateRef<{
41
+ item: SelectInnerItemModel;
42
+ first: boolean;
43
+ last: boolean;
44
+ }>;
45
+ changed: EventEmitter<any>;
46
+ modelChange: EventEmitter<any>;
47
+ get readonlyClass(): string;
48
+ get checkValidClasses(): string;
49
+ get getClasses(): string;
50
+ get getSelectedLabels(): SelectInnerItemModel[];
51
+ get filteredItems(): SelectInnerItemModel[];
52
+ get isInvalidMessage(): boolean;
53
+ private onChange;
54
+ private onTouched;
55
+ registerOnChange(fn: any): void;
56
+ registerOnTouched(fn: () => {}): void;
57
+ writeValue(selected?: any | any[]): void;
58
+ updateValue(selectedItems: SelectInnerItemModel[]): void;
59
+ onSelect(item: any): void;
60
+ onUnselect(item: SelectInnerItemModel): void;
61
+ onOpen(event: MouseEvent): void;
62
+ onClear(event: MouseEvent): void;
63
+ togglePopup(isOpen: boolean): void;
64
+ asOption(option: SelectInnerItemModel): SelectInnerItemModel;
65
+ asLabel(label: SelectInnerItemModel): SelectInnerItemModel;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "mrx-select", never, { "fields": { "alias": "fields"; "required": false; }; "items": { "alias": "items"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindIcon": { "alias": "bindIcon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "invalidMessage": { "alias": "invalidMessage"; "required": false; }; "checkInvalid": { "alias": "checkInvalid"; "required": false; }; "popupPosition": { "alias": "popupPosition"; "required": false; }; }, { "changed": "changed"; "modelChange": "modelChange"; }, ["optionTemplate", "labelTemplate"], never, false, never>;
68
+ }
@@ -1,11 +1,14 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./components/select/select.component";
3
- import * as i2 from "./components/select-multi/select-multi.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "../../popup/popup.module";
2
+ import * as i1 from "./select.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "../../popup/popup.module";
6
+ import * as i5 from "../../loader/loader.module";
7
+ import * as i6 from "../input-text/input-text.module";
8
+ import * as i7 from "../../error-message/error-message.module";
9
+ import * as i8 from "../../save-state/save-state.module";
7
10
  export declare class SelectModule {
8
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectComponent, typeof i2.SelectMultiComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.PopupModule], [typeof i1.SelectComponent, typeof i2.SelectMultiComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.PopupModule, typeof i5.LoaderModule, typeof i6.InputTextModule, typeof i7.ErrorMessageModule, typeof i8.SaveStateModule], [typeof i1.SelectComponent]>;
10
13
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectModule>;
11
14
  }
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { PaginateOutputObject, PaginatorItem, PaginatorPosition } from './paginator.enum';
3
3
  import { DropdownPosition } from '@ng-select/ng-select/lib/ng-select.types';
4
+ import { ConnectedPositionVariantsType } from '../cdk-tooltip/constants';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class PaginatorComponent {
6
7
  position: PaginatorPosition | undefined;
@@ -14,6 +15,7 @@ export declare class PaginatorComponent {
14
15
  isPaginatorText: boolean;
15
16
  paginatorText: string;
16
17
  dropdownPosition: DropdownPosition;
18
+ popupPosition: ConnectedPositionVariantsType;
17
19
  set setPosition(value: PaginatorPosition | undefined);
18
20
  set setWithPageSize(value: boolean | undefined);
19
21
  dataStateChanged: EventEmitter<PaginateOutputObject>;
@@ -27,5 +29,5 @@ export declare class PaginatorComponent {
27
29
  onChangePageSize(value: number): void;
28
30
  trackByFn(index: number, item: any): any;
29
31
  static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "mrx-paginator", never, { "pageSizes": { "alias": "pageSizes"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "customClasses": { "alias": "customClasses"; "required": false; }; "isEmptyPaginator": { "alias": "isEmptyPaginator"; "required": false; }; "isPaginatorText": { "alias": "isPaginatorText"; "required": false; }; "paginatorText": { "alias": "paginatorText"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "setPosition": { "alias": "position"; "required": false; }; "setWithPageSize": { "alias": "withPageSize"; "required": false; }; }, { "dataStateChanged": "dataStateChanged"; }, never, never, false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "mrx-paginator", never, { "pageSizes": { "alias": "pageSizes"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "customClasses": { "alias": "customClasses"; "required": false; }; "isEmptyPaginator": { "alias": "isEmptyPaginator"; "required": false; }; "isPaginatorText": { "alias": "isPaginatorText"; "required": false; }; "paginatorText": { "alias": "paginatorText"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "popupPosition": { "alias": "popupPosition"; "required": false; }; "setPosition": { "alias": "position"; "required": false; }; "setWithPageSize": { "alias": "withPageSize"; "required": false; }; }, { "dataStateChanged": "dataStateChanged"; }, never, never, false, never>;
31
33
  }
@@ -3,8 +3,9 @@ import * as i1 from "./paginator.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
5
  import * as i4 from "../form/input-select/input-select.module";
6
+ import * as i5 from "../form/select/select.module";
6
7
  export declare class PaginatorModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<PaginatorModule, [typeof i1.PaginatorComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.InputSelectModule], [typeof i1.PaginatorComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PaginatorModule, [typeof i1.PaginatorComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.InputSelectModule, typeof i5.SelectModule], [typeof i1.PaginatorComponent]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<PaginatorModule>;
10
11
  }
@@ -4,6 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export declare class PopupComponent {
5
5
  closeAfterClick: boolean;
6
6
  templateRef: TemplateRef<any>;
7
+ headerTemplate: TemplateRef<HTMLElement>;
8
+ footerTemplate: TemplateRef<HTMLElement>;
7
9
  popupItemComponents: QueryList<PopupItemComponent>;
8
10
  toggle: EventEmitter<boolean>;
9
11
  _toggleInner: EventEmitter<boolean>;
@@ -11,5 +13,5 @@ export declare class PopupComponent {
11
13
  togglePopup(value: boolean): void;
12
14
  updatePopup(): void;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<PopupComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<PopupComponent, "mrx-popup", never, { "closeAfterClick": { "alias": "closeAfterClick"; "required": false; }; }, { "toggle": "toggle"; "_toggleInner": "_toggleInner"; "_updateInner": "_updateInner"; }, ["popupItemComponents"], never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopupComponent, "mrx-popup", never, { "closeAfterClick": { "alias": "closeAfterClick"; "required": false; }; }, { "toggle": "toggle"; "_toggleInner": "_toggleInner"; "_updateInner": "_updateInner"; }, ["headerTemplate", "footerTemplate", "popupItemComponents"], never, false, never>;
15
17
  }
@@ -2,8 +2,9 @@ import { EventEmitter, TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class PopupItemComponent {
4
4
  custom: boolean;
5
+ id: string | number;
5
6
  templateRef: TemplateRef<any>;
6
7
  clicked: EventEmitter<void>;
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<PopupItemComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<PopupItemComponent, "mrx-popup-item", never, { "custom": { "alias": "custom"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopupItemComponent, "mrx-popup-item", never, { "custom": { "alias": "custom"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], false, never>;
9
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myrta-ui",
3
- "version": "17.0.32",
3
+ "version": "17.0.33",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",
package/public-api.d.ts CHANGED
@@ -120,8 +120,7 @@ export * from './lib/components/form/input-select/input-select.module';
120
120
  export * from './lib/components/form/input-select/input-select.component';
121
121
  export * from './lib/components/form/input-select/input-select.enum';
122
122
  export * from './lib/components/form/select/select.module';
123
- export * from './lib/components/form/select/components/select/select.component';
124
- export * from './lib/components/form/select/components/select-multi/select-multi.component';
123
+ export * from './lib/components/form/select/select.component';
125
124
  export * from './lib/components/form/select/enums';
126
125
  export * from './lib/components/form/input-file/input-file.module';
127
126
  export * from './lib/components/form/input-file/input-file.component';
@@ -1,97 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { SelectSizeEnum } from '../../enums';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../../popup/components/popup/popup.component";
6
- import * as i2 from "../../../../popup/components/popup-item/popup-item.component";
7
- import * as i3 from "../../../../popup/directives/popup-trigger.directive";
8
- export class SelectComponent {
9
- isOpen = false;
10
- selected = null;
11
- items = [];
12
- size = 'large';
13
- bindValue = null;
14
- bindLabel = 'label';
15
- bindIcon = 'icon';
16
- dropdown;
17
- get getClasses() {
18
- return `${SelectSizeEnum[this.size]}`;
19
- }
20
- get getSelectedSingleLabels() {
21
- return this.selected?.[this.bindLabel] || '';
22
- }
23
- onChange = (value) => { };
24
- onTouched = () => { };
25
- registerOnChange(fn) {
26
- this.onChange = fn;
27
- }
28
- registerOnTouched(fn) {
29
- this.onTouched = fn;
30
- }
31
- writeValue(selected) {
32
- if (selected) {
33
- this.selected = selected;
34
- }
35
- }
36
- updateValue(selected) {
37
- this.selected = selected;
38
- // this.changed.emit(this.formatValue(insideValue));
39
- // this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})
40
- this.onChange(this.bindValue ? this.selected[this.bindValue] : this.selected);
41
- this.onTouched();
42
- }
43
- onSelect(item) {
44
- this.selected = item;
45
- this.updateValue(item);
46
- }
47
- onOpen(event) {
48
- event.stopPropagation();
49
- if (this.isOpen) {
50
- this.dropdown.togglePopup(false);
51
- }
52
- else {
53
- this.dropdown.togglePopup(true);
54
- }
55
- }
56
- onClear(event) {
57
- event.stopPropagation();
58
- this.selected = null;
59
- this.updateValue(this.selected);
60
- this.dropdown.togglePopup(false);
61
- }
62
- togglePopup(isOpen) {
63
- this.isOpen = isOpen;
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectComponent, selector: "mrx-select", inputs: { items: "items", size: "size", bindValue: "bindValue", bindLabel: "bindLabel", bindIcon: "bindIcon" }, providers: [
67
- {
68
- provide: NG_VALUE_ACCESSOR,
69
- useExisting: forwardRef(() => SelectComponent),
70
- multi: true,
71
- },
72
- ], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-select\" [class]=\"getClasses\">\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\">\r\n <div class=\"mrx-select__input__box\">\r\n @if (getSelectedSingleLabels) {\r\n <div class=\"mrx-select__input__value\">{{ getSelectedSingleLabels }}</div>\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (selected) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span class=\"mrx-icon icon-close icon-font-24\"></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n @if (isOpen) {\r\n <span class=\"mrx-icon icon-chevron-up icon-font-24\"></span>\r\n } @else {\r\n <span class=\"mrx-icon icon-chevron-down icon-font-24\"></span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"true\" (toggle)=\"togglePopup($event)\">\r\n @for (item of items; track item.name) {\r\n <mrx-popup-item [custom]=\"true\" (clicked)=\"onSelect(item)\">\r\n {{ item.label }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</div>\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:center;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}.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-3) - var(--border-width-default)) var(--spacing-4)}.mrx-select.mrx-select-lg .mrx-select__input__box{min-height:24px}.mrx-select__dropdown__item{padding:8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;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__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}\n"], dependencies: [{ kind: "component", type: i1.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i2.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom"], outputs: ["clicked"] }, { kind: "directive", type: i3.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'mrx-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
77
- {
78
- provide: NG_VALUE_ACCESSOR,
79
- useExisting: forwardRef(() => SelectComponent),
80
- multi: true,
81
- },
82
- ], template: "<div class=\"mrx-select\" [class]=\"getClasses\">\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\">\r\n <div class=\"mrx-select__input__box\">\r\n @if (getSelectedSingleLabels) {\r\n <div class=\"mrx-select__input__value\">{{ getSelectedSingleLabels }}</div>\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (selected) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span class=\"mrx-icon icon-close icon-font-24\"></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n @if (isOpen) {\r\n <span class=\"mrx-icon icon-chevron-up icon-font-24\"></span>\r\n } @else {\r\n <span class=\"mrx-icon icon-chevron-down icon-font-24\"></span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"true\" (toggle)=\"togglePopup($event)\">\r\n @for (item of items; track item.name) {\r\n <mrx-popup-item [custom]=\"true\" (clicked)=\"onSelect(item)\">\r\n {{ item.label }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</div>\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:center;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}.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-3) - var(--border-width-default)) var(--spacing-4)}.mrx-select.mrx-select-lg .mrx-select__input__box{min-height:24px}.mrx-select__dropdown__item{padding:8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;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__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}\n"] }]
83
- }], propDecorators: { items: [{
84
- type: Input
85
- }], size: [{
86
- type: Input
87
- }], bindValue: [{
88
- type: Input
89
- }], bindLabel: [{
90
- type: Input
91
- }], bindIcon: [{
92
- type: Input
93
- }], dropdown: [{
94
- type: ViewChild,
95
- args: ['dropdown']
96
- }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxhQUFhLENBQUM7Ozs7O0FBZ0I5RCxNQUFNLE9BQU8sZUFBZTtJQUNuQixNQUFNLEdBQVksS0FBSyxDQUFBO0lBQ3ZCLFFBQVEsR0FBZ0IsSUFBSSxDQUFDO0lBRTNCLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsSUFBSSxHQUFvQixPQUFPLENBQUM7SUFDaEMsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDaEMsU0FBUyxHQUFXLE9BQU8sQ0FBQztJQUM1QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBRVosUUFBUSxDQUFrQjtJQUVqRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRU8sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDOUIsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV0QixnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFZO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBYTtRQUN0QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsUUFBYTtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixvREFBb0Q7UUFDcEQsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFTO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFpQjtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFFdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFpQjtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFFdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFlO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLENBQUM7d0dBekVVLGVBQWU7NEZBQWYsZUFBZSxxSkFSZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsZ0lDdEJILHc1Q0FvQ0E7OzRGRFphLGVBQWU7a0JBYjNCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdFNpemVFbnVtLCBTZWxlY3RTaXplVHlwZXMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vcG9wdXAvY29tcG9uZW50cy9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZVxyXG4gIHB1YmxpYyBzZWxlY3RlZDogYW55IHwgYW55W10gPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBzaXplOiBTZWxlY3RTaXplVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xyXG4gIEBJbnB1dCgpIGJpbmRJY29uOiBzdHJpbmcgPSAnaWNvbic7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJykgZHJvcGRvd24hOiBQb3B1cENvbXBvbmVudDtcclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7U2VsZWN0U2l6ZUVudW1bdGhpcy5zaXplXX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTZWxlY3RlZFNpbmdsZUxhYmVscygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ/Llt0aGlzLmJpbmRMYWJlbF0gfHwgJydcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoc2VsZWN0ZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKHNlbGVjdGVkOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgIC8vIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMuZm9ybWF0VmFsdWUoaW5zaWRlVmFsdWUpKTtcclxuICAgIC8vIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IHRoaXMuZm9ybWF0VmFsdWUoaW5zaWRlVmFsdWUpLCBpZDogdGhpcy51dWlkfSlcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5iaW5kVmFsdWUgPyB0aGlzLnNlbGVjdGVkW3RoaXMuYmluZFZhbHVlXSA6IHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdChpdGVtOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBpdGVtXHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuXHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cChmYWxzZSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAodHJ1ZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsZWFyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsXHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnNlbGVjdGVkKVxyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUG9wdXAoaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdFwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX3dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dFwiIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19ib3hcIj5cclxuICAgICAgICBAaWYgKGdldFNlbGVjdGVkU2luZ2xlTGFiZWxzKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3ZhbHVlXCI+e3sgZ2V0U2VsZWN0ZWRTaW5nbGVMYWJlbHMgfX08L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fcGxhY2Vob2xkZXJcIj48L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgIEBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWl0ZW1cIiAoY2xpY2spPVwib25DbGVhcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9scy0taXRlbVwiIChjbGljayk9XCJvbk9wZW4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgQGlmIChpc09wZW4pIHtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tdXAgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxtcngtcG9wdXAgI2Ryb3Bkb3duIFtjbG9zZUFmdGVyQ2xpY2tdPVwidHJ1ZVwiICh0b2dnbGUpPVwidG9nZ2xlUG9wdXAoJGV2ZW50KVwiPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLm5hbWUpIHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2N1c3RvbV09XCJ0cnVlXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cclxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L21yeC1wb3B1cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,105 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Input, 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 * as i0 from "@angular/core";
7
- import * as i1 from "../../../../popup/components/popup/popup.component";
8
- import * as i2 from "../../../../popup/components/popup-item/popup-item.component";
9
- import * as i3 from "../../../../popup/directives/popup-trigger.directive";
10
- export class SelectMultiComponent {
11
- isOpen = false;
12
- originItems = [];
13
- innerItems = [];
14
- set items(items) {
15
- this.originItems = items;
16
- this.innerItems = getInnerItems(items);
17
- }
18
- size = 'large';
19
- bindValue = null;
20
- bindLabel = 'label';
21
- bindIcon = 'icon';
22
- dropdown;
23
- get getClasses() {
24
- return `${SelectSizeEnum[this.size]}`;
25
- }
26
- get getSelectedLabels() {
27
- return this.innerItems.filter(i => i.__selected);
28
- }
29
- onChange = (value) => {
30
- };
31
- onTouched = () => {
32
- };
33
- registerOnChange(fn) {
34
- this.onChange = fn;
35
- }
36
- registerOnTouched(fn) {
37
- this.onTouched = fn;
38
- }
39
- writeValue(selected = []) {
40
- if (selected) {
41
- this.innerItems = getInnerItems(this.originItems, selected);
42
- }
43
- }
44
- updateValue(selectedItems) {
45
- // this.changed.emit(this.formatValue(insideValue));
46
- // this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})
47
- this.onChange(selectedItems);
48
- this.onTouched();
49
- }
50
- onSelectMulti(item) {
51
- item.__selected = !item.__selected;
52
- this.dropdown.updatePopup();
53
- this.updateValue(getSelectedItems(this.innerItems, this.bindValue, true));
54
- }
55
- onOpen(event) {
56
- event.stopPropagation();
57
- if (this.isOpen) {
58
- this.dropdown.togglePopup(false);
59
- }
60
- else {
61
- this.dropdown.togglePopup(true);
62
- }
63
- }
64
- onClear(event) {
65
- event.stopPropagation();
66
- this.innerItems = this.innerItems.map(item => ({ ...item, __selected: false }));
67
- this.dropdown.togglePopup(false);
68
- this.updateValue([]);
69
- }
70
- togglePopup(isOpen) {
71
- this.isOpen = isOpen;
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectMultiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectMultiComponent, selector: "mrx-select-multi", inputs: { items: "items", size: "size", bindValue: "bindValue", bindLabel: "bindLabel", bindIcon: "bindIcon" }, providers: [
75
- {
76
- provide: NG_VALUE_ACCESSOR,
77
- useExisting: forwardRef(() => SelectMultiComponent),
78
- multi: true,
79
- },
80
- ], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-select\" [class]=\"getClasses\">\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\">\r\n <div class=\"mrx-select__input__box\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ item[bindLabel] }}\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span class=\"mrx-icon icon-close icon-font-24\"></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n @if (isOpen) {\r\n <span class=\"mrx-icon icon-chevron-up icon-font-24\"></span>\r\n } @else {\r\n <span class=\"mrx-icon icon-chevron-down icon-font-24\"></span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"false\" (toggle)=\"togglePopup($event)\">\r\n @for (item of innerItems; track item.__id) {\r\n <mrx-popup-item [custom]=\"true\" (clicked)=\"onSelectMulti(item)\">\r\n {{ item['label'] }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</div>\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:center;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}.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-3) - var(--border-width-default)) var(--spacing-4)}.mrx-select.mrx-select-lg .mrx-select__input__box{min-height:24px}.mrx-select__dropdown__item{padding:8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;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__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}\n"], dependencies: [{ kind: "component", type: i1.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i2.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom"], outputs: ["clicked"] }, { kind: "directive", type: i3.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectMultiComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'mrx-select-multi', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
85
- {
86
- provide: NG_VALUE_ACCESSOR,
87
- useExisting: forwardRef(() => SelectMultiComponent),
88
- multi: true,
89
- },
90
- ], template: "<div class=\"mrx-select\" [class]=\"getClasses\">\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\">\r\n <div class=\"mrx-select__input__box\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ item[bindLabel] }}\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span class=\"mrx-icon icon-close icon-font-24\"></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n @if (isOpen) {\r\n <span class=\"mrx-icon icon-chevron-up icon-font-24\"></span>\r\n } @else {\r\n <span class=\"mrx-icon icon-chevron-down icon-font-24\"></span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"false\" (toggle)=\"togglePopup($event)\">\r\n @for (item of innerItems; track item.__id) {\r\n <mrx-popup-item [custom]=\"true\" (clicked)=\"onSelectMulti(item)\">\r\n {{ item['label'] }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</div>\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:center;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}.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-3) - var(--border-width-default)) var(--spacing-4)}.mrx-select.mrx-select-lg .mrx-select__input__box{min-height:24px}.mrx-select__dropdown__item{padding:8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;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__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}\n"] }]
91
- }], propDecorators: { items: [{
92
- type: Input
93
- }], size: [{
94
- type: Input
95
- }], bindValue: [{
96
- type: Input
97
- }], bindLabel: [{
98
- type: Input
99
- }], bindIcon: [{
100
- type: Input
101
- }], dropdown: [{
102
- type: ViewChild,
103
- args: ['dropdown']
104
- }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC1tdWx0aS9zZWxlY3QtbXVsdGkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2NvbXBvbmVudHMvc2VsZWN0LW11bHRpL3NlbGVjdC1tdWx0aS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxhQUFhLENBQUM7QUFJOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQWVyRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFDeEIsV0FBVyxHQUFzQixFQUFFLENBQUM7SUFDcEMsVUFBVSxHQUEyQixFQUFFLENBQUM7SUFFL0MsSUFBYSxLQUFLLENBQUMsS0FBd0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVRLElBQUksR0FBb0IsT0FBTyxDQUFDO0lBQ2hDLFNBQVMsR0FBa0IsSUFBSSxDQUFD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TUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBT1ksS0FBSztzQkFBakIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWlCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2VsZWN0U2l6ZUVudW0sIFNlbGVjdFNpemVUeXBlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9wb3B1cC9jb21wb25lbnRzL3BvcHVwL3BvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdElubmVySXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1pbm5lci1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGdldElubmVySXRlbXMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1pbm5lci1pdGVtcy5oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtc2VsZWN0LW11bHRpJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW11bHRpLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VsZWN0LW11bHRpLmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdE11bHRpQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RNdWx0aUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIG9yaWdpbkl0ZW1zOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogU2VsZWN0SXRlbU1vZGVsW10pIHtcclxuICAgIHRoaXMub3JpZ2luSXRlbXMgPSBpdGVtcztcclxuXHJcbiAgICB0aGlzLmlubmVySXRlbXMgPSBnZXRJbm5lckl0ZW1zKGl0ZW1zKVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2l6ZTogU2VsZWN0U2l6ZVR5cGVzID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBiaW5kSWNvbjogc3RyaW5nID0gJ2ljb24nO1xyXG5cclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogUG9wdXBDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke1NlbGVjdFNpemVFbnVtW3RoaXMuc2l6ZV19YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0U2VsZWN0ZWRMYWJlbHMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IGkuX19zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHNlbGVjdGVkOiBhbnlbXSA9IFtdKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5pbm5lckl0ZW1zID0gZ2V0SW5uZXJJdGVtcyh0aGlzLm9yaWdpbkl0ZW1zLCBzZWxlY3RlZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShzZWxlY3RlZEl0ZW1zOiBTZWxlY3RJdGVtTW9kZWxbXSkge1xyXG4gICAgLy8gdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSkpO1xyXG4gICAgLy8gdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogdGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSksIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZEl0ZW1zKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RNdWx0aShpdGVtOiBhbnkpIHtcclxuICAgIGl0ZW0uX19zZWxlY3RlZCA9ICFpdGVtLl9fc2VsZWN0ZWQ7XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bi51cGRhdGVQb3B1cCgpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUoZ2V0U2VsZWN0ZWRJdGVtcyh0aGlzLmlubmVySXRlbXMsIHRoaXMuYmluZFZhbHVlLCB0cnVlKSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5pbm5lckl0ZW1zLm1hcChpdGVtID0+ICh7Li4uaXRlbSwgX19zZWxlY3RlZDogZmFsc2V9KSk7XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUG9wdXAoaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X193cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRcIiBbbXJ4UG9wdXBUcmlnZ2VyXT1cImRyb3Bkb3duXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fYm94XCI+XHJcbiAgICAgICAgQGlmIChnZXRTZWxlY3RlZExhYmVscy5sZW5ndGgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fdmFsdWVcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgIHt7IGl0ZW1bYmluZExhYmVsXSB9fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fcGxhY2Vob2xkZXJcIj48L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pdGVtXCIgKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWl0ZW1cIiAoY2xpY2spPVwib25PcGVuKCRldmVudClcIj5cclxuICAgICAgICAgIEBpZiAoaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXVwIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1kb3duIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bXJ4LXBvcHVwICNkcm9wZG93biBbY2xvc2VBZnRlckNsaWNrXT1cImZhbHNlXCIgKHRvZ2dsZSk9XCJ0b2dnbGVQb3B1cCgkZXZlbnQpXCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgaW5uZXJJdGVtczsgdHJhY2sgaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgPG1yeC1wb3B1cC1pdGVtIFtjdXN0b21dPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uU2VsZWN0TXVsdGkoaXRlbSlcIj5cclxuICAgICAgICAgIHt7IGl0ZW1bJ2xhYmVsJ10gfX1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L21yeC1wb3B1cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { ControlValueAccessor } from '@angular/forms';
2
- import { SelectSizeTypes } from '../../enums';
3
- import { PopupComponent } from '../../../../popup/components/popup/popup.component';
4
- import * as i0 from "@angular/core";
5
- export declare class SelectComponent implements ControlValueAccessor {
6
- isOpen: boolean;
7
- selected: any | any[];
8
- items: any[];
9
- size: SelectSizeTypes;
10
- bindValue: string | null;
11
- bindLabel: string;
12
- bindIcon: string;
13
- dropdown: PopupComponent;
14
- get getClasses(): string;
15
- get getSelectedSingleLabels(): string;
16
- private onChange;
17
- private onTouched;
18
- registerOnChange(fn: any): void;
19
- registerOnTouched(fn: () => {}): void;
20
- writeValue(selected: any): void;
21
- updateValue(selected: any): void;
22
- onSelect(item: any): void;
23
- onOpen(event: MouseEvent): void;
24
- onClear(event: MouseEvent): void;
25
- togglePopup(isOpen: boolean): void;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "mrx-select", never, { "items": { "alias": "items"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindIcon": { "alias": "bindIcon"; "required": false; }; }, {}, never, never, false, never>;
28
- }
@@ -1,31 +0,0 @@
1
- import { ControlValueAccessor } from '@angular/forms';
2
- import { SelectSizeTypes } from '../../enums';
3
- import { PopupComponent } from '../../../../popup/components/popup/popup.component';
4
- import { SelectInnerItemModel } from '../../models/select-inner-item.model';
5
- import { SelectItemModel } from '../../models/select-item.model';
6
- import * as i0 from "@angular/core";
7
- export declare class SelectMultiComponent implements ControlValueAccessor {
8
- isOpen: boolean;
9
- originItems: SelectItemModel[];
10
- innerItems: SelectInnerItemModel[];
11
- set items(items: SelectItemModel[]);
12
- size: SelectSizeTypes;
13
- bindValue: string | null;
14
- bindLabel: string;
15
- bindIcon: string;
16
- dropdown: PopupComponent;
17
- get getClasses(): string;
18
- get getSelectedLabels(): SelectInnerItemModel[];
19
- private onChange;
20
- private onTouched;
21
- registerOnChange(fn: any): void;
22
- registerOnTouched(fn: () => {}): void;
23
- writeValue(selected?: any[]): void;
24
- updateValue(selectedItems: SelectItemModel[]): void;
25
- onSelectMulti(item: any): void;
26
- onOpen(event: MouseEvent): void;
27
- onClear(event: MouseEvent): void;
28
- togglePopup(isOpen: boolean): void;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectMultiComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectMultiComponent, "mrx-select-multi", never, { "items": { "alias": "items"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindIcon": { "alias": "bindIcon"; "required": false; }; }, {}, never, never, false, never>;
31
- }