suis 0.10.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/README.md +3 -0
  2. package/esm2022/lib/components/index.mjs +4 -1
  3. package/esm2022/lib/components/suis-alert/suis-alert.component.mjs +1 -1
  4. package/esm2022/lib/components/suis-button/suis-button.component.mjs +2 -2
  5. package/esm2022/lib/components/suis-chip/suis-chip.component.mjs +2 -2
  6. package/esm2022/lib/components/suis-icon/suis-icon-type.pipe.mjs +5 -1
  7. package/esm2022/lib/components/suis-icon/suis-icon.component.mjs +10 -4
  8. package/esm2022/lib/components/suis-icon/suis-icon.enums.mjs +3 -1
  9. package/esm2022/lib/components/suis-input-chips/suis-input-chips.component.mjs +2 -2
  10. package/esm2022/lib/components/suis-input-number/index.mjs +2 -0
  11. package/esm2022/lib/components/suis-input-number/suis-input-number.component.mjs +51 -0
  12. package/esm2022/lib/components/suis-input-text/suis-input-text.component.mjs +4 -4
  13. package/esm2022/lib/components/suis-select/index.mjs +2 -0
  14. package/esm2022/lib/components/suis-select/suis-select-is-selected.pipe.mjs +18 -0
  15. package/esm2022/lib/components/suis-select/suis-select-label.pipe.mjs +23 -0
  16. package/esm2022/lib/components/suis-select/suis-select.component.mjs +69 -0
  17. package/esm2022/lib/components/suis-select-option/index.mjs +4 -0
  18. package/esm2022/lib/components/suis-select-option/suis-select-option.component.mjs +46 -0
  19. package/esm2022/lib/components/suis-select-option/suis-select-option.directive.mjs +21 -0
  20. package/esm2022/lib/components/suis-select-option/suis-select-option.interfaces.mjs +2 -0
  21. package/esm2022/lib/shared/classes/index.mjs +4 -0
  22. package/esm2022/lib/shared/classes/suis-button.base.mjs +35 -0
  23. package/esm2022/lib/shared/classes/suis-input.base.mjs +60 -0
  24. package/esm2022/lib/shared/classes/suis-select.base.mjs +80 -0
  25. package/esm2022/lib/shared/pipes/suis-select-filter-options.pipe.mjs +20 -0
  26. package/esm2022/lib/shared/pipes/suis-select-sort-options.pipe.mjs +18 -0
  27. package/fesm2022/suis.mjs +323 -10
  28. package/fesm2022/suis.mjs.map +1 -1
  29. package/lib/components/index.d.ts +3 -0
  30. package/lib/components/suis-button/suis-button.component.d.ts +1 -1
  31. package/lib/components/suis-icon/suis-icon.component.d.ts +6 -2
  32. package/lib/components/suis-icon/suis-icon.enums.d.ts +3 -1
  33. package/lib/components/suis-input-chips/suis-input-chips.component.d.ts +1 -1
  34. package/lib/components/suis-input-number/index.d.ts +1 -0
  35. package/lib/components/suis-input-number/suis-input-number.component.d.ts +14 -0
  36. package/lib/components/suis-input-text/suis-input-text.component.d.ts +1 -1
  37. package/lib/components/suis-select/index.d.ts +1 -0
  38. package/lib/components/suis-select/suis-select-is-selected.pipe.d.ts +7 -0
  39. package/lib/components/suis-select/suis-select-label.pipe.d.ts +8 -0
  40. package/lib/components/suis-select/suis-select.component.d.ts +12 -0
  41. package/lib/components/suis-select-option/index.d.ts +3 -0
  42. package/lib/components/suis-select-option/suis-select-option.component.d.ts +34 -0
  43. package/lib/components/suis-select-option/suis-select-option.directive.d.ts +10 -0
  44. package/lib/components/suis-select-option/suis-select-option.interfaces.d.ts +4 -0
  45. package/lib/{classes → shared/classes}/index.d.ts +1 -0
  46. package/lib/{classes → shared/classes}/suis-button.base.d.ts +1 -1
  47. package/lib/{classes → shared/classes}/suis-input.base.d.ts +3 -1
  48. package/lib/shared/classes/suis-select.base.d.ts +46 -0
  49. package/lib/shared/pipes/suis-select-filter-options.pipe.d.ts +8 -0
  50. package/lib/shared/pipes/suis-select-sort-options.pipe.d.ts +8 -0
  51. package/package.json +1 -1
  52. package/esm2022/lib/classes/index.mjs +0 -3
  53. package/esm2022/lib/classes/suis-button.base.mjs +0 -35
  54. package/esm2022/lib/classes/suis-input.base.mjs +0 -58
