@flywheel-io/vision 2.3.3 → 2.4.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 +28 -0
- package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
- package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
- package/assets/svg/archive-documents-box-big.svg +4 -0
- package/assets/svg/contract-vertical.svg +6 -0
- package/assets/svg/conversion-exchange.svg +4 -0
- package/assets/svg/cursor-click.svg +4 -0
- package/assets/svg/document-file-deleted-cross-remove-center-cancel.svg +4 -0
- package/assets/svg/documents-file-checkmark.svg +4 -0
- package/assets/svg/file-blank-search.svg +4 -0
- package/assets/svg/git-add-branch.svg +4 -0
- package/assets/svg/git-branch.svg +4 -0
- package/assets/svg/git-merge-draft.svg +6 -0
- package/assets/svg/git-merge.svg +4 -0
- package/assets/svg/git-pull-request-2.svg +4 -0
- package/assets/svg/grid-layout-9-square.svg +4 -0
- package/assets/svg/stretch-vertical.svg +4 -0
- package/components/dialog/dialog-confirm.component.d.ts +14 -4
- package/components/dialog/dialog-simple.component.d.ts +14 -4
- package/components/dialog/dialog.component.d.ts +13 -5
- package/components/dialog/dialog.service.d.ts +1 -0
- package/components/icon/icon.types.d.ts +1 -1
- package/components/popover/popover.component.d.ts +10 -2
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +5 -0
- package/esm2022/components/dialog/dialog-confirm.component.mjs +52 -9
- package/esm2022/components/dialog/dialog-simple.component.mjs +52 -9
- package/esm2022/components/dialog/dialog.component.mjs +47 -10
- package/esm2022/components/dialog/dialog.service.mjs +35 -2
- package/esm2022/components/icon/icon.types.mjs +15 -1
- package/esm2022/components/popover/popover.component.mjs +51 -4
- package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +2 -1
- package/esm2022/components/select-menu/select-menu.component.mjs +3 -3
- package/esm2022/components/tooltip/tooltip.component.mjs +5 -2
- package/fesm2022/flywheel-io-vision.mjs +251 -30
- package/fesm2022/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/scss/icons/_icon-glyphs.scss +42 -0
- package/styles.css +56 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, NgModule, input, model, computed, ContentChildren, ViewChild, ViewEncapsulation, Directive, forwardRef, HostListener, Optional, Inject, SkipSelf, Injectable, Pipe, ContentChild, effect, output, contentChildren,
|
|
2
|
+
import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, NgModule, input, model, computed, ContentChildren, ViewChild, ViewEncapsulation, Directive, forwardRef, HostListener, Optional, Inject, SkipSelf, Injectable, Pipe, ContentChild, signal, effect, output, contentChildren, Host, viewChild, ViewChildren, Self } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
@@ -2058,30 +2058,64 @@ var DialogWidth;
|
|
|
2058
2058
|
DialogWidth["ExtraLarge"] = "extra-large";
|
|
2059
2059
|
})(DialogWidth || (DialogWidth = {}));
|
|
2060
2060
|
class FwDialogComponent {
|
|
2061
|
-
constructor(dialogRef) {
|
|
2061
|
+
constructor(dialogRef, elementRef) {
|
|
2062
2062
|
this.dialogRef = dialogRef;
|
|
2063
|
+
this.elementRef = elementRef;
|
|
2063
2064
|
this.width = DialogWidth.ExtraSmall;
|
|
2064
2065
|
this.iconColor = 'primary';
|
|
2065
2066
|
this.showClose = true;
|
|
2066
2067
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
2067
2068
|
this.close = new EventEmitter();
|
|
2069
|
+
this.isClosing = false;
|
|
2068
2070
|
}
|
|
2069
2071
|
get classes() {
|
|
2070
|
-
|
|
2072
|
+
const classes = {
|
|
2073
|
+
[`dialog-width-${this.width}`]: true,
|
|
2074
|
+
'dialog-closing': this.isClosing,
|
|
2075
|
+
};
|
|
2076
|
+
if (this.externalClasses) {
|
|
2077
|
+
if (typeof this.externalClasses === 'string') {
|
|
2078
|
+
this.externalClasses.split(' ').forEach((cls) => {
|
|
2079
|
+
if (cls.trim()) {
|
|
2080
|
+
classes[cls.trim()] = true;
|
|
2081
|
+
}
|
|
2082
|
+
});
|
|
2083
|
+
}
|
|
2084
|
+
else if (Array.isArray(this.externalClasses)) {
|
|
2085
|
+
this.externalClasses.forEach((cls) => {
|
|
2086
|
+
if (cls.trim()) {
|
|
2087
|
+
classes[cls.trim()] = true;
|
|
2088
|
+
}
|
|
2089
|
+
});
|
|
2090
|
+
}
|
|
2091
|
+
else {
|
|
2092
|
+
Object.assign(classes, this.externalClasses);
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
return classes;
|
|
2071
2096
|
}
|
|
2072
2097
|
handleCloseButton() {
|
|
2073
|
-
this.
|
|
2074
|
-
this.close.emit();
|
|
2098
|
+
this.closeWithAnimation();
|
|
2075
2099
|
}
|
|
2076
|
-
|
|
2077
|
-
|
|
2100
|
+
closeWithAnimation() {
|
|
2101
|
+
if (this.isClosing) {
|
|
2102
|
+
return;
|
|
2103
|
+
}
|
|
2104
|
+
this.isClosing = true;
|
|
2105
|
+
setTimeout(() => {
|
|
2106
|
+
this.dialogRef.close();
|
|
2107
|
+
this.close.emit();
|
|
2108
|
+
}, 300);
|
|
2109
|
+
}
|
|
2110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogComponent, deps: [{ token: i1$2.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwDialogComponent, selector: "fw-dialog", inputs: { width: "width", title: "title", icon: "icon", iconColor: "iconColor", showClose: "showClose", externalClasses: ["class", "externalClasses"] }, outputs: { close: "close" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: ["@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;background-color:var(--card-background);border:1px solid var(--separations-border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .fw-dialog{position:relative}:host .fw-dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .fw-dialog .dialog-header{background-color:var(--card-header)}:host .fw-dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .fw-dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .fw-dialog .dialog-header .dialog-title h3{overflow:clip visible;min-width:0;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .fw-dialog .dialog-header h3{margin:0}:host .fw-dialog .dialog-header:empty{display:none}:host .fw-dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .fw-dialog .dialog-body:empty{display:none}:host .fw-dialog .dialog-actions{padding:16px}:host .fw-dialog .dialog-actions:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
|
|
2078
2112
|
}
|
|
2079
2113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogComponent, decorators: [{
|
|
2080
2114
|
type: Component,
|
|
2081
|
-
args: [{ selector: 'fw-dialog', template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;background-color:var(--card-background);border:1px solid var(--separations-border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .dialog{position:relative}:host .dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .dialog .dialog-header{background-color:var(--card-header)}:host .dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .dialog .dialog-header .dialog-title h3{overflow:clip visible;min-width:0;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .dialog .dialog-header h3{margin:0}:host .dialog .dialog-header:empty{display:none}:host .dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .dialog .dialog-body:empty{display:none}:host .dialog .dialog-actions{padding:16px}:host .dialog .dialog-actions:empty{display:none}\n"] }]
|
|
2115
|
+
args: [{ selector: 'fw-dialog', template: "<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n", styles: ["@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;background-color:var(--card-background);border:1px solid var(--separations-border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;animation:slide-in-from-bottom .3s ease-out}:host.dialog-closing{animation:slide-out-to-bottom .3s ease-in forwards}:host.dialog-width-extra-small{width:444px}:host.dialog-width-small{width:600px}:host.dialog-width-medium{width:900px}:host.dialog-width-large{width:1200px}:host.dialog-width-extra-large{width:1536px}:host .fw-dialog{position:relative}:host .fw-dialog fw-icon-button{position:absolute;top:4px;right:4px}:host .fw-dialog .dialog-header{background-color:var(--card-header)}:host .fw-dialog .dialog-header .dialog-title{display:flex;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--separations-base);padding:12px 16px;height:44px;overflow:hidden;align-items:center}:host .fw-dialog .dialog-header .dialog-title fw-icon{font-size:22px}:host .fw-dialog .dialog-header .dialog-title h3{overflow:clip visible;min-width:0;white-space:nowrap;text-overflow:ellipsis;margin-right:30px;flex:1}:host .fw-dialog .dialog-header h3{margin:0}:host .fw-dialog .dialog-header:empty{display:none}:host .fw-dialog .dialog-body{background-color:var(--card-background);border-bottom:1px solid var(--separations-base)}:host .fw-dialog .dialog-body:empty{display:none}:host .fw-dialog .dialog-actions{padding:16px}:host .fw-dialog .dialog-actions:empty{display:none}\n"] }]
|
|
2082
2116
|
}], ctorParameters: () => [{ type: i1$2.DialogRef, decorators: [{
|
|
2083
2117
|
type: Optional
|
|
2084
|
-
}] }], propDecorators: { width: [{
|
|
2118
|
+
}] }, { type: i0.ElementRef }], propDecorators: { width: [{
|
|
2085
2119
|
type: Input
|
|
2086
2120
|
}], title: [{
|
|
2087
2121
|
type: Input
|
|
@@ -2091,11 +2125,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2091
2125
|
type: Input
|
|
2092
2126
|
}], showClose: [{
|
|
2093
2127
|
type: Input
|
|
2128
|
+
}], externalClasses: [{
|
|
2129
|
+
type: Input,
|
|
2130
|
+
args: ['class']
|
|
2094
2131
|
}], close: [{
|
|
2095
2132
|
type: Output
|
|
2096
2133
|
}], classes: [{
|
|
2097
2134
|
type: HostBinding,
|
|
2098
|
-
args: ['
|
|
2135
|
+
args: ['class']
|
|
2099
2136
|
}] } });
|
|
2100
2137
|
|
|
2101
2138
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -2114,9 +2151,42 @@ class FwDialogService extends Dialog {
|
|
|
2114
2151
|
const defaultSettings = {
|
|
2115
2152
|
backdropClass: 'vision-overlay',
|
|
2116
2153
|
positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),
|
|
2154
|
+
disableClose: true, // Disable default backdrop close to handle it manually
|
|
2117
2155
|
};
|
|
2118
2156
|
config = { ...config, ...defaultSettings };
|
|
2119
|
-
|
|
2157
|
+
const dialogRef = super.open(component, config);
|
|
2158
|
+
// Handle backdrop clicks with animation
|
|
2159
|
+
if (dialogRef.overlayRef.backdropElement) {
|
|
2160
|
+
dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {
|
|
2161
|
+
evt.stopPropagation();
|
|
2162
|
+
this.closeWithAnimation(dialogRef);
|
|
2163
|
+
});
|
|
2164
|
+
}
|
|
2165
|
+
// Handle ESC key with animation
|
|
2166
|
+
dialogRef.overlayRef.keydownEvents().subscribe(event => {
|
|
2167
|
+
if (event.key === 'Escape') {
|
|
2168
|
+
this.closeWithAnimation(dialogRef);
|
|
2169
|
+
}
|
|
2170
|
+
});
|
|
2171
|
+
return dialogRef;
|
|
2172
|
+
}
|
|
2173
|
+
closeWithAnimation(dialogRef) {
|
|
2174
|
+
const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');
|
|
2175
|
+
if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {
|
|
2176
|
+
if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {
|
|
2177
|
+
// For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element
|
|
2178
|
+
const innerDialog = dialogElement.querySelector('fw-dialog');
|
|
2179
|
+
if (innerDialog) {
|
|
2180
|
+
innerDialog.classList.add('dialog-closing');
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
else {
|
|
2184
|
+
dialogElement.classList.add('dialog-closing');
|
|
2185
|
+
}
|
|
2186
|
+
setTimeout(() => {
|
|
2187
|
+
dialogRef.close();
|
|
2188
|
+
}, 300);
|
|
2189
|
+
}
|
|
2120
2190
|
}
|
|
2121
2191
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogService, deps: [{ token: i1$3.Overlay }, { token: i0.Injector }, { token: i0.Injector }, { token: DEFAULT_DIALOG_CONFIG, optional: true }, { token: i1$3.OverlayContainer }, { token: DIALOG_SCROLL_STRATEGY }, { token: i1$2.Dialog, optional: true, skipSelf: true }, { token: i1$2.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2122
2192
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogService, providedIn: 'root' }); }
|
|
@@ -2207,8 +2277,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2207
2277
|
}] } });
|
|
2208
2278
|
|
|
2209
2279
|
class FwDialogConfirmComponent {
|
|
2210
|
-
constructor(dialogRef) {
|
|
2280
|
+
constructor(dialogRef, elementRef) {
|
|
2211
2281
|
this.dialogRef = dialogRef;
|
|
2282
|
+
this.elementRef = elementRef;
|
|
2212
2283
|
this.title = 'Confirm';
|
|
2213
2284
|
this.iconColor = 'primary';
|
|
2214
2285
|
this.confirmColor = 'primary';
|
|
@@ -2220,20 +2291,56 @@ class FwDialogConfirmComponent {
|
|
|
2220
2291
|
this.close = new EventEmitter();
|
|
2221
2292
|
this.confirm = new EventEmitter();
|
|
2222
2293
|
this.DialogWidth = DialogWidth;
|
|
2294
|
+
this.isClosing = false;
|
|
2295
|
+
}
|
|
2296
|
+
get classes() {
|
|
2297
|
+
const classes = {};
|
|
2298
|
+
if (this.externalClasses) {
|
|
2299
|
+
if (typeof this.externalClasses === 'string') {
|
|
2300
|
+
this.externalClasses.split(' ').forEach((cls) => {
|
|
2301
|
+
if (cls.trim()) {
|
|
2302
|
+
classes[cls.trim()] = true;
|
|
2303
|
+
}
|
|
2304
|
+
});
|
|
2305
|
+
}
|
|
2306
|
+
else if (Array.isArray(this.externalClasses)) {
|
|
2307
|
+
this.externalClasses.forEach((cls) => {
|
|
2308
|
+
if (cls.trim()) {
|
|
2309
|
+
classes[cls.trim()] = true;
|
|
2310
|
+
}
|
|
2311
|
+
});
|
|
2312
|
+
}
|
|
2313
|
+
else {
|
|
2314
|
+
Object.assign(classes, this.externalClasses);
|
|
2315
|
+
}
|
|
2316
|
+
}
|
|
2317
|
+
return classes;
|
|
2318
|
+
}
|
|
2319
|
+
get dialogClasses() {
|
|
2320
|
+
return this.isClosing ? 'dialog-closing' : '';
|
|
2223
2321
|
}
|
|
2224
2322
|
handleCloseButton() {
|
|
2225
|
-
this.
|
|
2226
|
-
|
|
2323
|
+
this.closeWithAnimation();
|
|
2324
|
+
}
|
|
2325
|
+
closeWithAnimation() {
|
|
2326
|
+
if (this.isClosing) {
|
|
2327
|
+
return;
|
|
2328
|
+
}
|
|
2329
|
+
this.isClosing = true;
|
|
2330
|
+
setTimeout(() => {
|
|
2331
|
+
this.dialogRef.close();
|
|
2332
|
+
this.close.emit();
|
|
2333
|
+
}, 300);
|
|
2227
2334
|
}
|
|
2228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, deps: [{ token: i1$2.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2229
|
-
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" }, outputs: { close: "close", confirm: "confirm" }, ngImport: i0, template: "<fw-dialog\n [width]=\"DialogWidth.ExtraSmall\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"false\">\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: [":host{box-sizing:border-box}.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"], outputs: ["close"] }, { kind: "component", type: FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
|
|
2335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, deps: [{ token: i1$2.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2336
|
+
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", externalClasses: ["class", "externalClasses"] }, outputs: { close: "close", confirm: "confirm" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<fw-dialog\n [width]=\"DialogWidth.ExtraSmall\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"false\"\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"] }] }); }
|
|
2230
2337
|
}
|
|
2231
2338
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, decorators: [{
|
|
2232
2339
|
type: Component,
|
|
2233
|
-
args: [{ selector: 'fw-dialog-confirm', template: "<fw-dialog\n [width]=\"DialogWidth.ExtraSmall\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"false\">\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: [":host{box-sizing:border-box}.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"] }]
|
|
2340
|
+
args: [{ selector: 'fw-dialog-confirm', template: "<fw-dialog\n [width]=\"DialogWidth.ExtraSmall\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"false\"\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"] }]
|
|
2234
2341
|
}], ctorParameters: () => [{ type: i1$2.DialogRef, decorators: [{
|
|
2235
2342
|
type: Optional
|
|
2236
|
-
}] }], propDecorators: { title: [{
|
|
2343
|
+
}] }, { type: i0.ElementRef }], propDecorators: { title: [{
|
|
2237
2344
|
type: Input
|
|
2238
2345
|
}], icon: [{
|
|
2239
2346
|
type: Input
|
|
@@ -2253,10 +2360,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2253
2360
|
type: Input
|
|
2254
2361
|
}], contentText: [{
|
|
2255
2362
|
type: Input
|
|
2363
|
+
}], externalClasses: [{
|
|
2364
|
+
type: Input,
|
|
2365
|
+
args: ['class']
|
|
2256
2366
|
}], close: [{
|
|
2257
2367
|
type: Output
|
|
2258
2368
|
}], confirm: [{
|
|
2259
2369
|
type: Output
|
|
2370
|
+
}], classes: [{
|
|
2371
|
+
type: HostBinding,
|
|
2372
|
+
args: ['class']
|
|
2260
2373
|
}] } });
|
|
2261
2374
|
|
|
2262
2375
|
class FwDialogHeaderComponent {
|
|
@@ -2292,8 +2405,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2292
2405
|
}] } });
|
|
2293
2406
|
|
|
2294
2407
|
class FwDialogSimpleComponent {
|
|
2295
|
-
constructor(dialogRef) {
|
|
2408
|
+
constructor(dialogRef, elementRef) {
|
|
2296
2409
|
this.dialogRef = dialogRef;
|
|
2410
|
+
this.elementRef = elementRef;
|
|
2297
2411
|
this.width = DialogWidth.ExtraSmall;
|
|
2298
2412
|
this.iconColor = 'primary';
|
|
2299
2413
|
this.showClose = true;
|
|
@@ -2301,20 +2415,56 @@ class FwDialogSimpleComponent {
|
|
|
2301
2415
|
this.close = new EventEmitter();
|
|
2302
2416
|
this.action = new EventEmitter();
|
|
2303
2417
|
this.alternateAction = new EventEmitter();
|
|
2418
|
+
this.isClosing = false;
|
|
2419
|
+
}
|
|
2420
|
+
get classes() {
|
|
2421
|
+
const classes = {};
|
|
2422
|
+
if (this.externalClasses) {
|
|
2423
|
+
if (typeof this.externalClasses === 'string') {
|
|
2424
|
+
this.externalClasses.split(' ').forEach((cls) => {
|
|
2425
|
+
if (cls.trim()) {
|
|
2426
|
+
classes[cls.trim()] = true;
|
|
2427
|
+
}
|
|
2428
|
+
});
|
|
2429
|
+
}
|
|
2430
|
+
else if (Array.isArray(this.externalClasses)) {
|
|
2431
|
+
this.externalClasses.forEach((cls) => {
|
|
2432
|
+
if (cls.trim()) {
|
|
2433
|
+
classes[cls.trim()] = true;
|
|
2434
|
+
}
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
else {
|
|
2438
|
+
Object.assign(classes, this.externalClasses);
|
|
2439
|
+
}
|
|
2440
|
+
}
|
|
2441
|
+
return classes;
|
|
2442
|
+
}
|
|
2443
|
+
get dialogClasses() {
|
|
2444
|
+
return this.isClosing ? 'dialog-closing' : '';
|
|
2304
2445
|
}
|
|
2305
2446
|
handleCloseButton() {
|
|
2306
|
-
this.
|
|
2307
|
-
|
|
2447
|
+
this.closeWithAnimation();
|
|
2448
|
+
}
|
|
2449
|
+
closeWithAnimation() {
|
|
2450
|
+
if (this.isClosing) {
|
|
2451
|
+
return;
|
|
2452
|
+
}
|
|
2453
|
+
this.isClosing = true;
|
|
2454
|
+
setTimeout(() => {
|
|
2455
|
+
this.dialogRef.close();
|
|
2456
|
+
this.close.emit();
|
|
2457
|
+
}, 300);
|
|
2308
2458
|
}
|
|
2309
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, deps: [{ token: i1$2.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2310
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwDialogSimpleComponent, selector: "fw-dialog-simple", inputs: { width: "width", title: "title", icon: "icon", iconColor: "iconColor", showClose: "showClose", actionButtonText: "actionButtonText", actionButtonIcon: "actionButtonIcon", cancelButtonText: "cancelButtonText", alternateButtonText: "alternateButtonText", alternateButtonIcon: "alternateButtonIcon", contentText: "contentText" }, outputs: { close: "close", action: "action", alternateAction: "alternateAction" }, ngImport: i0, template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: [":host{box-sizing:border-box}.dialog-content-default{padding:15px;margin:0;color:var(--typography-muted)}.flex{flex:1}\n"], dependencies: [{ 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: FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose"], outputs: ["close"] }, { kind: "component", type: FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
|
|
2459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, deps: [{ token: i1$2.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2460
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwDialogSimpleComponent, selector: "fw-dialog-simple", inputs: { width: "width", title: "title", icon: "icon", iconColor: "iconColor", showClose: "showClose", actionButtonText: "actionButtonText", actionButtonIcon: "actionButtonIcon", cancelButtonText: "cancelButtonText", alternateButtonText: "alternateButtonText", alternateButtonIcon: "alternateButtonIcon", contentText: "contentText", externalClasses: ["class", "externalClasses"] }, outputs: { close: "close", action: "action", alternateAction: "alternateAction" }, 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 <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\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}.dialog-content-default{padding:15px;margin:0;color:var(--typography-muted)}.flex{flex:1}\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: 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"] }] }); }
|
|
2311
2461
|
}
|
|
2312
2462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, decorators: [{
|
|
2313
2463
|
type: Component,
|
|
2314
|
-
args: [{ selector: 'fw-dialog-simple', template: "<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n", styles: [":host{box-sizing:border-box}.dialog-content-default{padding:15px;margin:0;color:var(--typography-muted)}.flex{flex:1}\n"] }]
|
|
2464
|
+
args: [{ selector: 'fw-dialog-simple', 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 <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\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}.dialog-content-default{padding:15px;margin:0;color:var(--typography-muted)}.flex{flex:1}\n"] }]
|
|
2315
2465
|
}], ctorParameters: () => [{ type: i1$2.DialogRef, decorators: [{
|
|
2316
2466
|
type: Optional
|
|
2317
|
-
}] }], propDecorators: { width: [{
|
|
2467
|
+
}] }, { type: i0.ElementRef }], propDecorators: { width: [{
|
|
2318
2468
|
type: Input
|
|
2319
2469
|
}], title: [{
|
|
2320
2470
|
type: Input
|
|
@@ -2336,12 +2486,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2336
2486
|
type: Input
|
|
2337
2487
|
}], contentText: [{
|
|
2338
2488
|
type: Input
|
|
2489
|
+
}], externalClasses: [{
|
|
2490
|
+
type: Input,
|
|
2491
|
+
args: ['class']
|
|
2339
2492
|
}], close: [{
|
|
2340
2493
|
type: Output
|
|
2341
2494
|
}], action: [{
|
|
2342
2495
|
type: Output
|
|
2343
2496
|
}], alternateAction: [{
|
|
2344
2497
|
type: Output
|
|
2498
|
+
}], classes: [{
|
|
2499
|
+
type: HostBinding,
|
|
2500
|
+
args: ['class']
|
|
2345
2501
|
}] } });
|
|
2346
2502
|
|
|
2347
2503
|
class TranslationService {
|
|
@@ -2650,6 +2806,7 @@ const allIcons = [
|
|
|
2650
2806
|
'ai',
|
|
2651
2807
|
'apple',
|
|
2652
2808
|
'apply-copy-duplicate',
|
|
2809
|
+
'archive-documents-box-big',
|
|
2653
2810
|
'arrange-filter-sort',
|
|
2654
2811
|
'arrow-annotate',
|
|
2655
2812
|
'arrow-back-collapse',
|
|
@@ -2714,11 +2871,14 @@ const allIcons = [
|
|
|
2714
2871
|
'color-ven-design-profile-central',
|
|
2715
2872
|
'column-edit',
|
|
2716
2873
|
'computer-chip',
|
|
2874
|
+
'contract-vertical',
|
|
2717
2875
|
'contrast-photo-edit',
|
|
2876
|
+
'conversion-exchange',
|
|
2718
2877
|
'copy-item',
|
|
2719
2878
|
'creative-commons',
|
|
2720
2879
|
'crosshair',
|
|
2721
2880
|
'crown-style-circle',
|
|
2881
|
+
'cursor-click',
|
|
2722
2882
|
'cursor-select',
|
|
2723
2883
|
'curve-object-secet-cursor',
|
|
2724
2884
|
'data-tree',
|
|
@@ -2727,6 +2887,7 @@ const allIcons = [
|
|
|
2727
2887
|
'document-file-add-plus-bottom-left',
|
|
2728
2888
|
'document-file-blank',
|
|
2729
2889
|
'document-file-checkmark-bottom-left',
|
|
2890
|
+
'document-file-deleted-cross-remove-center-cancel',
|
|
2730
2891
|
'document-file-download',
|
|
2731
2892
|
'document-file-list-protocol',
|
|
2732
2893
|
'document-file-tar',
|
|
@@ -2734,6 +2895,7 @@ const allIcons = [
|
|
|
2734
2895
|
'document-file-zip',
|
|
2735
2896
|
'document-status-done-checkmark',
|
|
2736
2897
|
'document-visible',
|
|
2898
|
+
'documents-file-checkmark',
|
|
2737
2899
|
'documents-file',
|
|
2738
2900
|
'documents-files',
|
|
2739
2901
|
'done-check-tracked',
|
|
@@ -2753,6 +2915,7 @@ const allIcons = [
|
|
|
2753
2915
|
'expand-pathfinder-dot-square-segmentation',
|
|
2754
2916
|
'facebook',
|
|
2755
2917
|
'file-blank-image-load-mask',
|
|
2918
|
+
'file-blank-search',
|
|
2756
2919
|
'file-download',
|
|
2757
2920
|
'file-text',
|
|
2758
2921
|
'files-library-content',
|
|
@@ -2780,10 +2943,16 @@ const allIcons = [
|
|
|
2780
2943
|
'free-rights',
|
|
2781
2944
|
'freehand-vector-poly',
|
|
2782
2945
|
'full-screen-zoom',
|
|
2946
|
+
'git-add-branch',
|
|
2947
|
+
'git-branch',
|
|
2948
|
+
'git-merge-draft',
|
|
2949
|
+
'git-merge',
|
|
2950
|
+
'git-pull-request-2',
|
|
2783
2951
|
'github-color-login',
|
|
2784
2952
|
'gitlab',
|
|
2785
2953
|
'graduate-hat',
|
|
2786
2954
|
'grid-dot-square',
|
|
2955
|
+
'grid-layout-9-square',
|
|
2787
2956
|
'grid-layout',
|
|
2788
2957
|
'hammer-legal-square',
|
|
2789
2958
|
'hammer-screwdriver',
|
|
@@ -2920,6 +3089,7 @@ const allIcons = [
|
|
|
2920
3089
|
'stars-light-sparkle',
|
|
2921
3090
|
'stomach',
|
|
2922
3091
|
'stop-minus',
|
|
3092
|
+
'stretch-vertical',
|
|
2923
3093
|
'substract-group',
|
|
2924
3094
|
'switch',
|
|
2925
3095
|
'target-space-object-select',
|
|
@@ -3965,6 +4135,23 @@ class FwPopoverComponent {
|
|
|
3965
4135
|
return delayMap$1[this.delay()];
|
|
3966
4136
|
});
|
|
3967
4137
|
this.showCaret = input(true);
|
|
4138
|
+
this.activePositionPair = signal(null);
|
|
4139
|
+
// for mapping from the connectionPairs to a named position
|
|
4140
|
+
this.panelPosition = computed(() => {
|
|
4141
|
+
const currentPosition = this.activePositionPair()?.connectionPair;
|
|
4142
|
+
if (!currentPosition) {
|
|
4143
|
+
return this.position;
|
|
4144
|
+
}
|
|
4145
|
+
const positionNames = Object.keys(this.positionMap);
|
|
4146
|
+
const activePositionName = positionNames.find(positionName => {
|
|
4147
|
+
const pos = this.positionMap[positionName];
|
|
4148
|
+
return pos.originX === currentPosition.originX &&
|
|
4149
|
+
pos.originY === currentPosition.originY &&
|
|
4150
|
+
pos.overlayX === currentPosition.overlayX &&
|
|
4151
|
+
pos.overlayY === currentPosition.overlayY;
|
|
4152
|
+
});
|
|
4153
|
+
return (activePositionName || this.position);
|
|
4154
|
+
});
|
|
3968
4155
|
this.positionMap = {
|
|
3969
4156
|
'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
|
|
3970
4157
|
'above-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 40 },
|
|
@@ -3979,6 +4166,36 @@ class FwPopoverComponent {
|
|
|
3979
4166
|
'right-above': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 37 },
|
|
3980
4167
|
'right-below': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -40 },
|
|
3981
4168
|
};
|
|
4169
|
+
/**
|
|
4170
|
+
* Gets a list of fallback positions for the selected one
|
|
4171
|
+
* Preserves the primary axis i.e. which side of the origin the panel is on
|
|
4172
|
+
*/
|
|
4173
|
+
this.getFallbackPositions = () => {
|
|
4174
|
+
const positionSplitRegex = /(?<primary>[a-z]\w+)-*(?<secondary>[a-z]\w+)*/;
|
|
4175
|
+
const { primary, secondary } = positionSplitRegex.exec(this.position).groups;
|
|
4176
|
+
// '' represents a primary axis with no secondary i.e. 'above'
|
|
4177
|
+
// fallbacks if no secondary position
|
|
4178
|
+
const primaryAxisToFallbacks = {
|
|
4179
|
+
'left': ['', 'below', 'above'],
|
|
4180
|
+
'right': ['', 'below', 'above'],
|
|
4181
|
+
'above': ['', 'left', 'right'],
|
|
4182
|
+
'below': ['', 'left', 'right'],
|
|
4183
|
+
};
|
|
4184
|
+
// preference order for fallbacks
|
|
4185
|
+
const secondaryPositionFallbacks = {
|
|
4186
|
+
'left': ['left', '', 'right'],
|
|
4187
|
+
'right': ['right', '', 'left'],
|
|
4188
|
+
'above': ['above', '', 'below'],
|
|
4189
|
+
'below': ['below', '', 'above'],
|
|
4190
|
+
};
|
|
4191
|
+
const secondaryOptions = secondaryPositionFallbacks[secondary] || primaryAxisToFallbacks[primary];
|
|
4192
|
+
const positionArray = secondaryOptions.map(secondaryOption => {
|
|
4193
|
+
const addDash = secondaryOption ? '-' : '';
|
|
4194
|
+
const parsedOptionName = primary + addDash + secondaryOption;
|
|
4195
|
+
return this.positionMap[parsedOptionName];
|
|
4196
|
+
});
|
|
4197
|
+
return positionArray;
|
|
4198
|
+
};
|
|
3982
4199
|
this.registerEventListeners = effect(() => {
|
|
3983
4200
|
const trigger = this.trigger();
|
|
3984
4201
|
if (!this.trigger) {
|
|
@@ -4023,7 +4240,7 @@ class FwPopoverComponent {
|
|
|
4023
4240
|
}
|
|
4024
4241
|
}
|
|
4025
4242
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4026
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FwPopoverComponent, selector: "fw-popover", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: false, isRequired: false, transformFunction: null }, flyoutPanel: { classPropertyName: "flyoutPanel", publicName: "flyoutPanel", isSignal: false, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, showCaret: { classPropertyName: "showCaret", publicName: "showCaret", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"[
|
|
4243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FwPopoverComponent, selector: "fw-popover", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: false, isRequired: false, transformFunction: null }, flyoutPanel: { classPropertyName: "flyoutPanel", publicName: "flyoutPanel", isSignal: false, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, showCaret: { classPropertyName: "showCaret", publicName: "showCaret", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: FwPopoverPanelComponent, selector: "fw-popover-panel", inputs: ["position", "showCaret"], outputs: ["mouseLeave"] }], animations: [
|
|
4027
4244
|
trigger('fadeInFadeOut', [
|
|
4028
4245
|
transition(':enter', [
|
|
4029
4246
|
style({ opacity: 0 }),
|
|
@@ -4047,7 +4264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4047
4264
|
animate('200ms', style({ opacity: 0 })),
|
|
4048
4265
|
]),
|
|
4049
4266
|
]),
|
|
4050
|
-
], template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"[
|
|
4267
|
+
], template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n" }]
|
|
4051
4268
|
}], propDecorators: { position: [{
|
|
4052
4269
|
type: Input
|
|
4053
4270
|
}], action: [{
|
|
@@ -4174,7 +4391,7 @@ class FwTooltipComponent {
|
|
|
4174
4391
|
this.isOpen = false;
|
|
4175
4392
|
}
|
|
4176
4393
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4177
|
-
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" } }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayPositions]=\"[positionMap[position]]\">\n <fw-tooltip-panel\n @fadeInFadeOut\n *ngIf=\"title\"\n [position]=\"position\"\n [color]=\"color\"\n [maxWidth]=\"maxWidth\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n </fw-tooltip-panel>\n</ng-template>\n<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\"\n (mouseenter)=\"handleMouseEnter($event)\" (mouseleave)=\"handleMouseLeave()\">\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: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: FwTooltipPanelComponent, selector: "fw-tooltip-panel", inputs: ["position", "color", "maxWidth"], outputs: ["mouseLeave"] }], animations: [
|
|
4394
|
+
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['']" } }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayPositions]=\"[positionMap[position]]\">\n <fw-tooltip-panel\n @fadeInFadeOut\n *ngIf=\"title\"\n [position]=\"position\"\n [color]=\"color\"\n [maxWidth]=\"maxWidth\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n </fw-tooltip-panel>\n</ng-template>\n<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\"\n (mouseenter)=\"handleMouseEnter($event)\" (mouseleave)=\"handleMouseLeave()\">\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: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: FwTooltipPanelComponent, selector: "fw-tooltip-panel", inputs: ["position", "color", "maxWidth"], outputs: ["mouseLeave"] }], animations: [
|
|
4178
4395
|
trigger('fadeInFadeOut', [
|
|
4179
4396
|
transition(':enter', [
|
|
4180
4397
|
style({ opacity: 0 }),
|
|
@@ -4216,6 +4433,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4216
4433
|
}], classes: [{
|
|
4217
4434
|
type: HostBinding,
|
|
4218
4435
|
args: ['attr.class']
|
|
4436
|
+
}], '': [{
|
|
4437
|
+
type: HostBinding,
|
|
4438
|
+
args: ['attr.title']
|
|
4219
4439
|
}] } });
|
|
4220
4440
|
|
|
4221
4441
|
class FwTooltipModule {
|
|
@@ -5191,6 +5411,7 @@ class FwMultiSelectMenuComponent {
|
|
|
5191
5411
|
this.width = '200px';
|
|
5192
5412
|
this.minHeight = '';
|
|
5193
5413
|
this.maxHeight = '200px';
|
|
5414
|
+
this.maxOptionsHeight = '400px';
|
|
5194
5415
|
this.size = 'medium';
|
|
5195
5416
|
this.menuFilter = viewChild(FwMenuContainerComponent);
|
|
5196
5417
|
// need this for the template
|
|
@@ -5552,9 +5773,9 @@ class FwSelectMenuComponent {
|
|
|
5552
5773
|
const currentOptions = changes.options?.currentValue;
|
|
5553
5774
|
// if the options change check if the title we should be displaying has changed
|
|
5554
5775
|
if (currentOptions && currentOptions !== changes.options?.previousValue) {
|
|
5555
|
-
const selectedOption = currentOptions.find(item => item[
|
|
5776
|
+
const selectedOption = currentOptions.find(item => item[this.valueProperty]?.toString() === this.selectValue);
|
|
5556
5777
|
if (selectedOption) {
|
|
5557
|
-
this.selectTitle = selectedOption[
|
|
5778
|
+
this.selectTitle = selectedOption[this.titleProperty];
|
|
5558
5779
|
}
|
|
5559
5780
|
}
|
|
5560
5781
|
}
|