@flywheel-io/vision 1.7.2 → 1.7.3
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.
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +1 -2
- package/components/wrapped-input/wrapped-input.component.d.ts +8 -0
- package/components/wrapped-input/wrapped-input.module.d.ts +9 -0
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +17 -11
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +17 -11
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +62 -51
- package/esm2020/components/select-menu/select-menu.component.mjs +26 -4
- package/esm2020/components/wrapped-input/wrapped-input.component.mjs +26 -0
- package/esm2020/components/wrapped-input/wrapped-input.module.mjs +28 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/flywheel-io-vision.mjs +164 -74
- package/fesm2015/flywheel-io-vision.mjs.map +1 -1
- package/fesm2020/flywheel-io-vision.mjs +164 -74
- package/fesm2020/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -3563,18 +3563,24 @@ class FwMenuSubItemComponent {
|
|
|
3563
3563
|
this.variant = 'default';
|
|
3564
3564
|
}
|
|
3565
3565
|
handleClick(evt) {
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3566
|
+
if (this.disabled) {
|
|
3567
|
+
evt.stopPropagation();
|
|
3568
|
+
return;
|
|
3569
|
+
}
|
|
3570
|
+
if (this.href) {
|
|
3571
|
+
if (this.target) {
|
|
3572
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
3573
|
+
window.open(this.href, this.target).focus();
|
|
3574
|
+
}
|
|
3575
|
+
else {
|
|
3576
|
+
window.location.href = this.href;
|
|
3576
3577
|
}
|
|
3578
|
+
evt.stopPropagation();
|
|
3579
|
+
return;
|
|
3580
|
+
}
|
|
3581
|
+
if (this.value) {
|
|
3577
3582
|
this.click.emit(this.value);
|
|
3583
|
+
evt.stopPropagation();
|
|
3578
3584
|
}
|
|
3579
3585
|
}
|
|
3580
3586
|
}
|
|
@@ -3766,18 +3772,24 @@ class FwMenuItemComponent {
|
|
|
3766
3772
|
this.updateLayout();
|
|
3767
3773
|
}
|
|
3768
3774
|
handleClick(evt) {
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3775
|
+
if (this.disabled) {
|
|
3776
|
+
evt.stopPropagation();
|
|
3777
|
+
return;
|
|
3778
|
+
}
|
|
3779
|
+
if (this.href) {
|
|
3780
|
+
if (this.target) {
|
|
3781
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
3782
|
+
window.open(this.href, this.target).focus();
|
|
3783
|
+
}
|
|
3784
|
+
else {
|
|
3785
|
+
window.location.href = this.href;
|
|
3779
3786
|
}
|
|
3787
|
+
evt.stopPropagation();
|
|
3788
|
+
return;
|
|
3789
|
+
}
|
|
3790
|
+
if (this.value) {
|
|
3780
3791
|
this.click.emit(this.value);
|
|
3792
|
+
evt.stopPropagation();
|
|
3781
3793
|
}
|
|
3782
3794
|
}
|
|
3783
3795
|
}
|
|
@@ -4963,6 +4975,7 @@ class FwMultiSelectMenuComponent {
|
|
|
4963
4975
|
this.focused = 0;
|
|
4964
4976
|
this.touched = false;
|
|
4965
4977
|
this._isOpen = false;
|
|
4978
|
+
this._value = [];
|
|
4966
4979
|
this.onTouched = () => {
|
|
4967
4980
|
};
|
|
4968
4981
|
}
|
|
@@ -4979,12 +4992,6 @@ class FwMultiSelectMenuComponent {
|
|
|
4979
4992
|
return this._value;
|
|
4980
4993
|
}
|
|
4981
4994
|
set value(newValue) {
|
|
4982
|
-
if (newValue && newValue.length > 0) {
|
|
4983
|
-
this._valueType = typeof newValue[0];
|
|
4984
|
-
}
|
|
4985
|
-
else {
|
|
4986
|
-
this._valueType = typeof newValue;
|
|
4987
|
-
}
|
|
4988
4995
|
this.updateValue(newValue);
|
|
4989
4996
|
}
|
|
4990
4997
|
registerOnChange(fn) {
|
|
@@ -5015,7 +5022,11 @@ class FwMultiSelectMenuComponent {
|
|
|
5015
5022
|
if (this.options && this.options.length === 0) {
|
|
5016
5023
|
this.options = [];
|
|
5017
5024
|
this.menuItems.forEach(item => {
|
|
5018
|
-
const opt = {
|
|
5025
|
+
const opt = {
|
|
5026
|
+
value: item.value,
|
|
5027
|
+
label: item.title,
|
|
5028
|
+
icon: item.icon,
|
|
5029
|
+
};
|
|
5019
5030
|
this.options.push(opt);
|
|
5020
5031
|
if (this.selectedValues.indexOf(item.value.toString()) >= 0) {
|
|
5021
5032
|
this.selectedOptions.push(opt);
|
|
@@ -5031,7 +5042,7 @@ class FwMultiSelectMenuComponent {
|
|
|
5031
5042
|
this.touched = true;
|
|
5032
5043
|
}
|
|
5033
5044
|
handleClose(chip) {
|
|
5034
|
-
this.value.splice(this.value.indexOf(chip), 1);
|
|
5045
|
+
this.value.splice(this.value.indexOf(chip[this.valueProperty]), 1);
|
|
5035
5046
|
this.updateValue(this.value);
|
|
5036
5047
|
this.trigger.close();
|
|
5037
5048
|
}
|
|
@@ -5071,7 +5082,6 @@ class FwMultiSelectMenuComponent {
|
|
|
5071
5082
|
}
|
|
5072
5083
|
}
|
|
5073
5084
|
updateValue(value) {
|
|
5074
|
-
this._value = value;
|
|
5075
5085
|
this.selectedValues = [];
|
|
5076
5086
|
this.selectedOptions = [];
|
|
5077
5087
|
if (value) {
|
|
@@ -5093,6 +5103,7 @@ class FwMultiSelectMenuComponent {
|
|
|
5093
5103
|
}
|
|
5094
5104
|
});
|
|
5095
5105
|
}
|
|
5106
|
+
this._value = this.selectedValues;
|
|
5096
5107
|
this.updateFilteredItems();
|
|
5097
5108
|
if (this.onChange) {
|
|
5098
5109
|
this.onChange(value);
|
|
@@ -5122,49 +5133,60 @@ class FwMultiSelectMenuComponent {
|
|
|
5122
5133
|
}
|
|
5123
5134
|
}
|
|
5124
5135
|
handleKeyDown(event) {
|
|
5125
|
-
if (
|
|
5126
|
-
if (
|
|
5127
|
-
this.
|
|
5128
|
-
this.updateValue(this.value);
|
|
5136
|
+
if (this.trigger.isOpen()) {
|
|
5137
|
+
if (event.key === 'ArrowDown') {
|
|
5138
|
+
this.moveFocused('down');
|
|
5129
5139
|
}
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
this.
|
|
5140
|
+
else if (event.key === 'ArrowUp') {
|
|
5141
|
+
this.moveFocused('up');
|
|
5142
|
+
}
|
|
5143
|
+
else if (event.key === 'Tab') {
|
|
5144
|
+
this.trigger.close();
|
|
5145
|
+
if (event.target) {
|
|
5146
|
+
event.target['value'] = '';
|
|
5147
|
+
}
|
|
5148
|
+
this.filteredOptions = this.options;
|
|
5149
|
+
}
|
|
5150
|
+
else if (event.key === 'Escape') {
|
|
5151
|
+
this.trigger.close();
|
|
5152
|
+
if (event.target) {
|
|
5153
|
+
event.target['value'] = '';
|
|
5154
|
+
}
|
|
5155
|
+
this.filteredOptions = this.options;
|
|
5156
|
+
}
|
|
5157
|
+
else if (event.key === 'Enter') {
|
|
5158
|
+
if (this.filteredOptions.length > this.focused) {
|
|
5159
|
+
if (!this.value.includes(this.filteredOptions[this.focused])) {
|
|
5160
|
+
const newValue = [...this.value, this.filteredOptions[this.focused][this.valueProperty]];
|
|
5161
|
+
if (event.target) {
|
|
5162
|
+
event.target['value'] = '';
|
|
5163
|
+
}
|
|
5164
|
+
this.filteredOptions = this.options;
|
|
5165
|
+
this.updateValue(newValue);
|
|
5166
|
+
if (this.closeOnSelect) {
|
|
5167
|
+
setTimeout(() => {
|
|
5168
|
+
this.trigger.close();
|
|
5169
|
+
}, 0);
|
|
5170
|
+
}
|
|
5171
|
+
else {
|
|
5172
|
+
setTimeout(() => {
|
|
5173
|
+
this.trigger.open();
|
|
5174
|
+
}, 0);
|
|
5175
|
+
}
|
|
5176
|
+
}
|
|
5150
5177
|
}
|
|
5151
5178
|
}
|
|
5152
|
-
event.target['value'] = '';
|
|
5153
5179
|
}
|
|
5154
5180
|
else {
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
this.
|
|
5159
|
-
rmi.focused = false;
|
|
5160
|
-
});
|
|
5161
|
-
const item = this.renderedMenuItems.get(this.focused);
|
|
5162
|
-
if (item) {
|
|
5163
|
-
item.focused = true;
|
|
5164
|
-
}
|
|
5181
|
+
if (event.key === 'Backspace') {
|
|
5182
|
+
if (this.value.length > 0 && event.target['value'].length === 0) {
|
|
5183
|
+
this.value.splice(this.value.length - 1, 1);
|
|
5184
|
+
this.updateValue(this.value);
|
|
5165
5185
|
}
|
|
5166
|
-
}
|
|
5186
|
+
}
|
|
5167
5187
|
}
|
|
5188
|
+
}
|
|
5189
|
+
handleInput(event) {
|
|
5168
5190
|
if (event.target['value'].length > 0) {
|
|
5169
5191
|
this.filteredOptions = this.options.filter(option => {
|
|
5170
5192
|
if (option[this.titleProperty].toLowerCase().includes(event.target['value'].toLowerCase())) {
|
|
@@ -5174,14 +5196,15 @@ class FwMultiSelectMenuComponent {
|
|
|
5174
5196
|
return false;
|
|
5175
5197
|
}
|
|
5176
5198
|
});
|
|
5177
|
-
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {
|
|
5178
|
-
this.moveFocused('zero');
|
|
5179
|
-
}
|
|
5180
5199
|
}
|
|
5181
5200
|
else {
|
|
5182
5201
|
this.filteredOptions = this.options;
|
|
5183
5202
|
this.updateFilteredItems();
|
|
5184
5203
|
}
|
|
5204
|
+
if (!this.trigger.isOpen()) {
|
|
5205
|
+
this.trigger.open();
|
|
5206
|
+
}
|
|
5207
|
+
this.moveFocused('zero');
|
|
5185
5208
|
}
|
|
5186
5209
|
}
|
|
5187
5210
|
FwMultiSelectMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -5191,7 +5214,7 @@ FwMultiSelectMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
5191
5214
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
5192
5215
|
multi: true,
|
|
5193
5216
|
},
|
|
5194
|
-
], queries: [{ propertyName: "menuItems", predicate: FwMenuItemComponent }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkMenuTrigger, descendants: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "textInitialInput", first: true, predicate: ["textInitialInput"], descendants: true }, { propertyName: "renderedMenuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (
|
|
5217
|
+
], queries: [{ propertyName: "menuItems", predicate: FwMenuItemComponent }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkMenuTrigger, descendants: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "textInitialInput", first: true, predicate: ["textInitialInput"], descendants: true }, { propertyName: "renderedMenuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\">\n <fw-menu\n [multiSelect]=\"true\"\n [useCheckbox]=\"useCheckbox\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0\"\n [disabled]=\"true\" label=\"No options\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:6px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "component", type: FwChipComponent, selector: "fw-chip", inputs: ["value", "variant", "color", "icon", "title", "description", "showClose", "disabled", "selected", "selectable"], outputs: ["close", "select"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: FwMenuComponent, selector: "fw-menu", inputs: ["disabled", "size", "multiSelect", "useCheckbox", "value", "variant", "collapsed", "collapsedWidth", "openWidth"], outputs: ["change", "filteredItemsChange"] }, { kind: "component", type: FwMenuContainerComponent, selector: "fw-menu-container", inputs: ["width", "maxHeight", "border", "shadow", "showFilter", "filterText", "offset", "collapsed"] }, { kind: "component", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "multiSelect", "hidden", "showTooltip", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "pipe", type: i1$1.SlicePipe, name: "slice" }] });
|
|
5195
5218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, decorators: [{
|
|
5196
5219
|
type: Component,
|
|
5197
5220
|
args: [{ selector: 'fw-multi-select', providers: [
|
|
@@ -5200,7 +5223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
5200
5223
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
5201
5224
|
multi: true,
|
|
5202
5225
|
},
|
|
5203
|
-
], template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (
|
|
5226
|
+
], template: "<div [ngStyle]=\"{width: width}\">\n <div\n class=\"chip-grid\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\">\n <fw-menu\n [multiSelect]=\"true\"\n [useCheckbox]=\"useCheckbox\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0\"\n [disabled]=\"true\" label=\"No options\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:6px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\n"] }]
|
|
5204
5227
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { outsideClick: [{
|
|
5205
5228
|
type: HostListener,
|
|
5206
5229
|
args: ['document:click']
|
|
@@ -5406,11 +5429,21 @@ class FwSelectMenuComponent {
|
|
|
5406
5429
|
if (this.inFocusOpen) {
|
|
5407
5430
|
if (event.key === 'ArrowDown') {
|
|
5408
5431
|
this.moveFocused('down');
|
|
5409
|
-
|
|
5432
|
+
if (this._valueType === 'object') {
|
|
5433
|
+
this.updateValue(this.options[this.focused]);
|
|
5434
|
+
}
|
|
5435
|
+
else {
|
|
5436
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
5437
|
+
}
|
|
5410
5438
|
}
|
|
5411
5439
|
if (event.key === 'ArrowUp') {
|
|
5412
5440
|
this.moveFocused('up');
|
|
5413
|
-
|
|
5441
|
+
if (this._valueType === 'object') {
|
|
5442
|
+
this.updateValue(this.options[this.focused]);
|
|
5443
|
+
}
|
|
5444
|
+
else {
|
|
5445
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
5446
|
+
}
|
|
5414
5447
|
}
|
|
5415
5448
|
if (event.key === 'Tab') {
|
|
5416
5449
|
this.trigger.close();
|
|
@@ -5438,6 +5471,13 @@ class FwSelectMenuComponent {
|
|
|
5438
5471
|
this.updateValue(this.preFocusValue);
|
|
5439
5472
|
}
|
|
5440
5473
|
}
|
|
5474
|
+
else {
|
|
5475
|
+
if (this.showReset) {
|
|
5476
|
+
if (event.key === 'Escape') {
|
|
5477
|
+
this.handleReset();
|
|
5478
|
+
}
|
|
5479
|
+
}
|
|
5480
|
+
}
|
|
5441
5481
|
}
|
|
5442
5482
|
updateValue(value) {
|
|
5443
5483
|
this._value = value;
|
|
@@ -5477,7 +5517,12 @@ class FwSelectMenuComponent {
|
|
|
5477
5517
|
}
|
|
5478
5518
|
handleReset() {
|
|
5479
5519
|
if (this.showReset) {
|
|
5480
|
-
this.
|
|
5520
|
+
if (this._valueType === 'object') {
|
|
5521
|
+
this.updateValue(null);
|
|
5522
|
+
}
|
|
5523
|
+
else {
|
|
5524
|
+
this.updateValue('');
|
|
5525
|
+
}
|
|
5481
5526
|
}
|
|
5482
5527
|
}
|
|
5483
5528
|
}
|
|
@@ -7428,9 +7473,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
7428
7473
|
}]
|
|
7429
7474
|
}] });
|
|
7430
7475
|
|
|
7476
|
+
class FwWrappedInputComponent {
|
|
7477
|
+
get classes() {
|
|
7478
|
+
return [
|
|
7479
|
+
'fw-wrapped-input',
|
|
7480
|
+
].join(' ');
|
|
7481
|
+
}
|
|
7482
|
+
;
|
|
7483
|
+
}
|
|
7484
|
+
FwWrappedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7485
|
+
FwWrappedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwWrappedInputComponent, selector: "fw-wrapped-input", inputs: { title: "title", description: "description" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<label>\n <fw-form-heading *ngIf=\"title\" [title]=\"title\" [description]=\"description\"></fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select\"></ng-content>\n</div>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwFormHeadingComponent, selector: "fw-form-heading", inputs: ["title", "description", "status"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
7486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, decorators: [{
|
|
7487
|
+
type: Component,
|
|
7488
|
+
args: [{ selector: 'fw-wrapped-input', encapsulation: ViewEncapsulation.None, template: "<label>\n <fw-form-heading *ngIf=\"title\" [title]=\"title\" [description]=\"description\"></fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select\"></ng-content>\n</div>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}\n"] }]
|
|
7489
|
+
}], propDecorators: { title: [{
|
|
7490
|
+
type: Input
|
|
7491
|
+
}], description: [{
|
|
7492
|
+
type: Input
|
|
7493
|
+
}], classes: [{
|
|
7494
|
+
type: HostBinding,
|
|
7495
|
+
args: ['attr.class']
|
|
7496
|
+
}] } });
|
|
7497
|
+
|
|
7498
|
+
class FwWrappedInputModule {
|
|
7499
|
+
}
|
|
7500
|
+
FwWrappedInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7501
|
+
FwWrappedInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, declarations: [FwWrappedInputComponent], imports: [CommonModule,
|
|
7502
|
+
FwFormHeadingModule], exports: [FwWrappedInputComponent] });
|
|
7503
|
+
FwWrappedInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, imports: [CommonModule,
|
|
7504
|
+
FwFormHeadingModule] });
|
|
7505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, decorators: [{
|
|
7506
|
+
type: NgModule,
|
|
7507
|
+
args: [{
|
|
7508
|
+
imports: [
|
|
7509
|
+
CommonModule,
|
|
7510
|
+
FwFormHeadingModule,
|
|
7511
|
+
],
|
|
7512
|
+
exports: [
|
|
7513
|
+
FwWrappedInputComponent,
|
|
7514
|
+
],
|
|
7515
|
+
declarations: [
|
|
7516
|
+
FwWrappedInputComponent,
|
|
7517
|
+
],
|
|
7518
|
+
}]
|
|
7519
|
+
}] });
|
|
7520
|
+
|
|
7431
7521
|
/**
|
|
7432
7522
|
* Generated bundle index. Do not edit.
|
|
7433
7523
|
*/
|
|
7434
7524
|
|
|
7435
|
-
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, FwDateInputComponent, FwDateInputModule, 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, FwProgressBarComponent, FwProgressModule, FwProgressSpinnerComponent, 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, allIcons, genId, genMessageId };
|
|
7525
|
+
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, FwDateInputComponent, FwDateInputModule, 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, FwProgressBarComponent, FwProgressModule, FwProgressSpinnerComponent, 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, FwWrappedInputComponent, FwWrappedInputModule, LayoutWidth, MinimalTranslationService, TranslationService, allIcons, genId, genMessageId };
|
|
7436
7526
|
//# sourceMappingURL=flywheel-io-vision.mjs.map
|