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.
Binary file
@@ -1,22 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, forwardRef, Component, Input, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import * as i2 from '@angular/forms';
2
+ import { inject, forwardRef, Input, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
4
  import { FormBuilder, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i2$1 from '@angular/material/button';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
- import * as i5 from '@angular/material/button-toggle';
7
+ import * as i4 from '@angular/material/button-toggle';
8
8
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
9
9
  import * as i4$1 from '@angular/material/slide-toggle';
10
10
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
11
- import * as i5$1 from '@angular/material/divider';
11
+ import * as i5 from '@angular/material/divider';
12
12
  import { MatDividerModule } from '@angular/material/divider';
13
13
  import { Subscription } from 'rxjs';
14
- import * as i1 from '@angular/common';
15
- import { CommonModule } from '@angular/common';
16
- import * as i3 from '@angular/material/icon';
14
+ import * as i2 from '@angular/material/icon';
17
15
  import { MatIconModule } from '@angular/material/icon';
18
- import * as i4 from '@angular/material/tooltip';
16
+ import * as i3 from '@angular/material/tooltip';
19
17
  import { MatTooltipModule } from '@angular/material/tooltip';
18
+ import * as i7 from '@angular/common';
19
+ import { CommonModule } from '@angular/common';
20
20
 
21
21
  class ListItem {
22
22
  constructor(value = '', label, icon, tootTip, selected, disabled) {
@@ -133,16 +133,16 @@ class ButtonToggleInputComponent {
133
133
  ngOnDestroy() {
134
134
  this.subscription.unsubscribe();
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
137
- 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: [
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: [
138
138
  {
139
139
  provide: NG_VALUE_ACCESSOR,
140
140
  useExisting: forwardRef(() => ButtonToggleInputComponent),
141
141
  multi: true
142
142
  }
143
- ], 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"] }] }); }
143
+ ], 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 @for (item of data; track item) {\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 @if (hasIcons && iconPrefix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n @if (item.label !== '') {\n <div class=\"overflow-content\">{{ item.label }}</div>\n }\n @if (hasIcons && iconSuffix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n </div>\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n", styles: [".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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }] }); }
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputComponent, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: 'app-button-toggle-input', providers: [
148
148
  {
@@ -150,8 +150,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
150
150
  useExisting: forwardRef(() => ButtonToggleInputComponent),
151
151
  multi: true
152
152
  }
153
- ], 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"] }]
154
- }], ctorParameters: function () { return []; }, propDecorators: { multiple: [{
153
+ ], standalone: false, 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 @for (item of data; track item) {\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 @if (hasIcons && iconPrefix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n @if (item.label !== '') {\n <div class=\"overflow-content\">{{ item.label }}</div>\n }\n @if (hasIcons && iconSuffix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n </div>\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n", styles: [".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"] }]
154
+ }], ctorParameters: () => [], propDecorators: { multiple: [{
155
155
  type: Input
156
156
  }], toolTips: [{
157
157
  type: Input
@@ -253,17 +253,17 @@ class ButtonToggleDemoComponent {
253
253
  this.selectionControl_2.enable();
254
254
  }
255
255
  }
256
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
257
- 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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2$1.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: 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"] }, { kind: "component", type: i4$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i5$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ButtonToggleInputComponent, selector: "app-button-toggle-input", inputs: ["multiple", "toolTips", "toolTipPosition", "toolTipShowDelay", "color", "lightColor", "darkColor", "noBorder", "iconPrefix", "iconSuffix", "fullWidth", "data"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
257
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i4$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: 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 }); }
258
258
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleDemoComponent, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleDemoComponent, decorators: [{
260
260
  type: Component,
261
- 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" }]
262
- }], ctorParameters: function () { return []; } });
261
+ args: [{ selector: 'app-button-toggle-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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" }]
262
+ }], ctorParameters: () => [] });
263
263
 
264
264
  class ButtonToggleInputModule {
265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
266
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, declarations: [ButtonToggleInputComponent,
265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
266
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputModule, declarations: [ButtonToggleInputComponent,
267
267
  ButtonToggleDemoComponent], imports: [CommonModule,
268
268
  FormsModule,
269
269
  MatIconModule,
@@ -274,7 +274,7 @@ class ButtonToggleInputModule {
274
274
  MatSlideToggleModule,
275
275
  MatDividerModule], exports: [ButtonToggleInputComponent,
276
276
  ButtonToggleDemoComponent] }); }
277
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, imports: [CommonModule,
277
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputModule, imports: [CommonModule,
278
278
  FormsModule,
279
279
  MatIconModule,
280
280
  MatButtonModule,
@@ -284,7 +284,7 @@ class ButtonToggleInputModule {
284
284
  MatSlideToggleModule,
285
285
  MatDividerModule] }); }
286
286
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonToggleInputModule, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonToggleInputModule, decorators: [{
288
288
  type: NgModule,
289
289
  args: [{
290
290
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"button-toggle-input.mjs","sources":["../../../projects/button-toggle-input/src/lib/models/list-item.model.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input.component.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input.component.html","../../../projects/button-toggle-input/src/lib/button-toggle-input-demo/button-toggle-input-demo.component.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input-demo/button-toggle-input-demo.component.html","../../../projects/button-toggle-input/src/lib/button-toggle-input.module.ts","../../../projects/button-toggle-input/src/public-api.ts","../../../projects/button-toggle-input/src/button-toggle-input.ts"],"sourcesContent":["export interface ListItemInterface {\n value: any\n label?: string\n icon?: string\n tootTip?: string\n selected?: string\n disabled?: string\n}\n\nexport class ListItem implements ListItemInterface {\n\n constructor(\n public value = '',\n public label?: string,\n public icon?: string,\n public tootTip?: string,\n public selected?: string,\n public disabled?: string,\n ) {}\n\n static adapt(item?: any): ListItem {\n\n return new ListItem(\n item?.value,\n (item?.label) ? item.label : (item?.icon) ? '' : item?.value,\n item?.icon,\n (item?.tootTip) ? item.tootTip : (item?.label) ? item.label : item?.value,\n item?.selected,\n item?.disabled,\n )\n\n }\n\n}\n\n\n","import { Component, Input, OnDestroy, OnInit, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ListItem } from './models/list-item.model';\nimport { Subscription } from 'rxjs';\nimport { TooltipPosition } from '@angular/material/tooltip';\n\n@Component({\n selector: 'app-button-toggle-input',\n templateUrl: './button-toggle-input.component.html',\n styleUrls: ['./button-toggle-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonToggleInputComponent),\n multi: true\n }\n ]\n})\nexport class ButtonToggleInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n @Input() multiple = false\n\n @Input() toolTips = false\n @Input() toolTipPosition: TooltipPosition = 'above'\n @Input() toolTipShowDelay = 1\n\n @Input() color = \"#333333\";\n\n @Input() lightColor = \"white\";\n @Input() darkColor = \"black\";\n\n private _noBorder: boolean = false;\n\n @Input()\n set noBorder(value: any) {\n this._noBorder = value !== null && `${value}` !== 'false';\n }\n\n get noBorder(): boolean {\n return this._noBorder;\n }\n\n private _iconPrefix: boolean = true;\n\n @Input()\n set iconPrefix(value: any) {\n this._iconPrefix = (value !== undefined) ? value : false\n }\n\n get iconPrefix(): boolean {\n return this._iconPrefix\n }\n\n private _iconSuffix: boolean = false;\n\n @Input()\n set iconSuffix(value: any) {\n this._iconSuffix = (value !== undefined) ? value : false\n this.iconPrefix = !this.iconSuffix\n }\n\n get iconSuffix(): boolean {\n return this._iconSuffix\n }\n\n private _fullWidth: boolean = false;\n\n @Input()\n set fullWidth(value: any) {\n this._fullWidth = value !== null && `${value}` !== 'false';\n }\n\n get fullWidth(): boolean {\n return this._fullWidth\n }\n\n formInitialized = false\n\n isArrayOfStrings = (arr: any[]) => {\n const isArray = Array.isArray(arr) && arr.every(item => typeof item === 'string');\n return (arr.length > 0) ? isArray : false\n }\n\n hasLabels = false\n hasIcons = false\n\n _data: ListItem[] = []\n @Input() set data(value: any[]) {\n\n const isString = this.isArrayOfStrings(value);\n this._data = (isString) ? value.map(item => ListItem.adapt({ value: item, label: item })) : value.map(item => ListItem.adapt(item))\n\n this.hasLabels = this.data.some(item => item['label'])\n this.hasIcons = this.data.some((item) => item[\"icon\"])\n\n }\n\n subscription = new Subscription()\n\n get selected() {\n return this.data.filter(item => item.selected).map(item => item.value)\n }\n\n get hasSelected() {\n return (this.selected.length > 0)\n }\n\n get data() {\n return this._data\n }\n\n sample = \"orange\"\n test = 'red'\n\n fb = inject(FormBuilder)\n\n display = this.fb.control<string|string[]|null>(null)\n\n disabled = false\n\n onChange: any = () => {}\n onTouch: any = () => {}\n\n constructor() { }\n\n ngOnInit() {\n\n this.subscription.add(\n this.display.valueChanges.subscribe(data => this.onChange(data))\n )\n\n }\n\n writeValue(value: string[]){\n\n if(!this.formInitialized) {\n this.display.patchValue(this.selected, { emitEvent: false })\n } else {\n const valuePatch = (value) ? (this.multiple) ? value : value[0] : null\n this.display.patchValue(valuePatch, { emitEvent: false })\n }\n\n this.formInitialized = true\n\n }\n\n registerOnChange(fn: any){\n this.onChange = fn\n }\n\n registerOnTouched(fn: any){\n this.onTouch = fn\n }\n\n setDisabledState(isDisabled: boolean) {\n\n this.disabled = isDisabled\n\n if(this.disabled) {\n this.display.disable()\n } else {\n this.display.enable()\n }\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe()\n }\n\n}\n","<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","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-button-toggle-demo',\n templateUrl: './button-toggle-input-demo.component.html',\n styleUrls: ['./button-toggle-input-demo.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonToggleDemoComponent implements OnInit {\n\n fb = inject(FormBuilder)\n\n type = 'icons'\n\n data_1 = [\n {id: 1, icon: 'home', value: 'option_1', disabled: true },\n {id: 2, icon: 'layers', value: 'option_2'},\n {id: 3, icon: 'add', value: 'option_3' },\n {id: 3, icon: 'build', value: 'option_4', disabled: true },\n {id: 3, icon: 'list', value: 'option_5', selected: true },\n {id: 3, icon: 'business', value: 'option_6'},\n ]\n\n data_2 = [\n {id: 1, label: 'Home', value: 'option_1', disabled: true },\n {id: 2, label: 'Samples', value: 'option_2' },\n {id: 3, label: 'Demos 1 is here', value: 'option_3' },\n {id: 3, label: 'Demos 2A', value: 'option_4', disabled: true },\n {id: 3, label: 'Demos 2B', value: 'option_5', selected: true },\n {id: 3, label: 'Demos 3', value: 'option_6' },\n ]\n\n data_3 = [\n {id: 1, label: 'Home', icon: 'home', value: 'option_1', disabled: true },\n {id: 2, label: 'Samples', icon: 'layers', value: 'option_2'},\n {id: 3, label: 'Demos 1', icon: 'add', value: 'option_3' },\n {id: 3, label: 'Demos 2A', icon: 'network', value: 'option_4', disabled: true },\n {id: 3, label: 'Demos 2B', icon: 'list', value: 'option_5', selected: true },\n {id: 3, label: 'Demos 3', icon: 'business', value: 'option_6'},\n ]\n\n data: any[] = this.data_1\n\n selectionControl_1 = this.fb.control<any>(null)\n selectionControl_2 = this.fb.control<any>(null)\n\n changeDetection_1 = this.fb.control(true)\n changeDetection_2 = this.fb.control(false)\n\n constructor() { }\n\n ngOnInit() {\n\n this.selectionControl_1.valueChanges.subscribe(data => {\n if(this.changeDetection_1.value) console.log('CHANGE:',data)\n })\n\n this.selectionControl_2.valueChanges.subscribe(data => {\n if(this.changeDetection_2.value) console.log('CHANGE:',data)\n })\n\n }\n\n onPerformPatch() {\n this.selectionControl_1.patchValue(['option_3'])\n this.selectionControl_2.patchValue(['option_3', 'option_5'])\n }\n\n onChangeDataType(type: string) {\n if(type === 'icons') {\n this.data = this.data_1\n } else if(type === 'labels') {\n this.data = this.data_2\n } else {\n this.data = this.data_3\n }\n }\n\n // DISABLE\n onDisabled_1(disable: boolean) {\n\n if(disable) {\n this.selectionControl_1.disable()\n } else {\n this.selectionControl_1.enable()\n }\n\n }\n\n onDisabled_2(disable: boolean) {\n\n if(disable) {\n this.selectionControl_2.disable()\n } else {\n this.selectionControl_2.enable()\n }\n\n }\n\n}\n","<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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ButtonToggleInputComponent } from './button-toggle-input.component';\nimport { ButtonToggleDemoComponent } from './button-toggle-input-demo/button-toggle-input-demo.component';\n\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n ReactiveFormsModule,\n MatButtonToggleModule,\n MatSlideToggleModule,\n MatDividerModule,\n ],\n declarations: [\n ButtonToggleInputComponent,\n ButtonToggleDemoComponent\n ],\n exports: [\n ButtonToggleInputComponent,\n ButtonToggleDemoComponent\n ]\n})\nexport class ButtonToggleInputModule { }\n","/*\n * Public API Surface of button-toggle-input\n */\n\nexport * from './lib/button-toggle-input-demo/button-toggle-input-demo.component';\n\nexport * from './lib/button-toggle-input.module';\nexport * from './lib/button-toggle-input.component';\n\nexport * from './lib/models/list-item.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i5","i6.ButtonToggleInputComponent","i7"],"mappings":"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"}
1
+ {"version":3,"file":"button-toggle-input.mjs","sources":["../../../projects/button-toggle-input/src/lib/models/list-item.model.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input.component.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input.component.html","../../../projects/button-toggle-input/src/lib/button-toggle-input-demo/button-toggle-input-demo.component.ts","../../../projects/button-toggle-input/src/lib/button-toggle-input-demo/button-toggle-input-demo.component.html","../../../projects/button-toggle-input/src/lib/button-toggle-input.module.ts","../../../projects/button-toggle-input/src/public-api.ts","../../../projects/button-toggle-input/src/button-toggle-input.ts"],"sourcesContent":["export interface ListItemInterface {\n value: any\n label?: string\n icon?: string\n tootTip?: string\n selected?: string\n disabled?: string\n}\n\nexport class ListItem implements ListItemInterface {\n\n constructor(\n public value = '',\n public label?: string,\n public icon?: string,\n public tootTip?: string,\n public selected?: string,\n public disabled?: string,\n ) {}\n\n static adapt(item?: any): ListItem {\n\n return new ListItem(\n item?.value,\n (item?.label) ? item.label : (item?.icon) ? '' : item?.value,\n item?.icon,\n (item?.tootTip) ? item.tootTip : (item?.label) ? item.label : item?.value,\n item?.selected,\n item?.disabled,\n )\n\n }\n\n}\n\n\n","import { Component, Input, OnDestroy, OnInit, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ListItem } from './models/list-item.model';\nimport { Subscription } from 'rxjs';\nimport { TooltipPosition } from '@angular/material/tooltip';\n\n@Component({\n selector: 'app-button-toggle-input',\n templateUrl: './button-toggle-input.component.html',\n styleUrls: ['./button-toggle-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonToggleInputComponent),\n multi: true\n }\n ],\n standalone: false\n})\nexport class ButtonToggleInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n @Input() multiple = false\n\n @Input() toolTips = false\n @Input() toolTipPosition: TooltipPosition = 'above'\n @Input() toolTipShowDelay = 1\n\n @Input() color = \"#333333\";\n\n @Input() lightColor = \"white\";\n @Input() darkColor = \"black\";\n\n private _noBorder: boolean = false;\n\n @Input()\n set noBorder(value: any) {\n this._noBorder = value !== null && `${value}` !== 'false';\n }\n\n get noBorder(): boolean {\n return this._noBorder;\n }\n\n private _iconPrefix: boolean = true;\n\n @Input()\n set iconPrefix(value: any) {\n this._iconPrefix = (value !== undefined) ? value : false\n }\n\n get iconPrefix(): boolean {\n return this._iconPrefix\n }\n\n private _iconSuffix: boolean = false;\n\n @Input()\n set iconSuffix(value: any) {\n this._iconSuffix = (value !== undefined) ? value : false\n this.iconPrefix = !this.iconSuffix\n }\n\n get iconSuffix(): boolean {\n return this._iconSuffix\n }\n\n private _fullWidth: boolean = false;\n\n @Input()\n set fullWidth(value: any) {\n this._fullWidth = value !== null && `${value}` !== 'false';\n }\n\n get fullWidth(): boolean {\n return this._fullWidth\n }\n\n formInitialized = false\n\n isArrayOfStrings = (arr: any[]) => {\n const isArray = Array.isArray(arr) && arr.every(item => typeof item === 'string');\n return (arr.length > 0) ? isArray : false\n }\n\n hasLabels = false\n hasIcons = false\n\n _data: ListItem[] = []\n @Input() set data(value: any[]) {\n\n const isString = this.isArrayOfStrings(value);\n this._data = (isString) ? value.map(item => ListItem.adapt({ value: item, label: item })) : value.map(item => ListItem.adapt(item))\n\n this.hasLabels = this.data.some(item => item['label'])\n this.hasIcons = this.data.some((item) => item[\"icon\"])\n\n }\n\n subscription = new Subscription()\n\n get selected() {\n return this.data.filter(item => item.selected).map(item => item.value)\n }\n\n get hasSelected() {\n return (this.selected.length > 0)\n }\n\n get data() {\n return this._data\n }\n\n sample = \"orange\"\n test = 'red'\n\n fb = inject(FormBuilder)\n\n display = this.fb.control<string|string[]|null>(null)\n\n disabled = false\n\n onChange: any = () => {}\n onTouch: any = () => {}\n\n constructor() { }\n\n ngOnInit() {\n\n this.subscription.add(\n this.display.valueChanges.subscribe(data => this.onChange(data))\n )\n\n }\n\n writeValue(value: string[]){\n\n if(!this.formInitialized) {\n this.display.patchValue(this.selected, { emitEvent: false })\n } else {\n const valuePatch = (value) ? (this.multiple) ? value : value[0] : null\n this.display.patchValue(valuePatch, { emitEvent: false })\n }\n\n this.formInitialized = true\n\n }\n\n registerOnChange(fn: any){\n this.onChange = fn\n }\n\n registerOnTouched(fn: any){\n this.onTouch = fn\n }\n\n setDisabledState(isDisabled: boolean) {\n\n this.disabled = isDisabled\n\n if(this.disabled) {\n this.display.disable()\n } else {\n this.display.enable()\n }\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe()\n }\n\n}\n","<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 @for (item of data; track item) {\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 @if (hasIcons && iconPrefix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n @if (item.label !== '') {\n <div class=\"overflow-content\">{{ item.label }}</div>\n }\n @if (hasIcons && iconSuffix) {\n <div class=\"icon\">\n <mat-icon>{{item.icon}}</mat-icon>\n </div>\n }\n </div>\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-button-toggle-demo',\n templateUrl: './button-toggle-input-demo.component.html',\n styleUrls: ['./button-toggle-input-demo.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ButtonToggleDemoComponent implements OnInit {\n\n fb = inject(FormBuilder)\n\n type = 'icons'\n\n data_1 = [\n {id: 1, icon: 'home', value: 'option_1', disabled: true },\n {id: 2, icon: 'layers', value: 'option_2'},\n {id: 3, icon: 'add', value: 'option_3' },\n {id: 3, icon: 'build', value: 'option_4', disabled: true },\n {id: 3, icon: 'list', value: 'option_5', selected: true },\n {id: 3, icon: 'business', value: 'option_6'},\n ]\n\n data_2 = [\n {id: 1, label: 'Home', value: 'option_1', disabled: true },\n {id: 2, label: 'Samples', value: 'option_2' },\n {id: 3, label: 'Demos 1 is here', value: 'option_3' },\n {id: 3, label: 'Demos 2A', value: 'option_4', disabled: true },\n {id: 3, label: 'Demos 2B', value: 'option_5', selected: true },\n {id: 3, label: 'Demos 3', value: 'option_6' },\n ]\n\n data_3 = [\n {id: 1, label: 'Home', icon: 'home', value: 'option_1', disabled: true },\n {id: 2, label: 'Samples', icon: 'layers', value: 'option_2'},\n {id: 3, label: 'Demos 1', icon: 'add', value: 'option_3' },\n {id: 3, label: 'Demos 2A', icon: 'network', value: 'option_4', disabled: true },\n {id: 3, label: 'Demos 2B', icon: 'list', value: 'option_5', selected: true },\n {id: 3, label: 'Demos 3', icon: 'business', value: 'option_6'},\n ]\n\n data: any[] = this.data_1\n\n selectionControl_1 = this.fb.control<any>(null)\n selectionControl_2 = this.fb.control<any>(null)\n\n changeDetection_1 = this.fb.control(true)\n changeDetection_2 = this.fb.control(false)\n\n constructor() { }\n\n ngOnInit() {\n\n this.selectionControl_1.valueChanges.subscribe(data => {\n if(this.changeDetection_1.value) console.log('CHANGE:',data)\n })\n\n this.selectionControl_2.valueChanges.subscribe(data => {\n if(this.changeDetection_2.value) console.log('CHANGE:',data)\n })\n\n }\n\n onPerformPatch() {\n this.selectionControl_1.patchValue(['option_3'])\n this.selectionControl_2.patchValue(['option_3', 'option_5'])\n }\n\n onChangeDataType(type: string) {\n if(type === 'icons') {\n this.data = this.data_1\n } else if(type === 'labels') {\n this.data = this.data_2\n } else {\n this.data = this.data_3\n }\n }\n\n // DISABLE\n onDisabled_1(disable: boolean) {\n\n if(disable) {\n this.selectionControl_1.disable()\n } else {\n this.selectionControl_1.enable()\n }\n\n }\n\n onDisabled_2(disable: boolean) {\n\n if(disable) {\n this.selectionControl_2.disable()\n } else {\n this.selectionControl_2.enable()\n }\n\n }\n\n}\n","<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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ButtonToggleInputComponent } from './button-toggle-input.component';\nimport { ButtonToggleDemoComponent } from './button-toggle-input-demo/button-toggle-input-demo.component';\n\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n ReactiveFormsModule,\n MatButtonToggleModule,\n MatSlideToggleModule,\n MatDividerModule,\n ],\n declarations: [\n ButtonToggleInputComponent,\n ButtonToggleDemoComponent\n ],\n exports: [\n ButtonToggleInputComponent,\n ButtonToggleDemoComponent\n ]\n})\nexport class ButtonToggleInputModule { }\n","/*\n * Public API Surface of button-toggle-input\n */\n\nexport * from './lib/button-toggle-input-demo/button-toggle-input-demo.component';\n\nexport * from './lib/button-toggle-input.module';\nexport * from './lib/button-toggle-input.component';\n\nexport * from './lib/models/list-item.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i6.ButtonToggleInputComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,15 @@
1
1
  {
2
2
  "name": "button-toggle-input",
3
- "version": "15.0.3",
3
+ "version": "15.0.4",
4
+ "homepage": "https://wavecoders.ca",
5
+ "author": "Mike Bonifacio <wavecoders@gmail.com> (http://wavecoders@gmail.com/)",
6
+ "description": "This is an Angular Module containing Components/Services using Material",
7
+ "funding": [
8
+ {
9
+ "type": "individual",
10
+ "url": "http://wavecoders.ca/donate"
11
+ }
12
+ ],
4
13
  "peerDependencies": {
5
14
  "@angular/common": "^15.2.0",
6
15
  "@angular/core": "^15.2.0"
@@ -15,15 +24,13 @@
15
24
  "entryFile": "src/public-api.ts"
16
25
  },
17
26
  "module": "fesm2022/button-toggle-input.mjs",
18
- "typings": "index.d.ts",
27
+ "typings": "types/button-toggle-input.d.ts",
19
28
  "exports": {
20
29
  "./package.json": {
21
30
  "default": "./package.json"
22
31
  },
23
32
  ".": {
24
- "types": "./index.d.ts",
25
- "esm2022": "./esm2022/button-toggle-input.mjs",
26
- "esm": "./esm2022/button-toggle-input.mjs",
33
+ "types": "./types/button-toggle-input.d.ts",
27
34
  "default": "./fesm2022/button-toggle-input.mjs"
28
35
  }
29
36
  }
@@ -0,0 +1,167 @@
1
+ import * as _angular_forms from '@angular/forms';
2
+ import { FormBuilder, ControlValueAccessor } from '@angular/forms';
3
+ import * as i0 from '@angular/core';
4
+ import { OnInit, OnDestroy } from '@angular/core';
5
+ import { Subscription } from 'rxjs';
6
+ import * as i7 from '@angular/material/tooltip';
7
+ import { TooltipPosition } from '@angular/material/tooltip';
8
+ import * as i3 from '@angular/common';
9
+ import * as i5 from '@angular/material/icon';
10
+ import * as i6 from '@angular/material/button';
11
+ import * as i8 from '@angular/material/button-toggle';
12
+ import * as i9 from '@angular/material/slide-toggle';
13
+ import * as i10 from '@angular/material/divider';
14
+
15
+ declare class ButtonToggleDemoComponent implements OnInit {
16
+ fb: FormBuilder;
17
+ type: string;
18
+ data_1: ({
19
+ id: number;
20
+ icon: string;
21
+ value: string;
22
+ disabled: boolean;
23
+ selected?: undefined;
24
+ } | {
25
+ id: number;
26
+ icon: string;
27
+ value: string;
28
+ disabled?: undefined;
29
+ selected?: undefined;
30
+ } | {
31
+ id: number;
32
+ icon: string;
33
+ value: string;
34
+ selected: boolean;
35
+ disabled?: undefined;
36
+ })[];
37
+ data_2: ({
38
+ id: number;
39
+ label: string;
40
+ value: string;
41
+ disabled: boolean;
42
+ selected?: undefined;
43
+ } | {
44
+ id: number;
45
+ label: string;
46
+ value: string;
47
+ disabled?: undefined;
48
+ selected?: undefined;
49
+ } | {
50
+ id: number;
51
+ label: string;
52
+ value: string;
53
+ selected: boolean;
54
+ disabled?: undefined;
55
+ })[];
56
+ data_3: ({
57
+ id: number;
58
+ label: string;
59
+ icon: string;
60
+ value: string;
61
+ disabled: boolean;
62
+ selected?: undefined;
63
+ } | {
64
+ id: number;
65
+ label: string;
66
+ icon: string;
67
+ value: string;
68
+ disabled?: undefined;
69
+ selected?: undefined;
70
+ } | {
71
+ id: number;
72
+ label: string;
73
+ icon: string;
74
+ value: string;
75
+ selected: boolean;
76
+ disabled?: undefined;
77
+ })[];
78
+ data: any[];
79
+ selectionControl_1: _angular_forms.FormControl<any>;
80
+ selectionControl_2: _angular_forms.FormControl<any>;
81
+ changeDetection_1: _angular_forms.FormControl<boolean | null>;
82
+ changeDetection_2: _angular_forms.FormControl<boolean | null>;
83
+ constructor();
84
+ ngOnInit(): void;
85
+ onPerformPatch(): void;
86
+ onChangeDataType(type: string): void;
87
+ onDisabled_1(disable: boolean): void;
88
+ onDisabled_2(disable: boolean): void;
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleDemoComponent, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonToggleDemoComponent, "app-button-toggle-demo", never, {}, {}, never, never, false, never>;
91
+ }
92
+
93
+ interface ListItemInterface {
94
+ value: any;
95
+ label?: string;
96
+ icon?: string;
97
+ tootTip?: string;
98
+ selected?: string;
99
+ disabled?: string;
100
+ }
101
+ declare class ListItem implements ListItemInterface {
102
+ value: string;
103
+ label?: string | undefined;
104
+ icon?: string | undefined;
105
+ tootTip?: string | undefined;
106
+ selected?: string | undefined;
107
+ disabled?: string | undefined;
108
+ constructor(value?: string, label?: string | undefined, icon?: string | undefined, tootTip?: string | undefined, selected?: string | undefined, disabled?: string | undefined);
109
+ static adapt(item?: any): ListItem;
110
+ }
111
+
112
+ declare class ButtonToggleInputComponent implements OnInit, OnDestroy, ControlValueAccessor {
113
+ multiple: boolean;
114
+ toolTips: boolean;
115
+ toolTipPosition: TooltipPosition;
116
+ toolTipShowDelay: number;
117
+ color: string;
118
+ lightColor: string;
119
+ darkColor: string;
120
+ private _noBorder;
121
+ set noBorder(value: any);
122
+ get noBorder(): boolean;
123
+ private _iconPrefix;
124
+ set iconPrefix(value: any);
125
+ get iconPrefix(): boolean;
126
+ private _iconSuffix;
127
+ set iconSuffix(value: any);
128
+ get iconSuffix(): boolean;
129
+ private _fullWidth;
130
+ set fullWidth(value: any);
131
+ get fullWidth(): boolean;
132
+ formInitialized: boolean;
133
+ isArrayOfStrings: (arr: any[]) => boolean;
134
+ hasLabels: boolean;
135
+ hasIcons: boolean;
136
+ _data: ListItem[];
137
+ set data(value: any[]);
138
+ subscription: Subscription;
139
+ get selected(): any[];
140
+ get hasSelected(): boolean;
141
+ get data(): any[];
142
+ sample: string;
143
+ test: string;
144
+ fb: FormBuilder;
145
+ display: _angular_forms.FormControl<string | string[] | null>;
146
+ disabled: boolean;
147
+ onChange: any;
148
+ onTouch: any;
149
+ constructor();
150
+ ngOnInit(): void;
151
+ writeValue(value: string[]): void;
152
+ registerOnChange(fn: any): void;
153
+ registerOnTouched(fn: any): void;
154
+ setDisabledState(isDisabled: boolean): void;
155
+ ngOnDestroy(): void;
156
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleInputComponent, never>;
157
+ 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>;
158
+ }
159
+
160
+ declare class ButtonToggleInputModule {
161
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonToggleInputModule, never>;
162
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonToggleInputModule, [typeof ButtonToggleInputComponent, typeof ButtonToggleDemoComponent], [typeof i3.CommonModule, typeof _angular_forms.FormsModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.MatTooltipModule, typeof _angular_forms.ReactiveFormsModule, typeof i8.MatButtonToggleModule, typeof i9.MatSlideToggleModule, typeof i10.MatDividerModule], [typeof ButtonToggleInputComponent, typeof ButtonToggleDemoComponent]>;
163
+ static ɵinj: i0.ɵɵInjectorDeclaration<ButtonToggleInputModule>;
164
+ }
165
+
166
+ export { ButtonToggleDemoComponent, ButtonToggleInputComponent, ButtonToggleInputModule, ListItem };
167
+ export type { ListItemInterface };
Binary file
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2J1dHRvbi10b2dnbGUtaW5wdXQvc3JjL2J1dHRvbi10b2dnbGUtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==