@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
|
@@ -3547,18 +3547,24 @@ class FwMenuSubItemComponent {
|
|
|
3547
3547
|
this.variant = 'default';
|
|
3548
3548
|
}
|
|
3549
3549
|
handleClick(evt) {
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3550
|
+
if (this.disabled) {
|
|
3551
|
+
evt.stopPropagation();
|
|
3552
|
+
return;
|
|
3553
|
+
}
|
|
3554
|
+
if (this.href) {
|
|
3555
|
+
if (this.target) {
|
|
3556
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
3557
|
+
window.open(this.href, this.target).focus();
|
|
3558
|
+
}
|
|
3559
|
+
else {
|
|
3560
|
+
window.location.href = this.href;
|
|
3560
3561
|
}
|
|
3562
|
+
evt.stopPropagation();
|
|
3563
|
+
return;
|
|
3564
|
+
}
|
|
3565
|
+
if (this.value) {
|
|
3561
3566
|
this.click.emit(this.value);
|
|
3567
|
+
evt.stopPropagation();
|
|
3562
3568
|
}
|
|
3563
3569
|
}
|
|
3564
3570
|
}
|
|
@@ -3750,18 +3756,24 @@ class FwMenuItemComponent {
|
|
|
3750
3756
|
this.updateLayout();
|
|
3751
3757
|
}
|
|
3752
3758
|
handleClick(evt) {
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3759
|
+
if (this.disabled) {
|
|
3760
|
+
evt.stopPropagation();
|
|
3761
|
+
return;
|
|
3762
|
+
}
|
|
3763
|
+
if (this.href) {
|
|
3764
|
+
if (this.target) {
|
|
3765
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
3766
|
+
window.open(this.href, this.target).focus();
|
|
3767
|
+
}
|
|
3768
|
+
else {
|
|
3769
|
+
window.location.href = this.href;
|
|
3763
3770
|
}
|
|
3771
|
+
evt.stopPropagation();
|
|
3772
|
+
return;
|
|
3773
|
+
}
|
|
3774
|
+
if (this.value) {
|
|
3764
3775
|
this.click.emit(this.value);
|
|
3776
|
+
evt.stopPropagation();
|
|
3765
3777
|
}
|
|
3766
3778
|
}
|
|
3767
3779
|
}
|
|
@@ -4947,6 +4959,7 @@ class FwMultiSelectMenuComponent {
|
|
|
4947
4959
|
this.focused = 0;
|
|
4948
4960
|
this.touched = false;
|
|
4949
4961
|
this._isOpen = false;
|
|
4962
|
+
this._value = [];
|
|
4950
4963
|
this.onTouched = () => {
|
|
4951
4964
|
};
|
|
4952
4965
|
}
|
|
@@ -4963,12 +4976,6 @@ class FwMultiSelectMenuComponent {
|
|
|
4963
4976
|
return this._value;
|
|
4964
4977
|
}
|
|
4965
4978
|
set value(newValue) {
|
|
4966
|
-
if (newValue && newValue.length > 0) {
|
|
4967
|
-
this._valueType = typeof newValue[0];
|
|
4968
|
-
}
|
|
4969
|
-
else {
|
|
4970
|
-
this._valueType = typeof newValue;
|
|
4971
|
-
}
|
|
4972
4979
|
this.updateValue(newValue);
|
|
4973
4980
|
}
|
|
4974
4981
|
registerOnChange(fn) {
|
|
@@ -4999,7 +5006,11 @@ class FwMultiSelectMenuComponent {
|
|
|
4999
5006
|
if (this.options && this.options.length === 0) {
|
|
5000
5007
|
this.options = [];
|
|
5001
5008
|
this.menuItems.forEach(item => {
|
|
5002
|
-
const opt = {
|
|
5009
|
+
const opt = {
|
|
5010
|
+
value: item.value,
|
|
5011
|
+
label: item.title,
|
|
5012
|
+
icon: item.icon,
|
|
5013
|
+
};
|
|
5003
5014
|
this.options.push(opt);
|
|
5004
5015
|
if (this.selectedValues.indexOf(item.value.toString()) >= 0) {
|
|
5005
5016
|
this.selectedOptions.push(opt);
|
|
@@ -5015,7 +5026,7 @@ class FwMultiSelectMenuComponent {
|
|
|
5015
5026
|
this.touched = true;
|
|
5016
5027
|
}
|
|
5017
5028
|
handleClose(chip) {
|
|
5018
|
-
this.value.splice(this.value.indexOf(chip), 1);
|
|
5029
|
+
this.value.splice(this.value.indexOf(chip[this.valueProperty]), 1);
|
|
5019
5030
|
this.updateValue(this.value);
|
|
5020
5031
|
this.trigger.close();
|
|
5021
5032
|
}
|
|
@@ -5055,7 +5066,6 @@ class FwMultiSelectMenuComponent {
|
|
|
5055
5066
|
}
|
|
5056
5067
|
}
|
|
5057
5068
|
updateValue(value) {
|
|
5058
|
-
this._value = value;
|
|
5059
5069
|
this.selectedValues = [];
|
|
5060
5070
|
this.selectedOptions = [];
|
|
5061
5071
|
if (value) {
|
|
@@ -5077,6 +5087,7 @@ class FwMultiSelectMenuComponent {
|
|
|
5077
5087
|
}
|
|
5078
5088
|
});
|
|
5079
5089
|
}
|
|
5090
|
+
this._value = this.selectedValues;
|
|
5080
5091
|
this.updateFilteredItems();
|
|
5081
5092
|
if (this.onChange) {
|
|
5082
5093
|
this.onChange(value);
|
|
@@ -5106,49 +5117,60 @@ class FwMultiSelectMenuComponent {
|
|
|
5106
5117
|
}
|
|
5107
5118
|
}
|
|
5108
5119
|
handleKeyDown(event) {
|
|
5109
|
-
if (
|
|
5110
|
-
if (
|
|
5111
|
-
this.
|
|
5112
|
-
this.updateValue(this.value);
|
|
5120
|
+
if (this.trigger.isOpen()) {
|
|
5121
|
+
if (event.key === 'ArrowDown') {
|
|
5122
|
+
this.moveFocused('down');
|
|
5113
5123
|
}
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
this.
|
|
5124
|
+
else if (event.key === 'ArrowUp') {
|
|
5125
|
+
this.moveFocused('up');
|
|
5126
|
+
}
|
|
5127
|
+
else if (event.key === 'Tab') {
|
|
5128
|
+
this.trigger.close();
|
|
5129
|
+
if (event.target) {
|
|
5130
|
+
event.target['value'] = '';
|
|
5131
|
+
}
|
|
5132
|
+
this.filteredOptions = this.options;
|
|
5133
|
+
}
|
|
5134
|
+
else if (event.key === 'Escape') {
|
|
5135
|
+
this.trigger.close();
|
|
5136
|
+
if (event.target) {
|
|
5137
|
+
event.target['value'] = '';
|
|
5138
|
+
}
|
|
5139
|
+
this.filteredOptions = this.options;
|
|
5140
|
+
}
|
|
5141
|
+
else if (event.key === 'Enter') {
|
|
5142
|
+
if (this.filteredOptions.length > this.focused) {
|
|
5143
|
+
if (!this.value.includes(this.filteredOptions[this.focused])) {
|
|
5144
|
+
const newValue = [...this.value, this.filteredOptions[this.focused][this.valueProperty]];
|
|
5145
|
+
if (event.target) {
|
|
5146
|
+
event.target['value'] = '';
|
|
5147
|
+
}
|
|
5148
|
+
this.filteredOptions = this.options;
|
|
5149
|
+
this.updateValue(newValue);
|
|
5150
|
+
if (this.closeOnSelect) {
|
|
5151
|
+
setTimeout(() => {
|
|
5152
|
+
this.trigger.close();
|
|
5153
|
+
}, 0);
|
|
5154
|
+
}
|
|
5155
|
+
else {
|
|
5156
|
+
setTimeout(() => {
|
|
5157
|
+
this.trigger.open();
|
|
5158
|
+
}, 0);
|
|
5159
|
+
}
|
|
5160
|
+
}
|
|
5134
5161
|
}
|
|
5135
5162
|
}
|
|
5136
|
-
event.target['value'] = '';
|
|
5137
5163
|
}
|
|
5138
5164
|
else {
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
this.
|
|
5143
|
-
rmi.focused = false;
|
|
5144
|
-
});
|
|
5145
|
-
const item = this.renderedMenuItems.get(this.focused);
|
|
5146
|
-
if (item) {
|
|
5147
|
-
item.focused = true;
|
|
5148
|
-
}
|
|
5165
|
+
if (event.key === 'Backspace') {
|
|
5166
|
+
if (this.value.length > 0 && event.target['value'].length === 0) {
|
|
5167
|
+
this.value.splice(this.value.length - 1, 1);
|
|
5168
|
+
this.updateValue(this.value);
|
|
5149
5169
|
}
|
|
5150
|
-
}
|
|
5170
|
+
}
|
|
5151
5171
|
}
|
|
5172
|
+
}
|
|
5173
|
+
handleInput(event) {
|
|
5152
5174
|
if (event.target['value'].length > 0) {
|
|
5153
5175
|
this.filteredOptions = this.options.filter(option => {
|
|
5154
5176
|
if (option[this.titleProperty].toLowerCase().includes(event.target['value'].toLowerCase())) {
|
|
@@ -5158,14 +5180,15 @@ class FwMultiSelectMenuComponent {
|
|
|
5158
5180
|
return false;
|
|
5159
5181
|
}
|
|
5160
5182
|
});
|
|
5161
|
-
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {
|
|
5162
|
-
this.moveFocused('zero');
|
|
5163
|
-
}
|
|
5164
5183
|
}
|
|
5165
5184
|
else {
|
|
5166
5185
|
this.filteredOptions = this.options;
|
|
5167
5186
|
this.updateFilteredItems();
|
|
5168
5187
|
}
|
|
5188
|
+
if (!this.trigger.isOpen()) {
|
|
5189
|
+
this.trigger.open();
|
|
5190
|
+
}
|
|
5191
|
+
this.moveFocused('zero');
|
|
5169
5192
|
}
|
|
5170
5193
|
}
|
|
5171
5194
|
FwMultiSelectMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -5175,7 +5198,7 @@ FwMultiSelectMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
5175
5198
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
5176
5199
|
multi: true,
|
|
5177
5200
|
},
|
|
5178
|
-
], 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)\" (
|
|
5201
|
+
], 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" }] });
|
|
5179
5202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, decorators: [{
|
|
5180
5203
|
type: Component,
|
|
5181
5204
|
args: [{ selector: 'fw-multi-select', providers: [
|
|
@@ -5184,7 +5207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
5184
5207
|
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
5185
5208
|
multi: true,
|
|
5186
5209
|
},
|
|
5187
|
-
], 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)\" (
|
|
5210
|
+
], 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"] }]
|
|
5188
5211
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { outsideClick: [{
|
|
5189
5212
|
type: HostListener,
|
|
5190
5213
|
args: ['document:click']
|
|
@@ -5390,11 +5413,21 @@ class FwSelectMenuComponent {
|
|
|
5390
5413
|
if (this.inFocusOpen) {
|
|
5391
5414
|
if (event.key === 'ArrowDown') {
|
|
5392
5415
|
this.moveFocused('down');
|
|
5393
|
-
|
|
5416
|
+
if (this._valueType === 'object') {
|
|
5417
|
+
this.updateValue(this.options[this.focused]);
|
|
5418
|
+
}
|
|
5419
|
+
else {
|
|
5420
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
5421
|
+
}
|
|
5394
5422
|
}
|
|
5395
5423
|
if (event.key === 'ArrowUp') {
|
|
5396
5424
|
this.moveFocused('up');
|
|
5397
|
-
|
|
5425
|
+
if (this._valueType === 'object') {
|
|
5426
|
+
this.updateValue(this.options[this.focused]);
|
|
5427
|
+
}
|
|
5428
|
+
else {
|
|
5429
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
5430
|
+
}
|
|
5398
5431
|
}
|
|
5399
5432
|
if (event.key === 'Tab') {
|
|
5400
5433
|
this.trigger.close();
|
|
@@ -5422,6 +5455,13 @@ class FwSelectMenuComponent {
|
|
|
5422
5455
|
this.updateValue(this.preFocusValue);
|
|
5423
5456
|
}
|
|
5424
5457
|
}
|
|
5458
|
+
else {
|
|
5459
|
+
if (this.showReset) {
|
|
5460
|
+
if (event.key === 'Escape') {
|
|
5461
|
+
this.handleReset();
|
|
5462
|
+
}
|
|
5463
|
+
}
|
|
5464
|
+
}
|
|
5425
5465
|
}
|
|
5426
5466
|
updateValue(value) {
|
|
5427
5467
|
this._value = value;
|
|
@@ -5461,7 +5501,12 @@ class FwSelectMenuComponent {
|
|
|
5461
5501
|
}
|
|
5462
5502
|
handleReset() {
|
|
5463
5503
|
if (this.showReset) {
|
|
5464
|
-
this.
|
|
5504
|
+
if (this._valueType === 'object') {
|
|
5505
|
+
this.updateValue(null);
|
|
5506
|
+
}
|
|
5507
|
+
else {
|
|
5508
|
+
this.updateValue('');
|
|
5509
|
+
}
|
|
5465
5510
|
}
|
|
5466
5511
|
}
|
|
5467
5512
|
}
|
|
@@ -7409,9 +7454,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
7409
7454
|
}]
|
|
7410
7455
|
}] });
|
|
7411
7456
|
|
|
7457
|
+
class FwWrappedInputComponent {
|
|
7458
|
+
get classes() {
|
|
7459
|
+
return [
|
|
7460
|
+
'fw-wrapped-input',
|
|
7461
|
+
].join(' ');
|
|
7462
|
+
}
|
|
7463
|
+
;
|
|
7464
|
+
}
|
|
7465
|
+
FwWrappedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7466
|
+
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 });
|
|
7467
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputComponent, decorators: [{
|
|
7468
|
+
type: Component,
|
|
7469
|
+
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"] }]
|
|
7470
|
+
}], propDecorators: { title: [{
|
|
7471
|
+
type: Input
|
|
7472
|
+
}], description: [{
|
|
7473
|
+
type: Input
|
|
7474
|
+
}], classes: [{
|
|
7475
|
+
type: HostBinding,
|
|
7476
|
+
args: ['attr.class']
|
|
7477
|
+
}] } });
|
|
7478
|
+
|
|
7479
|
+
class FwWrappedInputModule {
|
|
7480
|
+
}
|
|
7481
|
+
FwWrappedInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7482
|
+
FwWrappedInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, declarations: [FwWrappedInputComponent], imports: [CommonModule,
|
|
7483
|
+
FwFormHeadingModule], exports: [FwWrappedInputComponent] });
|
|
7484
|
+
FwWrappedInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, imports: [CommonModule,
|
|
7485
|
+
FwFormHeadingModule] });
|
|
7486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwWrappedInputModule, decorators: [{
|
|
7487
|
+
type: NgModule,
|
|
7488
|
+
args: [{
|
|
7489
|
+
imports: [
|
|
7490
|
+
CommonModule,
|
|
7491
|
+
FwFormHeadingModule,
|
|
7492
|
+
],
|
|
7493
|
+
exports: [
|
|
7494
|
+
FwWrappedInputComponent,
|
|
7495
|
+
],
|
|
7496
|
+
declarations: [
|
|
7497
|
+
FwWrappedInputComponent,
|
|
7498
|
+
],
|
|
7499
|
+
}]
|
|
7500
|
+
}] });
|
|
7501
|
+
|
|
7412
7502
|
/**
|
|
7413
7503
|
* Generated bundle index. Do not edit.
|
|
7414
7504
|
*/
|
|
7415
7505
|
|
|
7416
|
-
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 };
|
|
7506
|
+
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 };
|
|
7417
7507
|
//# sourceMappingURL=flywheel-io-vision.mjs.map
|