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,3 @@
1
+ import { SelectItemModel } from '../models/select-item.model';
2
+ import { SelectInnerItemModel } from '../models/select-inner-item.model';
3
+ export declare const getInnerItems: (items: SelectItemModel[], selectedItems?: SelectItemModel[]) => SelectInnerItemModel[];
@@ -1,2 +1,2 @@
1
- import { SelectItemModel } from "../models/select-item.model";
2
- export declare const getSelectedItems: (selected: SelectItemModel[], bindValue: string | null) => any;
1
+ import { SelectInnerItemModel } from '../models/select-inner-item.model';
2
+ export declare const getSelectedItems: (innerItems: SelectInnerItemModel[], bindValue: string | null, bindLabel: string | null) => any;
@@ -0,0 +1,2 @@
1
+ import { SelectItemModel } from "../models/select-item.model";
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.31",
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,98 +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
- import * as i4 from "@angular/common";
9
- export class SelectComponent {
10
- isOpen = false;
11
- selected = null;
12
- items = [];
13
- size = 'large';
14
- bindValue = null;
15
- bindLabel = 'label';
16
- bindIcon = 'icon';
17
- dropdown;
18
- get getClasses() {
19
- return `${SelectSizeEnum[this.size]}`;
20
- }
21
- get getSelectedSingleLabels() {
22
- return this.selected?.[this.bindLabel] || '';
23
- }
24
- onChange = (value) => { };
25
- onTouched = () => { };
26
- registerOnChange(fn) {
27
- this.onChange = fn;
28
- }
29
- registerOnTouched(fn) {
30
- this.onTouched = fn;
31
- }
32
- writeValue(selected) {
33
- if (selected) {
34
- this.selected = selected;
35
- }
36
- }
37
- updateValue(selected) {
38
- this.selected = selected;
39
- // this.changed.emit(this.formatValue(insideValue));
40
- // this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})
41
- this.onChange(this.bindValue ? this.selected[this.bindValue] : this.selected);
42
- this.onTouched();
43
- }
44
- onSelect(item) {
45
- this.selected = item;
46
- this.updateValue(item);
47
- }
48
- onOpen(event) {
49
- event.stopPropagation();
50
- if (this.isOpen) {
51
- this.dropdown.togglePopup(false);
52
- }
53
- else {
54
- this.dropdown.togglePopup(true);
55
- }
56
- }
57
- onClear(event) {
58
- event.stopPropagation();
59
- this.selected = null;
60
- this.updateValue(this.selected);
61
- this.dropdown.togglePopup(false);
62
- }
63
- togglePopup(isOpen) {
64
- this.isOpen = isOpen;
65
- }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- 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: [
68
- {
69
- provide: NG_VALUE_ACCESSOR,
70
- useExisting: forwardRef(() => SelectComponent),
71
- multi: true,
72
- },
73
- ], 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 {{ selected | json }}\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"] }, { kind: "pipe", type: i4.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'mrx-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
78
- {
79
- provide: NG_VALUE_ACCESSOR,
80
- useExisting: forwardRef(() => SelectComponent),
81
- multi: true,
82
- },
83
- ], template: "<div class=\"mrx-select\" [class]=\"getClasses\">\r\n <div class=\"mrx-select__wrapper\">\r\n {{ selected | json }}\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"] }]
84
- }], propDecorators: { items: [{
85
- type: Input
86
- }], size: [{
87
- type: Input
88
- }], bindValue: [{
89
- type: Input
90
- }], bindLabel: [{
91
- type: Input
92
- }], bindIcon: [{
93
- type: Input
94
- }], dropdown: [{
95
- type: ViewChild,
96
- args: ['dropdown']
97
- }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxhQUFhLENBQUM7Ozs7OztBQWdCOUQsTUFBTSxPQUFPLGVBQWU7SUFDbkIsTUFBTSxHQUFZLEtBQUssQ0FBQTtJQUN2QixRQUFRLEdBQWdCLElBQUksQ0FBQztJQUUzQixLQUFLLEdBQVUsRUFBRSxDQUFDO0lBQ2xCLElBQUksR0FBb0IsT0FBTyxDQUFDO0lBQ2hDLFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLFNBQVMsR0FBVyxPQUFPLENBQUM7SUFDNUIsUUFBUSxHQUFXLE1BQU0sQ0FBQztJQUVaLFFBQVEsQ0FBa0I7SUFFakQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDOUMsQ0FBQztJQUVPLFFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzlCLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFdEIsZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBWTtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWE7UUFDdEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsb0RBQW9EO1FBQ3BELCtFQUErRTtRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBUztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBRXZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTSxPQUFPLENBQUMsS0FBaUI7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBRXZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRS9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFTSxXQUFXLENBQUMsTUFBZTtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN0QixDQUFDO3dHQXpFVSxlQUFlOzRGQUFmLGVBQWUscUpBUmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGdJQ3RCSCxxN0NBcUNBOzs0RkRiYSxlQUFlO2tCQWIzQixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBTVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3BvcHVwL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgaXNPcGVuOiBib29sZWFuID0gZmFsc2VcclxuICBwdWJsaWMgc2VsZWN0ZWQ6IGFueSB8IGFueVtdID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgc2l6ZTogU2VsZWN0U2l6ZVR5cGVzID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBiaW5kSWNvbjogc3RyaW5nID0gJ2ljb24nO1xyXG5cclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogUG9wdXBDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke1NlbGVjdFNpemVFbnVtW3RoaXMuc2l6ZV19YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0U2VsZWN0ZWRTaW5nbGVMYWJlbHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5bdGhpcy5iaW5kTGFiZWxdIHx8ICcnXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHNlbGVjdGVkOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShzZWxlY3RlZDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAvLyB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLmZvcm1hdFZhbHVlKGluc2lkZVZhbHVlKSk7XHJcbiAgICAvLyB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiB0aGlzLmZvcm1hdFZhbHVlKGluc2lkZVZhbHVlKSwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuYmluZFZhbHVlID8gdGhpcy5zZWxlY3RlZFt0aGlzLmJpbmRWYWx1ZV0gOiB0aGlzLnNlbGVjdGVkKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3QoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gaXRlbVxyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXHJcblxyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKHRydWUpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkID0gbnVsbFxyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5zZWxlY3RlZClcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc09wZW4gPSBpc09wZW5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X193cmFwcGVyXCI+XHJcbiAgICB7eyBzZWxlY3RlZCB8IGpzb24gfX1cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dFwiIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19ib3hcIj5cclxuICAgICAgICBAaWYgKGdldFNlbGVjdGVkU2luZ2xlTGFiZWxzKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3ZhbHVlXCI+e3sgZ2V0U2VsZWN0ZWRTaW5nbGVMYWJlbHMgfX08L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fcGxhY2Vob2xkZXJcIj48L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgIEBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWl0ZW1cIiAoY2xpY2spPVwib25DbGVhcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9scy0taXRlbVwiIChjbGljayk9XCJvbk9wZW4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgQGlmIChpc09wZW4pIHtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tdXAgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxtcngtcG9wdXAgI2Ryb3Bkb3duIFtjbG9zZUFmdGVyQ2xpY2tdPVwidHJ1ZVwiICh0b2dnbGUpPVwidG9nZ2xlUG9wdXAoJGV2ZW50KVwiPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLm5hbWUpIHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2N1c3RvbV09XCJ0cnVlXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cclxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L21yeC1wb3B1cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,112 +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 { isEqual } from 'lodash-es';
6
- import { cleanSelectedItems } from '../../helpers/clean-selected-items.helper';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../../popup/components/popup/popup.component";
9
- import * as i2 from "../../../../popup/components/popup-item/popup-item.component";
10
- import * as i3 from "../../../../popup/directives/popup-trigger.directive";
11
- export class SelectMultiComponent {
12
- isOpen = false;
13
- originItems = [];
14
- innerItems = [];
15
- set items(list) {
16
- this.originItems = list;
17
- this.innerItems = list.map((item, idx) => ({
18
- ...item, __id: item['id'] || idx, __selected: false
19
- }));
20
- }
21
- size = 'large';
22
- bindValue = null;
23
- bindLabel = 'label';
24
- bindIcon = 'icon';
25
- dropdown;
26
- get getClasses() {
27
- return `${SelectSizeEnum[this.size]}`;
28
- }
29
- get getSelectedMultiLabels() {
30
- return this.innerItems.filter(i => i.__selected);
31
- }
32
- onChange = (value) => {
33
- };
34
- onTouched = () => {
35
- };
36
- registerOnChange(fn) {
37
- this.onChange = fn;
38
- }
39
- registerOnTouched(fn) {
40
- this.onTouched = fn;
41
- }
42
- writeValue(selected = []) {
43
- if (selected) {
44
- this.innerItems = this.originItems.map((item, idx) => {
45
- const findItem = selected.find(i => isEqual(i, item));
46
- return { ...item, __id: item['id'] || idx, __selected: !!findItem };
47
- });
48
- }
49
- }
50
- updateValue(selected) {
51
- console.log(selected);
52
- // this.changed.emit(this.formatValue(insideValue));
53
- // this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})
54
- // this.onChange(getSelectedItems(this.selected, this.bindValue));
55
- this.onTouched();
56
- }
57
- onSelectMulti(item) {
58
- item.__selected = !item.__selected;
59
- this.dropdown.updatePopup();
60
- this.updateValue(getSelectedItems(cleanSelectedItems(this.innerItems.filter(item => item.__selected)), this.bindValue));
61
- }
62
- onOpen(event) {
63
- event.stopPropagation();
64
- if (this.isOpen) {
65
- this.dropdown.togglePopup(false);
66
- }
67
- else {
68
- this.dropdown.togglePopup(true);
69
- }
70
- }
71
- onClear(event) {
72
- event.stopPropagation();
73
- this.innerItems = this.innerItems.map(item => ({ ...item, __selected: false }));
74
- this.dropdown.togglePopup(false);
75
- this.updateValue([]);
76
- }
77
- togglePopup(isOpen) {
78
- this.isOpen = isOpen;
79
- }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectMultiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
- 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: [
82
- {
83
- provide: NG_VALUE_ACCESSOR,
84
- useExisting: forwardRef(() => SelectMultiComponent),
85
- multi: true,
86
- },
87
- ], 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 (getSelectedMultiLabels.length) {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedMultiLabels; 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 (getSelectedMultiLabels.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 });
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectMultiComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'mrx-select-multi', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
92
- {
93
- provide: NG_VALUE_ACCESSOR,
94
- useExisting: forwardRef(() => SelectMultiComponent),
95
- multi: true,
96
- },
97
- ], 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 (getSelectedMultiLabels.length) {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedMultiLabels; 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 (getSelectedMultiLabels.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"] }]
98
- }], propDecorators: { items: [{
99
- type: Input
100
- }], size: [{
101
- type: Input
102
- }], bindValue: [{
103
- type: Input
104
- }], bindLabel: [{
105
- type: Input
106
- }], bindIcon: [{
107
- type: Input
108
- }], dropdown: [{
109
- type: ViewChild,
110
- args: ['dropdown']
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC1tdWx0aS9zZWxlY3QtbXVsdGkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2NvbXBvbmVudHMvc2VsZWN0LW11bHRpL3NlbGVjdC1tdWx0aS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxhQUFhLENBQUM7QUFJOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFlL0UsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLFdBQVcsR0FBc0IsRUFBRSxDQUFDO0lBQ3BDLFVBQVUsR0FBMkIsRUFBRSxDQUFDO0lBRy9DLElBQWEsS0FBSyxDQUFDLElBQXVCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRXhCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUs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RyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFlO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7d0dBL0ZVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDJKQVJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixnSUMzQkgsNmlEQXdDQTs7NEZEWGEsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFRWSxLQUFLO3NCQUFqQixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3BvcHVwL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0SW5uZXJJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWlubmVyLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBnZXRTZWxlY3RlZEl0ZW1zIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtc2VsZWN0ZWQtaXRlbXMuaGVscGVyJztcclxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IGNsZWFuU2VsZWN0ZWRJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvY2xlYW4tc2VsZWN0ZWQtaXRlbXMuaGVscGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdC1tdWx0aScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1tdWx0aS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC1tdWx0aS5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RNdWx0aUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcmlnaW5JdGVtczogU2VsZWN0SXRlbU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgaW5uZXJJdGVtczogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSA9IFtdO1xyXG5cclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGxpc3Q6IFNlbGVjdEl0ZW1Nb2RlbFtdKSB7XHJcbiAgICB0aGlzLm9yaWdpbkl0ZW1zID0gbGlzdDtcclxuXHJcbiAgICB0aGlzLmlubmVySXRlbXMgPSBsaXN0Lm1hcCgoaXRlbSwgaWR4KSA9PiAoe1xyXG4gICAgICAuLi5pdGVtLCBfX2lkOiBpdGVtWydpZCddIHx8IGlkeCwgX19zZWxlY3RlZDogZmFsc2VcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNpemU6IFNlbGVjdFNpemVUeXBlcyA9ICdsYXJnZSc7XHJcbiAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBiaW5kTGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XHJcbiAgQElucHV0KCkgYmluZEljb246IHN0cmluZyA9ICdpY29uJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IFBvcHVwQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtTZWxlY3RTaXplRW51bVt0aGlzLnNpemVdfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNlbGVjdGVkTXVsdGlMYWJlbHMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IGkuX19zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHNlbGVjdGVkOiBhbnlbXSA9IFtdKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5vcmlnaW5JdGVtcy5tYXAoKGl0ZW0sIGlkeCk6IFNlbGVjdElubmVySXRlbU1vZGVsID0+IHtcclxuICAgICAgICBjb25zdCBmaW5kSXRlbSA9IHNlbGVjdGVkLmZpbmQoaSA9PiBpc0VxdWFsKGksIGl0ZW0pKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHsuLi5pdGVtLCBfX2lkOiBpdGVtWydpZCddIHx8IGlkeCwgX19zZWxlY3RlZDogISFmaW5kSXRlbX07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKHNlbGVjdGVkOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKHNlbGVjdGVkKTtcclxuICAgIC8vIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMuZm9ybWF0VmFsdWUoaW5zaWRlVmFsdWUpKTtcclxuICAgIC8vIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IHRoaXMuZm9ybWF0VmFsdWUoaW5zaWRlVmFsdWUpLCBpZDogdGhpcy51dWlkfSlcclxuICAgIC8vIHRoaXMub25DaGFuZ2UoZ2V0U2VsZWN0ZWRJdGVtcyh0aGlzLnNlbGVjdGVkLCB0aGlzLmJpbmRWYWx1ZSkpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdE11bHRpKGl0ZW06IGFueSkge1xyXG4gICAgaXRlbS5fX3NlbGVjdGVkID0gIWl0ZW0uX19zZWxlY3RlZDtcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLnVwZGF0ZVBvcHVwKCk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZShcclxuICAgICAgZ2V0U2VsZWN0ZWRJdGVtcyhcclxuICAgICAgICBjbGVhblNlbGVjdGVkSXRlbXModGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uX19zZWxlY3RlZCkpLFxyXG4gICAgICAgIHRoaXMuYmluZFZhbHVlXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cChmYWxzZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIF9fc2VsZWN0ZWQ6IGZhbHNlfSkpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc09wZW4gPSBpc09wZW47XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtc2VsZWN0XCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fd3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0XCIgW21yeFBvcHVwVHJpZ2dlcl09XCJkcm9wZG93blwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2JveFwiPlxyXG4gICAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRNdWx0aUxhYmVscy5sZW5ndGgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fdmFsdWVcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZE11bHRpTGFiZWxzOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgICAge3sgaXRlbVtiaW5kTGFiZWxdIH19XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19wbGFjZWhvbGRlclwiPjwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzXCI+XHJcbiAgICAgICAgQGlmIChnZXRTZWxlY3RlZE11bHRpTGFiZWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9scy0taXRlbVwiIChjbGljayk9XCJvbkNsZWFyKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pdGVtXCIgKGNsaWNrKT1cIm9uT3BlbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICBAaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi11cCBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1yeC1wb3B1cCAjZHJvcGRvd24gW2Nsb3NlQWZ0ZXJDbGlja109XCJmYWxzZVwiICh0b2dnbGUpPVwidG9nZ2xlUG9wdXAoJGV2ZW50KVwiPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIGlubmVySXRlbXM7IHRyYWNrIGl0ZW0uX19pZCkge1xyXG4gICAgICAgIDxtcngtcG9wdXAtaXRlbSBbY3VzdG9tXT1cInRydWVcIiAoY2xpY2tlZCk9XCJvblNlbGVjdE11bHRpKGl0ZW0pXCI+XHJcbiAgICAgICAgICB7eyBpdGVtWydsYWJlbCddIH19XHJcbiAgICAgICAgPC9tcngtcG9wdXAtaXRlbT5cclxuICAgICAgfVxyXG4gICAgPC9tcngtcG9wdXA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -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(list: SelectItemModel[]);
12
- size: SelectSizeTypes;
13
- bindValue: string | null;
14
- bindLabel: string;
15
- bindIcon: string;
16
- dropdown: PopupComponent;
17
- get getClasses(): string;
18
- get getSelectedMultiLabels(): SelectInnerItemModel[];
19
- private onChange;
20
- private onTouched;
21
- registerOnChange(fn: any): void;
22
- registerOnTouched(fn: () => {}): void;
23
- writeValue(selected?: any[]): void;
24
- updateValue(selected: any): 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
- }