@flywheel-io/vision 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/components/checkbox/checkbox.component.d.ts +16 -0
  2. package/components/checkbox/checkbox.module.d.ts +8 -0
  3. package/components/contained-input/contained-input.component.d.ts +16 -0
  4. package/components/contained-input/contained-input.module.d.ts +12 -0
  5. package/components/form-heading/form-heading.component.d.ts +10 -0
  6. package/components/form-heading/form-heading.module.d.ts +10 -0
  7. package/components/navbar/navbar-header/navbar-header.component.d.ts +5 -0
  8. package/components/navbar/navbar-item/navbar-item.component.d.ts +26 -0
  9. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +15 -0
  10. package/components/navbar/navbar.component.d.ts +14 -0
  11. package/components/navbar/navbar.module.d.ts +18 -0
  12. package/esm2020/components/checkbox/checkbox.component.mjs +42 -0
  13. package/esm2020/components/checkbox/checkbox.module.mjs +24 -0
  14. package/esm2020/components/contained-input/contained-input.component.mjs +55 -0
  15. package/esm2020/components/contained-input/contained-input.module.mjs +40 -0
  16. package/esm2020/components/dialog/dialog.component.mjs +2 -2
  17. package/esm2020/components/form-heading/form-heading.component.mjs +24 -0
  18. package/esm2020/components/form-heading/form-heading.module.mjs +32 -0
  19. package/esm2020/components/navbar/navbar-header/navbar-header.component.mjs +11 -0
  20. package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +86 -0
  21. package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +70 -0
  22. package/esm2020/components/navbar/navbar.component.mjs +75 -0
  23. package/esm2020/components/navbar/navbar.module.mjs +67 -0
  24. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +2 -3
  25. package/esm2020/public-api.mjs +10 -1
  26. package/fesm2015/flywheel-io-vision.mjs +602 -137
  27. package/fesm2015/flywheel-io-vision.mjs.map +1 -1
  28. package/fesm2020/flywheel-io-vision.mjs +602 -137
  29. package/fesm2020/flywheel-io-vision.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/public-api.d.ts +9 -0
@@ -1,10 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, HostBinding, EventEmitter, Output, NgModule, ContentChildren, Directive, ViewEncapsulation, Optional, Injectable, Inject, SkipSelf, Pipe, SimpleChange, HostListener, ContentChild, forwardRef, ViewChild, ViewChildren } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, HostBinding, EventEmitter, Output, NgModule, ContentChildren, Directive, ViewEncapsulation, forwardRef, HostListener, Optional, Injectable, Inject, SkipSelf, Pipe, SimpleChange, ContentChild, ViewChild, ViewChildren } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/platform-browser';
6
6
  import * as i2 from '@angular/material/button';
7
7
  import { MatButtonModule } from '@angular/material/button';
8
+ import * as i8 from '@angular/forms';
9
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
8
10
  import * as i1$2 from '@angular/cdk/dialog';
9
11
  import { Dialog, DEFAULT_DIALOG_CONFIG, DIALOG_SCROLL_STRATEGY, DialogModule } from '@angular/cdk/dialog';
10
12
  import * as i1$3 from '@angular/cdk/overlay';
@@ -19,8 +21,6 @@ import * as i5 from '@angular/cdk/portal';
19
21
  import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
20
22
  import { takeUntil } from 'rxjs/operators';
21
23
  import { trigger, state, style, transition, animate } from '@angular/animations';
22
- import * as i8 from '@angular/forms';
23
- import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
24
24
  import * as i2$1 from '@angular/cdk/menu';
25
25
  import { CdkMenuTrigger, CdkMenuModule } from '@angular/cdk/menu';
26
26
  import * as i2$2 from '@angular/cdk/text-field';
@@ -1108,6 +1108,236 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1108
1108
  }]
1109
1109
  }] });
1110
1110
 
