button-toggle-input 15.0.3 → 15.0.4

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.
@@ -1,94 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/button-toggle";
7
- import * as i4 from "@angular/material/slide-toggle";
8
- import * as i5 from "@angular/material/divider";
9
- import * as i6 from "../button-toggle-input.component";
10
- import * as i7 from "@angular/common";
11
- export class ButtonToggleDemoComponent {
12
- constructor() {
13
- this.fb = inject(FormBuilder);
14
- this.type = 'icons';
15
- this.data_1 = [
16
- { id: 1, icon: 'home', value: 'option_1', disabled: true },
17
- { id: 2, icon: 'layers', value: 'option_2' },
18
- { id: 3, icon: 'add', value: 'option_3' },
19
- { id: 3, icon: 'build', value: 'option_4', disabled: true },
20
- { id: 3, icon: 'list', value: 'option_5', selected: true },
21
- { id: 3, icon: 'business', value: 'option_6' },
22
- ];
23
- this.data_2 = [
24
- { id: 1, label: 'Home', value: 'option_1', disabled: true },
25
- { id: 2, label: 'Samples', value: 'option_2' },
26
- { id: 3, label: 'Demos 1 is here', value: 'option_3' },
27
- { id: 3, label: 'Demos 2A', value: 'option_4', disabled: true },
28
- { id: 3, label: 'Demos 2B', value: 'option_5', selected: true },
29
- { id: 3, label: 'Demos 3', value: 'option_6' },
30
- ];
31
- this.data_3 = [
32
- { id: 1, label: 'Home', icon: 'home', value: 'option_1', disabled: true },
33
- { id: 2, label: 'Samples', icon: 'layers', value: 'option_2' },
34
- { id: 3, label: 'Demos 1', icon: 'add', value: 'option_3' },
35
- { id: 3, label: 'Demos 2A', icon: 'network', value: 'option_4', disabled: true },
36
- { id: 3, label: 'Demos 2B', icon: 'list', value: 'option_5', selected: true },
37
- { id: 3, label: 'Demos 3', icon: 'business', value: 'option_6' },
38
- ];
39
- this.data = this.data_1;
40
- this.selectionControl_1 = this.fb.control(null);
41
- this.selectionControl_2 = this.fb.control(null);
42
- this.changeDetection_1 = this.fb.control(true);
43
- this.changeDetection_2 = this.fb.control(false);
44
- }
45
- ngOnInit() {
46
- this.selectionControl_1.valueChanges.subscribe(data => {
47
- if (this.changeDetection_1.value)
48
- console.log('CHANGE:', data);
49
- });
50
- this.selectionControl_2.valueChanges.subscribe(data => {
51
- if (this.changeDetection_2.value)
52
- console.log('CHANGE:', data);
53
- });
54
- }
55
- onPerformPatch() {
56
- this.selectionControl_1.patchValue(['option_3']);
57
- this.selectionControl_2.patchValue(['option_3', 'option_5']);
58
- }
59
- onChangeDataType(type) {
60
- if (type === 'icons') {
61
- this.data = this.data_1;
62
- }
63
- else if (type === 'labels') {
64
- this.data = this.data_2;
65
- }
66
- else {
67
- this.data = this.data_3;
68
- }
69
- }
70
- // DISABLE
71
- onDisabled_1(disable) {
72
- if (disable) {
73
- this.selectionControl_1.disable();
74
- }
75
- else {
76
- this.selectionControl_1.enable();
77
- }
78
- }
79
- onDisabled_2(disable) {
80
- if (disable) {
81
- this.selectionControl_2.disable();
82
- }
83
- else {
84
- this.selectionControl_2.enable();
85
- }
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonToggleDemoComponent, selector: "app-button-toggle-demo", ngImport: i0, template: "<h1 style=\"flex: 1;\">Button Toggle Input</h1>\n\n\n<div style=\"display: flex; flex-direction: column; margin-top: 1rem;\">\n <div style=\"flex:1; text-align: right;\">\n <div style=\"display: flex; gap: 2rem; flex-direction: row-reverse;\">\n <mat-button-toggle (click)=\"onPerformPatch()\">Patch</mat-button-toggle>\n <mat-button-toggle-group #varTypes=\"matButtonToggleGroup\" (change)=\"onChangeDataType(varTypes.value)\">\n <mat-button-toggle value=\"icons\" checked=\"true\">Icons</mat-button-toggle>\n <mat-button-toggle value=\"labels\" checked=\"false\">Labels</mat-button-toggle>\n <mat-button-toggle value=\"combo\" checked=\"false\">Combo</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <!-- MAIN DEMOS -->\n <div style=\"margin: 1rem; margin-right: 0;\">\n <h3 style=\"margin-bottom: 0;\">Button Toggle Selection - {{ varTypes.value | uppercase }}</h3>\n\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_1.reset()\">Reset</button>\n </div>\n\n <div style=\"margin-top: 1rem;\">\n <app-button-toggle-input\n [formControl]=\"selectionControl_1\"\n [data]=\"data\"\n [toolTips]=\"tooltip1.checked\"\n [fullWidth]=\"width1.value\"\n [noBorder]=\"!border1.checked\"\n [iconSuffix]=\"suffix1.checked\"\n ></app-button-toggle-input>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_1\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable1 (change)=\"onDisabled_1(disable1.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n <mat-slide-toggle #suffix1>Icon Suffix</mat-slide-toggle>\n <mat-slide-toggle #tooltip1>ToolTip</mat-slide-toggle>\n <mat-slide-toggle #border1 checked=\"true\">Border</mat-slide-toggle>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <div>\n Single Selection<br>\n ToolTips<br>\n </div>\n <span style=\"flex:1\"></span>\n <div>\n <mat-button-toggle-group #width1=\"matButtonToggleGroup\">\n <mat-button-toggle value=\"false\" checked=\"false\">Normal Width</mat-button-toggle>\n <mat-button-toggle value=\"true\" checked=\"true\">Full Width</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n </div>\n\n\n <div style=\"margin: 1rem; margin-right: 0;\">\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_2.reset()\">Reset</button>\n </div>\n\n <div style=\"margin-top: 1rem;\">\n\n <app-button-toggle-input\n [formControl]=\"selectionControl_2\"\n [data]=\"data\"\n [toolTips]=\"tooltip2.checked\"\n toolTipPosition=\"above\"\n [multiple]=\"true\"\n [fullWidth]=\"width2.value\"\n [noBorder]=\"!border2.checked\"\n [iconSuffix]=\"suffix2.checked\"\n ></app-button-toggle-input>\n\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_2\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable2 (change)=\"onDisabled_2(disable2.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n <mat-slide-toggle #suffix2>Icon Suffix</mat-slide-toggle>\n <mat-slide-toggle #tooltip2>ToolTip</mat-slide-toggle>\n <mat-slide-toggle #border2 checked=\"true\">Border</mat-slide-toggle>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <div>\n Multiple Selection<br>\n ToolTips<br>\n ToolTip Position ABOVE<br>\n </div>\n <span style=\"flex:1\"></span>\n <div>\n <mat-button-toggle-group #width2=\"matButtonToggleGroup\">\n <mat-button-toggle value=\"false\" checked=\"false\">Normal Width</mat-button-toggle>\n <mat-button-toggle value=\"true\" checked=\"true\">Full Width</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.ButtonToggleInputComponent, selector: "app-button-toggle-input", inputs: ["multiple", "toolTips", "toolTipPosition", "toolTipShowDelay", "color", "lightColor", "darkColor", "noBorder", "iconPrefix", "iconSuffix", "fullWidth", "data"] }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleDemoComponent, decorators: [{
91
- type: Component,
92
- args: [{ selector: 'app-button-toggle-demo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 style=\"flex: 1;\">Button Toggle Input</h1>\n\n\n<div style=\"display: flex; flex-direction: column; margin-top: 1rem;\">\n <div style=\"flex:1; text-align: right;\">\n <div style=\"display: flex; gap: 2rem; flex-direction: row-reverse;\">\n <mat-button-toggle (click)=\"onPerformPatch()\">Patch</mat-button-toggle>\n <mat-button-toggle-group #varTypes=\"matButtonToggleGroup\" (change)=\"onChangeDataType(varTypes.value)\">\n <mat-button-toggle value=\"icons\" checked=\"true\">Icons</mat-button-toggle>\n <mat-button-toggle value=\"labels\" checked=\"false\">Labels</mat-button-toggle>\n <mat-button-toggle value=\"combo\" checked=\"false\">Combo</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <!-- MAIN DEMOS -->\n <div style=\"margin: 1rem; margin-right: 0;\">\n <h3 style=\"margin-bottom: 0;\">Button Toggle Selection - {{ varTypes.value | uppercase }}</h3>\n\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_1.reset()\">Reset</button>\n </div>\n\n <div style=\"margin-top: 1rem;\">\n <app-button-toggle-input\n [formControl]=\"selectionControl_1\"\n [data]=\"data\"\n [toolTips]=\"tooltip1.checked\"\n [fullWidth]=\"width1.value\"\n [noBorder]=\"!border1.checked\"\n [iconSuffix]=\"suffix1.checked\"\n ></app-button-toggle-input>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_1\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable1 (change)=\"onDisabled_1(disable1.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n <mat-slide-toggle #suffix1>Icon Suffix</mat-slide-toggle>\n <mat-slide-toggle #tooltip1>ToolTip</mat-slide-toggle>\n <mat-slide-toggle #border1 checked=\"true\">Border</mat-slide-toggle>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <div>\n Single Selection<br>\n ToolTips<br>\n </div>\n <span style=\"flex:1\"></span>\n <div>\n <mat-button-toggle-group #width1=\"matButtonToggleGroup\">\n <mat-button-toggle value=\"false\" checked=\"false\">Normal Width</mat-button-toggle>\n <mat-button-toggle value=\"true\" checked=\"true\">Full Width</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n </div>\n\n\n <div style=\"margin: 1rem; margin-right: 0;\">\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_2.reset()\">Reset</button>\n </div>\n\n <div style=\"margin-top: 1rem;\">\n\n <app-button-toggle-input\n [formControl]=\"selectionControl_2\"\n [data]=\"data\"\n [toolTips]=\"tooltip2.checked\"\n toolTipPosition=\"above\"\n [multiple]=\"true\"\n [fullWidth]=\"width2.value\"\n [noBorder]=\"!border2.checked\"\n [iconSuffix]=\"suffix2.checked\"\n ></app-button-toggle-input>\n\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_2\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable2 (change)=\"onDisabled_2(disable2.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n <mat-slide-toggle #suffix2>Icon Suffix</mat-slide-toggle>\n <mat-slide-toggle #tooltip2>ToolTip</mat-slide-toggle>\n <mat-slide-toggle #border2 checked=\"true\">Border</mat-slide-toggle>\n </div>\n\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <div>\n Multiple Selection<br>\n ToolTips<br>\n ToolTip Position ABOVE<br>\n </div>\n <span style=\"flex:1\"></span>\n <div>\n <mat-button-toggle-group #width2=\"matButtonToggleGroup\">\n <mat-button-toggle value=\"false\" checked=\"false\">Normal Width</mat-button-toggle>\n <mat-button-toggle value=\"true\" checked=\"true\">Full Width</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n </div>\n\n</div>\n" }]
93
- }], ctorParameters: function () { return []; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS1pbnB1dC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J1dHRvbi10b2dnbGUtaW5wdXQvc3JjL2xpYi9idXR0b24tdG9nZ2xlLWlucHV0LWRlbW8vYnV0dG9uLXRvZ2dsZS1pbnB1dC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J1dHRvbi10b2dnbGUtaW5wdXQvc3JjL2xpYi9idXR0b24tdG9nZ2xlLWlucHV0LWRlbW8vYnV0dG9uLXRvZ2dsZS1pbnB1dC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBUTdDLE1BQU0sT0FBTyx5QkFBeUI7SUF5Q3BDO1FBdkNBLE9BQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFeEIsU0FBSSxHQUFHLE9BQU8sQ0FBQTtRQUVkLFdBQU0sR0FBRztZQUNQLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN6RCxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDO1lBQzFDLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDeEMsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQzFELEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN6RCxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDO1NBQzdDLENBQUE7UUFFRCxXQUFNLEdBQUc7WUFDUCxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDMUQsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtZQUM3QyxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckQsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQzlELEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUM5RCxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1NBQzlDLENBQUE7UUFFRCxXQUFNLEdBQUc7WUFDUCxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN4RSxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUM7WUFD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K0dBekZVLHlCQUF5QjttR0FBekIseUJBQXlCLDhEQ1R0QyxtN0lBZ0hBOzs0RkR2R2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJ1dHRvbi10b2dnbGUtZGVtbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tdG9nZ2xlLWlucHV0LWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24tdG9nZ2xlLWlucHV0LWRlbW8uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uVG9nZ2xlRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG5cbiAgdHlwZSA9ICdpY29ucydcblxuICBkYXRhXzEgPSBbXG4gICAge2lkOiAxLCBpY29uOiAnaG9tZScsIHZhbHVlOiAnb3B0aW9uXzEnLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIHtpZDogMiwgaWNvbjogJ2xheWVycycsIHZhbHVlOiAnb3B0aW9uXzInfSxcbiAgICB7aWQ6IDMsIGljb246ICdhZGQnLCB2YWx1ZTogJ29wdGlvbl8zJyB9LFxuICAgIHtpZDogMywgaWNvbjogJ2J1aWxkJywgdmFsdWU6ICdvcHRpb25fNCcsIGRpc2FibGVkOiB0cnVlIH0sXG4gICAge2lkOiAzLCBpY29uOiAnbGlzdCcsIHZhbHVlOiAnb3B0aW9uXzUnLCBzZWxlY3RlZDogdHJ1ZSB9LFxuICAgIHtpZDogMywgaWNvbjogJ2J1c2luZXNzJywgdmFsdWU6ICdvcHRpb25fNid9LFxuICBdXG5cbiAgZGF0YV8yID0gW1xuICAgIHtpZDogMSwgbGFiZWw6ICdIb21lJywgdmFsdWU6ICdvcHRpb25fMScsIGRpc2FibGVkOiB0cnVlIH0sXG4gICAge2lkOiAyLCBsYWJlbDogJ1NhbXBsZXMnLCB2YWx1ZTogJ29wdGlvbl8yJyB9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAxIGlzIGhlcmUnLCB2YWx1ZTogJ29wdGlvbl8zJyB9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAyQScsIHZhbHVlOiAnb3B0aW9uXzQnLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAyQicsIHZhbHVlOiAnb3B0aW9uXzUnLCBzZWxlY3RlZDogdHJ1ZSB9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAzJywgdmFsdWU6ICdvcHRpb25fNicgfSxcbiAgXVxuXG4gIGRhdGFfMyA9IFtcbiAgICB7aWQ6IDEsIGxhYmVsOiAnSG9tZScsIGljb246ICdob21lJywgdmFsdWU6ICdvcHRpb25fMScsIGRpc2FibGVkOiB0cnVlIH0sXG4gICAge2lkOiAyLCBsYWJlbDogJ1NhbXBsZXMnLCBpY29uOiAnbGF5ZXJzJywgdmFsdWU6ICdvcHRpb25fMid9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAxJywgaWNvbjogJ2FkZCcsIHZhbHVlOiAnb3B0aW9uXzMnIH0sXG4gICAge2lkOiAzLCBsYWJlbDogJ0RlbW9zIDJBJywgaWNvbjogJ25ldHdvcmsnLCB2YWx1ZTogJ29wdGlvbl80JywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICB7aWQ6IDMsIGxhYmVsOiAnRGVtb3MgMkInLCBpY29uOiAnbGlzdCcsIHZhbHVlOiAnb3B0aW9uXzUnLCBzZWxlY3RlZDogdHJ1ZSB9LFxuICAgIHtpZDogMywgbGFiZWw6ICdEZW1vcyAzJywgaWNvbjogJ2J1c2luZXNzJywgdmFsdWU6ICdvcHRpb25fNid9LFxuICBdXG5cbiAgZGF0YTogYW55W10gPSB0aGlzLmRhdGFfMVxuXG4gIHNlbGVjdGlvbkNvbnRyb2xfMSA9IHRoaXMuZmIuY29udHJvbDxhbnk+KG51bGwpXG4gIHNlbGVjdGlvbkNvbnRyb2xfMiA9IHRoaXMuZmIuY29udHJvbDxhbnk+KG51bGwpXG5cbiAgY2hhbmdlRGV0ZWN0aW9uXzEgPSB0aGlzLmZiLmNvbnRyb2wodHJ1ZSlcbiAgY2hhbmdlRGV0ZWN0aW9uXzIgPSB0aGlzLmZiLmNvbnRyb2woZmFsc2UpXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8xLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICBpZih0aGlzLmNoYW5nZURldGVjdGlvbl8xLnZhbHVlKSBjb25zb2xlLmxvZygnQ0hBTkdFOicsZGF0YSlcbiAgICB9KVxuXG4gICAgdGhpcy5zZWxlY3Rpb25Db250cm9sXzIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIGlmKHRoaXMuY2hhbmdlRGV0ZWN0aW9uXzIudmFsdWUpIGNvbnNvbGUubG9nKCdDSEFOR0U6JyxkYXRhKVxuICAgIH0pXG5cbiAgfVxuXG4gIG9uUGVyZm9ybVBhdGNoKCkge1xuICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8xLnBhdGNoVmFsdWUoWydvcHRpb25fMyddKVxuICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8yLnBhdGNoVmFsdWUoWydvcHRpb25fMycsICdvcHRpb25fNSddKVxuICB9XG5cbiAgb25DaGFuZ2VEYXRhVHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICBpZih0eXBlID09PSAnaWNvbnMnKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGFfMVxuICAgIH0gZWxzZSBpZih0eXBlID09PSAnbGFiZWxzJykge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhXzJcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhXzNcbiAgICB9XG4gIH1cblxuICAvLyBESVNBQkxFXG4gIG9uRGlzYWJsZWRfMShkaXNhYmxlOiBib29sZWFuKSB7XG5cbiAgICBpZihkaXNhYmxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMS5kaXNhYmxlKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sXzEuZW5hYmxlKClcbiAgICB9XG5cbiAgfVxuXG4gIG9uRGlzYWJsZWRfMihkaXNhYmxlOiBib29sZWFuKSB7XG5cbiAgICBpZihkaXNhYmxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMi5kaXNhYmxlKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sXzIuZW5hYmxlKClcbiAgICB9XG5cbiAgfVxuXG59XG4iLCI8aDEgc3R5bGU9XCJmbGV4OiAxO1wiPkJ1dHRvbiBUb2dnbGUgSW5wdXQ8L2gxPlxuXG5cbjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtYXJnaW4tdG9wOiAxcmVtO1wiPlxuICA8ZGl2IHN0eWxlPVwiZmxleDoxOyB0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAycmVtOyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XCI+XG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNsaWNrKT1cIm9uUGVyZm9ybVBhdGNoKClcIj5QYXRjaDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgI3ZhclR5cGVzPVwibWF0QnV0dG9uVG9nZ2xlR3JvdXBcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRGF0YVR5cGUodmFyVHlwZXMudmFsdWUpXCI+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImljb25zXCIgY2hlY2tlZD1cInRydWVcIj5JY29uczwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImxhYmVsc1wiIGNoZWNrZWQ9XCJmYWxzZVwiPkxhYmVsczwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImNvbWJvXCIgY2hlY2tlZD1cImZhbHNlXCI+Q29tYm88L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgICA8IS0tIE1BSU4gREVNT1MgLS0+XG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbjogMXJlbTsgbWFyZ2luLXJpZ2h0OiAwO1wiPlxuICAgICAgPGgzIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMDtcIj5CdXR0b24gVG9nZ2xlIFNlbGVjdGlvbiAtIHt7IHZhclR5cGVzLnZhbHVlIHwgdXBwZXJjYXNlIH19PC9oMz5cblxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwiZmxleDoxXCI+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNlbGVjdGlvbkNvbnRyb2xfMS5yZXNldCgpXCI+UmVzZXQ8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPGFwcC1idXR0b24tdG9nZ2xlLWlucHV0XG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGlvbkNvbnRyb2xfMVwiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgICAgW3Rvb2xUaXBzXT1cInRvb2x0aXAxLmNoZWNrZWRcIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwid2lkdGgxLnZhbHVlXCJcbiAgICAgICAgICBbbm9Cb3JkZXJdPVwiIWJvcmRlcjEuY2hlY2tlZFwiXG4gICAgICAgICAgW2ljb25TdWZmaXhdPVwic3VmZml4MS5jaGVja2VkXCJcbiAgICAgICAgPjwvYXBwLWJ1dHRvbi10b2dnbGUtaW5wdXQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMnJlbTsgbWFyZ2luLXRvcDogMnJlbTtcIj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgW2Zvcm1Db250cm9sXT1cImNoYW5nZURldGVjdGlvbl8xXCI+Q2hhbmdlIERldGVjdGlvbjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgI2Rpc2FibGUxIChjaGFuZ2UpPVwib25EaXNhYmxlZF8xKGRpc2FibGUxLmNoZWNrZWQpXCI+RGlzYWJsZTwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbGV4OjFcIj48L3NwYW4+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlICNzdWZmaXgxPkljb24gU3VmZml4PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjdG9vbHRpcDE+VG9vbFRpcDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgI2JvcmRlcjEgY2hlY2tlZD1cInRydWVcIj5Cb3JkZXI8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMnJlbTsgbWFyZ2luLXRvcDogMnJlbTtcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBTaW5nbGUgU2VsZWN0aW9uPGJyPlxuICAgICAgICAgIFRvb2xUaXBzPGJyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbGV4OjFcIj48L3NwYW4+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwICN3aWR0aDE9XCJtYXRCdXR0b25Ub2dnbGVHcm91cFwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZmFsc2VcIiBjaGVja2VkPVwiZmFsc2VcIj5Ob3JtYWwgV2lkdGg8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwidHJ1ZVwiIGNoZWNrZWQ9XCJ0cnVlXCI+RnVsbCBXaWR0aDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiAxcmVtOyBtYXJnaW4tcmlnaHQ6IDA7XCI+XG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbGV4OjFcIj48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2VsZWN0aW9uQ29udHJvbF8yLnJlc2V0KClcIj5SZXNldDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiPlxuXG4gICAgICAgIDxhcHAtYnV0dG9uLXRvZ2dsZS1pbnB1dFxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWxlY3Rpb25Db250cm9sXzJcIlxuICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgIFt0b29sVGlwc109XCJ0b29sdGlwMi5jaGVja2VkXCJcbiAgICAgICAgICB0b29sVGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwid2lkdGgyLnZhbHVlXCJcbiAgICAgICAgICBbbm9Cb3JkZXJdPVwiIWJvcmRlcjIuY2hlY2tlZFwiXG4gICAgICAgICAgW2ljb25TdWZmaXhdPVwic3VmZml4Mi5jaGVja2VkXCJcbiAgICAgICAgPjwvYXBwLWJ1dHRvbi10b2dnbGUtaW5wdXQ+XG5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAycmVtOyBtYXJnaW4tdG9wOiAycmVtO1wiPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbZm9ybUNvbnRyb2xdPVwiY2hhbmdlRGV0ZWN0aW9uXzJcIj5DaGFuZ2UgRGV0ZWN0aW9uPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjZGlzYWJsZTIgKGNoYW5nZSk9XCJvbkRpc2FibGVkXzIoZGlzYWJsZTIuY2hlY2tlZClcIj5EaXNhYmxlPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8c3BhbiBzdHlsZT1cImZsZXg6MVwiPjwvc3Bhbj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgI3N1ZmZpeDI+SWNvbiBTdWZmaXg8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlICN0b29sdGlwMj5Ub29sVGlwPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjYm9yZGVyMiBjaGVja2VkPVwidHJ1ZVwiPkJvcmRlcjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAycmVtOyBtYXJnaW4tdG9wOiAycmVtO1wiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIE11bHRpcGxlIFNlbGVjdGlvbjxicj5cbiAgICAgICAgICBUb29sVGlwczxicj5cbiAgICAgICAgICBUb29sVGlwIFBvc2l0aW9uIEFCT1ZFPGJyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbGV4OjFcIj48L3NwYW4+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwICN3aWR0aDI9XCJtYXRCdXR0b25Ub2dnbGVHcm91cFwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZmFsc2VcIiBjaGVja2VkPVwiZmFsc2VcIj5Ob3JtYWwgV2lkdGg8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwidHJ1ZVwiIGNoZWNrZWQ9XCJ0cnVlXCI+RnVsbCBXaWR0aDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -1,155 +0,0 @@
1
- import { Component, Input, forwardRef, inject } from '@angular/core';
2
- import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ListItem } from './models/list-item.model';
4
- import { Subscription } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/icon";
9
- import * as i4 from "@angular/material/tooltip";
10
- import * as i5 from "@angular/material/button-toggle";
11
- export class ButtonToggleInputComponent {
12
- set noBorder(value) {
13
- this._noBorder = value !== null && `${value}` !== 'false';
14
- }
15
- get noBorder() {
16
- return this._noBorder;
17
- }
18
- set iconPrefix(value) {
19
- this._iconPrefix = (value !== undefined) ? value : false;
20
- }
21
- get iconPrefix() {
22
- return this._iconPrefix;
23
- }
24
- set iconSuffix(value) {
25
- this._iconSuffix = (value !== undefined) ? value : false;
26
- this.iconPrefix = !this.iconSuffix;
27
- }
28
- get iconSuffix() {
29
- return this._iconSuffix;
30
- }
31
- set fullWidth(value) {
32
- this._fullWidth = value !== null && `${value}` !== 'false';
33
- }
34
- get fullWidth() {
35
- return this._fullWidth;
36
- }
37
- set data(value) {
38
- const isString = this.isArrayOfStrings(value);
39
- this._data = (isString) ? value.map(item => ListItem.adapt({ value: item, label: item })) : value.map(item => ListItem.adapt(item));
40
- this.hasLabels = this.data.some(item => item['label']);
41
- this.hasIcons = this.data.some((item) => item["icon"]);
42
- }
43
- get selected() {
44
- return this.data.filter(item => item.selected).map(item => item.value);
45
- }
46
- get hasSelected() {
47
- return (this.selected.length > 0);
48
- }
49
- get data() {
50
- return this._data;
51
- }
52
- constructor() {
53
- this.multiple = false;
54
- this.toolTips = false;
55
- this.toolTipPosition = 'above';
56
- this.toolTipShowDelay = 1;
57
- this.color = "#333333";
58
- this.lightColor = "white";
59
- this.darkColor = "black";
60
- this._noBorder = false;
61
- this._iconPrefix = true;
62
- this._iconSuffix = false;
63
- this._fullWidth = false;
64
- this.formInitialized = false;
65
- this.isArrayOfStrings = (arr) => {
66
- const isArray = Array.isArray(arr) && arr.every(item => typeof item === 'string');
67
- return (arr.length > 0) ? isArray : false;
68
- };
69
- this.hasLabels = false;
70
- this.hasIcons = false;
71
- this._data = [];
72
- this.subscription = new Subscription();
73
- this.sample = "orange";
74
- this.test = 'red';
75
- this.fb = inject(FormBuilder);
76
- this.display = this.fb.control(null);
77
- this.disabled = false;
78
- this.onChange = () => { };
79
- this.onTouch = () => { };
80
- }
81
- ngOnInit() {
82
- this.subscription.add(this.display.valueChanges.subscribe(data => this.onChange(data)));
83
- }
84
- writeValue(value) {
85
- if (!this.formInitialized) {
86
- this.display.patchValue(this.selected, { emitEvent: false });
87
- }
88
- else {
89
- const valuePatch = (value) ? (this.multiple) ? value : value[0] : null;
90
- this.display.patchValue(valuePatch, { emitEvent: false });
91
- }
92
- this.formInitialized = true;
93
- }
94
- registerOnChange(fn) {
95
- this.onChange = fn;
96
- }
97
- registerOnTouched(fn) {
98
- this.onTouch = fn;
99
- }
100
- setDisabledState(isDisabled) {
101
- this.disabled = isDisabled;
102
- if (this.disabled) {
103
- this.display.disable();
104
- }
105
- else {
106
- this.display.enable();
107
- }
108
- }
109
- ngOnDestroy() {
110
- this.subscription.unsubscribe();
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonToggleInputComponent, selector: "app-button-toggle-input", inputs: { multiple: "multiple", toolTips: "toolTips", toolTipPosition: "toolTipPosition", toolTipShowDelay: "toolTipShowDelay", color: "color", lightColor: "lightColor", darkColor: "darkColor", noBorder: "noBorder", iconPrefix: "iconPrefix", iconSuffix: "iconSuffix", fullWidth: "fullWidth", data: "data" }, providers: [
114
- {
115
- provide: NG_VALUE_ACCESSOR,
116
- useExisting: forwardRef(() => ButtonToggleInputComponent),
117
- multi: true
118
- }
119
- ], ngImport: i0, template: "<mat-button-toggle-group\n style=\"height: 44px;\"\n [class.stretch]=\"fullWidth\"\n [style.background-color]=\"(noBorder) ? '' : 'white'\"\n [style.border-radius]=\"(noBorder) ? 'none' : '5rem'\"\n [style.border]=\"(noBorder) ? 'none' : ''\"\n [formControl]=\"display\"\n [multiple]=\"multiple\"\n>\n <ng-container *ngFor=\"let item of data;\">\n\n <mat-button-toggle\n [disableRipple]=\"true\"\n color=\"primary\"\n style=\"border-radius: 5rem;\"\n [style.flex]=\"(fullWidth) ? '1' : ''\"\n [style.opacity]=\"disabled ? '0.3' : ''\"\n [style.padding-left]=\"(hasLabels && !fullWidth) ? '.5rem' : ''\"\n [style.padding-right]=\"(hasLabels && !fullWidth)? '.5rem' : ''\"\n [value]=\"item.value\"\n [matTooltip]=\"(toolTips) ? item.tootTip : ''\"\n [matTooltipPosition]=\"toolTipPosition\"\n [matTooltipShowDelay]=\"toolTipShowDelay * 1000\"\n [disabled]=\"item.disabled\"\n >\n <div\n style=\"display: flex; gap: 0.5rem; padding-top: 0.25rem\"\n [style.padding-top]=\"iconSuffix && (hasIcons && hasLabels) ? '' : '.25rem'\">\n <div class=\"icon\" *ngIf=\"hasIcons && iconPrefix\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n\n <div class=\"overflow-content\" *ngIf=\"item.label !== ''\">{{ item.label }}</div>\n\n <div class=\"icon\" *ngIf=\"hasIcons && iconSuffix\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n </div>\n\n </mat-button-toggle>\n\n </ng-container>\n</mat-button-toggle-group>\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-button-toggle-checked{background-color:#333!important;color:#fff!important;transition:all .2s ease;font-weight:600}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border:none!important;white-space:pre-wrap!important}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{border:none!important;white-space:pre-wrap!important}.mat-button-toggle-label-content{line-height:32px!important}.mat-checkbox span.mat-checkbox-ripple{display:none}mat-button-toggle{display:flex;align-items:center;justify-content:center;text-align:center}mat-button-toggle .overflow-content{display:flex;align-items:center;justify-content:center;white-space:normal;word-wrap:break-word;line-height:1.2rem;font-size:1rem}.stretch{display:flex}.icon{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }] }); }
120
- }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputComponent, decorators: [{
122
- type: Component,
123
- args: [{ selector: 'app-button-toggle-input', providers: [
124
- {
125
- provide: NG_VALUE_ACCESSOR,
126
- useExisting: forwardRef(() => ButtonToggleInputComponent),
127
- multi: true
128
- }
129
- ], template: "<mat-button-toggle-group\n style=\"height: 44px;\"\n [class.stretch]=\"fullWidth\"\n [style.background-color]=\"(noBorder) ? '' : 'white'\"\n [style.border-radius]=\"(noBorder) ? 'none' : '5rem'\"\n [style.border]=\"(noBorder) ? 'none' : ''\"\n [formControl]=\"display\"\n [multiple]=\"multiple\"\n>\n <ng-container *ngFor=\"let item of data;\">\n\n <mat-button-toggle\n [disableRipple]=\"true\"\n color=\"primary\"\n style=\"border-radius: 5rem;\"\n [style.flex]=\"(fullWidth) ? '1' : ''\"\n [style.opacity]=\"disabled ? '0.3' : ''\"\n [style.padding-left]=\"(hasLabels && !fullWidth) ? '.5rem' : ''\"\n [style.padding-right]=\"(hasLabels && !fullWidth)? '.5rem' : ''\"\n [value]=\"item.value\"\n [matTooltip]=\"(toolTips) ? item.tootTip : ''\"\n [matTooltipPosition]=\"toolTipPosition\"\n [matTooltipShowDelay]=\"toolTipShowDelay * 1000\"\n [disabled]=\"item.disabled\"\n >\n <div\n style=\"display: flex; gap: 0.5rem; padding-top: 0.25rem\"\n [style.padding-top]=\"iconSuffix && (hasIcons && hasLabels) ? '' : '.25rem'\">\n <div class=\"icon\" *ngIf=\"hasIcons && iconPrefix\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n\n <div class=\"overflow-content\" *ngIf=\"item.label !== ''\">{{ item.label }}</div>\n\n <div class=\"icon\" *ngIf=\"hasIcons && iconSuffix\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n </div>\n\n </mat-button-toggle>\n\n </ng-container>\n</mat-button-toggle-group>\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-button-toggle-checked{background-color:#333!important;color:#fff!important;transition:all .2s ease;font-weight:600}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border:none!important;white-space:pre-wrap!important}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{border:none!important;white-space:pre-wrap!important}.mat-button-toggle-label-content{line-height:32px!important}.mat-checkbox span.mat-checkbox-ripple{display:none}mat-button-toggle{display:flex;align-items:center;justify-content:center;text-align:center}mat-button-toggle .overflow-content{display:flex;align-items:center;justify-content:center;white-space:normal;word-wrap:break-word;line-height:1.2rem;font-size:1rem}.stretch{display:flex}.icon{display:flex;align-items:center}\n"] }]
130
- }], ctorParameters: function () { return []; }, propDecorators: { multiple: [{
131
- type: Input
132
- }], toolTips: [{
133
- type: Input
134
- }], toolTipPosition: [{
135
- type: Input
136
- }], toolTipShowDelay: [{
137
- type: Input
138
- }], color: [{
139
- type: Input
140
- }], lightColor: [{
141
- type: Input
142
- }], darkColor: [{
143
- type: Input
144
- }], noBorder: [{
145
- type: Input
146
- }], iconPrefix: [{
147
- type: Input
148
- }], iconSuffix: [{
149
- type: Input
150
- }], fullWidth: [{
151
- type: Input
152
- }], data: [{
153
- type: Input
154
- }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9idXR0b24tdG9nZ2xlLWlucHV0L3NyYy9saWIvYnV0dG9uLXRvZ2dsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9idXR0b24tdG9nZ2xlLWlucHV0L3NyYy9saWIvYnV0dG9uLXRvZ2dsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBZXBDLE1BQU0sT0FBTywwQkFBMEI7SUFlckMsSUFDSSxRQUFRLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBSUQsSUFDSSxVQUFVLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMxRCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFJRCxJQUNJLFVBQVUsQ0FBQyxLQUFVO1FB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RUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtGLFFBQVE7c0JBRFgsS0FBSztnQkFZRixVQUFVO3NCQURiLEtBQUs7Z0JBWUYsVUFBVTtzQkFEYixLQUFLO2dCQWFGLFNBQVM7c0JBRFosS0FBSztnQkFvQk8sSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1idXR0b24tdG9nZ2xlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi10b2dnbGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24tdG9nZ2xlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQnV0dG9uVG9nZ2xlSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uVG9nZ2xlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2VcblxuICBASW5wdXQoKSB0b29sVGlwcyA9IGZhbHNlXG4gIEBJbnB1dCgpIHRvb2xUaXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ2Fib3ZlJ1xuICBASW5wdXQoKSB0b29sVGlwU2hvd0RlbGF5ID0gMVxuXG4gIEBJbnB1dCgpIGNvbG9yID0gXCIjMzMzMzMzXCI7XG5cbiAgQElucHV0KCkgbGlnaHRDb2xvciA9IFwid2hpdGVcIjtcbiAgQElucHV0KCkgZGFya0NvbG9yID0gXCJibGFja1wiO1xuXG4gIHByaXZhdGUgX25vQm9yZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IG5vQm9yZGVyKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9ub0JvcmRlciA9IHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZSc7XG4gIH1cblxuICBnZXQgbm9Cb3JkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX25vQm9yZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfaWNvblByZWZpeDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2V0IGljb25QcmVmaXgodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2ljb25QcmVmaXggPSAodmFsdWUgIT09IHVuZGVmaW5lZCkgPyB2YWx1ZSA6IGZhbHNlXG4gIH1cblxuICBnZXQgaWNvblByZWZpeCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faWNvblByZWZpeFxuICB9XG5cbiAgcHJpdmF0ZSBfaWNvblN1ZmZpeDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpY29uU3VmZml4KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9pY29uU3VmZml4ID0gKHZhbHVlICE9PSB1bmRlZmluZWQpID8gdmFsdWUgOiBmYWxzZVxuICAgIHRoaXMuaWNvblByZWZpeCA9ICF0aGlzLmljb25TdWZmaXhcbiAgfVxuXG4gIGdldCBpY29uU3VmZml4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pY29uU3VmZml4XG4gIH1cblxuICBwcml2YXRlIF9mdWxsV2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgZnVsbFdpZHRoKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9mdWxsV2lkdGggPSB2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnO1xuICB9XG5cbiAgZ2V0IGZ1bGxXaWR0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFdpZHRoXG4gIH1cblxuICBmb3JtSW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG4gIGlzQXJyYXlPZlN0cmluZ3MgPSAoYXJyOiBhbnlbXSkgPT4ge1xuICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGFycikgJiYgYXJyLmV2ZXJ5KGl0ZW0gPT4gdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKTtcbiAgICByZXR1cm4gKGFyci5sZW5ndGggPiAwKSA/IGlzQXJyYXkgOiBmYWxzZVxuICB9XG5cbiAgaGFzTGFiZWxzID0gZmFsc2VcbiAgaGFzSWNvbnMgPSBmYWxzZVxuXG4gIF9kYXRhOiBMaXN0SXRlbVtdID0gW11cbiAgQElucHV0KCkgc2V0IGRhdGEodmFsdWU6IGFueVtdKSB7XG5cbiAgICBjb25zdCBpc1N0cmluZyA9IHRoaXMuaXNBcnJheU9mU3RyaW5ncyh2YWx1ZSk7XG4gICAgdGhpcy5fZGF0YSA9IChpc1N0cmluZykgPyB2YWx1ZS5tYXAoaXRlbSA9PiBMaXN0SXRlbS5hZGFwdCh7IHZhbHVlOiBpdGVtLCBsYWJlbDogaXRlbSB9KSkgOiB2YWx1ZS5tYXAoaXRlbSA9PiBMaXN0SXRlbS5hZGFwdChpdGVtKSlcblxuICAgIHRoaXMuaGFzTGFiZWxzID0gdGhpcy5kYXRhLnNvbWUoaXRlbSA9PiBpdGVtWydsYWJlbCddKVxuICAgIHRoaXMuaGFzSWNvbnMgPSB0aGlzLmRhdGEuc29tZSgoaXRlbSkgPT4gaXRlbVtcImljb25cIl0pXG5cbiAgfVxuXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpLm1hcChpdGVtID0+IGl0ZW0udmFsdWUpXG4gIH1cblxuICBnZXQgaGFzU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDApXG4gIH1cblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVxuICB9XG5cbiAgc2FtcGxlID0gXCJvcmFuZ2VcIlxuICB0ZXN0ID0gJ3JlZCdcblxuICBmYiA9IGluamVjdChGb3JtQnVpbGRlcilcblxuICBkaXNwbGF5ID0gdGhpcy5mYi5jb250cm9sPHN0cmluZ3xzdHJpbmdbXXxudWxsPihudWxsKVxuXG4gIGRpc2FibGVkID0gZmFsc2VcblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge31cbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge31cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5kaXNwbGF5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLm9uQ2hhbmdlKGRhdGEpKVxuICAgIClcblxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10pe1xuXG4gICAgaWYoIXRoaXMuZm9ybUluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkucGF0Y2hWYWx1ZSh0aGlzLnNlbGVjdGVkLCB7IGVtaXRFdmVudDogZmFsc2UgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWVQYXRjaCA9ICh2YWx1ZSkgPyAodGhpcy5tdWx0aXBsZSkgPyB2YWx1ZSA6IHZhbHVlWzBdIDogbnVsbFxuICAgICAgdGhpcy5kaXNwbGF5LnBhdGNoVmFsdWUodmFsdWVQYXRjaCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pXG4gICAgfVxuXG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQgPSB0cnVlXG5cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSl7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpe1xuICAgIHRoaXMub25Ub3VjaCA9IGZuXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcblxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG5cbiAgICBpZih0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkuZGlzYWJsZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcGxheS5lbmFibGUoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgc3R5bGU9XCJoZWlnaHQ6IDQ0cHg7XCJcbiAgW2NsYXNzLnN0cmV0Y2hdPVwiZnVsbFdpZHRoXCJcbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiKG5vQm9yZGVyKSA/ICcnIDogJ3doaXRlJ1wiXG4gIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cIihub0JvcmRlcikgPyAnbm9uZScgOiAnNXJlbSdcIlxuICBbc3R5bGUuYm9yZGVyXT1cIihub0JvcmRlcikgPyAnbm9uZScgOiAnJ1wiXG4gIFtmb3JtQ29udHJvbF09XCJkaXNwbGF5XCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbj5cbiAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YTtcIj5cblxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA1cmVtO1wiXG4gICAgICBbc3R5bGUuZmxleF09XCIoZnVsbFdpZHRoKSA/ICcxJyA6ICcnXCJcbiAgICAgIFtzdHlsZS5vcGFjaXR5XT1cImRpc2FibGVkID8gJzAuMycgOiAnJ1wiXG4gICAgICBbc3R5bGUucGFkZGluZy1sZWZ0XT1cIihoYXNMYWJlbHMgJiYgIWZ1bGxXaWR0aCkgPyAnLjVyZW0nIDogJydcIlxuICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwiKGhhc0xhYmVscyAmJiAhZnVsbFdpZHRoKT8gJy41cmVtJyA6ICcnXCJcbiAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcbiAgICAgIFttYXRUb29sdGlwXT1cIih0b29sVGlwcykgPyBpdGVtLnRvb3RUaXAgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2xUaXBQb3NpdGlvblwiXG4gICAgICBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sVGlwU2hvd0RlbGF5ICogMTAwMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgPlxuICAgIDxkaXZcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAwLjVyZW07IHBhZGRpbmctdG9wOiAwLjI1cmVtXCJcbiAgICAgIFtzdHlsZS5wYWRkaW5nLXRvcF09XCJpY29uU3VmZml4ICYmIChoYXNJY29ucyAmJiBoYXNMYWJlbHMpID8gJycgOiAnLjI1cmVtJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiICpuZ0lmPVwiaGFzSWNvbnMgJiYgaWNvblByZWZpeFwiPlxuICAgICAgICAgIDxtYXQtaWNvbj57e2l0ZW0uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LWNvbnRlbnRcIiAqbmdJZj1cIml0ZW0ubGFiZWwgIT09ICcnXCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJoYXNJY29ucyAmJiBpY29uU3VmZml4XCI+XG4gICAgICAgICAgPG1hdC1pY29uPnt7aXRlbS5pY29ufX08L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4iXX0=
@@ -1,60 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { ButtonToggleInputComponent } from './button-toggle-input.component';
5
- import { ButtonToggleDemoComponent } from './button-toggle-input-demo/button-toggle-input-demo.component';
6
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { MatIconModule } from '@angular/material/icon';
9
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
10
- import { MatDividerModule } from '@angular/material/divider';
11
- import { MatButtonModule } from '@angular/material/button';
12
- import * as i0 from "@angular/core";
13
- export class ButtonToggleInputModule {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, declarations: [ButtonToggleInputComponent,
16
- ButtonToggleDemoComponent], imports: [CommonModule,
17
- FormsModule,
18
- MatIconModule,
19
- MatButtonModule,
20
- MatTooltipModule,
21
- ReactiveFormsModule,
22
- MatButtonToggleModule,
23
- MatSlideToggleModule,
24
- MatDividerModule], exports: [ButtonToggleInputComponent,
25
- ButtonToggleDemoComponent] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, imports: [CommonModule,
27
- FormsModule,
28
- MatIconModule,
29
- MatButtonModule,
30
- MatTooltipModule,
31
- ReactiveFormsModule,
32
- MatButtonToggleModule,
33
- MatSlideToggleModule,
34
- MatDividerModule] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- imports: [
40
- CommonModule,
41
- FormsModule,
42
- MatIconModule,
43
- MatButtonModule,
44
- MatTooltipModule,
45
- ReactiveFormsModule,
46
- MatButtonToggleModule,
47
- MatSlideToggleModule,
48
- MatDividerModule,
49
- ],
50
- declarations: [
51
- ButtonToggleInputComponent,
52
- ButtonToggleDemoComponent
53
- ],
54
- exports: [
55
- ButtonToggleInputComponent,
56
- ButtonToggleDemoComponent
57
- ]
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9idXR0b24tdG9nZ2xlLWlucHV0L3NyYy9saWIvYnV0dG9uLXRvZ2dsZS1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBdUIzRCxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QixpQkFSaEMsMEJBQTBCO1lBQzFCLHlCQUF5QixhQVp6QixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLGdCQUFnQixhQU9oQiwwQkFBMEI7WUFDMUIseUJBQXlCO2dIQUdoQix1QkFBdUIsWUFuQmhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsZ0JBQWdCOzs0RkFXUCx1QkFBdUI7a0JBckJuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvblRvZ2dsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24tdG9nZ2xlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Ub2dnbGVEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24tdG9nZ2xlLWlucHV0LWRlbW8vYnV0dG9uLXRvZ2dsZS1pbnB1dC1kZW1vLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvblRvZ2dsZUlucHV0Q29tcG9uZW50LFxuICAgIEJ1dHRvblRvZ2dsZURlbW9Db21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvblRvZ2dsZUlucHV0Q29tcG9uZW50LFxuICAgIEJ1dHRvblRvZ2dsZURlbW9Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Ub2dnbGVJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
@@ -1,14 +0,0 @@
1
- export class ListItem {
2
- constructor(value = '', label, icon, tootTip, selected, disabled) {
3
- this.value = value;
4
- this.label = label;
5
- this.icon = icon;
6
- this.tootTip = tootTip;
7
- this.selected = selected;
8
- this.disabled = disabled;
9
- }
10
- static adapt(item) {
11
- return new ListItem(item?.value, (item?.label) ? item.label : (item?.icon) ? '' : item?.value, item?.icon, (item?.tootTip) ? item.tootTip : (item?.label) ? item.label : item?.value, item?.selected, item?.disabled);
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnV0dG9uLXRvZ2dsZS1pbnB1dC9zcmMvbGliL21vZGVscy9saXN0LWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFFBQVE7SUFFbkIsWUFDUyxRQUFRLEVBQUUsRUFDVixLQUFjLEVBQ2QsSUFBYSxFQUNiLE9BQWdCLEVBQ2hCLFFBQWlCLEVBQ2pCLFFBQWlCO1FBTGpCLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDVixVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFTO0lBQ3ZCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsT0FBTyxJQUFJLFFBQVEsQ0FDakIsSUFBSSxFQUFFLEtBQUssRUFDWCxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFDNUQsSUFBSSxFQUFFLElBQUksRUFDVixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQ3pFLElBQUksRUFBRSxRQUFRLEVBQ2QsSUFBSSxFQUFFLFFBQVEsQ0FDZixDQUFBO0lBRUgsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMaXN0SXRlbUludGVyZmFjZSB7XG4gIHZhbHVlOiBhbnlcbiAgbGFiZWw/OiBzdHJpbmdcbiAgaWNvbj86IHN0cmluZ1xuICB0b290VGlwPzogc3RyaW5nXG4gIHNlbGVjdGVkPzogc3RyaW5nXG4gIGRpc2FibGVkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbSBpbXBsZW1lbnRzIExpc3RJdGVtSW50ZXJmYWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdmFsdWUgPSAnJyxcbiAgICBwdWJsaWMgbGFiZWw/OiBzdHJpbmcsXG4gICAgcHVibGljIGljb24/OiBzdHJpbmcsXG4gICAgcHVibGljIHRvb3RUaXA/OiBzdHJpbmcsXG4gICAgcHVibGljIHNlbGVjdGVkPzogc3RyaW5nLFxuICAgIHB1YmxpYyBkaXNhYmxlZD86IHN0cmluZyxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogTGlzdEl0ZW0ge1xuXG4gICAgcmV0dXJuIG5ldyBMaXN0SXRlbShcbiAgICAgIGl0ZW0/LnZhbHVlLFxuICAgICAgKGl0ZW0/LmxhYmVsKSA/IGl0ZW0ubGFiZWwgOiAoaXRlbT8uaWNvbikgPyAnJyA6IGl0ZW0/LnZhbHVlLFxuICAgICAgaXRlbT8uaWNvbixcbiAgICAgIChpdGVtPy50b290VGlwKSA/IGl0ZW0udG9vdFRpcCA6IChpdGVtPy5sYWJlbCkgPyBpdGVtLmxhYmVsIDogaXRlbT8udmFsdWUsXG4gICAgICBpdGVtPy5zZWxlY3RlZCxcbiAgICAgIGl0ZW0/LmRpc2FibGVkLFxuICAgIClcblxuICB9XG5cbn1cblxuXG4iXX0=
@@ -1,8 +0,0 @@
1
- /*
2
- * Public API Surface of button-toggle-input
3
- */
4
- export * from './lib/button-toggle-input-demo/button-toggle-input-demo.component';
5
- export * from './lib/button-toggle-input.module';
6
- export * from './lib/button-toggle-input.component';
7
- export * from './lib/models/list-item.model';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2J1dHRvbi10b2dnbGUtaW5wdXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1FQUFtRSxDQUFDO0FBRWxGLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBidXR0b24tdG9nZ2xlLWlucHV0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uLXRvZ2dsZS1pbnB1dC1kZW1vL2J1dHRvbi10b2dnbGUtaW5wdXQtZGVtby5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24tdG9nZ2xlLWlucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24tdG9nZ2xlLWlucHV0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9saXN0LWl0ZW0ubW9kZWwnO1xuIl19
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="button-toggle-input" />
5
- export * from './public-api';
@@ -1,80 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export declare class ButtonToggleDemoComponent implements OnInit {
5
- fb: FormBuilder;
6
- type: string;
7
- data_1: ({
8
- id: number;
9
- icon: string;
10
- value: string;
11
- disabled: boolean;
12
- selected?: undefined;
13
- } | {
14
- id: number;
15
- icon: string;
16
- value: string;
17
- disabled?: undefined;
18
- selected?: undefined;
19
- } | {
20
- id: number;
21
- icon: string;
22
- value: string;
23
- selected: boolean;
24
- disabled?: undefined;
25
- })[];
26
- data_2: ({
27
- id: number;
28
- label: string;
29
- value: string;
30
- disabled: boolean;
31
- selected?: undefined;
32
- } | {
33
- id: number;
34
- label: string;
35
- value: string;
36
- disabled?: undefined;
37
- selected?: undefined;
38
- } | {
39
- id: number;
40
- label: string;
41
- value: string;
42
- selected: boolean;
43
- disabled?: undefined;
44
- })[];
45
- data_3: ({
46
- id: number;
47
- label: string;
48
- icon: string;
49
- value: string;
50
- disabled: boolean;
51
- selected?: undefined;
52
- } | {
53
- id: number;
54
- label: string;
55
- icon: string;
56
- value: string;
57
- disabled?: undefined;
58
- selected?: undefined;
59
- } | {
60
- id: number;
61
- label: string;
62
- icon: string;
63
- value: string;
64
- selected: boolean;
65
- disabled?: undefined;
66
- })[];
67
- data: any[];
68
- selectionControl_1: import("@angular/forms").FormControl<any>;
69
- selectionControl_2: import("@angular/forms").FormControl<any>;
70
- changeDetection_1: import("@angular/forms").FormControl<boolean | null>;
71
- changeDetection_2: import("@angular/forms").FormControl<boolean | null>;
72
- constructor();
73
- ngOnInit(): void;
74
- onPerformPatch(): void;
75
- onChangeDataType(type: string): void;
76
- onDisabled_1(disable: boolean): void;
77
- onDisabled_2(disable: boolean): void;
78
- static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleDemoComponent, never>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonToggleDemoComponent, "app-button-toggle-demo", never, {}, {}, never, never, false, never>;
80
- }
@@ -1,53 +0,0 @@
1
- import { OnDestroy, OnInit } from '@angular/core';
2
- import { ControlValueAccessor, FormBuilder } from '@angular/forms';
3
- import { ListItem } from './models/list-item.model';
4
- import { Subscription } from 'rxjs';
5
- import { TooltipPosition } from '@angular/material/tooltip';
6
- import * as i0 from "@angular/core";
7
- export declare class ButtonToggleInputComponent implements OnInit, OnDestroy, ControlValueAccessor {
8
- multiple: boolean;
9
- toolTips: boolean;
10
- toolTipPosition: TooltipPosition;
11
- toolTipShowDelay: number;
12
- color: string;
13
- lightColor: string;
14
- darkColor: string;
15
- private _noBorder;
16
- set noBorder(value: any);
17
- get noBorder(): boolean;
18
- private _iconPrefix;
19
- set iconPrefix(value: any);
20
- get iconPrefix(): boolean;
21
- private _iconSuffix;
22
- set iconSuffix(value: any);
23
- get iconSuffix(): boolean;
24
- private _fullWidth;
25
- set fullWidth(value: any);
26
- get fullWidth(): boolean;
27
- formInitialized: boolean;
28
- isArrayOfStrings: (arr: any[]) => boolean;
29
- hasLabels: boolean;
30
- hasIcons: boolean;
31
- _data: ListItem[];
32
- set data(value: any[]);
33
- subscription: Subscription;
34
- get selected(): any[];
35
- get hasSelected(): boolean;
36
- get data(): any[];
37
- sample: string;
38
- test: string;
39
- fb: FormBuilder;
40
- display: import("@angular/forms").FormControl<string | string[] | null>;
41
- disabled: boolean;
42
- onChange: any;
43
- onTouch: any;
44
- constructor();
45
- ngOnInit(): void;
46
- writeValue(value: string[]): void;
47
- registerOnChange(fn: any): void;
48
- registerOnTouched(fn: any): void;
49
- setDisabledState(isDisabled: boolean): void;
50
- ngOnDestroy(): void;
51
- static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleInputComponent, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonToggleInputComponent, "app-button-toggle-input", never, { "multiple": { "alias": "multiple"; "required": false; }; "toolTips": { "alias": "toolTips"; "required": false; }; "toolTipPosition": { "alias": "toolTipPosition"; "required": false; }; "toolTipShowDelay": { "alias": "toolTipShowDelay"; "required": false; }; "color": { "alias": "color"; "required": false; }; "lightColor": { "alias": "lightColor"; "required": false; }; "darkColor": { "alias": "darkColor"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; "iconPrefix": { "alias": "iconPrefix"; "required": false; }; "iconSuffix": { "alias": "iconSuffix"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, {}, never, never, false, never>;
53
- }
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./button-toggle-input.component";
3
- import * as i2 from "./button-toggle-input-demo/button-toggle-input-demo.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/icon";
7
- import * as i6 from "@angular/material/button";
8
- import * as i7 from "@angular/material/tooltip";
9
- import * as i8 from "@angular/material/button-toggle";
10
- import * as i9 from "@angular/material/slide-toggle";
11
- import * as i10 from "@angular/material/divider";
12
- export declare class ButtonToggleInputModule {
13
- static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleInputModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonToggleInputModule, [typeof i1.ButtonToggleInputComponent, typeof i2.ButtonToggleDemoComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.MatTooltipModule, typeof i4.ReactiveFormsModule, typeof i8.MatButtonToggleModule, typeof i9.MatSlideToggleModule, typeof i10.MatDividerModule], [typeof i1.ButtonToggleInputComponent, typeof i2.ButtonToggleDemoComponent]>;
15
- static ɵinj: i0.ɵɵInjectorDeclaration<ButtonToggleInputModule>;
16
- }