@@ -0,0 +1,4 @@
1
+ export * from './suis-select-option.component';
2
+ export * from './suis-select-option.directive';
3
+ export * from './suis-select-option.interfaces';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtc2VsZWN0LW9wdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Vpcy1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWlzLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlcyc7XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SuisIconComponent, SuisIconType } from '../suis-icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ class SuisSelectOptionComponent {
7
+ constructor() {
8
+ /** @internal */
9
+ this.SuisIconType = SuisIconType;
10
+ /**
11
+ * Adds checkmark icon to checkbox (if checkbox input set to true). By default set to false.
12
+ */
13
+ this.selected = false;
14
+ /**
15
+ * Display checkbox next to option label. By default set to true.
16
+ */
17
+ this.checkbox = true;
18
+ /**
19
+ * Emits on option selected.
20
+ */
21
+ this.clicked = new EventEmitter();
22
+ }
23
+ /** @internal */
24
+ onClick() {
25
+ this.clicked.emit();
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisSelectOptionComponent, isStandalone: true, selector: "suis-select-option", inputs: { option: "option", templateRef: "templateRef", selected: "selected", checkbox: "checkbox" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n class=\"suis-select-option\"\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-select-option__checkbox\"\n [class.suis-select-option__checkbox--selected]=\"selected\"\n *ngIf=\"checkbox\"\n >\n <suis-icon\n *ngIf=\"selected\"\n [bold]=\"true\"\n color=\"primary\"\n [type]=\"SuisIconType.CHECK\"\n size=\"sm\"\n ></suis-icon>\n </span>\n <span class=\"suis-select-option__label\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option?.label }}\n </ng-template>\n </span>\n</button>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suis-select-option{width:100%;display:flex;align-items:center;background-color:transparent;border:none;border-bottom:1px solid #dcdde1;padding:.375rem 1rem;cursor:pointer}.suis-select-option:hover{background-color:#f5f6fa}.suis-select-option__checkbox{width:1rem;height:1rem;border:.0625rem solid #dcdde1;margin-right:.75rem;display:flex;justify-content:center;align-items:center}.suis-select-option__checkbox--selected{border:.0625rem solid #bcbcbc}.suis-select-option__label{display:flex;justify-content:left;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SuisIconComponent, selector: "suis-icon", inputs: ["size", "color", "type", "outlined", "filled", "pointer", "bold"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ }
30
+ export { SuisSelectOptionComponent };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectOptionComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'suis-select-option', standalone: true, imports: [CommonModule, SuisIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"suis-select-option\"\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-select-option__checkbox\"\n [class.suis-select-option__checkbox--selected]=\"selected\"\n *ngIf=\"checkbox\"\n >\n <suis-icon\n *ngIf=\"selected\"\n [bold]=\"true\"\n color=\"primary\"\n [type]=\"SuisIconType.CHECK\"\n size=\"sm\"\n ></suis-icon>\n </span>\n <span class=\"suis-select-option__label\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option?.label }}\n </ng-template>\n </span>\n</button>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suis-select-option{width:100%;display:flex;align-items:center;background-color:transparent;border:none;border-bottom:1px solid #dcdde1;padding:.375rem 1rem;cursor:pointer}.suis-select-option:hover{background-color:#f5f6fa}.suis-select-option__checkbox{width:1rem;height:1rem;border:.0625rem solid #dcdde1;margin-right:.75rem;display:flex;justify-content:center;align-items:center}.suis-select-option__checkbox--selected{border:.0625rem solid #bcbcbc}.suis-select-option__label{display:flex;justify-content:left;align-items:center}\n"] }]
34
+ }], propDecorators: { option: [{
35
+ type: Input,
36
+ args: [{ required: true }]
37
+ }], templateRef: [{
38
+ type: Input
39
+ }], selected: [{
40
+ type: Input
41
+ }], checkbox: [{
42
+ type: Input
43
+ }], clicked: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL2NvbXBvbmVudHMvc3Vpcy1zZWxlY3Qtb3B0aW9uL3N1aXMtc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtc2VsZWN0LW9wdGlvbi9zdWlzLXNlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFFL0QsTUFRYSx5QkFBeUI7SUFSdEM7UUFTRSxnQkFBZ0I7UUFDUCxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQVlyQzs7V0FFRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWxDOztXQUVHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FNOUM7SUFKQyxnQkFBZ0I7SUFDaEIsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0FoQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUIscU5DcEJ0Qyxnd0JBOEJBLDZyQkRmWSxZQUFZLDBTQUFFLGlCQUFpQjs7U0FLOUIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBUnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxtQkFHekIsdUJBQXVCLENBQUMsTUFBTTs4QkFTcEIsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWlzU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9zdWlzLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdWlzSWNvbkNvbXBvbmVudCwgU3Vpc0ljb25UeXBlIH0gZnJvbSAnLi4vc3Vpcy1pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Vpcy1zZWxlY3Qtb3B0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3Vpc0ljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Vpcy1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Vpcy1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdWlzU2VsZWN0T3B0aW9uQ29tcG9uZW50PFQ+IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICByZWFkb25seSBTdWlzSWNvblR5cGUgPSBTdWlzSWNvblR5cGU7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBkYXRhLiBUeXBlIG9mIFN1aXNTZWxlY3RPcHRpb248VD4uIFJlcXVpcmVkIGlucHV0LlxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgb3B0aW9uPzogU3Vpc1NlbGVjdE9wdGlvbjxUPjtcblxuICAvKipcbiAgICogVGVtcGxhdGUgdG8gYmUgZGlzcGxheWVkIGluc3RlYWQgb2Ygb3B0aW9uJ3MgbGFiZWwuXG4gICAqL1xuICBASW5wdXQoKSB0ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBTdWlzU2VsZWN0T3B0aW9uPFQ+IH0+O1xuXG4gIC8qKlxuICAgKiBBZGRzIGNoZWNrbWFyayBpY29uIHRvIGNoZWNrYm94IChpZiBjaGVja2JveCBpbnB1dCBzZXQgdG8gdHJ1ZSkuIEJ5IGRlZmF1bHQgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGlzcGxheSBjaGVja2JveCBuZXh0IHRvIG9wdGlvbiBsYWJlbC4gQnkgZGVmYXVsdCBzZXQgdG8gdHJ1ZS5cbiAgICovXG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRW1pdHMgb24gb3B0aW9uIHNlbGVjdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJzdWlzLXNlbGVjdC1vcHRpb25cIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIlxuPlxuICA8c3BhblxuICAgIGNsYXNzPVwic3Vpcy1zZWxlY3Qtb3B0aW9uX19jaGVja2JveFwiXG4gICAgW2NsYXNzLnN1aXMtc2VsZWN0LW9wdGlvbl9fY2hlY2tib3gtLXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAqbmdJZj1cImNoZWNrYm94XCJcbiAgPlxuICAgIDxzdWlzLWljb25cbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRcIlxuICAgICAgW2JvbGRdPVwidHJ1ZVwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgW3R5cGVdPVwiU3Vpc0ljb25UeXBlLkNIRUNLXCJcbiAgICAgIHNpemU9XCJzbVwiXG4gICAgPjwvc3Vpcy1pY29uPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwic3Vpcy1zZWxlY3Qtb3B0aW9uX19sYWJlbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVJlZjsgZWxzZSBsYWJlbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gICAgICB7eyBvcHRpb24/LmxhYmVsIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SuisSelectOptionDirective {
4
+ constructor() {
5
+ /**
6
+ * Custom template of the option.
7
+ */
8
+ this.templateRef = inject((TemplateRef));
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisSelectOptionDirective, isStandalone: true, selector: "[suisSelectOption]", ngImport: i0 }); }
12
+ }
13
+ export { SuisSelectOptionDirective };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectOptionDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[suisSelectOption]',
18
+ standalone: true,
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL2NvbXBvbmVudHMvc3Vpcy1zZWxlY3Qtb3B0aW9uL3N1aXMtc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcvRCxNQUlhLHlCQUF5QjtJQUp0QztRQUtFOztXQUVHO1FBQ2EsZ0JBQVcsR0FBRyxNQUFNLENBQ2xDLENBQUEsV0FBK0MsQ0FBQSxDQUNoRCxDQUFDO0tBQ0g7OEdBUFkseUJBQXlCO2tHQUF6Qix5QkFBeUI7O1NBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vpc1NlbGVjdE9wdGlvbiB9IGZyb20gJy4vc3Vpcy1zZWxlY3Qtb3B0aW9uLmludGVyZmFjZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3Vpc1NlbGVjdE9wdGlvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTdWlzU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFQ+IHtcbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBvZiB0aGUgb3B0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFxuICAgIFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBTdWlzU2VsZWN0T3B0aW9uPFQ+IH0+XG4gICk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3Qtb3B0aW9uLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtc2VsZWN0LW9wdGlvbi9zdWlzLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTdWlzU2VsZWN0T3B0aW9uPFQ+IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IFQ7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './suis-button.base';
2
+ export * from './suis-input.base';
3
+ export * from './suis-select.base';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9zaGFyZWQvY2xhc3Nlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Vpcy1idXR0b24uYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtaW5wdXQuYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtc2VsZWN0LmJhc2UnO1xuIl19
@@ -0,0 +1,35 @@
1
+ import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SuisButtonBase {
4
+ constructor() {
5
+ /** @internal */
6
+ this.elementRef = inject(ElementRef);
7
+ /** @internal */
8
+ this.renderer2 = inject(Renderer2);
9
+ /**
10
+ * Sets button's color theme. Type of SuisPalleteColor | SuisInfoColor. By default set to 'primary'.
11
+ */
12
+ this.color = 'primary';
13
+ /**
14
+ * Sets button's disabled attribute. By default set to false.
15
+ */
16
+ this.disabled = false;
17
+ /**
18
+ * Shows loading spinner instead of content projection. By default set to false.
19
+ */
20
+ this.loading = false;
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisButtonBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisButtonBase, inputs: { color: "color", disabled: "disabled", loading: "loading" }, ngImport: i0 }); }
24
+ }
25
+ export { SuisButtonBase };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisButtonBase, decorators: [{
27
+ type: Directive
28
+ }], propDecorators: { color: [{
29
+ type: Input
30
+ }], disabled: [{
31
+ type: Input
32
+ }], loading: [{
33
+ type: Input
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1idXR0b24uYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL3NoYXJlZC9jbGFzc2VzL3N1aXMtYnV0dG9uLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR2hGLE1BQ3NCLGNBQWM7SUFEcEM7UUFFRSxnQkFBZ0I7UUFDRyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5ELGdCQUFnQjtRQUNHLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDTSxVQUFLLEdBQXFDLFNBQVMsQ0FBQztRQUU3RDs7V0FFRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxZQUFPLEdBQVksS0FBSyxDQUFDO0tBQ25DOzhHQXJCcUIsY0FBYztrR0FBZCxjQUFjOztTQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEbkMsU0FBUzs4QkFXQyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vpc0luZm9Db2xvciwgU3Vpc1BhbGxldGVDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL3N1aXMtY29sb3IudHlwZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN1aXNCdXR0b25CYXNlIHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAvKipcbiAgICogU2V0cyBidXR0b24ncyBjb2xvciB0aGVtZS4gVHlwZSBvZiBTdWlzUGFsbGV0ZUNvbG9yIHwgU3Vpc0luZm9Db2xvci4gQnkgZGVmYXVsdCBzZXQgdG8gJ3ByaW1hcnknLlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6IFN1aXNQYWxsZXRlQ29sb3IgfCBTdWlzSW5mb0NvbG9yID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBTZXRzIGJ1dHRvbidzIGRpc2FibGVkIGF0dHJpYnV0ZS4gQnkgZGVmYXVsdCBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaG93cyBsb2FkaW5nIHNwaW5uZXIgaW5zdGVhZCBvZiBjb250ZW50IHByb2plY3Rpb24uIEJ5IGRlZmF1bHQgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, Output, inject, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SuisInputBase {
4
+ constructor() {
5
+ /** @internal */
6
+ this.cdRef = inject(ChangeDetectorRef);
7
+ /** @internal */
8
+ this.elRef = inject(ElementRef);
9
+ /**
10
+ * Sets input disabled state. By default set to false.
11
+ */
12
+ this.readonly = false;
13
+ /**
14
+ * Adds invalid styling to the input. By default set to false.
15
+ */
16
+ this.invalid = false;
17
+ /**
18
+ * Emits on value changed.
19
+ */
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ this.changed = new EventEmitter();
22
+ /**
23
+ * Emits on input touched.
24
+ */
25
+ this.touched = new EventEmitter();
26
+ // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
27
+ this._onChange = (value) => { };
28
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
29
+ this._onTouched = () => { };
30
+ }
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ registerOnChange(fn) {
33
+ this._onChange = fn;
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ registerOnTouched(fn) {
37
+ this._onTouched = fn;
38
+ }
39
+ /** @internal */
40
+ onTouch() {
41
+ this._onTouched();
42
+ this.touched.emit();
43
+ this.cdRef.markForCheck();
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputBase, inputs: { readonly: "readonly", invalid: "invalid" }, outputs: { changed: "changed", touched: "touched" }, ngImport: i0 }); }
47
+ }
48
+ export { SuisInputBase };
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, decorators: [{
50
+ type: Directive
51
+ }], propDecorators: { readonly: [{
52
+ type: Input
53
+ }], invalid: [{
54
+ type: Input
55
+ }], changed: [{
56
+ type: Output
57
+ }], touched: [{
58
+ type: Output
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1pbnB1dC5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdWlzL3NyYy9saWIvc2hhcmVkL2NsYXNzZXMvc3Vpcy1pbnB1dC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7O0FBR3ZCLE1BQ3NCLGFBQWE7SUFEbkM7UUFFRSxnQkFBZ0I7UUFDRyxVQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFckQsZ0JBQWdCO1FBQ0csVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBQ0gsOERBQThEO1FBQ3BELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTVDOztXQUVHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFN0MsdUlBQXVJO1FBQ3ZJLGNBQVMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRS9CLGdFQUFnRTtRQUNoRSxlQUFVLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBcUJ2QjtJQW5CQyw4REFBOEQ7SUFDOUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsOERBQThEO0lBQzlELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUtELGdCQUFnQjtJQUNoQixPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXBEbUIsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEbEMsU0FBUzs4QkFXQyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFNSSxPQUFPO3NCQUFoQixNQUFNO2dCQUtHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3Vpc0lucHV0QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIC8qKlxuICAgKiBTZXRzIGlucHV0IGRpc2FibGVkIHN0YXRlLiBCeSBkZWZhdWx0IHNldCB0byBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFkZHMgaW52YWxpZCBzdHlsaW5nIHRvIHRoZSBpbnB1dC4gQnkgZGVmYXVsdCBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXRzIG9uIHZhbHVlIGNoYW5nZWQuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBvbiBpbnB1dCB0b3VjaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHRvdWNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIF9vbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgYWJzdHJhY3Qgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQ7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvblRvdWNoKCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIHRoaXMudG91Y2hlZC5lbWl0KCk7XG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,80 @@
1
+ import { ContentChild, Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core';
2
+ import { SuisInputBase } from './suis-input.base';
3
+ import { SuisSelectOptionDirective } from '../../components/suis-select-option/suis-select-option.directive';
4
+ import { SuisIconType } from '../../components/suis-icon/suis-icon.enums';
5
+ import * as i0 from "@angular/core";
6
+ class SuisSelectBase extends SuisInputBase {
7
+ constructor() {
8
+ super(...arguments);
9
+ /** @internal */
10
+ this.SuisIconType = SuisIconType;
11
+ /** @internal */
12
+ this.searchPhrase = '';
13
+ /** @internal */
14
+ this.expanded = false;
15
+ /**
16
+ * Options displayed in dropdown list. Type of SuisSelectOption[].
17
+ */
18
+ this.options = [];
19
+ /**
20
+ * Displays search input above options. By default set to true.
21
+ */
22
+ this.search = true;
23
+ /**
24
+ * Placeholder text displayed in options search. By default set to 'Search...'.
25
+ */
26
+ this.searchPlaceholder = 'Search...';
27
+ /**
28
+ * Placeholder text displayed when value is not selected. By default set to 'Select option...'.
29
+ */
30
+ this.placeholder = 'Select option...';
31
+ /**
32
+ * Emits on search phrase changed.
33
+ */
34
+ this.searchPhraseChanged = new EventEmitter();
35
+ }
36
+ onClear(event) {
37
+ this.clearValue();
38
+ event.stopPropagation();
39
+ }
40
+ onSearchPhraseChange(text) {
41
+ this.searchPhrase = text;
42
+ this.searchPhraseChanged.emit(text);
43
+ }
44
+ onExpand() {
45
+ this.toggle(!this.expanded);
46
+ this.onTouch();
47
+ }
48
+ toggle(value) {
49
+ this.expanded = value;
50
+ this.searchPhrase = '';
51
+ }
52
+ onDocumentClick(event) {
53
+ if (!this.elRef.nativeElement.contains(event.target)) {
54
+ this.expanded = false;
55
+ }
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisSelectBase, inputs: { options: "options", search: "search", searchPlaceholder: "searchPlaceholder", placeholder: "placeholder" }, outputs: { searchPhraseChanged: "searchPhraseChanged" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, queries: [{ propertyName: "suisSelectOption", first: true, predicate: SuisSelectOptionDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
59
+ }
60
+ export { SuisSelectBase };
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectBase, decorators: [{
62
+ type: Directive
63
+ }], propDecorators: { suisSelectOption: [{
64
+ type: ContentChild,
65
+ args: [SuisSelectOptionDirective]
66
+ }], options: [{
67
+ type: Input
68
+ }], search: [{
69
+ type: Input
70
+ }], searchPlaceholder: [{
71
+ type: Input
72
+ }], placeholder: [{
73
+ type: Input
74
+ }], searchPhraseChanged: [{
75
+ type: Output
76
+ }], onDocumentClick: [{
77
+ type: HostListener,
78
+ args: ['document:click', ['$event']]
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3QuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL3NoYXJlZC9jbGFzc2VzL3N1aXMtc2VsZWN0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBRTFFLE1BQ3NCLGNBQWtCLFNBQVEsYUFBYTtJQUQ3RDs7UUFNRSxnQkFBZ0I7UUFDUCxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUVyQyxnQkFBZ0I7UUFDTixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUVwQyxnQkFBZ0I7UUFDTixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRXBDOztXQUVHO1FBQ00sWUFBTyxHQUEwQixFQUFFLENBQUM7UUFFN0M7O1dBRUc7UUFDTSxXQUFNLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBQ00sc0JBQWlCLEdBQVcsV0FBVyxDQUFDO1FBRWpEOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxrQkFBa0IsQ0FBQztRQUVsRDs7V0FFRztRQUNPLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FtQzVEO0lBMUJDLE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDOzhHQXZFbUIsY0FBYztrR0FBZCxjQUFjLDZUQUVwQix5QkFBeUI7O1NBRm5CLGNBQWM7MkZBQWQsY0FBYztrQkFEbkMsU0FBUzs4QkFJUixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBZTlCLE9BQU87c0JBQWYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQThCUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vpc0lucHV0QmFzZSB9IGZyb20gJy4vc3Vpcy1pbnB1dC5iYXNlJztcbmltcG9ydCB7IFN1aXNTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3N1aXMtc2VsZWN0LW9wdGlvbi9zdWlzLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdWlzU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zdWlzLXNlbGVjdC1vcHRpb24vc3Vpcy1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWlzSWNvblR5cGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3N1aXMtaWNvbi9zdWlzLWljb24uZW51bXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdWlzU2VsZWN0QmFzZTxUPiBleHRlbmRzIFN1aXNJbnB1dEJhc2Uge1xuICAvKiogQGludGVybmFsICovXG4gIEBDb250ZW50Q2hpbGQoU3Vpc1NlbGVjdE9wdGlvbkRpcmVjdGl2ZSlcbiAgc3Vpc1NlbGVjdE9wdGlvbj86IFN1aXNTZWxlY3RPcHRpb25EaXJlY3RpdmU8VD47XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICByZWFkb25seSBTdWlzSWNvblR5cGUgPSBTdWlzSWNvblR5cGU7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgc2VhcmNoUGhyYXNlOiBzdHJpbmcgPSAnJztcblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGRpc3BsYXllZCBpbiBkcm9wZG93biBsaXN0LiBUeXBlIG9mIFN1aXNTZWxlY3RPcHRpb25bXS5cbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFN1aXNTZWxlY3RPcHRpb248VD5bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBzZWFyY2ggaW5wdXQgYWJvdmUgb3B0aW9ucy4gQnkgZGVmYXVsdCBzZXQgdG8gdHJ1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaDogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZGlzcGxheWVkIGluIG9wdGlvbnMgc2VhcmNoLiBCeSBkZWZhdWx0IHNldCB0byAnU2VhcmNoLi4uJy5cbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoLi4uJztcblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgd2hlbiB2YWx1ZSBpcyBub3Qgc2VsZWN0ZWQuIEJ5IGRlZmF1bHQgc2V0IHRvICdTZWxlY3Qgb3B0aW9uLi4uJy5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IG9wdGlvbi4uLic7XG5cbiAgLyoqXG4gICAqIEVtaXRzIG9uIHNlYXJjaCBwaHJhc2UgY2hhbmdlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hQaHJhc2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgYWJzdHJhY3Qgb25TZWxlY3QodmFsdWU6IFQpOiB2b2lkO1xuXG4gIGFic3RyYWN0IGNsZWFyVmFsdWUoKTogdm9pZDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBhYnN0cmFjdCBzZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZDtcblxuICBvbkNsZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJWYWx1ZSgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25TZWFyY2hQaHJhc2VDaGFuZ2UodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hQaHJhc2UgPSB0ZXh0O1xuICAgIHRoaXMuc2VhcmNoUGhyYXNlQ2hhbmdlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25FeHBhbmQoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGUoIXRoaXMuZXhwYW5kZWQpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgdG9nZ2xlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHZhbHVlO1xuICAgIHRoaXMuc2VhcmNoUGhyYXNlID0gJyc7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SuisSelectFilterOptionsPipe {
4
+ transform(options, phrase) {
5
+ if (!phrase)
6
+ return options;
7
+ return options.filter((option) => option.label.toLocaleLowerCase().includes(phrase.toLocaleLowerCase()));
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectFilterOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectFilterOptionsPipe, isStandalone: true, name: "suisSelectFilterOptions" }); }
11
+ }
12
+ export { SuisSelectFilterOptionsPipe };
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectFilterOptionsPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ standalone: true,
17
+ name: 'suisSelectFilterOptions',
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3QtZmlsdGVyLW9wdGlvbnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL3NoYXJlZC9waXBlcy9zdWlzLXNlbGVjdC1maWx0ZXItb3B0aW9ucy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUlhLDJCQUEyQjtJQUN0QyxTQUFTLENBQ1AsT0FBOEIsRUFDOUIsTUFBYztRQUVkLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxPQUFPLENBQUM7UUFDNUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDL0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQzs4R0FUVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjs7U0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBSnZDLElBQUk7bUJBQUM7b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSx5QkFBeUI7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vpc1NlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc3Vpcy1zZWxlY3Qtb3B0aW9uJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc3Vpc1NlbGVjdEZpbHRlck9wdGlvbnMnLFxufSlcbmV4cG9ydCBjbGFzcyBTdWlzU2VsZWN0RmlsdGVyT3B0aW9uc1BpcGU8VD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKFxuICAgIG9wdGlvbnM6IFN1aXNTZWxlY3RPcHRpb248VD5bXSxcbiAgICBwaHJhc2U6IHN0cmluZ1xuICApOiBTdWlzU2VsZWN0T3B0aW9uPFQ+W10ge1xuICAgIGlmICghcGhyYXNlKSByZXR1cm4gb3B0aW9ucztcbiAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIG9wdGlvbi5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHBocmFzZS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SuisSelectSortOptionsPipe {
4
+ transform(options) {
5
+ return options.sort((a, b) => a.label.localeCompare(b.label));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectSortOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectSortOptionsPipe, isStandalone: true, name: "suisSelectSortOptions" }); }
9
+ }
10
+ export { SuisSelectSortOptionsPipe };
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisSelectSortOptionsPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ standalone: true,
15
+ name: 'suisSelectSortOptions',
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1zZWxlY3Qtc29ydC1vcHRpb25zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9zaGFyZWQvcGlwZXMvc3Vpcy1zZWxlY3Qtc29ydC1vcHRpb25zLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BSWEseUJBQXlCO0lBQ3BDLFNBQVMsQ0FBQyxPQUE4QjtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQUhVLHlCQUF5Qjs0R0FBekIseUJBQXlCOztTQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsSUFBSTttQkFBQztvQkFDSixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLHVCQUF1QjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWlzU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zdWlzLXNlbGVjdC1vcHRpb24nO1xuXG5AUGlwZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIG5hbWU6ICdzdWlzU2VsZWN0U29ydE9wdGlvbnMnLFxufSlcbmV4cG9ydCBjbGFzcyBTdWlzU2VsZWN0U29ydE9wdGlvbnNQaXBlPFQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShvcHRpb25zOiBTdWlzU2VsZWN0T3B0aW9uPFQ+W10pOiBTdWlzU2VsZWN0T3B0aW9uPFQ+W10ge1xuICAgIHJldHVybiBvcHRpb25zLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSk7XG4gIH1cbn1cbiJdfQ==