1111
+ class FwSwitchComponent {
1112
+ constructor() {
1113
+ this.titlePosition = 'end';
1114
+ this.size = 'medium';
1115
+ this.color = 'primary';
1116
+ this.checked = false;
1117
+ // eslint-disable-next-line @angular-eslint/no-output-native
1118
+ this.change = new EventEmitter();
1119
+ this.onTouched = () => {
1120
+ };
1121
+ }
1122
+ registerOnChange(fn) {
1123
+ this.onChange = fn;
1124
+ }
1125
+ registerOnTouched(fn) {
1126
+ this.onTouched = fn;
1127
+ }
1128
+ setDisabledState(isDisabled) {
1129
+ this.disabled = isDisabled;
1130
+ }
1131
+ writeValue(checked) {
1132
+ this.checked = checked;
1133
+ }
1134
+ handleClick() {
1135
+ this.onTouched();
1136
+ if (!this.disabled) {
1137
+ this.checked = !this.checked;
1138
+ if (this.onChange) {
1139
+ this.onChange(this.checked);
1140
+ }
1141
+ this.change.emit(this.checked);
1142
+ }
1143
+ }
1144
+ }
1145
+ FwSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1146
+ FwSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwSwitchComponent, selector: "fw-switch", inputs: { name: "name", title: "title", titlePosition: "titlePosition", size: "size", color: "color", disabled: "disabled", checked: "checked" }, outputs: { change: "change" }, providers: [
1147
+ {
1148
+ provide: NG_VALUE_ACCESSOR,
1149
+ useExisting: forwardRef(() => FwSwitchComponent),
1150
+ multi: true,
1151
+ },
1152
+ ], ngImport: i0, template: "<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p>{{ title }}</p></label>\n</div>\n", styles: [".fw-switch{display:inline-flex;align-items:center;cursor:pointer;margin-left:12px;margin-right:8px;height:22px;box-sizing:border-box}.fw-switch p{margin:0}.fw-switch input{display:none}.fw-switch label{margin-left:8px;margin-right:8px;cursor:pointer}.fw-switch .switch-track{position:relative;width:34px;height:14px;transition:all .4s ease}.fw-switch .switch-track .switch-slide{width:34px;height:14px;border-radius:10px;opacity:.1;background:var(--slate-dark);position:absolute;top:0;left:0;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track .switch-knob{width:20px;height:20px;background-color:var(--slate-light);border-radius:10px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12)) drop-shadow(0 1px 1px rgba(0,0,0,.14)) drop-shadow(0 2px 1px rgba(0,0,0,.2));position:absolute;top:-3px;left:-3px;transition:left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease}.fw-switch .switch-track .switch-knob:hover{outline:9px solid var(--slate-hover)}.fw-switch .switch-track.checked .switch-slide{background-color:var(--slate-dark);opacity:.6;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track.checked .switch-knob{transition:background-color .2s linear,opacity .2s linear,left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease;left:16px}.fw-switch.primary .switch-track.checked .switch-slide{background-color:var(--primary-base);transition:background-color .2s linear,opacity .2s linear}.fw-switch.primary .switch-track.checked .switch-knob{background-color:var(--primary-base)}.fw-switch.primary .switch-track.checked .switch-knob:hover{outline:9px solid var(--primary-hover)}.fw-switch.secondary .switch-track.checked .switch-slide,.fw-switch.secondary .switch-track.checked .switch-knob{background-color:var(--secondary-base)}.fw-switch.secondary .switch-track.checked .switch-knob:hover{outline:9px solid var(--secondary-hover)}.fw-switch.title-start{flex-direction:row-reverse}.fw-switch.title-start label{margin-right:10px;margin-left:0}.fw-switch.size-small{height:20px}.fw-switch.size-small .switch-track{position:relative;width:26px;height:10px}.fw-switch.size-small .switch-track .switch-slide{width:26px;height:10px;border-radius:10px}.fw-switch.size-small .switch-track .switch-knob{width:16px;height:16px;border-radius:8px}.fw-switch.size-small .switch-track .switch-knob:hover{outline-width:7px}.fw-switch.size-small .switch-track.checked .switch-knob{left:13px}.fw-switch.disabled{cursor:not-allowed}.fw-switch.disabled p{color:var(--typography-light)}.fw-switch.disabled .switch-track{opacity:.5}.fw-switch.disabled .switch-track.checked .switch-slide{background-color:var(--slate-base)}.fw-switch.disabled .switch-track.checked .switch-knob{background-color:var(--slate-light)}.fw-switch.disabled .switch-track.checked .switch-knob:hover{outline:9px solid transparent}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchComponent, decorators: [{
1154
+ type: Component,
1155
+ args: [{ selector: 'fw-switch', providers: [
1156
+ {
1157
+ provide: NG_VALUE_ACCESSOR,
1158
+ useExisting: forwardRef(() => FwSwitchComponent),
1159
+ multi: true,
1160
+ },
1161
+ ], template: "<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p>{{ title }}</p></label>\n</div>\n", styles: [".fw-switch{display:inline-flex;align-items:center;cursor:pointer;margin-left:12px;margin-right:8px;height:22px;box-sizing:border-box}.fw-switch p{margin:0}.fw-switch input{display:none}.fw-switch label{margin-left:8px;margin-right:8px;cursor:pointer}.fw-switch .switch-track{position:relative;width:34px;height:14px;transition:all .4s ease}.fw-switch .switch-track .switch-slide{width:34px;height:14px;border-radius:10px;opacity:.1;background:var(--slate-dark);position:absolute;top:0;left:0;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track .switch-knob{width:20px;height:20px;background-color:var(--slate-light);border-radius:10px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12)) drop-shadow(0 1px 1px rgba(0,0,0,.14)) drop-shadow(0 2px 1px rgba(0,0,0,.2));position:absolute;top:-3px;left:-3px;transition:left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease}.fw-switch .switch-track .switch-knob:hover{outline:9px solid var(--slate-hover)}.fw-switch .switch-track.checked .switch-slide{background-color:var(--slate-dark);opacity:.6;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track.checked .switch-knob{transition:background-color .2s linear,opacity .2s linear,left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease;left:16px}.fw-switch.primary .switch-track.checked .switch-slide{background-color:var(--primary-base);transition:background-color .2s linear,opacity .2s linear}.fw-switch.primary .switch-track.checked .switch-knob{background-color:var(--primary-base)}.fw-switch.primary .switch-track.checked .switch-knob:hover{outline:9px solid var(--primary-hover)}.fw-switch.secondary .switch-track.checked .switch-slide,.fw-switch.secondary .switch-track.checked .switch-knob{background-color:var(--secondary-base)}.fw-switch.secondary .switch-track.checked .switch-knob:hover{outline:9px solid var(--secondary-hover)}.fw-switch.title-start{flex-direction:row-reverse}.fw-switch.title-start label{margin-right:10px;margin-left:0}.fw-switch.size-small{height:20px}.fw-switch.size-small .switch-track{position:relative;width:26px;height:10px}.fw-switch.size-small .switch-track .switch-slide{width:26px;height:10px;border-radius:10px}.fw-switch.size-small .switch-track .switch-knob{width:16px;height:16px;border-radius:8px}.fw-switch.size-small .switch-track .switch-knob:hover{outline-width:7px}.fw-switch.size-small .switch-track.checked .switch-knob{left:13px}.fw-switch.disabled{cursor:not-allowed}.fw-switch.disabled p{color:var(--typography-light)}.fw-switch.disabled .switch-track{opacity:.5}.fw-switch.disabled .switch-track.checked .switch-slide{background-color:var(--slate-base)}.fw-switch.disabled .switch-track.checked .switch-knob{background-color:var(--slate-light)}.fw-switch.disabled .switch-track.checked .switch-knob:hover{outline:9px solid transparent}\n"] }]
1162
+ }], propDecorators: { name: [{
1163
+ type: Input
1164
+ }], title: [{
1165
+ type: Input
1166
+ }], titlePosition: [{
1167
+ type: Input
1168
+ }], size: [{
1169
+ type: Input
1170
+ }], color: [{
1171
+ type: Input
1172
+ }], disabled: [{
1173
+ type: Input
1174
+ }], checked: [{
1175
+ type: Input
1176
+ }], change: [{
1177
+ type: Output
1178
+ }] } });
1179
+
1180
+ class FwCheckboxComponent {
1181
+ constructor() {
1182
+ this.checked = false;
1183
+ this.indeterminate = false;
1184
+ this.size = 'medium';
1185
+ this.color = 'primary';
1186
+ }
1187
+ get checkboxStyle() {
1188
+ return `${this.color} ${this.size} ${this.focused} ${this.indeterminate && 'indeterminate' || ''} ${this.disabled && 'disabled' || ''}`;
1189
+ }
1190
+ get labelStyle() {
1191
+ return this.disabled && 'label-disabled' || '';
1192
+ }
1193
+ setIndeterminate() {
1194
+ this.indeterminate = false;
1195
+ }
1196
+ setFocus(focus = '') {
1197
+ this.focused = focus;
1198
+ }
1199
+ }
1200
+ FwCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1201
+ FwCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwCheckboxComponent, selector: "fw-checkbox", inputs: { checked: "checked", indeterminate: "indeterminate", disabled: "disabled", size: "size", color: "color", label: "label" }, ngImport: i0, template: "<div class=\"checkbox-wrapper\">\n <div class=\"fw-checkbox\" [class]=\"checkboxStyle\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (focusout)=\"setFocus()\"\n (focusin)=\"setFocus('focused')\"\n (click)=\"setIndeterminate()\"/>\n </div>\n <span [class]=\"labelStyle\" *ngIf=\"label\">{{ label }}</span>\n</div>\n", styles: ["@charset \"UTF-8\";.checkbox-wrapper{display:flex;align-items:center;width:-moz-fit-content;width:fit-content}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .indeterminate .checkbox:after{content:\"\\2212\";display:block}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{font-family:Flywheel-Vision-Icons,emoji;color:var(--page-light);font-weight:600;content:\"\\e91e\";font-size:15px;display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{display:block}.checkbox-wrapper .disabled:hover{background:none}.checkbox-wrapper .disabled .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper .disabled .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper .primary:hover{background:var(--primary-light)}.checkbox-wrapper .primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .primary.focused{background:var(--primary-light)}.checkbox-wrapper .primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .secondary:hover{background:var(--secondary-light)}.checkbox-wrapper .secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .secondary.focused{background:var(--secondary-light)}.checkbox-wrapper .secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .indeterminate.compact .checkbox:after{font-size:17px}.checkbox-wrapper .indeterminate.medium .checkbox:after{font-size:22px}.checkbox-wrapper .primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .disabled.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper .label-disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxComponent, decorators: [{
1203
+ type: Component,
1204
+ args: [{ selector: 'fw-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox-wrapper\">\n <div class=\"fw-checkbox\" [class]=\"checkboxStyle\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (focusout)=\"setFocus()\"\n (focusin)=\"setFocus('focused')\"\n (click)=\"setIndeterminate()\"/>\n </div>\n <span [class]=\"labelStyle\" *ngIf=\"label\">{{ label }}</span>\n</div>\n", styles: ["@charset \"UTF-8\";.checkbox-wrapper{display:flex;align-items:center;width:-moz-fit-content;width:fit-content}.checkbox-wrapper .compact{width:30px;height:30px}.checkbox-wrapper .compact .checkbox{height:15px;width:15px}.checkbox-wrapper .medium{width:36px;height:36px}.checkbox-wrapper .medium .checkbox{height:18px;width:18px}.checkbox-wrapper .medium .checkbox:after{font-size:18px}.checkbox-wrapper .indeterminate .checkbox:after{content:\"\\2212\";display:block}.checkbox-wrapper .fw-checkbox{display:flex;align-items:center;justify-content:center;border-radius:21px}.checkbox-wrapper .fw-checkbox .checkbox{display:flex;align-items:center;justify-content:center;appearance:none;border:2px solid var(--typography-light);border-radius:1.5px;cursor:pointer;margin:0}.checkbox-wrapper .fw-checkbox .checkbox:after{font-family:Flywheel-Vision-Icons,emoji;color:var(--page-light);font-weight:600;content:\"\\e91e\";font-size:15px;display:none}.checkbox-wrapper .fw-checkbox .checkbox:checked:after{display:block}.checkbox-wrapper .disabled:hover{background:none}.checkbox-wrapper .disabled .checkbox{border:2px solid var(--typography-light)}.checkbox-wrapper .disabled .checkbox:checked{background-color:var(--typography-light);border:2px solid var(--typography-light)}.checkbox-wrapper .primary:hover{background:var(--primary-light)}.checkbox-wrapper .primary .checkbox:checked{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .primary.focused{background:var(--primary-light)}.checkbox-wrapper .primary.focused .checkbox{border:2px solid var(--primary-base)}.checkbox-wrapper .secondary:hover{background:var(--secondary-light)}.checkbox-wrapper .secondary .checkbox:checked{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .secondary.focused{background:var(--secondary-light)}.checkbox-wrapper .secondary.focused .checkbox{border:2px solid var(--secondary-base)}.checkbox-wrapper .indeterminate.compact .checkbox:after{font-size:17px}.checkbox-wrapper .indeterminate.medium .checkbox:after{font-size:22px}.checkbox-wrapper .primary.indeterminate .checkbox{background-color:var(--primary-base);border-color:var(--primary-base)}.checkbox-wrapper .secondary.indeterminate .checkbox{background-color:var(--secondary-base);border-color:var(--secondary-base)}.checkbox-wrapper .disabled.indeterminate .checkbox{background-color:var(--typography-light);border-color:var(--typography-light)}.checkbox-wrapper .label-disabled{color:var(--typography-light)}\n"] }]
1205
+ }], propDecorators: { checked: [{
1206
+ type: Input
1207
+ }], indeterminate: [{
1208
+ type: Input
1209
+ }], disabled: [{
1210
+ type: Input
1211
+ }], size: [{
1212
+ type: Input
1213
+ }], color: [{
1214
+ type: Input
1215
+ }], label: [{
1216
+ type: Input
1217
+ }] } });
1218
+
1219
+ class FwContainedInputComponent {
1220
+ constructor() {
1221
+ this.inputPosition = 'end';
1222
+ this.inputVariant = 'switch';
1223
+ // eslint-disable-next-line @angular-eslint/no-output-native
1224
+ this.change = new EventEmitter();
1225
+ }
1226
+ clicked() {
1227
+ this.checked = !this.checked;
1228
+ this.change.emit(true);
1229
+ }
1230
+ get classes() {
1231
+ return [
1232
+ 'fw-contained-input',
1233
+ `position-${this.inputPosition}`,
1234
+ [this.checked ? 'checked' : ''],
1235
+ [this.disabled ? 'disabled' : ''],
1236
+ ].join(' ');
1237
+ }
1238
+ ;
1239
+ }
1240
+ FwContainedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1241
+ FwContainedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwContainedInputComponent, selector: "fw-contained-input", inputs: { title: "title", description: "description", status: "status", inputPosition: "inputPosition", inputVariant: "inputVariant", checked: "checked", disabled: "disabled" }, outputs: { change: "change" }, host: { listeners: { "click": "clicked()" }, properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwSwitchComponent, selector: "fw-switch", inputs: ["name", "title", "titlePosition", "size", "color", "disabled", "checked"], outputs: ["change"] }, { kind: "component", type: FwCheckboxComponent, selector: "fw-checkbox", inputs: ["checked", "indeterminate", "disabled", "size", "color", "label"] }] });
1242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputComponent, decorators: [{
1243
+ type: Component,
1244
+ args: [{ selector: 'fw-contained-input', template: "<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" color=\"primary\"></fw-switch>\n <fw-checkbox *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" color=\"primary\"></fw-checkbox>\n</div>\n", styles: [":host{display:flex;flex:1;justify-content:space-between;align-items:center;gap:16px;border:1px var(--separations-base) solid;padding:16px;border-radius:8px;cursor:pointer}:host:hover{border:1px solid var(--primary-border);background:var(--primary-hover)}:host.checked{border:1px solid var(--primary-border);background:var(--primary-focus)}:host.position-start{flex-direction:row-reverse}:host .heading-area{display:flex;align-items:center;gap:16px;flex:1}:host .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}:host .heading-area h4 .status{color:var(--primary-base)}:host .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}:host .heading-area p a{color:var(--typography-muted)}:host .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}:host .input-content fw-switch{margin:0 8px 0 -8px;width:36px;display:block}:host .input-content fw-checkbox{margin:0}:host.disabled{border:1px solid var(--separations-base);background:none;opacity:.4;cursor:not-allowed}\n"] }]
1245
+ }], propDecorators: { title: [{
1246
+ type: Input
1247
+ }], description: [{
1248
+ type: Input
1249
+ }], status: [{
1250
+ type: Input
1251
+ }], inputPosition: [{
1252
+ type: Input
1253
+ }], inputVariant: [{
1254
+ type: Input
1255
+ }], checked: [{
1256
+ type: Input
1257
+ }], disabled: [{
1258
+ type: Input
1259
+ }], change: [{
1260
+ type: Output
1261
+ }], clicked: [{
1262
+ type: HostListener,
1263
+ args: ['click']
1264
+ }], classes: [{
1265
+ type: HostBinding,
1266
+ args: ['attr.class']
1267
+ }] } });
1268
+
1269
+ class FwCheckboxModule {
1270
+ }
1271
+ FwCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1272
+ FwCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, declarations: [FwCheckboxComponent], imports: [CommonModule], exports: [FwCheckboxComponent] });
1273
+ FwCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, imports: [CommonModule] });
1274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwCheckboxModule, decorators: [{
1275
+ type: NgModule,
1276
+ args: [{
1277
+ imports: [
1278
+ CommonModule,
1279
+ ],
1280
+ exports: [
1281
+ FwCheckboxComponent,
1282
+ ],
1283
+ declarations: [
1284
+ FwCheckboxComponent,
1285
+ ],
1286
+ }]
1287
+ }] });
1288
+
1289
+ class FwSwitchModule {
1290
+ }
1291
+ FwSwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1292
+ FwSwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, declarations: [FwSwitchComponent], imports: [CommonModule], exports: [FwSwitchComponent] });
1293
+ FwSwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, imports: [CommonModule] });
1294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, decorators: [{
1295
+ type: NgModule,
1296
+ args: [{
1297
+ imports: [
1298
+ CommonModule,
1299
+ ],
1300
+ exports: [
1301
+ FwSwitchComponent,
1302
+ ],
1303
+ declarations: [
1304
+ FwSwitchComponent,
1305
+ ],
1306
+ }]
1307
+ }] });
1308
+
1309
+ class FwContainedInputModule {
1310
+ }
1311
+ FwContainedInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1312
+ FwContainedInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputModule, declarations: [FwContainedInputComponent], imports: [CommonModule,
1313
+ FwButtonModule,
1314
+ FwIconModule,
1315
+ FwSwitchModule,
1316
+ FwCheckboxModule], exports: [FwContainedInputComponent] });
1317
+ FwContainedInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputModule, imports: [CommonModule,
1318
+ FwButtonModule,
1319
+ FwIconModule,
1320
+ FwSwitchModule,
1321
+ FwCheckboxModule] });
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwContainedInputModule, decorators: [{
1323
+ type: NgModule,
1324
+ args: [{
1325
+ imports: [
1326
+ CommonModule,
1327
+ FwButtonModule,
1328
+ FwIconModule,
1329
+ FwSwitchModule,
1330
+ FwCheckboxModule,
1331
+ ],
1332
+ exports: [
1333
+ FwContainedInputComponent,
1334
+ ],
1335
+ declarations: [
1336
+ FwContainedInputComponent,
1337
+ ],
1338
+ }]
1339
+ }] });
1340
+
1111
1341
  var DialogWidth;
