@flywheel-io/vision 2.7.0-beta.1 → 2.7.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.
- package/assets/fonts/Flywheel-Vision-Icons.svg +8 -2
- package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
- package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
- package/assets/svg/documents-file-move-arrow-right.svg +4 -0
- package/assets/svg/folder-move.svg +4 -0
- package/assets/svg/mouse-scroll.svg +4 -0
- package/assets/svg/thumbs-down-dislike.svg +4 -0
- package/components/avatar-list/avatar-list.component.d.ts +4 -2
- package/components/dialog/dialog-confirm.component.d.ts +2 -1
- package/components/form-heading/form-heading.component.d.ts +3 -1
- package/components/form-heading/form-heading.module.d.ts +2 -1
- package/components/icon/icon.types.d.ts +1 -1
- package/components/menu/menu-close-triggers.directive.d.ts +1 -1
- package/components/tag/tag.component.d.ts +10 -0
- package/components/tag/tag.module.d.ts +9 -0
- package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +6 -6
- package/components/tooltip/tooltip.component.d.ts +2 -1
- package/components/tooltip/tooltip.directive.d.ts +39 -6
- package/components/wrapped-input/wrapped-input.component.d.ts +4 -1
- package/esm2022/components/avatar/avatar.component.mjs +7 -3
- package/esm2022/components/avatar-list/avatar-list.component.mjs +16 -9
- package/esm2022/components/chip-list/chip-list.component.mjs +3 -2
- package/esm2022/components/dialog/dialog-confirm.component.mjs +6 -3
- package/esm2022/components/form-heading/form-heading.component.mjs +9 -3
- package/esm2022/components/form-heading/form-heading.module.mjs +7 -3
- package/esm2022/components/icon/icon.types.mjs +44 -41
- package/esm2022/components/menu/menu-close-triggers.directive.mjs +15 -9
- package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +2 -2
- package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +6 -1
- package/esm2022/components/tag/tag.component.mjs +25 -0
- package/esm2022/components/tag/tag.module.mjs +28 -0
- package/esm2022/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +12 -21
- package/esm2022/components/tooltip/tooltip.component.mjs +4 -3
- package/esm2022/components/tooltip/tooltip.directive.mjs +93 -30
- package/esm2022/components/typeahead/typeahead.component.mjs +8 -4
- package/esm2022/components/wrapped-input/wrapped-input.component.mjs +10 -3
- package/fesm2022/flywheel-io-vision.mjs +265 -118
- package/fesm2022/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/scss/icons/_icon-glyphs.scss +12 -4
- package/styles.css +16 -4
- package/flywheel-io-vision-2.7.0-beta.1.tgz +0 -0
|
@@ -3,7 +3,7 @@ import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, O
|
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import { CommonModule, NgClass } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
|
-
import { BehaviorSubject,
|
|
6
|
+
import { BehaviorSubject, debounce, timer, distinctUntilChanged, of, Subscription, min, startWith, tap, switchMap, map } from 'rxjs';
|
|
7
7
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
8
8
|
import { OverlayModule, Overlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
9
9
|
import * as i1$5 from '@angular/cdk/table';
|
|
@@ -356,8 +356,12 @@ class FwAvatarComponent {
|
|
|
356
356
|
return [this.size, this.variant, this.content, 'selected'].filter(Boolean).join(' ');
|
|
357
357
|
}
|
|
358
358
|
;
|
|
359
|
-
get borderClass() {
|
|
360
|
-
|
|
359
|
+
get borderClass() {
|
|
360
|
+
return this.bordered;
|
|
361
|
+
}
|
|
362
|
+
get selectedClassApplied() {
|
|
363
|
+
return this.selected();
|
|
364
|
+
}
|
|
361
365
|
loadImage() {
|
|
362
366
|
this.isImageBroken = false;
|
|
363
367
|
}
|
|
@@ -928,24 +932,10 @@ class FwTooltipPanelComponent {
|
|
|
928
932
|
this.connectedPosition = computed(() => [positionMap$1[this.position()]]);
|
|
929
933
|
this.color = 'dark';
|
|
930
934
|
this.maxWidth = 200;
|
|
935
|
+
this.displayCaret = true;
|
|
931
936
|
this.mouseLeave = new EventEmitter();
|
|
932
937
|
this.delay = input('short');
|
|
933
938
|
this.delayMs = computed(() => delayMap$1[this.delay()]);
|
|
934
|
-
/*
|
|
935
|
-
<ng-template
|
|
936
|
-
cdkConnectedOverlay
|
|
937
|
-
[cdkConnectedOverlayOrigin]="trigger"
|
|
938
|
-
[cdkConnectedOverlayOpen]="isOpen"
|
|
939
|
-
[cdkConnectedOverlayPositions]="connectedPosition()"
|
|
940
|
-
[cdkConnectedOverlayScrollStrategy]="this.overlayService.scrollStrategies.close()">
|
|
941
|
-
*/
|
|
942
|
-
this.overlayService = inject(Overlay);
|
|
943
|
-
this.updateOverlayOnChange = effect(() => {
|
|
944
|
-
// this.overlayRef.origin = this.trigger();
|
|
945
|
-
// this.overlayRef.positions = this.connectedPosition();
|
|
946
|
-
// this.overlayRef.open = this.isOpen();
|
|
947
|
-
// this.overlayRef.scrollStrategy = this.overlayService.scrollStrategies.close();
|
|
948
|
-
});
|
|
949
939
|
}
|
|
950
940
|
get classes() {
|
|
951
941
|
return ['fw-tooltip-panel', 'fw-tooltip-' + this.position].join(' ');
|
|
@@ -954,7 +944,7 @@ class FwTooltipPanelComponent {
|
|
|
954
944
|
this.mouseLeave.emit(e);
|
|
955
945
|
}
|
|
956
946
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
957
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
947
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FwTooltipPanelComponent, selector: "fw-tooltip-panel", inputs: { trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, displayCaret: { classPropertyName: "displayCaret", publicName: "displayCaret", isSignal: false, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mouseLeave: "mouseLeave" }, host: { listeners: { "mouseleave": "hidePopover($event)" }, properties: { "@fadeInFadeOut": "this.animation", "attr.class": "this.classes" } }, ngImport: i0, template: "<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n", styles: [":host{position:absolute;height:0;width:0}.fw-tooltip-content-wrapper{position:relative;border-radius:8px;border:1px solid var(--separations-border);min-width:60px;box-sizing:border-box;padding:4px 8px;background-color:var(--card-header);text-align:center;overflow-wrap:break-word;white-space:pre-wrap}.fw-tooltip-content-wrapper h5{margin:0!important;color:var(--typography-muted)}.fw-tooltip-content-wrapper .fw-tooltip-caret{position:absolute;overflow:hidden;width:16px;height:16px}.fw-tooltip-content-wrapper .fw-tooltip-caret:after{display:block;content:\"\";width:10px;height:10px;background:var(--separations-border);border:1px solid var(--separations-border);transform:rotate(45deg);position:relative}.fw-tooltip-content-wrapper.fw-tooltip-none{margin-bottom:10px}.fw-tooltip-content-wrapper.fw-tooltip-none .fw-tooltip-caret{display:none}.fw-tooltip-content-wrapper.fw-tooltip-above{margin-bottom:10px}.fw-tooltip-content-wrapper.fw-tooltip-above .fw-tooltip-caret{left:calc(50% - 8px);bottom:-10px;height:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-above .fw-tooltip-caret:after{margin:-8px auto;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-below{margin-top:10px}.fw-tooltip-content-wrapper.fw-tooltip-below .fw-tooltip-caret{left:calc(50% - 8px);top:-10px;height:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-below .fw-tooltip-caret:after{top:10px;margin:-4px auto;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-left{margin-right:10px}.fw-tooltip-content-wrapper.fw-tooltip-left .fw-tooltip-caret{right:-10px;top:max(50% - 10px,3px);width:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-left .fw-tooltip-caret:after{top:calc(50% - 5px);left:-8px;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-right{margin-left:10px}.fw-tooltip-content-wrapper.fw-tooltip-right .fw-tooltip-caret{left:-10px;top:max(50% - 10px,3px);width:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-right .fw-tooltip-caret:after{top:calc(50% - 5px);right:-6px;width:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
|
|
958
948
|
trigger('fadeInFadeOut', [
|
|
959
949
|
transition(':enter', [
|
|
960
950
|
style({ opacity: 0 }),
|
|
@@ -978,13 +968,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
978
968
|
animate('200ms', style({ opacity: 0 })),
|
|
979
969
|
]),
|
|
980
970
|
]),
|
|
981
|
-
], template: "<div\n
|
|
982
|
-
}], propDecorators: {
|
|
971
|
+
], template: "<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n", styles: [":host{position:absolute;height:0;width:0}.fw-tooltip-content-wrapper{position:relative;border-radius:8px;border:1px solid var(--separations-border);min-width:60px;box-sizing:border-box;padding:4px 8px;background-color:var(--card-header);text-align:center;overflow-wrap:break-word;white-space:pre-wrap}.fw-tooltip-content-wrapper h5{margin:0!important;color:var(--typography-muted)}.fw-tooltip-content-wrapper .fw-tooltip-caret{position:absolute;overflow:hidden;width:16px;height:16px}.fw-tooltip-content-wrapper .fw-tooltip-caret:after{display:block;content:\"\";width:10px;height:10px;background:var(--separations-border);border:1px solid var(--separations-border);transform:rotate(45deg);position:relative}.fw-tooltip-content-wrapper.fw-tooltip-none{margin-bottom:10px}.fw-tooltip-content-wrapper.fw-tooltip-none .fw-tooltip-caret{display:none}.fw-tooltip-content-wrapper.fw-tooltip-above{margin-bottom:10px}.fw-tooltip-content-wrapper.fw-tooltip-above .fw-tooltip-caret{left:calc(50% - 8px);bottom:-10px;height:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-above .fw-tooltip-caret:after{margin:-8px auto;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-below{margin-top:10px}.fw-tooltip-content-wrapper.fw-tooltip-below .fw-tooltip-caret{left:calc(50% - 8px);top:-10px;height:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-below .fw-tooltip-caret:after{top:10px;margin:-4px auto;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-left{margin-right:10px}.fw-tooltip-content-wrapper.fw-tooltip-left .fw-tooltip-caret{right:-10px;top:max(50% - 10px,3px);width:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-left .fw-tooltip-caret:after{top:calc(50% - 5px);left:-8px;width:10px}.fw-tooltip-content-wrapper.fw-tooltip-right{margin-left:10px}.fw-tooltip-content-wrapper.fw-tooltip-right .fw-tooltip-caret{left:-10px;top:max(50% - 10px,3px);width:10px!important}.fw-tooltip-content-wrapper.fw-tooltip-right .fw-tooltip-caret:after{top:calc(50% - 5px);right:-6px;width:10px}\n"] }]
|
|
972
|
+
}], propDecorators: { animation: [{
|
|
973
|
+
type: HostBinding,
|
|
974
|
+
args: ['@fadeInFadeOut']
|
|
975
|
+
}], title: [{
|
|
983
976
|
type: Input
|
|
984
977
|
}], color: [{
|
|
985
978
|
type: Input
|
|
986
979
|
}], maxWidth: [{
|
|
987
980
|
type: Input
|
|
981
|
+
}], displayCaret: [{
|
|
982
|
+
type: Input
|
|
988
983
|
}], mouseLeave: [{
|
|
989
984
|
type: Output
|
|
990
985
|
}], classes: [{
|
|
@@ -995,13 +990,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
995
990
|
args: ['mouseleave', ['$event']]
|
|
996
991
|
}] } });
|
|
997
992
|
|
|
998
|
-
const positionMap = {
|
|
999
|
-
'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },
|
|
1000
|
-
'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },
|
|
1001
|
-
'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },
|
|
1002
|
-
'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
|
|
1003
|
-
'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
|
|
1004
|
-
};
|
|
1005
993
|
const delayMap = {
|
|
1006
994
|
'none': 0,
|
|
1007
995
|
'short': 400,
|
|
@@ -1010,49 +998,97 @@ const delayMap = {
|
|
|
1010
998
|
const delayNameToMs = (name) => {
|
|
1011
999
|
return delayMap[name];
|
|
1012
1000
|
};
|
|
1001
|
+
const positionMap = {
|
|
1002
|
+
'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },
|
|
1003
|
+
'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },
|
|
1004
|
+
'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
|
|
1005
|
+
'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
|
|
1006
|
+
'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },
|
|
1007
|
+
};
|
|
1008
|
+
/**
|
|
1009
|
+
* Directive for displaying extra context on hover
|
|
1010
|
+
* @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)
|
|
1011
|
+
*/
|
|
1013
1012
|
class FwTooltipDirective {
|
|
1014
1013
|
constructor() {
|
|
1015
|
-
|
|
1014
|
+
/***** External Context *****/
|
|
1016
1015
|
this.elementRef = inject(ElementRef);
|
|
1017
1016
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1018
1017
|
this.overlayService = inject(Overlay);
|
|
1019
|
-
|
|
1018
|
+
/***** Internal Refs *****/
|
|
1020
1019
|
this.overlayRef = signal(undefined);
|
|
1021
1020
|
this.tooltipRef = signal(undefined);
|
|
1022
|
-
|
|
1023
|
-
this.delayMs = input(400, {
|
|
1024
|
-
transform: delayNameToMs,
|
|
1025
|
-
alias: 'fwTooltipDelay',
|
|
1026
|
-
});
|
|
1021
|
+
/***** Inputs *****/
|
|
1027
1022
|
// a lot of these ideally wouldn't be models,
|
|
1028
1023
|
// but it makes it easier to interact with this from derivative directives
|
|
1029
|
-
|
|
1024
|
+
// VS Code pulls the input that shares a name with the directive for giving context
|
|
1025
|
+
// so putting the top level comment on this input
|
|
1026
|
+
/**
|
|
1027
|
+
* Directive for displaying extra context on hover
|
|
1028
|
+
* @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)
|
|
1029
|
+
*/
|
|
1030
|
+
this.title = model('Placeholder', {
|
|
1030
1031
|
alias: 'fwTooltip',
|
|
1031
1032
|
});
|
|
1033
|
+
/**
|
|
1034
|
+
* direction relative to the parent component that the tooltip will attempt to position itself to
|
|
1035
|
+
*/
|
|
1032
1036
|
this.position = model('above', {
|
|
1033
1037
|
alias: 'fwTooltipPosition',
|
|
1034
1038
|
});
|
|
1039
|
+
/**
|
|
1040
|
+
* maximum width of the tooltip in pixels
|
|
1041
|
+
*/
|
|
1035
1042
|
this.maxWidth = model(200, {
|
|
1036
1043
|
alias: 'fwTooltipMaxWidthPx',
|
|
1037
1044
|
});
|
|
1045
|
+
/**
|
|
1046
|
+
* amount of delay before the tooltip displays
|
|
1047
|
+
*
|
|
1048
|
+
* none (0ms),
|
|
1049
|
+
* short (400ms),
|
|
1050
|
+
* long (700ms)
|
|
1051
|
+
*/
|
|
1052
|
+
this.delayMs = input(400, {
|
|
1053
|
+
transform: delayNameToMs,
|
|
1054
|
+
alias: 'fwTooltipDelay',
|
|
1055
|
+
});
|
|
1056
|
+
/**
|
|
1057
|
+
* whether or not the tooltip should have a caret
|
|
1058
|
+
*/
|
|
1059
|
+
this.displayCaret = input(true, {
|
|
1060
|
+
alias: 'fwTooltipCaret',
|
|
1061
|
+
});
|
|
1038
1062
|
this.enabled = model(true, {
|
|
1039
|
-
alias: 'fwTooltipEnabled'
|
|
1063
|
+
alias: 'fwTooltipEnabled',
|
|
1064
|
+
});
|
|
1065
|
+
/***** Derived State *****/
|
|
1066
|
+
this.connectedPositions = computed(() => {
|
|
1067
|
+
// falback positions for if it doesn't fit in the specified position
|
|
1068
|
+
// tend towards closer first i.e. 'above' will try 'left' and 'right' before resorting to 'below
|
|
1069
|
+
const positionPreferenceOrderMap = {
|
|
1070
|
+
'above': ['above', 'right', 'left', 'below'],
|
|
1071
|
+
'right': ['right', 'below', 'above', 'left'],
|
|
1072
|
+
'below': ['below', 'left', 'right', 'above'],
|
|
1073
|
+
'left': ['left', 'above', 'below', 'right'],
|
|
1074
|
+
};
|
|
1075
|
+
const fallbackNamedPositions = positionPreferenceOrderMap[this.position()];
|
|
1076
|
+
const connectedPositions = fallbackNamedPositions.map(name => positionMap[name]);
|
|
1077
|
+
return connectedPositions;
|
|
1040
1078
|
});
|
|
1041
|
-
// derived state
|
|
1042
|
-
this.connectedPosition = computed(() => [positionMap[this.position()]]);
|
|
1043
1079
|
this.positionStrategy = computed(() => {
|
|
1044
1080
|
const positionBuilder = this.overlayService.position();
|
|
1045
1081
|
const withOrigin = positionBuilder.flexibleConnectedTo(this.elementRef);
|
|
1046
|
-
const completedStrategy = withOrigin.withPositions(this.
|
|
1082
|
+
const completedStrategy = withOrigin.withPositions(this.connectedPositions());
|
|
1047
1083
|
return completedStrategy;
|
|
1048
1084
|
});
|
|
1049
1085
|
this.overlayConfig = computed(() => ({
|
|
1050
1086
|
positionStrategy: this.positionStrategy(),
|
|
1051
|
-
maxWidth: this.maxWidth(),
|
|
1087
|
+
maxWidth: Number(this.maxWidth()),
|
|
1052
1088
|
ScrollStrategyOptions: this.overlayService.scrollStrategies.close(),
|
|
1053
1089
|
disposeOnNavigation: true,
|
|
1054
1090
|
}));
|
|
1055
|
-
|
|
1091
|
+
/***** Effects and Methods *****/
|
|
1056
1092
|
this.addMouseEventListeners = effect(() => {
|
|
1057
1093
|
const nativeElement = this.elementRef.nativeElement;
|
|
1058
1094
|
nativeElement.addEventListener('mouseenter', () => {
|
|
@@ -1062,6 +1098,25 @@ class FwTooltipDirective {
|
|
|
1062
1098
|
this.hideTooltip();
|
|
1063
1099
|
});
|
|
1064
1100
|
});
|
|
1101
|
+
// updates the tooltip panel's caret position if a fallback position is used
|
|
1102
|
+
this.handlePositionChange = effect(() => {
|
|
1103
|
+
this.positionChangeSub?.unsubscribe();
|
|
1104
|
+
this.positionChangeSub = this.positionStrategy().positionChanges.subscribe(positionChange => {
|
|
1105
|
+
const newPosition = positionChange.connectionPair;
|
|
1106
|
+
const positionNames = Object.keys(positionMap);
|
|
1107
|
+
const newPositionName = positionNames.find(name => {
|
|
1108
|
+
const pos = positionMap[name];
|
|
1109
|
+
return pos.originX === newPosition.originX &&
|
|
1110
|
+
pos.originY === newPosition.originY &&
|
|
1111
|
+
pos.overlayX === newPosition.overlayX &&
|
|
1112
|
+
pos.overlayY === newPosition.overlayY;
|
|
1113
|
+
});
|
|
1114
|
+
if (newPositionName) {
|
|
1115
|
+
this.tooltipRef().setInput('position', newPositionName);
|
|
1116
|
+
this.tooltipRef().changeDetectorRef.detectChanges();
|
|
1117
|
+
}
|
|
1118
|
+
});
|
|
1119
|
+
});
|
|
1065
1120
|
}
|
|
1066
1121
|
ngOnInit() {
|
|
1067
1122
|
this.tooltipPortal = new ComponentPortal(FwTooltipPanelComponent, this.viewContainerRef);
|
|
@@ -1081,20 +1136,23 @@ class FwTooltipDirective {
|
|
|
1081
1136
|
this.tooltipRef.set(tooltipRef);
|
|
1082
1137
|
tooltipRef.setInput('title', this.title());
|
|
1083
1138
|
tooltipRef.setInput('position', this.position());
|
|
1139
|
+
tooltipRef.setInput('maxWidth', this.maxWidth());
|
|
1140
|
+
tooltipRef.setInput('displayCaret', this.displayCaret());
|
|
1084
1141
|
tooltipRef.changeDetectorRef.detectChanges();
|
|
1085
1142
|
}, this.delayMs());
|
|
1086
1143
|
}
|
|
1087
1144
|
hideTooltip() {
|
|
1088
|
-
|
|
1089
|
-
this.
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1145
|
+
window.clearTimeout(this.openDelayTimer);
|
|
1146
|
+
this.openDelayTimer = undefined;
|
|
1147
|
+
this.overlayRef().detach();
|
|
1148
|
+
this.tooltipRef.set(undefined);
|
|
1149
|
+
}
|
|
1150
|
+
ngOnDestroy() {
|
|
1151
|
+
this.positionChangeSub?.unsubscribe();
|
|
1152
|
+
this.hideTooltip();
|
|
1095
1153
|
}
|
|
1096
1154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1097
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: FwTooltipDirective, isStandalone: true, selector: "[fwTooltip]", inputs: {
|
|
1155
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: FwTooltipDirective, isStandalone: true, selector: "[fwTooltip]", inputs: { title: { classPropertyName: "title", publicName: "fwTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "fwTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "fwTooltipMaxWidthPx", isSignal: true, isRequired: false, transformFunction: null }, delayMs: { classPropertyName: "delayMs", publicName: "fwTooltipDelay", isSignal: true, isRequired: false, transformFunction: null }, displayCaret: { classPropertyName: "displayCaret", publicName: "fwTooltipCaret", isSignal: true, isRequired: false, transformFunction: null }, enabled: { classPropertyName: "enabled", publicName: "fwTooltipEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { title: "fwTooltipChange", position: "fwTooltipPositionChange", maxWidth: "fwTooltipMaxWidthPxChange", enabled: "fwTooltipEnabledChange" }, ngImport: i0 }); }
|
|
1098
1156
|
}
|
|
1099
1157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipDirective, decorators: [{
|
|
1100
1158
|
type: Directive,
|
|
@@ -1106,7 +1164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1106
1164
|
|
|
1107
1165
|
/**
|
|
1108
1166
|
* component for giving extra context when a user hovers something
|
|
1109
|
-
* @
|
|
1167
|
+
* @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3
|
|
1168
|
+
* @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)
|
|
1110
1169
|
*/
|
|
1111
1170
|
class FwTooltipComponent {
|
|
1112
1171
|
constructor() {
|
|
@@ -1131,7 +1190,7 @@ class FwTooltipComponent {
|
|
|
1131
1190
|
}
|
|
1132
1191
|
;
|
|
1133
1192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FwTooltipComponent, selector: "fw-tooltip", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: false, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.class": "this.classes", "attr.title": "this.attrTitle" } }, ngImport: i0, template: "<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.full-width{flex:1;display:flex;width:stretch}:host.full-width button{flex:1}:host .tooltip-trigger{width:fit-content;display:inline-block}:host .tooltip-trigger.full-width{flex:1;display:flex;width:stretch}:host .tooltip-trigger.full-width button{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FwTooltipDirective, selector: "[fwTooltip]", inputs: ["
|
|
1193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FwTooltipComponent, selector: "fw-tooltip", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: false, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.class": "this.classes", "attr.title": "this.attrTitle" } }, ngImport: i0, template: "<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.full-width{flex:1;display:flex;width:stretch}:host.full-width button{flex:1}:host .tooltip-trigger{width:fit-content;display:inline-block}:host .tooltip-trigger.full-width{flex:1;display:flex;width:stretch}:host .tooltip-trigger.full-width button{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FwTooltipDirective, selector: "[fwTooltip]", inputs: ["fwTooltip", "fwTooltipPosition", "fwTooltipMaxWidthPx", "fwTooltipDelay", "fwTooltipCaret", "fwTooltipEnabled"], outputs: ["fwTooltipChange", "fwTooltipPositionChange", "fwTooltipMaxWidthPxChange", "fwTooltipEnabledChange"] }] }); }
|
|
1135
1194
|
}
|
|
1136
1195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipComponent, decorators: [{
|
|
1137
1196
|
type: Component,
|
|
@@ -1207,6 +1266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1207
1266
|
*/
|
|
1208
1267
|
class FwAvatarListComponent {
|
|
1209
1268
|
constructor() {
|
|
1269
|
+
this.subscriptions = [];
|
|
1210
1270
|
this.hostElement = inject(ElementRef);
|
|
1211
1271
|
this.avatars = contentChildren(FwAvatarComponent);
|
|
1212
1272
|
this.avatarElementRefs = contentChildren(FwAvatarComponent, { read: ElementRef });
|
|
@@ -1226,13 +1286,15 @@ class FwAvatarListComponent {
|
|
|
1226
1286
|
}
|
|
1227
1287
|
ngOnInit() {
|
|
1228
1288
|
// wire up resize observer to rxjs and debouce
|
|
1229
|
-
const resize$ = new BehaviorSubject(
|
|
1230
|
-
const recalcOnResize$ = resize$.pipe(
|
|
1289
|
+
const resize$ = new BehaviorSubject([]);
|
|
1290
|
+
const recalcOnResize$ = resize$.pipe(debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame
|
|
1291
|
+
distinctUntilChanged());
|
|
1231
1292
|
const resizeObserver = new ResizeObserver((resizeEntries) => {
|
|
1232
1293
|
resize$.next(resizeEntries);
|
|
1233
1294
|
});
|
|
1234
1295
|
resizeObserver.observe(this.hostElement.nativeElement, {});
|
|
1235
|
-
recalcOnResize$.subscribe(() => this.calcOverflow());
|
|
1296
|
+
const sub = recalcOnResize$.subscribe(() => this.calcOverflow());
|
|
1297
|
+
this.subscriptions.push(sub);
|
|
1236
1298
|
}
|
|
1237
1299
|
calcOverflow() {
|
|
1238
1300
|
const hostRect = this.hostElement.nativeElement.getBoundingClientRect();
|
|
@@ -1252,24 +1314,28 @@ class FwAvatarListComponent {
|
|
|
1252
1314
|
overflowingAvatars.push(lastVisibleAvatar);
|
|
1253
1315
|
}
|
|
1254
1316
|
this.hiddenAvatars.set(overflowingAvatars);
|
|
1255
|
-
overflowingAvatars.forEach(
|
|
1256
|
-
|
|
1317
|
+
overflowingAvatars.forEach(overflowAvatar => {
|
|
1318
|
+
overflowAvatar.classList.add('hidden');
|
|
1257
1319
|
});
|
|
1258
1320
|
}
|
|
1259
1321
|
else {
|
|
1260
1322
|
this.moreText().nativeElement.classList.add('hidden');
|
|
1261
1323
|
}
|
|
1324
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
1262
1325
|
this.changeDetector.detectChanges();
|
|
1263
1326
|
}
|
|
1327
|
+
ngOnDestroy() {
|
|
1328
|
+
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
1329
|
+
}
|
|
1264
1330
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwAvatarListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: FwAvatarListComponent, isStandalone: true, selector: "fw-avatar-list", inputs: { resizeDebounceMs: { classPropertyName: "resizeDebounceMs", publicName: "resizeDebounceMs", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "avatars", predicate: FwAvatarComponent, isSignal: true }, { propertyName: "avatarElementRefs", predicate: FwAvatarComponent, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "moreText", first: true, predicate: ["moreText"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n", styles: [":host{display:flex;align-items:center;flex-basis:max-content;flex-flow:row nowrap;justify-content:flex-start;max-height:36px;overflow:hidden}:host ::ng-deep fw-avatar:not(:first-child){margin-left:-4px}:host p{line-height:100%;cursor:default;margin:0;padding-left:8px;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: FwAvatarModule }, { kind: "ngmodule", type: FwTooltipModule }, { kind: "component", type: FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "fullWidth", "isOpen", "trigger", "delay"] }] }); }
|
|
1331
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: FwAvatarListComponent, isStandalone: true, selector: "fw-avatar-list", inputs: { resizeDebounceMs: { classPropertyName: "resizeDebounceMs", publicName: "resizeDebounceMs", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "avatars", predicate: FwAvatarComponent, isSignal: true }, { propertyName: "avatarElementRefs", predicate: FwAvatarComponent, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "moreText", first: true, predicate: ["moreText"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n", styles: [":host{display:flex;align-items:center;flex-basis:max-content;flex-flow:row nowrap;justify-content:flex-start;min-height:36px;max-height:36px;overflow:hidden}:host ::ng-deep fw-avatar:not(:first-child){margin-left:-4px}:host p{line-height:100%;cursor:default;margin:0;text-align:center;padding-left:8px;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: FwAvatarModule }, { kind: "ngmodule", type: FwTooltipModule }, { kind: "component", type: FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "fullWidth", "isOpen", "trigger", "delay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1266
1332
|
}
|
|
1267
1333
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwAvatarListComponent, decorators: [{
|
|
1268
1334
|
type: Component,
|
|
1269
1335
|
args: [{ selector: 'fw-avatar-list', standalone: true, imports: [
|
|
1270
1336
|
FwAvatarModule,
|
|
1271
1337
|
FwTooltipModule,
|
|
1272
|
-
], template: "<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n", styles: [":host{display:flex;align-items:center;flex-basis:max-content;flex-flow:row nowrap;justify-content:flex-start;max-height:36px;overflow:hidden}:host ::ng-deep fw-avatar:not(:first-child){margin-left:-4px}:host p{line-height:100%;cursor:default;margin:0;padding-left:8px;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"] }]
|
|
1338
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n", styles: [":host{display:flex;align-items:center;flex-basis:max-content;flex-flow:row nowrap;justify-content:flex-start;min-height:36px;max-height:36px;overflow:hidden}:host ::ng-deep fw-avatar:not(:first-child){margin-left:-4px}:host p{line-height:100%;cursor:default;margin:0;text-align:center;padding-left:8px;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"] }]
|
|
1273
1339
|
}] });
|
|
1274
1340
|
|
|
1275
1341
|
class FwBadgeComponent {
|
|
@@ -3150,6 +3216,7 @@ class FwDialogConfirmComponent {
|
|
|
3150
3216
|
this.confirmButtonIcon = 'done-check';
|
|
3151
3217
|
this.cancelButtonText = 'Cancel';
|
|
3152
3218
|
this.contentTitle = 'Are you sure?';
|
|
3219
|
+
this.showConfirmButtonIcon = true;
|
|
3153
3220
|
this.showClose = false;
|
|
3154
3221
|
this.width = 'extra-small';
|
|
3155
3222
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
@@ -3198,11 +3265,11 @@ class FwDialogConfirmComponent {
|
|
|
3198
3265
|
}, 300);
|
|
3199
3266
|
}
|
|
3200
3267
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, deps: [{ token: i1$3.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwDialogConfirmComponent, selector: "fw-dialog-confirm", inputs: { title: "title", icon: "icon", iconColor: "iconColor", confirmColor: "confirmColor", confirmButtonText: "confirmButtonText", confirmButtonIcon: "confirmButtonIcon", cancelButtonText: "cancelButtonText", contentIcon: "contentIcon", contentTitle: "contentTitle", contentText: "contentText", showClose: "showClose", width: "width", externalClasses: ["class", "externalClasses"] }, outputs: { close: "close", confirm: "confirm" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\" *ngIf=\"contentIcon\">\n {{ contentIcon }}\n </fw-icon>\n <p class=\"vision-p2 content-title\" *ngIf=\"contentTitle\">\n {{ contentTitle }}\n </p>\n <p class=\"vision-p2 content-text\" *ngIf=\"contentText\">\n {{ contentText }}\n </p>\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"cancelButtonText\"\n color=\"slate\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button\n variant=\"solid\"\n *ngIf=\"confirmButtonText\"\n [color]=\"confirmColor\"\n [leftIcon]=\"confirmButtonIcon\"\n (click)=\"confirm.emit()\">\n {{ confirmButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: ["@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{opacity:1;transform:translateY(0)}99%{opacity:0;transform:translateY(100vh)}to{opacity:0;transform:translateY(100vh)}}:host{box-sizing:border-box;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host .fw-dialog-confirm{position:relative}.dialog-content-confirm{display:flex;flex-direction:column;padding:50px;align-items:center;justify-content:center}.dialog-content-confirm .content-title{margin-bottom:5px;font-weight:500}.dialog-content-confirm .content-text{margin:0;color:var(--typography-muted)}.dialog-content-confirm .content-icon{font-size:50px}.dialog-content-confirm .content-icon.primary{color:var(--primary-base)}.dialog-content-confirm .content-icon.secondary{color:var(--secondary-base)}.dialog-content-confirm .content-icon.slate{color:var(--slate-base)}.dialog-content-confirm .content-icon.success{color:var(--green-base)}.dialog-content-confirm .content-icon.warning{color:var(--orange-base)}.dialog-content-confirm .content-icon.danger{color:var(--red-base)}\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: FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose", "class"], outputs: ["close"] }, { kind: "component", type: FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
|
|
3268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwDialogConfirmComponent, selector: "fw-dialog-confirm", inputs: { title: "title", icon: "icon", iconColor: "iconColor", confirmColor: "confirmColor", confirmButtonText: "confirmButtonText", confirmButtonIcon: "confirmButtonIcon", cancelButtonText: "cancelButtonText", contentIcon: "contentIcon", contentTitle: "contentTitle", contentText: "contentText", showConfirmButtonIcon: "showConfirmButtonIcon", showClose: "showClose", width: "width", externalClasses: ["class", "externalClasses"] }, outputs: { close: "close", confirm: "confirm" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\" *ngIf=\"contentIcon\">\n {{ contentIcon }}\n </fw-icon>\n <p class=\"vision-p2 content-title\" *ngIf=\"contentTitle\">\n {{ contentTitle }}\n </p>\n <p class=\"vision-p2 content-text\" *ngIf=\"contentText\">\n {{ contentText }}\n </p>\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"cancelButtonText\"\n color=\"slate\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button\n variant=\"solid\"\n *ngIf=\"confirmButtonText\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"confirm.emit()\">\n {{ confirmButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: ["@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{opacity:1;transform:translateY(0)}99%{opacity:0;transform:translateY(100vh)}to{opacity:0;transform:translateY(100vh)}}:host{box-sizing:border-box;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host .fw-dialog-confirm{position:relative}.dialog-content-confirm{display:flex;flex-direction:column;padding:50px;align-items:center;justify-content:center}.dialog-content-confirm .content-title{margin-bottom:5px;font-weight:500}.dialog-content-confirm .content-text{margin:0;color:var(--typography-muted)}.dialog-content-confirm .content-icon{font-size:50px}.dialog-content-confirm .content-icon.primary{color:var(--primary-base)}.dialog-content-confirm .content-icon.secondary{color:var(--secondary-base)}.dialog-content-confirm .content-icon.slate{color:var(--slate-base)}.dialog-content-confirm .content-icon.success{color:var(--green-base)}.dialog-content-confirm .content-icon.warning{color:var(--orange-base)}.dialog-content-confirm .content-icon.danger{color:var(--red-base)}\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: FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose", "class"], outputs: ["close"] }, { kind: "component", type: FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
|
|
3202
3269
|
}
|
|
3203
3270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, decorators: [{
|
|
3204
3271
|
type: Component,
|
|
3205
|
-
args: [{ selector: 'fw-dialog-confirm', template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\" *ngIf=\"contentIcon\">\n {{ contentIcon }}\n </fw-icon>\n <p class=\"vision-p2 content-title\" *ngIf=\"contentTitle\">\n {{ contentTitle }}\n </p>\n <p class=\"vision-p2 content-text\" *ngIf=\"contentText\">\n {{ contentText }}\n </p>\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"cancelButtonText\"\n color=\"slate\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button\n variant=\"solid\"\n *ngIf=\"confirmButtonText\"\n [color]=\"confirmColor\"\n [leftIcon]=\"confirmButtonIcon\"\n (click)=\"confirm.emit()\">\n {{ confirmButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: ["@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{opacity:1;transform:translateY(0)}99%{opacity:0;transform:translateY(100vh)}to{opacity:0;transform:translateY(100vh)}}:host{box-sizing:border-box;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host .fw-dialog-confirm{position:relative}.dialog-content-confirm{display:flex;flex-direction:column;padding:50px;align-items:center;justify-content:center}.dialog-content-confirm .content-title{margin-bottom:5px;font-weight:500}.dialog-content-confirm .content-text{margin:0;color:var(--typography-muted)}.dialog-content-confirm .content-icon{font-size:50px}.dialog-content-confirm .content-icon.primary{color:var(--primary-base)}.dialog-content-confirm .content-icon.secondary{color:var(--secondary-base)}.dialog-content-confirm .content-icon.slate{color:var(--slate-base)}.dialog-content-confirm .content-icon.success{color:var(--green-base)}.dialog-content-confirm .content-icon.warning{color:var(--orange-base)}.dialog-content-confirm .content-icon.danger{color:var(--red-base)}\n"] }]
|
|
3272
|
+
args: [{ selector: 'fw-dialog-confirm', template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\" *ngIf=\"contentIcon\">\n {{ contentIcon }}\n </fw-icon>\n <p class=\"vision-p2 content-title\" *ngIf=\"contentTitle\">\n {{ contentTitle }}\n </p>\n <p class=\"vision-p2 content-text\" *ngIf=\"contentText\">\n {{ contentText }}\n </p>\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"cancelButtonText\"\n color=\"slate\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button\n variant=\"solid\"\n *ngIf=\"confirmButtonText\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"confirm.emit()\">\n {{ confirmButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: ["@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{opacity:1;transform:translateY(0)}99%{opacity:0;transform:translateY(100vh)}to{opacity:0;transform:translateY(100vh)}}:host{box-sizing:border-box;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host .fw-dialog-confirm{position:relative}.dialog-content-confirm{display:flex;flex-direction:column;padding:50px;align-items:center;justify-content:center}.dialog-content-confirm .content-title{margin-bottom:5px;font-weight:500}.dialog-content-confirm .content-text{margin:0;color:var(--typography-muted)}.dialog-content-confirm .content-icon{font-size:50px}.dialog-content-confirm .content-icon.primary{color:var(--primary-base)}.dialog-content-confirm .content-icon.secondary{color:var(--secondary-base)}.dialog-content-confirm .content-icon.slate{color:var(--slate-base)}.dialog-content-confirm .content-icon.success{color:var(--green-base)}.dialog-content-confirm .content-icon.warning{color:var(--orange-base)}.dialog-content-confirm .content-icon.danger{color:var(--red-base)}\n"] }]
|
|
3206
3273
|
}], ctorParameters: () => [{ type: i1$3.DialogRef, decorators: [{
|
|
3207
3274
|
type: Optional
|
|
3208
3275
|
}] }, { type: i0.ElementRef }], propDecorators: { title: [{
|
|
@@ -3225,6 +3292,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
3225
3292
|
type: Input
|
|
3226
3293
|
}], contentText: [{
|
|
3227
3294
|
type: Input
|
|
3295
|
+
}], showConfirmButtonIcon: [{
|
|
3296
|
+
type: Input
|
|
3228
3297
|
}], showClose: [{
|
|
3229
3298
|
type: Input
|
|
3230
3299
|
}], width: [{
|
|
@@ -3537,16 +3606,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
3537
3606
|
}]
|
|
3538
3607
|
}] });
|
|
3539
3608
|
|
|
3609
|
+
class FwTagComponent {
|
|
3610
|
+
constructor() {
|
|
3611
|
+
this.size = 'small';
|
|
3612
|
+
this.color = 'slate';
|
|
3613
|
+
}
|
|
3614
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3615
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwTagComponent, selector: "fw-tag", inputs: { size: "size", color: "color", icon: "icon", title: "title" }, ngImport: i0, template: "<div [ngClass]=\"['tag', 'tag-'+size, 'tag-'+color]\">\n <fw-icon *ngIf=\"icon\" class=\"tag-icon\">{{ icon }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title\">\n <span>{{ title }}</span>\n </div>\n</div>\n", styles: [".tag{box-sizing:border-box;border-radius:4px;padding:0 6px 0 4px;display:inline-flex;gap:4px;align-items:center}.tag .tag-text{font-family:Inter,sans-serif;font-size:10px;font-style:normal;font-weight:500;line-height:120%;white-space:wrap}.tag.tag-small{height:16px}.tag.tag-small .tag-icon{align-items:flex-start;font-size:12px;min-width:12px;width:12px}.tag.tag-large{height:24px}.tag.tag-large .tag-icon{align-items:flex-start;font-size:16px;min-width:16px;width:16px}.tag.tag-slate{color:var(--slate-base);background-color:var(--slate-hover)}.tag.tag-slate:hover{background-color:var(--slate-focus)}.tag.tag-primary{color:var(--primary-base);background-color:var(--primary-hover)}.tag.tag-primary:hover{background-color:var(--primary-focus)}.tag.tag-secondary{color:var(--secondary-base);background-color:var(--secondary-hover)}.tag.tag-secondary:hover{background-color:var(--secondary-focus)}.tag.tag-orange{color:var(--orange-base);background-color:var(--orange-hover)}.tag.tag-orange:hover{background-color:var(--orange-focus)}.tag.tag-green{color:var(--green-base);background-color:var(--green-hover)}.tag.tag-green:hover{background-color:var(--green-focus)}.tag.tag-red{color:var(--red-base);background-color:var(--red-hover)}.tag.tag-red:hover{background-color:var(--red-focus)}\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: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
|
|
3616
|
+
}
|
|
3617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTagComponent, decorators: [{
|
|
3618
|
+
type: Component,
|
|
3619
|
+
args: [{ selector: 'fw-tag', template: "<div [ngClass]=\"['tag', 'tag-'+size, 'tag-'+color]\">\n <fw-icon *ngIf=\"icon\" class=\"tag-icon\">{{ icon }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title\">\n <span>{{ title }}</span>\n </div>\n</div>\n", styles: [".tag{box-sizing:border-box;border-radius:4px;padding:0 6px 0 4px;display:inline-flex;gap:4px;align-items:center}.tag .tag-text{font-family:Inter,sans-serif;font-size:10px;font-style:normal;font-weight:500;line-height:120%;white-space:wrap}.tag.tag-small{height:16px}.tag.tag-small .tag-icon{align-items:flex-start;font-size:12px;min-width:12px;width:12px}.tag.tag-large{height:24px}.tag.tag-large .tag-icon{align-items:flex-start;font-size:16px;min-width:16px;width:16px}.tag.tag-slate{color:var(--slate-base);background-color:var(--slate-hover)}.tag.tag-slate:hover{background-color:var(--slate-focus)}.tag.tag-primary{color:var(--primary-base);background-color:var(--primary-hover)}.tag.tag-primary:hover{background-color:var(--primary-focus)}.tag.tag-secondary{color:var(--secondary-base);background-color:var(--secondary-hover)}.tag.tag-secondary:hover{background-color:var(--secondary-focus)}.tag.tag-orange{color:var(--orange-base);background-color:var(--orange-hover)}.tag.tag-orange:hover{background-color:var(--orange-focus)}.tag.tag-green{color:var(--green-base);background-color:var(--green-hover)}.tag.tag-green:hover{background-color:var(--green-focus)}.tag.tag-red{color:var(--red-base);background-color:var(--red-hover)}.tag.tag-red:hover{background-color:var(--red-focus)}\n"] }]
|
|
3620
|
+
}], propDecorators: { size: [{
|
|
3621
|
+
type: Input
|
|
3622
|
+
}], color: [{
|
|
3623
|
+
type: Input
|
|
3624
|
+
}], icon: [{
|
|
3625
|
+
type: Input
|
|
3626
|
+
}], title: [{
|
|
3627
|
+
type: Input
|
|
3628
|
+
}] } });
|
|
3629
|
+
|
|
3540
3630
|
class FwFormHeadingComponent {
|
|
3541
3631
|
constructor() {
|
|
3542
3632
|
this.class = 'fw-form-heading';
|
|
3633
|
+
this.statusColor = 'slate';
|
|
3543
3634
|
}
|
|
3544
3635
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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=\"vision-h4
|
|
3636
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwFormHeadingComponent, selector: "fw-form-heading", inputs: { title: "title", description: "description", required: "required", status: "status", statusColor: "statusColor" }, host: { properties: { "attr.class": "this.class" } }, ngImport: i0, template: "<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title }}</span>\n <span *ngIf=\"required\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status\" [color]=\"statusColor\" [title]=\"status\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\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 .section-heading{display:flex;align-items:center;gap:5px}.fw-form-heading .heading-area h4{color:var(--typography-base);margin:0}.fw-form-heading .heading-area h4 .required{margin-left:4px;color:var(--red-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"] }, { kind: "component", type: FwTagComponent, selector: "fw-tag", inputs: ["size", "color", "icon", "title"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3546
3637
|
}
|
|
3547
3638
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingComponent, decorators: [{
|
|
3548
3639
|
type: Component,
|
|
3549
|
-
args: [{ selector: 'fw-form-heading', encapsulation: ViewEncapsulation.None, template: "<div class=\"heading-area\">\n <div>\n <h4 class=\"vision-h4
|
|
3640
|
+
args: [{ selector: 'fw-form-heading', encapsulation: ViewEncapsulation.None, template: "<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title }}</span>\n <span *ngIf=\"required\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status\" [color]=\"statusColor\" [title]=\"status\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\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 .section-heading{display:flex;align-items:center;gap:5px}.fw-form-heading .heading-area h4{color:var(--typography-base);margin:0}.fw-form-heading .heading-area h4 .required{margin-left:4px;color:var(--red-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"] }]
|
|
3550
3641
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
3551
3642
|
type: HostBinding,
|
|
3552
3643
|
args: ['attr.class']
|
|
@@ -3554,18 +3645,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
3554
3645
|
type: Input
|
|
3555
3646
|
}], description: [{
|
|
3556
3647
|
type: Input
|
|
3648
|
+
}], required: [{
|
|
3649
|
+
type: Input
|
|
3557
3650
|
}], status: [{
|
|
3558
3651
|
type: Input
|
|
3652
|
+
}], statusColor: [{
|
|
3653
|
+
type: Input
|
|
3559
3654
|
}] } });
|
|
3560
3655
|
|
|
3656
|
+
class FwTagModule {
|
|
3657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3658
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FwTagModule, declarations: [FwTagComponent], imports: [CommonModule,
|
|
3659
|
+
FwIconModule], exports: [FwTagComponent] }); }
|
|
3660
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTagModule, imports: [CommonModule,
|
|
3661
|
+
FwIconModule] }); }
|
|
3662
|
+
}
|
|
3663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTagModule, decorators: [{
|
|
3664
|
+
type: NgModule,
|
|
3665
|
+
args: [{
|
|
3666
|
+
imports: [
|
|
3667
|
+
CommonModule,
|
|
3668
|
+
FwIconModule,
|
|
3669
|
+
],
|
|
3670
|
+
exports: [
|
|
3671
|
+
FwTagComponent,
|
|
3672
|
+
],
|
|
3673
|
+
declarations: [
|
|
3674
|
+
FwTagComponent,
|
|
3675
|
+
],
|
|
3676
|
+
}]
|
|
3677
|
+
}] });
|
|
3678
|
+
|
|
3561
3679
|
class FwFormHeadingModule {
|
|
3562
3680
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3563
3681
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingModule, declarations: [FwFormHeadingComponent], imports: [CommonModule,
|
|
3564
3682
|
FwButtonModule,
|
|
3565
|
-
FwIconModule
|
|
3683
|
+
FwIconModule,
|
|
3684
|
+
FwTagModule], exports: [FwFormHeadingComponent] }); }
|
|
3566
3685
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingModule, imports: [CommonModule,
|
|
3567
3686
|
FwButtonModule,
|
|
3568
|
-
FwIconModule
|
|
3687
|
+
FwIconModule,
|
|
3688
|
+
FwTagModule] }); }
|
|
3569
3689
|
}
|
|
3570
3690
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwFormHeadingModule, decorators: [{
|
|
3571
3691
|
type: NgModule,
|
|
@@ -3574,6 +3694,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
3574
3694
|
CommonModule,
|
|
3575
3695
|
FwButtonModule,
|
|
3576
3696
|
FwIconModule,
|
|
3697
|
+
FwTagModule,
|
|
3577
3698
|
],
|
|
3578
3699
|
exports: [
|
|
3579
3700
|
FwFormHeadingComponent,
|
|
@@ -3669,36 +3790,36 @@ const allIcons = [
|
|
|
3669
3790
|
'add-new-create',
|
|
3670
3791
|
'add-row-above',
|
|
3671
3792
|
'add-row-below',
|
|
3672
|
-
'add-server-databases-endpoint',
|
|
3673
3793
|
'add-server',
|
|
3794
|
+
'add-server-databases-endpoint',
|
|
3674
3795
|
'add-user',
|
|
3675
3796
|
'ai',
|
|
3676
3797
|
'apple',
|
|
3677
3798
|
'apply-copy-duplicate',
|
|
3678
3799
|
'archive-documents-box-big',
|
|
3679
3800
|
'arrange-filter-sort',
|
|
3801
|
+
'arrow',
|
|
3680
3802
|
'arrow-annotate',
|
|
3681
|
-
'arrow-back-collapse',
|
|
3682
3803
|
'arrow-back',
|
|
3804
|
+
'arrow-back-collapse',
|
|
3683
3805
|
'arrow-down',
|
|
3684
|
-
'arrow-forward-collapse',
|
|
3685
3806
|
'arrow-forward',
|
|
3807
|
+
'arrow-forward-collapse',
|
|
3686
3808
|
'arrow-redo',
|
|
3687
|
-
'arrow-rotate-restore',
|
|
3688
3809
|
'arrow-rotate',
|
|
3810
|
+
'arrow-rotate-restore',
|
|
3689
3811
|
'arrow-undo',
|
|
3812
|
+
'arrow-up',
|
|
3690
3813
|
'arrow-up-high-priority',
|
|
3691
3814
|
'arrow-up-low-priority',
|
|
3692
|
-
'arrow-up',
|
|
3693
|
-
'arrow',
|
|
3694
3815
|
'barcode-serial',
|
|
3695
3816
|
'barcode-stack-scan',
|
|
3696
3817
|
'bell-notification',
|
|
3697
3818
|
'bezier-curve',
|
|
3698
3819
|
'blocks-code-test-checkmark',
|
|
3699
3820
|
'book-lab-flask',
|
|
3700
|
-
'bookmark-plus-add',
|
|
3701
3821
|
'bookmark',
|
|
3822
|
+
'bookmark-plus-add',
|
|
3702
3823
|
'brain',
|
|
3703
3824
|
'brightness-photo-edit',
|
|
3704
3825
|
'browser-internet-web-windows',
|
|
@@ -3714,22 +3835,22 @@ const allIcons = [
|
|
|
3714
3835
|
'chart-trend-square',
|
|
3715
3836
|
'chat-messages-bubble',
|
|
3716
3837
|
'check-mark-certificate',
|
|
3717
|
-
'checklist-tasks-chechmark-square',
|
|
3718
3838
|
'checklist',
|
|
3839
|
+
'checklist-tasks-chechmark-square',
|
|
3719
3840
|
'chevron-back',
|
|
3720
3841
|
'chevron-down',
|
|
3721
3842
|
'chevron-forward',
|
|
3722
3843
|
'chevron-input-number',
|
|
3723
3844
|
'chevron-up',
|
|
3724
|
-
'circle-ellipses',
|
|
3725
3845
|
'circle',
|
|
3846
|
+
'circle-ellipses',
|
|
3726
3847
|
'clap-applause-hands',
|
|
3727
3848
|
'clip-attachment',
|
|
3728
3849
|
'clock-history',
|
|
3729
3850
|
'clock-hour-4',
|
|
3730
3851
|
'clock-loading',
|
|
3731
|
-
'close-circled',
|
|
3732
3852
|
'close',
|
|
3853
|
+
'close-circled',
|
|
3733
3854
|
'closed-freehand-vector-poly',
|
|
3734
3855
|
'cloud-network-add',
|
|
3735
3856
|
'cloud-storage-checkmark',
|
|
@@ -3764,21 +3885,22 @@ const allIcons = [
|
|
|
3764
3885
|
'document-file-zip',
|
|
3765
3886
|
'document-status-done-checkmark',
|
|
3766
3887
|
'document-visible',
|
|
3767
|
-
'documents-file-checkmark',
|
|
3768
3888
|
'documents-file',
|
|
3889
|
+
'documents-file-checkmark',
|
|
3890
|
+
'documents-file-move-arrow-right',
|
|
3769
3891
|
'documents-files',
|
|
3770
|
-
'done-check-tracked',
|
|
3771
3892
|
'done-check',
|
|
3772
|
-
'
|
|
3893
|
+
'done-check-tracked',
|
|
3773
3894
|
'download',
|
|
3895
|
+
'download-status',
|
|
3774
3896
|
'drag-drop-indicator',
|
|
3775
3897
|
'draw-rectangle',
|
|
3776
3898
|
'earth-globe-fail',
|
|
3899
|
+
'edit',
|
|
3777
3900
|
'edit-boxed',
|
|
3778
3901
|
'edit-erase',
|
|
3779
|
-
'edit',
|
|
3780
|
-
'email-mail-checkmark-group',
|
|
3781
3902
|
'email',
|
|
3903
|
+
'email-mail-checkmark-group',
|
|
3782
3904
|
'embed-circle',
|
|
3783
3905
|
'exchange',
|
|
3784
3906
|
'expand-pathfinder-dot-square-segmentation',
|
|
@@ -3787,13 +3909,13 @@ const allIcons = [
|
|
|
3787
3909
|
'file-blank-search',
|
|
3788
3910
|
'file-download',
|
|
3789
3911
|
'file-text',
|
|
3790
|
-
'files-library-content',
|
|
3791
|
-
'files-library',
|
|
3792
3912
|
'files',
|
|
3913
|
+
'files-library',
|
|
3914
|
+
'files-library-content',
|
|
3915
|
+
'filter',
|
|
3793
3916
|
'filter-sort-add',
|
|
3794
3917
|
'filter-sort-check-mark',
|
|
3795
3918
|
'filter-sort-delete',
|
|
3796
|
-
'filter',
|
|
3797
3919
|
'flag',
|
|
3798
3920
|
'flip-horizontal',
|
|
3799
3921
|
'flip-vertical',
|
|
@@ -3806,6 +3928,7 @@ const allIcons = [
|
|
|
3806
3928
|
'folder-copy-expand-arrow-down',
|
|
3807
3929
|
'folder-copy-expand-arrow-up',
|
|
3808
3930
|
'folder-group',
|
|
3931
|
+
'folder-move',
|
|
3809
3932
|
'folder-open',
|
|
3810
3933
|
'folder-share',
|
|
3811
3934
|
'form-metadata-element',
|
|
@@ -3814,15 +3937,15 @@ const allIcons = [
|
|
|
3814
3937
|
'full-screen-zoom',
|
|
3815
3938
|
'git-add-branch',
|
|
3816
3939
|
'git-branch',
|
|
3817
|
-
'git-merge-draft',
|
|
3818
3940
|
'git-merge',
|
|
3941
|
+
'git-merge-draft',
|
|
3819
3942
|
'git-pull-request-2',
|
|
3820
3943
|
'github-color-login',
|
|
3821
3944
|
'gitlab',
|
|
3822
3945
|
'graduate-hat',
|
|
3823
3946
|
'grid-dot-square',
|
|
3824
|
-
'grid-layout-9-square',
|
|
3825
3947
|
'grid-layout',
|
|
3948
|
+
'grid-layout-9-square',
|
|
3826
3949
|
'hammer-legal-square',
|
|
3827
3950
|
'hammer-screwdriver',
|
|
3828
3951
|
'hand-money-currency',
|
|
@@ -3834,8 +3957,8 @@ const allIcons = [
|
|
|
3834
3957
|
'image-photo-copy-left-down',
|
|
3835
3958
|
'image-picture-square',
|
|
3836
3959
|
'information-circle',
|
|
3837
|
-
'invoice-checkmark-paid',
|
|
3838
3960
|
'invoice',
|
|
3961
|
+
'invoice-checkmark-paid',
|
|
3839
3962
|
'italic',
|
|
3840
3963
|
'items-group-elements',
|
|
3841
3964
|
'key',
|
|
@@ -3844,22 +3967,21 @@ const allIcons = [
|
|
|
3844
3967
|
'label-tag',
|
|
3845
3968
|
'laptop-health-medical-cross',
|
|
3846
3969
|
'layers',
|
|
3847
|
-
'layout-grid',
|
|
3848
3970
|
'layout',
|
|
3971
|
+
'layout-grid',
|
|
3849
3972
|
'line',
|
|
3850
|
-
'link-unlink',
|
|
3851
3973
|
'link',
|
|
3974
|
+
'link-unlink',
|
|
3852
3975
|
'linkedin',
|
|
3853
3976
|
'linux',
|
|
3854
|
-
'list-paragraph-number',
|
|
3855
3977
|
'list-paragraph',
|
|
3978
|
+
'list-paragraph-number',
|
|
3856
3979
|
'list-test-lab-flask',
|
|
3857
3980
|
'livewire-tool',
|
|
3858
3981
|
'loading-status-checkmark',
|
|
3859
|
-
'lock-unlock',
|
|
3860
3982
|
'lock',
|
|
3983
|
+
'lock-unlock',
|
|
3861
3984
|
'logout',
|
|
3862
|
-
'lung',
|
|
3863
3985
|
'lungs',
|
|
3864
3986
|
'markdown',
|
|
3865
3987
|
'measure-angle',
|
|
@@ -3873,26 +3995,27 @@ const allIcons = [
|
|
|
3873
3995
|
'message-chat-question-support',
|
|
3874
3996
|
'message-checkmark-sent',
|
|
3875
3997
|
'message-question-checkmark',
|
|
3876
|
-
'microphone-mic-rec-circle',
|
|
3877
3998
|
'microphone-mic-rec',
|
|
3999
|
+
'microphone-mic-rec-circle',
|
|
3878
4000
|
'microphone-mic-recording-circle',
|
|
3879
4001
|
'minus',
|
|
3880
4002
|
'modalities',
|
|
3881
4003
|
'molecule',
|
|
4004
|
+
'money',
|
|
3882
4005
|
'money-coin',
|
|
3883
4006
|
'money-dollar',
|
|
3884
|
-
'money',
|
|
3885
4007
|
'monitor-computer',
|
|
3886
4008
|
'mouse-big',
|
|
4009
|
+
'mouse-scroll',
|
|
3887
4010
|
'move',
|
|
3888
4011
|
'music-play-resume',
|
|
3889
4012
|
'music-stop',
|
|
3890
4013
|
'mute',
|
|
3891
4014
|
'network-storage-alert',
|
|
4015
|
+
'notebook',
|
|
3892
4016
|
'notebook-add-plus',
|
|
3893
4017
|
'notebook-open',
|
|
3894
4018
|
'notebook-pen-edit',
|
|
3895
|
-
'notebook',
|
|
3896
4019
|
'notes-pen',
|
|
3897
4020
|
'object-search-zoom-plus',
|
|
3898
4021
|
'open',
|
|
@@ -3910,24 +4033,25 @@ const allIcons = [
|
|
|
3910
4033
|
'protective-mask',
|
|
3911
4034
|
'question-circle',
|
|
3912
4035
|
'quote',
|
|
3913
|
-
'radiology-scan-circle',
|
|
3914
4036
|
'radiology-scan',
|
|
4037
|
+
'radiology-scan-circle',
|
|
3915
4038
|
'reader-studies',
|
|
4039
|
+
'rotate',
|
|
3916
4040
|
'rotate-arrow-manual',
|
|
3917
4041
|
'rotate-item-left',
|
|
3918
4042
|
'rotate-item-right',
|
|
3919
4043
|
'rotate-refresh',
|
|
3920
|
-
'rotate',
|
|
3921
|
-
'ruler-bidirectional',
|
|
3922
4044
|
'ruler',
|
|
4045
|
+
'ruler-bidirectional',
|
|
3923
4046
|
'scanner',
|
|
4047
|
+
'search',
|
|
3924
4048
|
'search-loop',
|
|
3925
4049
|
'search-user-profile-person',
|
|
3926
4050
|
'search-zoom-minus',
|
|
3927
4051
|
'search-zoom-plus',
|
|
3928
|
-
'search',
|
|
3929
4052
|
'section-form-element',
|
|
3930
4053
|
'send-message-share',
|
|
4054
|
+
'server',
|
|
3931
4055
|
'server-checkmark',
|
|
3932
4056
|
'server-database-endpoint',
|
|
3933
4057
|
'server-databases-checkmark-user',
|
|
@@ -3935,15 +4059,14 @@ const allIcons = [
|
|
|
3935
4059
|
'server-databases-download',
|
|
3936
4060
|
'server-databases-key-protection',
|
|
3937
4061
|
'server-databases-minimal-download',
|
|
3938
|
-
'server-databases-sync-import',
|
|
3939
4062
|
'server-databases-sync',
|
|
4063
|
+
'server-databases-sync-import',
|
|
3940
4064
|
'server-upload',
|
|
3941
|
-
'server',
|
|
3942
4065
|
'servers-database',
|
|
3943
4066
|
'setting-gear',
|
|
3944
4067
|
'settings-adjust',
|
|
3945
|
-
'settings-gear-square',
|
|
3946
4068
|
'settings-gear',
|
|
4069
|
+
'settings-gear-square',
|
|
3947
4070
|
'settings-select',
|
|
3948
4071
|
'shapes-objects',
|
|
3949
4072
|
'share',
|
|
@@ -3951,8 +4074,8 @@ const allIcons = [
|
|
|
3951
4074
|
'show-visible',
|
|
3952
4075
|
'smiley-emoji-face',
|
|
3953
4076
|
'speed-dashboard',
|
|
3954
|
-
'square-fill-outline',
|
|
3955
4077
|
'square-fill',
|
|
4078
|
+
'square-fill-outline',
|
|
3956
4079
|
'square-outline',
|
|
3957
4080
|
'star',
|
|
3958
4081
|
'stars-light-sparkle',
|
|
@@ -3961,8 +4084,8 @@ const allIcons = [
|
|
|
3961
4084
|
'stretch-vertical',
|
|
3962
4085
|
'substract-group',
|
|
3963
4086
|
'switch',
|
|
3964
|
-
'target-space-object-select',
|
|
3965
4087
|
'target',
|
|
4088
|
+
'target-space-object-select',
|
|
3966
4089
|
'tasklist-to-do-checkmark',
|
|
3967
4090
|
'technology-cube-3d',
|
|
3968
4091
|
'test-lab-flask',
|
|
@@ -3974,6 +4097,7 @@ const allIcons = [
|
|
|
3974
4097
|
'text-long',
|
|
3975
4098
|
'text-short-form-element',
|
|
3976
4099
|
'text-underline',
|
|
4100
|
+
'thumbs-down-dislike',
|
|
3977
4101
|
'thumbs-up-like',
|
|
3978
4102
|
'timer-clock-style',
|
|
3979
4103
|
'trash-delete',
|
|
@@ -3981,6 +4105,7 @@ const allIcons = [
|
|
|
3981
4105
|
'undone-uncheck-untracked',
|
|
3982
4106
|
'unlimited-repeat-subscription-circle',
|
|
3983
4107
|
'upload',
|
|
4108
|
+
'user',
|
|
3984
4109
|
'user-checked',
|
|
3985
4110
|
'user-delete-cross',
|
|
3986
4111
|
'user-document',
|
|
@@ -3990,12 +4115,11 @@ const allIcons = [
|
|
|
3990
4115
|
'user-profile-cards-pool',
|
|
3991
4116
|
'user-profile-group-discovery',
|
|
3992
4117
|
'user-setting-gear',
|
|
3993
|
-
'user',
|
|
3994
4118
|
'video-player-controls',
|
|
3995
4119
|
'visible-eye-hidden',
|
|
3996
4120
|
'volume-full',
|
|
3997
|
-
'warning-circle',
|
|
3998
4121
|
'warning',
|
|
4122
|
+
'warning-circle',
|
|
3999
4123
|
'window-finder-resize-arrow-down',
|
|
4000
4124
|
'window-finder-resize-arrow-up',
|
|
4001
4125
|
'window-resize-left',
|
|
@@ -4718,14 +4842,20 @@ class FwMenuCloseTriggersDirective {
|
|
|
4718
4842
|
constructor() {
|
|
4719
4843
|
this._isOpen = false;
|
|
4720
4844
|
}
|
|
4721
|
-
outsideClick() {
|
|
4722
|
-
|
|
4845
|
+
outsideClick(event) {
|
|
4846
|
+
const target = event.target;
|
|
4847
|
+
// Check is close under fw-menu-container (overlay)
|
|
4848
|
+
const clickedInsideMenu = target.closest('fw-menu-container') !== null;
|
|
4849
|
+
// Check is clicked on trigger
|
|
4850
|
+
const clickedOnTrigger = target.closest('[cdkMenuTriggerFor]') !== null;
|
|
4851
|
+
if (!clickedInsideMenu && !clickedOnTrigger && this._isOpen && this.triggers?.length > 0) {
|
|
4852
|
+
// Close menu if click outside menu and trigger
|
|
4723
4853
|
this.triggers.forEach(trigger => {
|
|
4724
4854
|
trigger.close();
|
|
4725
4855
|
});
|
|
4726
4856
|
this._isOpen = false;
|
|
4727
4857
|
}
|
|
4728
|
-
if (this.triggers
|
|
4858
|
+
if (this.triggers?.length > 0) {
|
|
4729
4859
|
this.triggers.forEach(trigger => {
|
|
4730
4860
|
if (trigger.isOpen()) {
|
|
4731
4861
|
this._isOpen = true;
|
|
@@ -4734,19 +4864,19 @@ class FwMenuCloseTriggersDirective {
|
|
|
4734
4864
|
}
|
|
4735
4865
|
}
|
|
4736
4866
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuCloseTriggersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4737
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuCloseTriggersDirective, selector: "[fwMenuCloseTriggers]", host: { listeners: { "document:click": "outsideClick()" } }, queries: [{ propertyName: "triggers", predicate: CdkMenuTrigger, descendants: true }], ngImport: i0 }); }
|
|
4867
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuCloseTriggersDirective, selector: "[fwMenuCloseTriggers]", host: { listeners: { "document:click": "outsideClick($event)" } }, queries: [{ propertyName: "triggers", predicate: CdkMenuTrigger, descendants: true }], ngImport: i0 }); }
|
|
4738
4868
|
}
|
|
4739
4869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuCloseTriggersDirective, decorators: [{
|
|
4740
4870
|
type: Directive,
|
|
4741
4871
|
args: [{
|
|
4742
4872
|
selector: '[fwMenuCloseTriggers]',
|
|
4743
4873
|
}]
|
|
4744
|
-
}], propDecorators: {
|
|
4745
|
-
type: HostListener,
|
|
4746
|
-
args: ['document:click']
|
|
4747
|
-
}], triggers: [{
|
|
4874
|
+
}], propDecorators: { triggers: [{
|
|
4748
4875
|
type: ContentChildren,
|
|
4749
4876
|
args: [CdkMenuTrigger, { descendants: true }]
|
|
4877
|
+
}], outsideClick: [{
|
|
4878
|
+
type: HostListener,
|
|
4879
|
+
args: ['document:click', ['$event']]
|
|
4750
4880
|
}] } });
|
|
4751
4881
|
|
|
4752
4882
|
class FwMenuContainerComponent {
|
|
@@ -5817,6 +5947,11 @@ class FwMultiSelectMenuComponent {
|
|
|
5817
5947
|
// handles all the display side effects of a value change
|
|
5818
5948
|
updateValue(incomingValues) {
|
|
5819
5949
|
if (!incomingValues) {
|
|
5950
|
+
this.selectedValues.clear();
|
|
5951
|
+
this.selectedOptions = [];
|
|
5952
|
+
this._value = [];
|
|
5953
|
+
this.change.emit(this._value);
|
|
5954
|
+
this.postSelectSideEffects();
|
|
5820
5955
|
return;
|
|
5821
5956
|
}
|
|
5822
5957
|
this.selectedValues.clear();
|
|
@@ -6363,7 +6498,7 @@ class FwPaginatorAdvancedComponent {
|
|
|
6363
6498
|
};
|
|
6364
6499
|
}
|
|
6365
6500
|
firstPage() {
|
|
6366
|
-
const evt = this.buildPageEvent(
|
|
6501
|
+
const evt = this.buildPageEvent(0);
|
|
6367
6502
|
this.pageIndex = 0;
|
|
6368
6503
|
this.page.emit(evt);
|
|
6369
6504
|
}
|
|
@@ -8695,6 +8830,7 @@ class FwChipListComponent {
|
|
|
8695
8830
|
else {
|
|
8696
8831
|
this.moreText().nativeElement.classList.add('hidden');
|
|
8697
8832
|
}
|
|
8833
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
8698
8834
|
this.changeDetector.detectChanges();
|
|
8699
8835
|
}
|
|
8700
8836
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwChipListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -8718,8 +8854,10 @@ class FwTypeaheadComponent {
|
|
|
8718
8854
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
8719
8855
|
this.loading = model(false);
|
|
8720
8856
|
this.disabled = model(false);
|
|
8721
|
-
this.onChange = (_) => {
|
|
8722
|
-
|
|
8857
|
+
this.onChange = (_) => {
|
|
8858
|
+
};
|
|
8859
|
+
this.onTouched = () => {
|
|
8860
|
+
};
|
|
8723
8861
|
this.value = model([]);
|
|
8724
8862
|
this.optionsInput = input([], { alias: 'options' });
|
|
8725
8863
|
this.maxOptionsHeight = input('400px');
|
|
@@ -8846,12 +8984,14 @@ class FwTypeaheadComponent {
|
|
|
8846
8984
|
const newValue = currentValue.filter(val => val !== chipValue);
|
|
8847
8985
|
this.value.set(newValue);
|
|
8848
8986
|
this.focusInput();
|
|
8987
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
8849
8988
|
this.changeDetector.detectChanges();
|
|
8850
8989
|
}
|
|
8851
8990
|
focusInput(e = null) {
|
|
8852
8991
|
e?.preventDefault();
|
|
8853
8992
|
e?.stopPropagation();
|
|
8854
8993
|
e?.stopImmediatePropagation();
|
|
8994
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
8855
8995
|
this.inputRef().nativeElement.focus();
|
|
8856
8996
|
}
|
|
8857
8997
|
/* eslint-enable */
|
|
@@ -8922,22 +9062,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
8922
9062
|
|
|
8923
9063
|
class FwWrappedInputComponent {
|
|
8924
9064
|
constructor() {
|
|
9065
|
+
this.statusColor = 'slate';
|
|
8925
9066
|
this.class = true;
|
|
8926
9067
|
}
|
|
8927
9068
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwWrappedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8928
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwWrappedInputComponent, selector: "fw-wrapped-input", inputs: { title: "title", description: "description", helperText: "helperText", errorText: "errorText" }, host: { properties: { "class.fw-wrapped-input": "this.class" } }, ngImport: i0, template: "<label>\n <fw-form-heading
|
|
9069
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwWrappedInputComponent, selector: "fw-wrapped-input", inputs: { title: "title", status: "status", statusColor: "statusColor", description: "description", helperText: "helperText", errorText: "errorText", required: "required" }, host: { properties: { "class.fw-wrapped-input": "this.class" } }, ngImport: i0, template: "<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </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-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{max-width:100%;display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}.fw-wrapped-input .helper-text,.fw-wrapped-input .error-text{margin-top:4px;color:var(--typography-light);line-height:13px;margin-left:6px;margin-bottom:0;text-align:left}.fw-wrapped-input .error-text{color:var(--red-base)}\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", "required", "status", "statusColor"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
8929
9070
|
}
|
|
8930
9071
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwWrappedInputComponent, decorators: [{
|
|
8931
9072
|
type: Component,
|
|
8932
|
-
args: [{ selector: 'fw-wrapped-input', encapsulation: ViewEncapsulation.None, template: "<label>\n <fw-form-heading
|
|
9073
|
+
args: [{ selector: 'fw-wrapped-input', encapsulation: ViewEncapsulation.None, template: "<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </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-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n", styles: [".fw-wrapped-input{display:flex;flex-direction:column;flex:1}.fw-wrapped-input .input-wrapper{max-width:100%;display:flex;flex-direction:row;flex:1;gap:16px}.fw-wrapped-input .input-wrapper>*{flex:1}.fw-wrapped-input .helper-text,.fw-wrapped-input .error-text{margin-top:4px;color:var(--typography-light);line-height:13px;margin-left:6px;margin-bottom:0;text-align:left}.fw-wrapped-input .error-text{color:var(--red-base)}\n"] }]
|
|
8933
9074
|
}], propDecorators: { title: [{
|
|
8934
9075
|
type: Input
|
|
9076
|
+
}], status: [{
|
|
9077
|
+
type: Input
|
|
9078
|
+
}], statusColor: [{
|
|
9079
|
+
type: Input
|
|
8935
9080
|
}], description: [{
|
|
8936
9081
|
type: Input
|
|
8937
9082
|
}], helperText: [{
|
|
8938
9083
|
type: Input
|
|
8939
9084
|
}], errorText: [{
|
|
8940
9085
|
type: Input
|
|
9086
|
+
}], required: [{
|
|
9087
|
+
type: Input
|
|
8941
9088
|
}], class: [{
|
|
8942
9089
|
type: HostBinding,
|
|
8943
9090
|
args: ['class.fw-wrapped-input']
|