1112
1342
  (function (DialogWidth) {
1113
1343
  DialogWidth["ExtraSmall"] = "extra-small";
@@ -1134,10 +1364,10 @@ class FwDialogComponent {
1134
1364
  }
1135
1365
  }
1136
1366
  FwDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwDialogComponent, deps: [{ token: i1$2.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1137
- FwDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwDialogComponent, selector: "fw-dialog", inputs: { width: "width", title: "title", icon: "icon", iconColor: "iconColor", showClose: "showClose" }, outputs: { close: "close" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3>{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;background-color:var(--card-background);border:1px solid var(--separations-base);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;max-width:95%;margin:auto}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .dialog{position:relative}:host .dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .dialog .dialog-header{background-color:var(--card-header)}:host .dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .dialog .dialog-header .dialog-title h3{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .dialog .dialog-header h3{margin:0}:host .dialog .dialog-header:empty{display:none}:host .dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .dialog .dialog-body:empty{display:none}:host .dialog .dialog-actions{padding:16px}:host .dialog .dialog-actions:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
1367
+ FwDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwDialogComponent, selector: "fw-dialog", inputs: { width: "width", title: "title", icon: "icon", iconColor: "iconColor", showClose: "showClose" }, outputs: { close: "close" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3>{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;background-color:var(--card-background);border:1px solid var(--separations-base);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .dialog{position:relative}:host .dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .dialog .dialog-header{background-color:var(--card-header)}:host .dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .dialog .dialog-header .dialog-title h3{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .dialog .dialog-header h3{margin:0}:host .dialog .dialog-header:empty{display:none}:host .dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .dialog .dialog-body:empty{display:none}:host .dialog .dialog-actions{padding:16px}:host .dialog .dialog-actions:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
1138
1368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwDialogComponent, decorators: [{
1139
1369
  type: Component,
1140
- args: [{ selector: 'fw-dialog', template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3>{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;background-color:var(--card-background);border:1px solid var(--separations-base);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;max-width:95%;margin:auto}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .dialog{position:relative}:host .dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .dialog .dialog-header{background-color:var(--card-header)}:host .dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .dialog .dialog-header .dialog-title h3{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .dialog .dialog-header h3{margin:0}:host .dialog .dialog-header:empty{display:none}:host .dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .dialog .dialog-body:empty{display:none}:host .dialog .dialog-actions{padding:16px}:host .dialog .dialog-actions:empty{display:none}\n"] }]
1370
+ args: [{ selector: 'fw-dialog', template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3>{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;background-color:var(--card-background);border:1px solid var(--separations-base);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .dialog{position:relative}:host .dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .dialog .dialog-header{background-color:var(--card-header)}:host .dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .dialog .dialog-header .dialog-title h3{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .dialog .dialog-header h3{margin:0}:host .dialog .dialog-header:empty{display:none}:host .dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .dialog .dialog-body:empty{display:none}:host .dialog .dialog-actions{padding:16px}:host .dialog .dialog-actions:empty{display:none}\n"] }]
1141
1371
  }], ctorParameters: function () { return [{ type: i1$2.DialogRef, decorators: [{
1142
1372
  type: Optional
1143
1373
  }] }]; }, propDecorators: { width: [{
@@ -1571,6 +1801,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1571
1801
  }]
1572
1802
  }] });
1573
1803
 
1804
+ class FwFormHeadingComponent {
1805
+ constructor() {
1806
+ this.class = 'fw-form-heading';
1807
+ }
1808
+ }
1809
+ FwFormHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1810
+ FwFormHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwFormHeadingComponent, selector: "fw-form-heading", inputs: { title: "title", description: "description", status: "status" }, host: { properties: { "attr.class": "this.class" } }, ngImport: i0, template: "<div class=\"heading-area\">\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".fw-form-heading{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.fw-form-heading .heading-area{display:flex;align-items:center;padding-left:4px;margin-bottom:8px}.fw-form-heading .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}.fw-form-heading .heading-area h4 .status{color:var(--primary-base)}.fw-form-heading .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}.fw-form-heading .heading-area p a{color:var(--typography-muted)}.fw-form-heading .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}.fw-form-heading .right-content{display:flex;gap:8px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
1811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingComponent, decorators: [{
1812
+ type: Component,
1813
+ args: [{ selector: 'fw-form-heading', encapsulation: ViewEncapsulation.None, template: "<div class=\"heading-area\">\n <div>\n <h4 class=\"section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".fw-form-heading{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.fw-form-heading .heading-area{display:flex;align-items:center;padding-left:4px;margin-bottom:8px}.fw-form-heading .heading-area h4{color:var(--typography-base);margin:0;display:flex;align-items:center;gap:5px}.fw-form-heading .heading-area h4 .status{color:var(--primary-base)}.fw-form-heading .heading-area p{color:var(--typography-muted);margin:0;line-height:140%;display:flex;align-items:center;gap:3px}.fw-form-heading .heading-area p a{color:var(--typography-muted)}.fw-form-heading .heading-area fw-icon.heading-icon{box-sizing:border-box;color:var(--primary-base);width:44px;height:44px;font-size:32px;text-align:center;justify-content:center;padding:6px}.fw-form-heading .right-content{display:flex;gap:8px}\n"] }]
1814
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
1815
+ type: HostBinding,
1816
+ args: ['attr.class']
1817
+ }], title: [{
1818
+ type: Input
1819
+ }], description: [{
1820
+ type: Input
1821
+ }], status: [{
1822
+ type: Input
1823
+ }] } });
1824
+
1825
+ class FwFormHeadingModule {
1826
+ }
1827
+ FwFormHeadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1828
+ FwFormHeadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingModule, declarations: [FwFormHeadingComponent], imports: [CommonModule,
1829
+ FwButtonModule,
1830
+ FwIconModule], exports: [FwFormHeadingComponent] });
1831
+ FwFormHeadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingModule, imports: [CommonModule,
1832
+ FwButtonModule,
1833
+ FwIconModule] });
1834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwFormHeadingModule, decorators: [{
1835
+ type: NgModule,
1836
+ args: [{
1837
+ imports: [
1838
+ CommonModule,
1839
+ FwButtonModule,
1840
+ FwIconModule,
1841
+ ],
1842
+ exports: [
1843
+ FwFormHeadingComponent,
1844
+ ],
1845
+ declarations: [
1846
+ FwFormHeadingComponent,
1847
+ ],
1848
+ }]
1849
+ }] });
1850
+
1574
1851
  class FwValidators {
1575
1852
  }
1576
1853
  FwValidators.phone = (control) => {
@@ -3525,48 +3802,326 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
3525
3802
  }]
3526
3803
  }] });
3527
3804
 
3528
- class FwPaginatorComponent {
3805
+ class FwNavbarSubItemComponent {
3529
3806
  constructor() {
3530
- this.size = 'medium';
3531
- this.color = 'slate';
3532
- this.shape = 'rounded';
3533
- this.variant = 'ghost';
3534
- this.disabled = false;
3535
- this.showNext = true;
3536
- this.showPrevious = true;
3537
- this.showFirst = false;
3538
- this.showLast = false;
3539
- this.pageIndex = 0;
3540
- this.pageSize = 10;
3541
- this.maxPagesShown = 10;
3542
- this.length = 0;
3543
- this.alignment = 'center';
3544
- this.selectorTitle = 'Items per page:';
3545
- this.page = new EventEmitter();
3546
- }
3547
- buildPageEvent(pageIndex) {
3548
- return {
3549
- length: this.length,
3550
- pageSize: this.pageSize,
3551
- pageIndex: pageIndex,
3552
- previousPageIndex: this.pageIndex,
3553
- rowIndexStart: this.getRowIndexStart(pageIndex),
3554
- rowIndexEnd: this.getRowIndexEnd(pageIndex),
3555
- };
3556
- }
3557
- firstPage() {
3558
- const evt = this.buildPageEvent(0);
3559
- this.pageIndex = 0;
3560
- this.page.emit(evt);
3561
- }
3562
- lastPage() {
3563
- const evt = this.buildPageEvent(this.getNumberOfPages());
3564
- this.pageIndex = this.getNumberOfPages() - 1;
3565
- this.page.emit(evt);
3807
+ this.hidden = false;
3808
+ // eslint-disable-next-line @angular-eslint/no-output-native
3809
+ this.selected = false;
3566
3810
  }
3567
- nextPage() {
3568
- if (this.hasNextPage()) {
3569
- const evt = this.buildPageEvent(this.pageIndex + 1);
3811
+ }
3812
+ FwNavbarSubItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3813
+ FwNavbarSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarSubItemComponent, selector: "fw-navbar-sub-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-sub-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-sub-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-sub-item{container-name:navbaritem;container-type:size}:host .navbar-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);min-height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-sub-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-sub-item .navbar-text{flex:1;overflow:hidden;padding:2px 0 2px 26px}:host .navbar-sub-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-sub-item .navbar-text p{margin:0}:host .navbar-sub-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-sub-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .navbar-sub-item.disabled{opacity:.4;cursor:not-allowed}@container navbaritem (max-width: 60px){.navbar-sub-item{gap:0}.navbar-sub-item .navbar-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
3814
+ trigger('openClose', [
3815
+ // ...
3816
+ state('open', style({
3817
+ height: 'auto',
3818
+ }), { params: {} }),
3819
+ state('closed', style({
3820
+ height: '0',
3821
+ }), { params: {} }),
3822
+ transition('open <=> closed', [
3823
+ animate('.33s ease-in-out'),
3824
+ ]),
3825
+ ]),
3826
+ ] });
3827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarSubItemComponent, decorators: [{
3828
+ type: Component,
3829
+ args: [{ selector: 'fw-navbar-sub-item', animations: [
3830
+ trigger('openClose', [
3831
+ // ...
3832
+ state('open', style({
3833
+ height: 'auto',
3834
+ }), { params: {} }),
3835
+ state('closed', style({
3836
+ height: '0',
3837
+ }), { params: {} }),
3838
+ transition('open <=> closed', [
3839
+ animate('.33s ease-in-out'),
3840
+ ]),
3841
+ ]),
3842
+ ], template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-sub-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-sub-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-sub-item{container-name:navbaritem;container-type:size}:host .navbar-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);min-height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-sub-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-sub-item .navbar-text{flex:1;overflow:hidden;padding:2px 0 2px 26px}:host .navbar-sub-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-sub-item .navbar-text p{margin:0}:host .navbar-sub-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-sub-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .navbar-sub-item.disabled{opacity:.4;cursor:not-allowed}@container navbaritem (max-width: 60px){.navbar-sub-item{gap:0}.navbar-sub-item .navbar-text{opacity:0}}\n"] }]
3843
+ }], propDecorators: { value: [{
3844
+ type: Input
3845
+ }], title: [{
3846
+ type: Input
3847
+ }], description: [{
3848
+ type: Input
3849
+ }], icon: [{
3850
+ type: Input
3851
+ }], disabled: [{
3852
+ type: Input
3853
+ }], hidden: [{
3854
+ type: Input
3855
+ }], href: [{
3856
+ type: Input
3857
+ }], target: [{
3858
+ type: Input
3859
+ }], collapsed: [{
3860
+ type: HostBinding,
3861
+ args: ['class.collapsed']
3862
+ }, {
3863
+ type: Input
3864
+ }], selected: [{
3865
+ type: HostBinding,
3866
+ args: ['class.selected']
3867
+ }, {
3868
+ type: Input
3869
+ }] } });
3870
+
3871
+ class FwNavbarItemComponent {
3872
+ constructor() {
3873
+ this.iconColor = 'primary';
3874
+ this.hidden = false;
3875
+ this.showTooltip = false;
3876
+ this.subItemsOpen = false;
3877
+ this.subItemsTooltipTitle = '';
3878
+ this.selected = false;
3879
+ }
3880
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3881
+ ngOnChanges(changes) {
3882
+ this.updateLayout();
3883
+ }
3884
+ ngAfterViewInit() {
3885
+ this.updateLayout();
3886
+ }
3887
+ updateLayout() {
3888
+ if (this.subItems) {
3889
+ this.subItems.forEach(subItem => {
3890
+ subItem.hidden = !(this.subItemsOpen && !this.collapsed);
3891
+ if (this.collapsed !== undefined) {
3892
+ subItem.collapsed = this.collapsed;
3893
+ }
3894
+ if (this.disabled !== undefined) {
3895
+ subItem.disabled = this.disabled;
3896
+ }
3897
+ });
3898
+ }
3899
+ }
3900
+ toggleSubItemsView() {
3901
+ this.subItemsOpen = !this.subItemsOpen;
3902
+ this.updateLayout();
3903
+ return false;
3904
+ }
3905
+ }
3906
+ FwNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3907
+ FwNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarItemComponent, selector: "fw-navbar-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", hidden: "hidden", showTooltip: "showTooltip", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", subItemsTooltipTitle: "subItemsTooltipTitle", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwNavbarSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-item{container-name:navbaritem;container-type:size}:host .navbar-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-item .navbar-text{flex:1;overflow:hidden;padding:2px 0}:host .navbar-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-item .navbar-text p{margin:0}:host .navbar-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;margin-top:2px;margin-right:-4px}:host .navbar-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container navbaritem (max-width: 60px){.navbar-item{gap:0}.navbar-item .navbar-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "isOpen", "trigger"] }] });
3908
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarItemComponent, decorators: [{
3909
+ type: Component,
3910
+ args: [{ selector: 'fw-navbar-item', template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-item{container-name:navbaritem;container-type:size}:host .navbar-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-item .navbar-text{flex:1;overflow:hidden;padding:2px 0}:host .navbar-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-item .navbar-text p{margin:0}:host .navbar-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;margin-top:2px;margin-right:-4px}:host .navbar-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container navbaritem (max-width: 60px){.navbar-item{gap:0}.navbar-item .navbar-text{opacity:0}}\n"] }]
3911
+ }], propDecorators: { value: [{
3912
+ type: Input
3913
+ }], title: [{
3914
+ type: Input
3915
+ }], description: [{
3916
+ type: Input
3917
+ }], icon: [{
3918
+ type: Input
3919
+ }], iconColor: [{
3920
+ type: Input
3921
+ }], disabled: [{
3922
+ type: Input
3923
+ }], hidden: [{
3924
+ type: Input
3925
+ }], showTooltip: [{
3926
+ type: Input
3927
+ }], collapsed: [{
3928
+ type: HostBinding,
3929
+ args: ['class.collapsed']
3930
+ }, {
3931
+ type: Input
3932
+ }], href: [{
3933
+ type: Input
3934
+ }], target: [{
3935
+ type: Input
3936
+ }], subItemsOpen: [{
3937
+ type: Input
3938
+ }], subItemsTooltipTitle: [{
3939
+ type: Input
3940
+ }], selected: [{
3941
+ type: HostBinding,
3942
+ args: ['class.selected']
3943
+ }, {
3944
+ type: Input
3945
+ }], subItems: [{
3946
+ type: ContentChildren,
3947
+ args: [FwNavbarSubItemComponent]
3948
+ }] } });
3949
+
3950
+ class FwNavbarComponent {
3951
+ constructor() {
3952
+ this.width = '200px';
3953
+ }
3954
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3955
+ ngOnChanges(changes) {
3956
+ this.updateLayout();
3957
+ }
3958
+ ngAfterViewInit() {
3959
+ this.updateLayout();
3960
+ }
3961
+ updateLayout() {
3962
+ if (this.menuItems) {
3963
+ this.menuItems.forEach(item => {
3964
+ if (this.collapsed !== undefined) {
3965
+ item.collapsed = this.collapsed;
3966
+ }
3967
+ if (this.disabled !== undefined) {
3968
+ item.disabled = this.disabled;
3969
+ }
3970
+ item.showTooltip = this.collapsed;
3971
+ item.updateLayout();
3972
+ });
3973
+ }
3974
+ }
3975
+ }
3976
+ FwNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3977
+ FwNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarComponent, selector: "fw-navbar", inputs: { disabled: "disabled", collapsed: "collapsed", width: "width" }, host: { properties: { "class.collapsed": "this.collapsed" } }, queries: [{ propertyName: "menuItems", predicate: FwNavbarItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%;overflow:hidden auto;scrollbar-width:thin;scrollbar-color:var(--typography-light) var(--slate-hover)}:host .navbar{background-color:var(--card-header)}:host.collapsed{scrollbar-width:none}\n"], animations: [
3978
+ trigger('openClose', [
3979
+ // ...
3980
+ state('open', style({
3981
+ width: '{{openWidth}}',
3982
+ }), { params: { openWidth: '200px' } }),
3983
+ state('closed', style({
3984
+ width: '60px',
3985
+ })),
3986
+ transition('open <=> closed', [
3987
+ animate('.33s ease-in-out'),
3988
+ ]),
3989
+ ]),
3990
+ ] });
3991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarComponent, decorators: [{
3992
+ type: Component,
3993
+ args: [{ selector: 'fw-navbar', animations: [
3994
+ trigger('openClose', [
3995
+ // ...
3996
+ state('open', style({
3997
+ width: '{{openWidth}}',
3998
+ }), { params: { openWidth: '200px' } }),
3999
+ state('closed', style({
4000
+ width: '60px',
4001
+ })),
4002
+ transition('open <=> closed', [
4003
+ animate('.33s ease-in-out'),
4004
+ ]),
4005
+ ]),
4006
+ ], template: "<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%;overflow:hidden auto;scrollbar-width:thin;scrollbar-color:var(--typography-light) var(--slate-hover)}:host .navbar{background-color:var(--card-header)}:host.collapsed{scrollbar-width:none}\n"] }]
4007
+ }], propDecorators: { disabled: [{
4008
+ type: Input
4009
+ }], collapsed: [{
4010
+ type: HostBinding,
4011
+ args: ['class.collapsed']
4012
+ }, {
4013
+ type: Input
4014
+ }], width: [{
4015
+ type: Input
4016
+ }], menuItems: [{
4017
+ type: ContentChildren,
4018
+ args: [FwNavbarItemComponent]
4019
+ }] } });
4020
+
4021
+ class FwNavbarHeaderComponent {
4022
+ }
4023
+ FwNavbarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4024
+ FwNavbarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarHeaderComponent, selector: "fw-navbar-header", ngImport: i0, template: "<h4>\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n", styles: [":host{display:flex;align-items:center;height:34px;overflow:hidden;container-name:navbarheader;container-type:size}:host h4{padding:8px;margin:0 4px 0 12px;width:100%}@container navbarheader (max-width: 100px){h4{opacity:0}}\n"] });
4025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarHeaderComponent, decorators: [{
4026
+ type: Component,
4027
+ args: [{ selector: 'fw-navbar-header', template: "<h4>\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n", styles: [":host{display:flex;align-items:center;height:34px;overflow:hidden;container-name:navbarheader;container-type:size}:host h4{padding:8px;margin:0 4px 0 12px;width:100%}@container navbarheader (max-width: 100px){h4{opacity:0}}\n"] }]
4028
+ }] });
4029
+
4030
+ class FwNavbarModule {
4031
+ }
4032
+ FwNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4033
+ FwNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarModule, declarations: [FwNavbarComponent,
4034
+ FwNavbarHeaderComponent,
4035
+ FwNavbarItemComponent,
4036
+ FwNavbarSubItemComponent], imports: [CdkMenuModule,
4037
+ CommonModule,
4038
+ FormsModule,
4039
+ FwBadgeModule,
4040
+ FwIconButtonModule,
4041
+ FwIconModule,
4042
+ FwTextInputModule,
4043
+ FwTooltipModule], exports: [FwNavbarComponent,
4044
+ FwNavbarHeaderComponent,
4045
+ FwNavbarItemComponent,
4046
+ FwNavbarSubItemComponent] });
4047
+ FwNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarModule, imports: [CdkMenuModule,
4048
+ CommonModule,
4049
+ FormsModule,
4050
+ FwBadgeModule,
4051
+ FwIconButtonModule,
4052
+ FwIconModule,
4053
+ FwTextInputModule,
4054
+ FwTooltipModule] });
4055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarModule, decorators: [{
4056
+ type: NgModule,
4057
+ args: [{
4058
+ imports: [
4059
+ CdkMenuModule,
4060
+ CommonModule,
4061
+ FormsModule,
4062
+ FwBadgeModule,
4063
+ FwIconButtonModule,
4064
+ FwIconModule,
4065
+ FwTextInputModule,
4066
+ FwTooltipModule,
4067
+ ],
4068
+ exports: [
4069
+ FwNavbarComponent,
4070
+ FwNavbarHeaderComponent,
4071
+ FwNavbarItemComponent,
4072
+ FwNavbarSubItemComponent,
4073
+ ],
4074
+ declarations: [
4075
+ FwNavbarComponent,
4076
+ FwNavbarHeaderComponent,
4077
+ FwNavbarItemComponent,
4078
+ FwNavbarSubItemComponent,
4079
+ ],
4080
+ }]
4081
+ }] });
4082
+
4083
+ class FwPaginatorComponent {
4084
+ constructor() {
4085
+ this.size = 'medium';
4086
+ this.color = 'slate';
4087
+ this.shape = 'rounded';
4088
+ this.variant = 'ghost';
4089
+ this.disabled = false;
4090
+ this.showNext = true;
4091
+ this.showPrevious = true;
4092
+ this.showFirst = false;
4093
+ this.showLast = false;
4094
+ this.pageIndex = 0;
4095
+ this.pageSize = 10;
4096
+ this.maxPagesShown = 10;
4097
+ this.length = 0;
4098
+ this.alignment = 'center';
4099
+ this.selectorTitle = 'Items per page:';
4100
+ this.page = new EventEmitter();
4101
+ }
4102
+ buildPageEvent(pageIndex) {
4103
+ return {
4104
+ length: this.length,
4105
+ pageSize: this.pageSize,
4106
+ pageIndex: pageIndex,
4107
+ previousPageIndex: this.pageIndex,
4108
+ rowIndexStart: this.getRowIndexStart(pageIndex),
4109
+ rowIndexEnd: this.getRowIndexEnd(pageIndex),
4110
+ };
4111
+ }
4112
+ firstPage() {
4113
+ const evt = this.buildPageEvent(0);
4114
+ this.pageIndex = 0;
4115
+ this.page.emit(evt);
4116
+ }
4117
+ lastPage() {
4118
+ const evt = this.buildPageEvent(this.getNumberOfPages());
4119
+ this.pageIndex = this.getNumberOfPages() - 1;
4120
+ this.page.emit(evt);
4121
+ }
4122
+ nextPage() {
4123
+ if (this.hasNextPage()) {
4124
+ const evt = this.buildPageEvent(this.pageIndex + 1);
3570
4125
  this.pageIndex++;
3571
4126
  this.page.emit(evt);
3572
4127
  }
@@ -3662,7 +4217,6 @@ class FwMultiSelectMenuComponent {
3662
4217
  this.valueProperty = 'value';
3663
4218
  this.titleProperty = 'title';
3664
4219
  this.iconProperty = 'icon';
3665
- // @Input() showFilter?: boolean = false;
3666
4220
  this.disabled = false;
3667
4221
  this.useCheckbox = false;
3668
4222
  this.closeOnSelect = true;
@@ -3794,7 +4348,7 @@ class FwMultiSelectMenuComponent {
3794
4348
  this.selectedOptions = [];
3795
4349
  if (value) {
3796
4350
  value.forEach(val => {
3797
- if (value && this._valueType === 'object') {
4351
+ if (typeof val === 'object') {
3798
4352
  this.selectedValues.push(val[this.valueProperty]);
3799
4353
  this.selectedOptions.push(val);
3800
4354
  }
@@ -5787,95 +6341,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
5787
6341
  }]
5788
6342
  }] });
5789
6343
 
5790
- class FwSwitchComponent {
5791
- constructor() {
5792
- this.titlePosition = 'end';
5793
- this.size = 'medium';
5794
- this.color = 'primary';
5795
- this.checked = false;
5796
- // eslint-disable-next-line @angular-eslint/no-output-native
5797
- this.change = new EventEmitter();
5798
- this.onTouched = () => {
5799
- };
5800
- }
5801
- registerOnChange(fn) {
5802
- this.onChange = fn;
5803
- }
5804
- registerOnTouched(fn) {
5805
- this.onTouched = fn;
5806
- }
5807
- setDisabledState(isDisabled) {
5808
- this.disabled = isDisabled;
5809
- }
5810
- writeValue(checked) {
5811
- this.checked = checked;
5812
- }
5813
- handleClick() {
5814
- this.onTouched();
5815
- if (!this.disabled) {
5816
- this.checked = !this.checked;
5817
- if (this.onChange) {
5818
- this.onChange(this.checked);
5819
- }
5820
- this.change.emit(this.checked);
5821
- }
5822
- }
5823
- }
5824
- FwSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5825
- FwSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwSwitchComponent, selector: "fw-switch", inputs: { name: "name", title: "title", titlePosition: "titlePosition", size: "size", color: "color", disabled: "disabled", checked: "checked" }, outputs: { change: "change" }, providers: [
5826
- {
5827
- provide: NG_VALUE_ACCESSOR,
5828
- useExisting: forwardRef(() => FwSwitchComponent),
5829
- multi: true,
5830
- },
5831
- ], ngImport: i0, template: "<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p>{{ title }}</p></label>\n</div>\n", styles: [".fw-switch{display:inline-flex;align-items:center;cursor:pointer;margin-left:12px;margin-right:8px;height:22px;box-sizing:border-box}.fw-switch p{margin:0}.fw-switch input{display:none}.fw-switch label{margin-left:8px;margin-right:8px;cursor:pointer}.fw-switch .switch-track{position:relative;width:34px;height:14px;transition:all .4s ease}.fw-switch .switch-track .switch-slide{width:34px;height:14px;border-radius:10px;opacity:.1;background:var(--slate-dark);position:absolute;top:0;left:0;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track .switch-knob{width:20px;height:20px;background-color:var(--slate-light);border-radius:10px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12)) drop-shadow(0 1px 1px rgba(0,0,0,.14)) drop-shadow(0 2px 1px rgba(0,0,0,.2));position:absolute;top:-3px;left:-3px;transition:left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease}.fw-switch .switch-track .switch-knob:hover{outline:9px solid var(--slate-hover)}.fw-switch .switch-track.checked .switch-slide{background-color:var(--slate-dark);opacity:.6;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track.checked .switch-knob{transition:background-color .2s linear,opacity .2s linear,left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease;left:16px}.fw-switch.primary .switch-track.checked .switch-slide{background-color:var(--primary-base);transition:background-color .2s linear,opacity .2s linear}.fw-switch.primary .switch-track.checked .switch-knob{background-color:var(--primary-base)}.fw-switch.primary .switch-track.checked .switch-knob:hover{outline:9px solid var(--primary-hover)}.fw-switch.secondary .switch-track.checked .switch-slide,.fw-switch.secondary .switch-track.checked .switch-knob{background-color:var(--secondary-base)}.fw-switch.secondary .switch-track.checked .switch-knob:hover{outline:9px solid var(--secondary-hover)}.fw-switch.title-start{flex-direction:row-reverse}.fw-switch.title-start label{margin-right:10px;margin-left:0}.fw-switch.size-small{height:20px}.fw-switch.size-small .switch-track{position:relative;width:26px;height:10px}.fw-switch.size-small .switch-track .switch-slide{width:26px;height:10px;border-radius:10px}.fw-switch.size-small .switch-track .switch-knob{width:16px;height:16px;border-radius:8px}.fw-switch.size-small .switch-track .switch-knob:hover{outline-width:7px}.fw-switch.size-small .switch-track.checked .switch-knob{left:13px}.fw-switch.disabled{cursor:not-allowed}.fw-switch.disabled p{color:var(--typography-light)}.fw-switch.disabled .switch-track{opacity:.5}.fw-switch.disabled .switch-track.checked .switch-slide{background-color:var(--slate-base)}.fw-switch.disabled .switch-track.checked .switch-knob{background-color:var(--slate-light)}.fw-switch.disabled .switch-track.checked .switch-knob:hover{outline:9px solid transparent}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5832
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchComponent, decorators: [{
5833
- type: Component,
5834
- args: [{ selector: 'fw-switch', providers: [
5835
- {
5836
- provide: NG_VALUE_ACCESSOR,
5837
- useExisting: forwardRef(() => FwSwitchComponent),
5838
- multi: true,
5839
- },
5840
- ], template: "<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p>{{ title }}</p></label>\n</div>\n", styles: [".fw-switch{display:inline-flex;align-items:center;cursor:pointer;margin-left:12px;margin-right:8px;height:22px;box-sizing:border-box}.fw-switch p{margin:0}.fw-switch input{display:none}.fw-switch label{margin-left:8px;margin-right:8px;cursor:pointer}.fw-switch .switch-track{position:relative;width:34px;height:14px;transition:all .4s ease}.fw-switch .switch-track .switch-slide{width:34px;height:14px;border-radius:10px;opacity:.1;background:var(--slate-dark);position:absolute;top:0;left:0;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track .switch-knob{width:20px;height:20px;background-color:var(--slate-light);border-radius:10px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12)) drop-shadow(0 1px 1px rgba(0,0,0,.14)) drop-shadow(0 2px 1px rgba(0,0,0,.2));position:absolute;top:-3px;left:-3px;transition:left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease}.fw-switch .switch-track .switch-knob:hover{outline:9px solid var(--slate-hover)}.fw-switch .switch-track.checked .switch-slide{background-color:var(--slate-dark);opacity:.6;transition:background-color .2s linear,opacity .2s linear}.fw-switch .switch-track.checked .switch-knob{transition:background-color .2s linear,opacity .2s linear,left .5s cubic-bezier(.175,.885,.32,1.275),padding .3s ease,margin .3s ease;left:16px}.fw-switch.primary .switch-track.checked .switch-slide{background-color:var(--primary-base);transition:background-color .2s linear,opacity .2s linear}.fw-switch.primary .switch-track.checked .switch-knob{background-color:var(--primary-base)}.fw-switch.primary .switch-track.checked .switch-knob:hover{outline:9px solid var(--primary-hover)}.fw-switch.secondary .switch-track.checked .switch-slide,.fw-switch.secondary .switch-track.checked .switch-knob{background-color:var(--secondary-base)}.fw-switch.secondary .switch-track.checked .switch-knob:hover{outline:9px solid var(--secondary-hover)}.fw-switch.title-start{flex-direction:row-reverse}.fw-switch.title-start label{margin-right:10px;margin-left:0}.fw-switch.size-small{height:20px}.fw-switch.size-small .switch-track{position:relative;width:26px;height:10px}.fw-switch.size-small .switch-track .switch-slide{width:26px;height:10px;border-radius:10px}.fw-switch.size-small .switch-track .switch-knob{width:16px;height:16px;border-radius:8px}.fw-switch.size-small .switch-track .switch-knob:hover{outline-width:7px}.fw-switch.size-small .switch-track.checked .switch-knob{left:13px}.fw-switch.disabled{cursor:not-allowed}.fw-switch.disabled p{color:var(--typography-light)}.fw-switch.disabled .switch-track{opacity:.5}.fw-switch.disabled .switch-track.checked .switch-slide{background-color:var(--slate-base)}.fw-switch.disabled .switch-track.checked .switch-knob{background-color:var(--slate-light)}.fw-switch.disabled .switch-track.checked .switch-knob:hover{outline:9px solid transparent}\n"] }]
5841
- }], propDecorators: { name: [{
5842
- type: Input
5843
- }], title: [{
5844
- type: Input
5845
- }], titlePosition: [{
5846
- type: Input
5847
- }], size: [{
5848
- type: Input
5849
- }], color: [{
5850
- type: Input
5851
- }], disabled: [{
5852
- type: Input
5853
- }], checked: [{
5854
- type: Input
5855
- }], change: [{
5856
- type: Output
5857
- }] } });
5858
-
5859
- class FwSwitchModule {
5860
- }
5861
- FwSwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5862
- FwSwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, declarations: [FwSwitchComponent], imports: [CommonModule], exports: [FwSwitchComponent] });
5863
- FwSwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, imports: [CommonModule] });
5864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwSwitchModule, decorators: [{
5865
- type: NgModule,
5866
- args: [{
5867
- imports: [
5868
- CommonModule,
5869
- ],
5870
- exports: [
5871
- FwSwitchComponent,
5872
- ],
5873
- declarations: [
5874
- FwSwitchComponent,
5875
- ],
5876
- }]
5877
- }] });
5878
-
5879
6344
  class FwTabComponent {
5880
6345
  constructor() {
5881
6346
  this.color = 'primary';
@@ -6179,5 +6644,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
6179
6644
  * Generated bundle index. Do not edit.
6180
6645
  */
6181
6646
 
6182
- export { DialogWidth, FwAlertComponent, FwAlertModule, FwAppIconComponent, FwAppIconModule, FwAvatarComponent, FwAvatarModule, FwBackButtonComponent, FwBadgeComponent, FwBadgeModule, FwBreadcrumbsComponent, FwBreadcrumbsModule, FwButtonComponent, FwButtonDangerDirective, FwButtonDirective, FwButtonModule, FwButtonPrimaryDirective, FwButtonSecondaryDirective, FwButtonSuccessDirective, FwButtonToggleComponent, FwButtonToggleItemComponent, FwButtonToggleModule, FwCardAttributeComponent, FwCardAuthorComponent, FwCardComponent, FwCardContentComponent, FwCardFooterComponent, FwCardHeaderComponent, FwCardModule, FwChipComponent, FwChipModule, FwCrumbComponent, FwDialogActionsComponent, FwDialogComponent, FwDialogConfirmComponent, FwDialogContentComponent, FwDialogHeaderComponent, FwDialogService, FwDialogSimpleComponent, FwDialogsModule, FwGridComponent, FwGridItemComponent, FwIconButtonComponent, FwIconButtonModule, FwIconComponent, FwIconModule, FwLayoutContextComponent, FwLayoutGroupComponent, FwLayoutPanelComponent, FwLayoutSidebarComponent, FwLayoutToolbarComponent, FwLayoutsModule, FwLegacyChoiceDialogComponent, FwLegacyConfirmDialogComponent, FwLegacyDialogModule, FwLegacyDialogService, FwLegacyErrorDialogComponent, FwLegacyPortalDialogComponent, FwMenuCloseTriggersDirective, FwMenuComponent, FwMenuContainerComponent, FwMenuHeaderComponent, FwMenuItemComponent, FwMenuModule, FwMenuSeparatorComponent, FwMenuSubItemComponent, FwMultiSelectMenuComponent, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPaginatorAdvancedComponent, FwPaginatorComponent, FwPaginatorModule, FwPhoneInputComponent, FwPhoneInputModule, FwPopoverComponent, FwPopoverModule, FwPopoverPanelComponent, FwSectionHeadingComponent, FwSectionHeadingModule, FwSelectMenuComponent, FwSelectMenuModule, FwSnackbarComponent, FwSnackbarContainerComponent, FwSnackbarModule, FwSnackbarService, FwStepComponent, FwStepDecoratorComponent, FwStepperComponent, FwStepperModule, FwSubsectionHeadingComponent, FwSwitchComponent, FwSwitchModule, FwTabComponent, FwTabPanelComponent, FwTabsComponent, FwTabsModule, FwTextAreaInputComponent, FwTextAreaInputModule, FwTextInputComponent, FwTextInputModule, FwTooltipComponent, FwTooltipModule, FwTooltipPanelComponent, FwValidators, LayoutWidth, MinimalTranslationService, TranslationService, genId, genMessageId };
6647
+ export { DialogWidth, FwAlertComponent, FwAlertModule, FwAppIconComponent, FwAppIconModule, FwAvatarComponent, FwAvatarModule, FwBackButtonComponent, FwBadgeComponent, FwBadgeModule, FwBreadcrumbsComponent, FwBreadcrumbsModule, FwButtonComponent, FwButtonDangerDirective, FwButtonDirective, FwButtonModule, FwButtonPrimaryDirective, FwButtonSecondaryDirective, FwButtonSuccessDirective, FwButtonToggleComponent, FwButtonToggleItemComponent, FwButtonToggleModule, FwCardAttributeComponent, FwCardAuthorComponent, FwCardComponent, FwCardContentComponent, FwCardFooterComponent, FwCardHeaderComponent, FwCardModule, FwChipComponent, FwChipModule, FwContainedInputComponent, FwContainedInputModule, FwCrumbComponent, FwDialogActionsComponent, FwDialogComponent, FwDialogConfirmComponent, FwDialogContentComponent, FwDialogHeaderComponent, FwDialogService, FwDialogSimpleComponent, FwDialogsModule, FwFormHeadingComponent, FwFormHeadingModule, FwGridComponent, FwGridItemComponent, FwIconButtonComponent, FwIconButtonModule, FwIconComponent, FwIconModule, FwLayoutContextComponent, FwLayoutGroupComponent, FwLayoutPanelComponent, FwLayoutSidebarComponent, FwLayoutToolbarComponent, FwLayoutsModule, FwLegacyChoiceDialogComponent, FwLegacyConfirmDialogComponent, FwLegacyDialogModule, FwLegacyDialogService, FwLegacyErrorDialogComponent, FwLegacyPortalDialogComponent, FwMenuCloseTriggersDirective, FwMenuComponent, FwMenuContainerComponent, FwMenuHeaderComponent, FwMenuItemComponent, FwMenuModule, FwMenuSeparatorComponent, FwMenuSubItemComponent, FwMultiSelectMenuComponent, FwNavbarComponent, FwNavbarHeaderComponent, FwNavbarItemComponent, FwNavbarModule, FwNavbarSubItemComponent, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPaginatorAdvancedComponent, FwPaginatorComponent, FwPaginatorModule, FwPhoneInputComponent, FwPhoneInputModule, FwPopoverComponent, FwPopoverModule, FwPopoverPanelComponent, FwSectionHeadingComponent, FwSectionHeadingModule, FwSelectMenuComponent, FwSelectMenuModule, FwSnackbarComponent, FwSnackbarContainerComponent, FwSnackbarModule, FwSnackbarService, FwStepComponent, FwStepDecoratorComponent, FwStepperComponent, FwStepperModule, FwSubsectionHeadingComponent, FwSwitchComponent, FwSwitchModule, FwTabComponent, FwTabPanelComponent, FwTabsComponent, FwTabsModule, FwTextAreaInputComponent, FwTextAreaInputModule, FwTextInputComponent, FwTextInputModule, FwTooltipComponent, FwTooltipModule, FwTooltipPanelComponent, FwValidators, LayoutWidth, MinimalTranslationService, TranslationService, genId, genMessageId };
6183
6648
  //# sourceMappingURL=flywheel-io-vision.mjs.map