@flywheel-io/vision 2.3.3 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/assets/fonts/Flywheel-Vision-Icons.svg +28 -0
  2. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  4. package/assets/svg/archive-documents-box-big.svg +4 -0
  5. package/assets/svg/contract-vertical.svg +6 -0
  6. package/assets/svg/conversion-exchange.svg +4 -0
  7. package/assets/svg/cursor-click.svg +4 -0
  8. package/assets/svg/document-file-deleted-cross-remove-center-cancel.svg +4 -0
  9. package/assets/svg/documents-file-checkmark.svg +4 -0
  10. package/assets/svg/file-blank-search.svg +4 -0
  11. package/assets/svg/git-add-branch.svg +4 -0
  12. package/assets/svg/git-branch.svg +4 -0
  13. package/assets/svg/git-merge-draft.svg +6 -0
  14. package/assets/svg/git-merge.svg +4 -0
  15. package/assets/svg/git-pull-request-2.svg +4 -0
  16. package/assets/svg/grid-layout-9-square.svg +4 -0
  17. package/assets/svg/stretch-vertical.svg +4 -0
  18. package/components/dialog/dialog-confirm.component.d.ts +14 -4
  19. package/components/dialog/dialog-simple.component.d.ts +14 -4
  20. package/components/dialog/dialog.component.d.ts +13 -5
  21. package/components/dialog/dialog.service.d.ts +1 -0
  22. package/components/icon/icon.types.d.ts +1 -1
  23. package/esm2022/components/dialog/dialog-confirm.component.mjs +52 -9
  24. package/esm2022/components/dialog/dialog-simple.component.mjs +52 -9
  25. package/esm2022/components/dialog/dialog.component.mjs +47 -10
  26. package/esm2022/components/dialog/dialog.service.mjs +35 -2
  27. package/esm2022/components/icon/icon.types.mjs +15 -1
  28. package/fesm2022/flywheel-io-vision.mjs +194 -24
  29. package/fesm2022/flywheel-io-vision.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/scss/icons/_icon-glyphs.scss +42 -0
  32. package/styles.css +56 -0
@@ -1,2 +1,2 @@
1
1
  export type IconType = typeof allIcons[number];
2
- export declare const allIcons: readonly ["3d-sphere-rotate-arrows", "add-circle", "add-new-create", "add-row-above", "add-row-below", "add-server-databases-endpoint", "add-server", "add-user", "ai", "apple", "apply-copy-duplicate", "arrange-filter-sort", "arrow-annotate", "arrow-back-collapse", "arrow-back", "arrow-down", "arrow-forward-collapse", "arrow-forward", "arrow-redo", "arrow-rotate-restore", "arrow-rotate", "arrow-undo", "arrow-up-high-priority", "arrow-up-low-priority", "arrow-up", "arrow", "barcode-serial", "barcode-stack-scan", "bell-notification", "bezier-curve", "blocks-code-test-checkmark", "book-lab-flask", "bookmark-plus-add", "bookmark", "brain", "brightness-photo-edit", "browser-internet-web-windows", "brush-edit-create", "bucket-paint", "button-form-element", "calendar-arrow-left-center", "calendar-schedule", "camera-photo-capture", "cash-banknotes", "certificate", "chart-square", "chart-trend-square", "chat-messages-bubble", "check-mark-certificate", "checklist-tasks-chechmark-square", "checklist", "chevron-back", "chevron-down", "chevron-forward", "chevron-input-number", "chevron-up", "circle-ellipses", "circle", "clap-applause-hands", "clip-attachment", "clock-history", "clock-hour-4", "clock-loading", "close-circled", "close", "closed-freehand-vector-poly", "cloud-network-add", "cloud-storage-checkmark", "cloud-upload", "code-block-embed", "code-text", "color-design-profile", "color-ven-design-profile-central", "column-edit", "computer-chip", "contrast-photo-edit", "copy-item", "creative-commons", "crosshair", "crown-style-circle", "cursor-select", "curve-object-secet-cursor", "data-tree", "delivery-shipment-packages", "dna-hospital-medical", "document-file-add-plus-bottom-left", "document-file-blank", "document-file-checkmark-bottom-left", "document-file-download", "document-file-list-protocol", "document-file-tar", "document-file-upload-bottom-center", "document-file-zip", "document-status-done-checkmark", "document-visible", "documents-file", "documents-files", "done-check-tracked", "done-check", "download-status", "download", "drag-drop-indicator", "draw-rectangle", "earth-globe-fail", "edit-boxed", "edit-erase", "edit", "email-mail-checkmark-group", "email", "embed-circle", "exchange", "expand-pathfinder-dot-square-segmentation", "facebook", "file-blank-image-load-mask", "file-download", "file-text", "files-library-content", "files-library", "files", "filter-sort-add", "filter-sort-check-mark", "filter-sort-delete", "filter", "flag", "flip-horizontal", "flip-vertical", "floppy-save", "flywheel-mark-logo", "flywheel-viewer-mark-logo", "folder-add", "folder-blank", "folder-checked", "folder-copy-expand-arrow-down", "folder-copy-expand-arrow-up", "folder-group", "folder-open", "folder-share", "form-metadata-element", "free-rights", "freehand-vector-poly", "full-screen-zoom", "github-color-login", "gitlab", "graduate-hat", "grid-dot-square", "grid-layout", "hammer-legal-square", "hammer-screwdriver", "hand-money-currency", "header-form-element", "home-modern-door", "home-modern-option-lines", "human-artificial-intelligence", "icon-placeholder", "image-photo-copy-left-down", "image-picture-square", "information-circle", "invoice-checkmark-paid", "invoice", "italic", "items-group-elements", "key", "keyboard", "keychain", "label-tag", "laptop-health-medical-cross", "layers", "layout-grid", "layout", "line", "link-unlink", "link", "linkedin", "linux", "list-paragraph-number", "list-paragraph", "list-test-lab-flask", "livewire-tool", "loading-status-checkmark", "lock-unlock", "lock", "logout", "lung", "lungs", "markdown", "measure-angle", "measure-ruler-calibration", "media-library-imports-dowload", "menu-burger-handle", "menu-horizontal", "menu-list-form-square", "menu-vertical", "message-chat-info", "message-chat-question-support", "message-checkmark-sent", "message-question-checkmark", "microphone-mic-rec-circle", "microphone-mic-rec", "microphone-mic-recording-circle", "minus", "modalities", "molecule", "money-coin", "money-dollar", "money", "monitor-computer", "mouse-big", "move", "music-play-resume", "music-stop", "mute", "network-storage-alert", "notebook-add-plus", "notebook-open", "notebook-pen-edit", "notebook", "notes-pen", "object-search-zoom-plus", "open", "paint-roller", "pause", "pen-edit-circle", "pencil-edit-create", "photo-edit-brightness-invert", "pie-chart", "pie-graph-chart-sample", "plus-add-rectangle", "polygon", "private-mode-protection-circle", "protection-target", "protective-mask", "question-circle", "quote", "radiology-scan-circle", "radiology-scan", "reader-studies", "rotate-arrow-manual", "rotate-item-left", "rotate-item-right", "rotate-refresh", "rotate", "ruler-bidirectional", "ruler", "scanner", "search-loop", "search-user-profile-person", "search-zoom-minus", "search-zoom-plus", "search", "section-form-element", "send-message-share", "server-checkmark", "server-database-endpoint", "server-databases-checkmark-user", "server-databases-connect", "server-databases-download", "server-databases-key-protection", "server-databases-minimal-download", "server-databases-sync-import", "server-databases-sync", "server-upload", "server", "servers-database", "setting-gear", "settings-adjust", "settings-gear-square", "settings-gear", "settings-select", "shapes-objects", "share", "shield-protect", "show-visible", "smiley-emoji-face", "speed-dashboard", "square-fill-outline", "square-fill", "square-outline", "star", "stars-light-sparkle", "stomach", "stop-minus", "substract-group", "switch", "target-space-object-select", "target", "tasklist-to-do-checkmark", "technology-cube-3d", "test-lab-flask", "text-bold", "text-cross", "text-h1", "text-h2", "text-input-form", "text-long", "text-short-form-element", "text-underline", "thumbs-up-like", "timer-clock-style", "trash-delete", "twitter", "undone-uncheck-untracked", "unlimited-repeat-subscription-circle", "upload", "user-checked", "user-delete-cross", "user-document", "user-group", "user-key", "user-lock", "user-profile-cards-pool", "user-profile-group-discovery", "user-setting-gear", "user", "video-player-controls", "visible-eye-hidden", "volume-full", "warning-circle", "warning", "window-finder-resize-arrow-down", "window-finder-resize-arrow-up", "window-resize-left", "window-resize-right", "window-zoom-plus-loupe", "windows", "workspace-mode", "youtube", "zendesk-logo"];
2
+ export declare const allIcons: readonly ["3d-sphere-rotate-arrows", "add-circle", "add-new-create", "add-row-above", "add-row-below", "add-server-databases-endpoint", "add-server", "add-user", "ai", "apple", "apply-copy-duplicate", "archive-documents-box-big", "arrange-filter-sort", "arrow-annotate", "arrow-back-collapse", "arrow-back", "arrow-down", "arrow-forward-collapse", "arrow-forward", "arrow-redo", "arrow-rotate-restore", "arrow-rotate", "arrow-undo", "arrow-up-high-priority", "arrow-up-low-priority", "arrow-up", "arrow", "barcode-serial", "barcode-stack-scan", "bell-notification", "bezier-curve", "blocks-code-test-checkmark", "book-lab-flask", "bookmark-plus-add", "bookmark", "brain", "brightness-photo-edit", "browser-internet-web-windows", "brush-edit-create", "bucket-paint", "button-form-element", "calendar-arrow-left-center", "calendar-schedule", "camera-photo-capture", "cash-banknotes", "certificate", "chart-square", "chart-trend-square", "chat-messages-bubble", "check-mark-certificate", "checklist-tasks-chechmark-square", "checklist", "chevron-back", "chevron-down", "chevron-forward", "chevron-input-number", "chevron-up", "circle-ellipses", "circle", "clap-applause-hands", "clip-attachment", "clock-history", "clock-hour-4", "clock-loading", "close-circled", "close", "closed-freehand-vector-poly", "cloud-network-add", "cloud-storage-checkmark", "cloud-upload", "code-block-embed", "code-text", "color-design-profile", "color-ven-design-profile-central", "column-edit", "computer-chip", "contract-vertical", "contrast-photo-edit", "conversion-exchange", "copy-item", "creative-commons", "crosshair", "crown-style-circle", "cursor-click", "cursor-select", "curve-object-secet-cursor", "data-tree", "delivery-shipment-packages", "dna-hospital-medical", "document-file-add-plus-bottom-left", "document-file-blank", "document-file-checkmark-bottom-left", "document-file-deleted-cross-remove-center-cancel", "document-file-download", "document-file-list-protocol", "document-file-tar", "document-file-upload-bottom-center", "document-file-zip", "document-status-done-checkmark", "document-visible", "documents-file-checkmark", "documents-file", "documents-files", "done-check-tracked", "done-check", "download-status", "download", "drag-drop-indicator", "draw-rectangle", "earth-globe-fail", "edit-boxed", "edit-erase", "edit", "email-mail-checkmark-group", "email", "embed-circle", "exchange", "expand-pathfinder-dot-square-segmentation", "facebook", "file-blank-image-load-mask", "file-blank-search", "file-download", "file-text", "files-library-content", "files-library", "files", "filter-sort-add", "filter-sort-check-mark", "filter-sort-delete", "filter", "flag", "flip-horizontal", "flip-vertical", "floppy-save", "flywheel-mark-logo", "flywheel-viewer-mark-logo", "folder-add", "folder-blank", "folder-checked", "folder-copy-expand-arrow-down", "folder-copy-expand-arrow-up", "folder-group", "folder-open", "folder-share", "form-metadata-element", "free-rights", "freehand-vector-poly", "full-screen-zoom", "git-add-branch", "git-branch", "git-merge-draft", "git-merge", "git-pull-request-2", "github-color-login", "gitlab", "graduate-hat", "grid-dot-square", "grid-layout-9-square", "grid-layout", "hammer-legal-square", "hammer-screwdriver", "hand-money-currency", "header-form-element", "home-modern-door", "home-modern-option-lines", "human-artificial-intelligence", "icon-placeholder", "image-photo-copy-left-down", "image-picture-square", "information-circle", "invoice-checkmark-paid", "invoice", "italic", "items-group-elements", "key", "keyboard", "keychain", "label-tag", "laptop-health-medical-cross", "layers", "layout-grid", "layout", "line", "link-unlink", "link", "linkedin", "linux", "list-paragraph-number", "list-paragraph", "list-test-lab-flask", "livewire-tool", "loading-status-checkmark", "lock-unlock", "lock", "logout", "lung", "lungs", "markdown", "measure-angle", "measure-ruler-calibration", "media-library-imports-dowload", "menu-burger-handle", "menu-horizontal", "menu-list-form-square", "menu-vertical", "message-chat-info", "message-chat-question-support", "message-checkmark-sent", "message-question-checkmark", "microphone-mic-rec-circle", "microphone-mic-rec", "microphone-mic-recording-circle", "minus", "modalities", "molecule", "money-coin", "money-dollar", "money", "monitor-computer", "mouse-big", "move", "music-play-resume", "music-stop", "mute", "network-storage-alert", "notebook-add-plus", "notebook-open", "notebook-pen-edit", "notebook", "notes-pen", "object-search-zoom-plus", "open", "paint-roller", "pause", "pen-edit-circle", "pencil-edit-create", "photo-edit-brightness-invert", "pie-chart", "pie-graph-chart-sample", "plus-add-rectangle", "polygon", "private-mode-protection-circle", "protection-target", "protective-mask", "question-circle", "quote", "radiology-scan-circle", "radiology-scan", "reader-studies", "rotate-arrow-manual", "rotate-item-left", "rotate-item-right", "rotate-refresh", "rotate", "ruler-bidirectional", "ruler", "scanner", "search-loop", "search-user-profile-person", "search-zoom-minus", "search-zoom-plus", "search", "section-form-element", "send-message-share", "server-checkmark", "server-database-endpoint", "server-databases-checkmark-user", "server-databases-connect", "server-databases-download", "server-databases-key-protection", "server-databases-minimal-download", "server-databases-sync-import", "server-databases-sync", "server-upload", "server", "servers-database", "setting-gear", "settings-adjust", "settings-gear-square", "settings-gear", "settings-select", "shapes-objects", "share", "shield-protect", "show-visible", "smiley-emoji-face", "speed-dashboard", "square-fill-outline", "square-fill", "square-outline", "star", "stars-light-sparkle", "stomach", "stop-minus", "stretch-vertical", "substract-group", "switch", "target-space-object-select", "target", "tasklist-to-do-checkmark", "technology-cube-3d", "test-lab-flask", "text-bold", "text-cross", "text-h1", "text-h2", "text-input-form", "text-long", "text-short-form-element", "text-underline", "thumbs-up-like", "timer-clock-style", "trash-delete", "twitter", "undone-uncheck-untracked", "unlimited-repeat-subscription-circle", "upload", "user-checked", "user-delete-cross", "user-document", "user-group", "user-key", "user-lock", "user-profile-cards-pool", "user-profile-group-discovery", "user-setting-gear", "user", "video-player-controls", "visible-eye-hidden", "volume-full", "warning-circle", "warning", "window-finder-resize-arrow-down", "window-finder-resize-arrow-up", "window-resize-left", "window-resize-right", "window-zoom-plus-loupe", "windows", "workspace-mode", "youtube", "zendesk-logo"];
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';
2
2
  import { DialogWidth } from './dialog.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/cdk/dialog";
@@ -9,8 +9,9 @@ import * as i5 from "./dialog-actions.component";
9
9
  import * as i6 from "./dialog.component";
10
10
  import * as i7 from "./dialog-content.component";
11
11
  export class FwDialogConfirmComponent {
12
- constructor(dialogRef) {
12
+ constructor(dialogRef, elementRef) {
13
13
  this.dialogRef = dialogRef;
14
+ this.elementRef = elementRef;
14
15
  this.title = 'Confirm';
15
16
  this.iconColor = 'primary';
16
17
  this.confirmColor = 'primary';
@@ -22,20 +23,56 @@ export class FwDialogConfirmComponent {
22
23
  this.close = new EventEmitter();
23
24
  this.confirm = new EventEmitter();
24
25
  this.DialogWidth = DialogWidth;
26
+ this.isClosing = false;
27
+ }
28
+ get classes() {
29
+ const classes = {};
30
+ if (this.externalClasses) {
31
+ if (typeof this.externalClasses === 'string') {
32
+ this.externalClasses.split(' ').forEach((cls) => {
33
+ if (cls.trim()) {
34
+ classes[cls.trim()] = true;
35
+ }
36
+ });
37
+ }
38
+ else if (Array.isArray(this.externalClasses)) {
39
+ this.externalClasses.forEach((cls) => {
40
+ if (cls.trim()) {
41
+ classes[cls.trim()] = true;
42
+ }
43
+ });
44
+ }
45
+ else {
46
+ Object.assign(classes, this.externalClasses);
47
+ }
48
+ }
49
+ return classes;
50
+ }
51
+ get dialogClasses() {
52
+ return this.isClosing ? 'dialog-closing' : '';
25
53
  }
26
54
  handleCloseButton() {
27
- this.dialogRef.close();
28
- this.close.emit();
55
+ this.closeWithAnimation();
56
+ }
57
+ closeWithAnimation() {
58
+ if (this.isClosing) {
59
+ return;
60
+ }
61
+ this.isClosing = true;
62
+ setTimeout(() => {
63
+ this.dialogRef.close();
64
+ this.close.emit();
65
+ }, 300);
29
66
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, deps: [{ token: i1.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
31
- 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i5.FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: i6.FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose"], outputs: ["close"] }, { kind: "component", type: i7.FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, deps: [{ token: i1.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i5.FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: i6.FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose", "class"], outputs: ["close"] }, { kind: "component", type: i7.FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
32
69
  }
33
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogConfirmComponent, decorators: [{
34
71
  type: Component,
35
- 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"] }]
72
+ 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"] }]
36
73
  }], ctorParameters: () => [{ type: i1.DialogRef, decorators: [{
37
74
  type: Optional
38
- }] }], propDecorators: { title: [{
75
+ }] }, { type: i0.ElementRef }], propDecorators: { title: [{
39
76
  type: Input
40
77
  }], icon: [{
41
78
  type: Input
@@ -55,9 +92,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
55
92
  type: Input
56
93
  }], contentText: [{
57
94
  type: Input
95
+ }], externalClasses: [{
96
+ type: Input,
97
+ args: ['class']
58
98
  }], close: [{
59
99
  type: Output
60
100
  }], confirm: [{
61
101
  type: Output
102
+ }], classes: [{
103
+ type: HostBinding,
104
+ args: ['class']
62
105
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7OztBQU9qRCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUErQixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBZjFDLFVBQUssR0FBWSxTQUFTLENBQUM7UUFFM0IsY0FBUyxHQUFvRSxTQUFTLENBQUM7UUFDdkYsaUJBQVksR0FBMEUsU0FBUyxDQUFDO1FBQ2hHLHNCQUFpQixHQUFZLFNBQVMsQ0FBQztRQUN2QyxzQkFBaUIsR0FBWSxZQUFZLENBQUM7UUFDMUMscUJBQWdCLEdBQVksUUFBUSxDQUFDO1FBRXJDLGlCQUFZLEdBQVksZUFBZSxDQUFDO1FBRWpELDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsV0FBVyxDQUFDO0lBRzdDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0F0QlUsd0JBQXdCO21HQUF4Qix3QkFBd0Isc1pDWHJDLHNqQ0FxQ0E7OzRGRDFCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkFvQmhCLFFBQVE7eUNBZlosS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2ljb24vaWNvbi50eXBlcyc7XG5pbXBvcnQgeyBEaWFsb2dXaWR0aCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWRpYWxvZy1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndEaWFsb2dDb25maXJtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmcgPSAnQ29uZmlybSc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGNvbmZpcm1Db2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnc2xhdGUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBjb25maXJtQnV0dG9uVGV4dD86IHN0cmluZyA9ICdDb25maXJtJztcbiAgQElucHV0KCkgY29uZmlybUJ1dHRvbkljb24/OiBzdHJpbmcgPSAnZG9uZS1jaGVjayc7XG4gIEBJbnB1dCgpIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnQ2FuY2VsJztcbiAgQElucHV0KCkgY29udGVudEljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRlbnRUaXRsZT86IHN0cmluZyA9ICdBcmUgeW91IHN1cmU/JztcbiAgQElucHV0KCkgY29udGVudFRleHQ/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGNvbmZpcm06IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IERpYWxvZ1dpZHRoID0gRGlhbG9nV2lkdGg7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogRGlhbG9nUmVmKSB7XG4gIH1cblxuICBoYW5kbGVDbG9zZUJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG59XG4iLCI8ZnctZGlhbG9nXG4gIFt3aWR0aF09XCJEaWFsb2dXaWR0aC5FeHRyYVNtYWxsXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFtpY29uQ29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgW3Nob3dDbG9zZV09XCJmYWxzZVwiPlxuICA8ZnctZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LWNvbmZpcm1cIj5cbiAgICAgIDxmdy1pY29uIGNsYXNzPVwiY29udGVudC1pY29uXCIgW25nQ2xhc3NdPVwiY29uZmlybUNvbG9yXCIgKm5nSWY9XCJjb250ZW50SWNvblwiPlxuICAgICAgICB7eyBjb250ZW50SWNvbiB9fVxuICAgICAgPC9mdy1pY29uPlxuICAgICAgPHAgY2xhc3M9XCJ2aXNpb24tcDIgY29udGVudC10aXRsZVwiICpuZ0lmPVwiY29udGVudFRpdGxlXCI+XG4gICAgICAgIHt7IGNvbnRlbnRUaXRsZSB9fVxuICAgICAgPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ2aXNpb24tcDIgY29udGVudC10ZXh0XCIgKm5nSWY9XCJjb250ZW50VGV4dFwiPlxuICAgICAgICB7eyBjb250ZW50VGV4dCB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Z3LWRpYWxvZy1jb250ZW50PlxuICA8ZnctZGlhbG9nLWFjdGlvbnM+XG4gICAgPGZ3LWJ1dHRvblxuICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxuICAgICAgKm5nSWY9XCJjYW5jZWxCdXR0b25UZXh0XCJcbiAgICAgIGNvbG9yPVwic2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsb3NlQnV0dG9uKClcIj5cbiAgICAgIHt7IGNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgICA8ZnctYnV0dG9uXG4gICAgICB2YXJpYW50PVwic29saWRcIlxuICAgICAgKm5nSWY9XCJjb25maXJtQnV0dG9uVGV4dFwiXG4gICAgICBbY29sb3JdPVwiY29uZmlybUNvbG9yXCJcbiAgICAgIFtsZWZ0SWNvbl09XCJjb25maXJtQnV0dG9uSWNvblwiXG4gICAgICAoY2xpY2spPVwiY29uZmlybS5lbWl0KClcIj5cbiAgICAgIHt7IGNvbmZpcm1CdXR0b25UZXh0IH19XG4gICAgPC9mdy1idXR0b24+XG4gIDwvZnctZGlhbG9nLWFjdGlvbnM+XG48L2Z3LWRpYWxvZz5cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFPakQsTUFBTSxPQUFPLHdCQUF3QjtJQW9CbkMsWUFBK0IsU0FBb0IsRUFBVSxVQUFzQjtRQUFwRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQW5CMUUsVUFBSyxHQUFZLFNBQVMsQ0FBQztRQUUzQixjQUFTLEdBQW9FLFNBQVMsQ0FBQztRQUN2RixpQkFBWSxHQUEwRSxTQUFTLENBQUM7UUFDaEcsc0JBQWlCLEdBQVksU0FBUyxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFZLFlBQVksQ0FBQztRQUMxQyxxQkFBZ0IsR0FBWSxRQUFRLENBQUM7UUFFckMsaUJBQVksR0FBWSxlQUFlLENBQUM7UUFJakQsNERBQTREO1FBQ2xELFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyRCxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUMsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFFckMsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUcxQixDQUFDO0lBRUQsSUFBMEIsT0FBTztRQUMvQixNQUFNLE9BQU8sR0FBK0IsRUFBRSxDQUFDO1FBRS9DLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtvQkFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQzt3QkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUM3QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7b0JBQzNDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7d0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDN0IsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQWxFVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3ZkNYckMscWxDQXNDQTs7NEZEM0JhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQXdCaEIsUUFBUTtrRUFuQlosS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSzt1QkFBQyxPQUFPO2dCQUVKLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQVFtQixPQUFPO3NCQUFoQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi9pY29uL2ljb24udHlwZXMnO1xuaW1wb3J0IHsgRGlhbG9nV2lkdGggfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1kaWFsb2ctY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3RGlhbG9nQ29uZmlybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nID0gJ0NvbmZpcm0nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGljb25Db2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3JlZCcgfCAnb3JhbmdlJyB8ICdncmVlbicgfCAnc2xhdGUnID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBjb25maXJtQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkYW5nZXInIHwgJ3NsYXRlJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgY29uZmlybUJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnQ29uZmlybSc7XG4gIEBJbnB1dCgpIGNvbmZpcm1CdXR0b25JY29uPzogc3RyaW5nID0gJ2RvbmUtY2hlY2snO1xuICBASW5wdXQoKSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nID0gJ0NhbmNlbCc7XG4gIEBJbnB1dCgpIGNvbnRlbnRJY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VGl0bGU/OiBzdHJpbmcgPSAnQXJlIHlvdSBzdXJlPyc7XG4gIEBJbnB1dCgpIGNvbnRlbnRUZXh0Pzogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NsYXNzJykgZXh0ZXJuYWxDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY29uZmlybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRGlhbG9nV2lkdGggPSBEaWFsb2dXaWR0aDtcblxuICBwcml2YXRlIGlzQ2xvc2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzZXMoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGNvbnN0IGNsYXNzZXM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgICBpZiAodGhpcy5leHRlcm5hbENsYXNzZXMpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbENsYXNzZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxDbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaCgoY2xzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBpZiAoY2xzLnRyaW0oKSkge1xuICAgICAgICAgICAgY2xhc3Nlc1tjbHMudHJpbSgpXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV4dGVybmFsQ2xhc3NlcykpIHtcbiAgICAgICAgdGhpcy5leHRlcm5hbENsYXNzZXMuZm9yRWFjaCgoY2xzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBpZiAoY2xzLnRyaW0oKSkge1xuICAgICAgICAgICAgY2xhc3Nlc1tjbHMudHJpbSgpXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oY2xhc3NlcywgdGhpcy5leHRlcm5hbENsYXNzZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZ2V0IGRpYWxvZ0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0Nsb3NpbmcgPyAnZGlhbG9nLWNsb3NpbmcnIDogJyc7XG4gIH1cblxuICBoYW5kbGVDbG9zZUJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlV2l0aEFuaW1hdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZVdpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDbG9zaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0Nsb3NpbmcgPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfSwgMzAwKTtcbiAgfVxufVxuIiwiPGZ3LWRpYWxvZ1xuICBbd2lkdGhdPVwiRGlhbG9nV2lkdGguRXh0cmFTbWFsbFwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFtpY29uXT1cImljb25cIlxuICBbaWNvbkNvbG9yXT1cImljb25Db2xvclwiXG4gIFtzaG93Q2xvc2VdPVwiZmFsc2VcIlxuICBbbmdDbGFzc109XCJkaWFsb2dDbGFzc2VzXCI+XG4gIDxmdy1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtY29uZmlybVwiPlxuICAgICAgPGZ3LWljb24gY2xhc3M9XCJjb250ZW50LWljb25cIiBbbmdDbGFzc109XCJjb25maXJtQ29sb3JcIiAqbmdJZj1cImNvbnRlbnRJY29uXCI+XG4gICAgICAgIHt7IGNvbnRlbnRJY29uIH19XG4gICAgICA8L2Z3LWljb24+XG4gICAgICA8cCBjbGFzcz1cInZpc2lvbi1wMiBjb250ZW50LXRpdGxlXCIgKm5nSWY9XCJjb250ZW50VGl0bGVcIj5cbiAgICAgICAge3sgY29udGVudFRpdGxlIH19XG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cInZpc2lvbi1wMiBjb250ZW50LXRleHRcIiAqbmdJZj1cImNvbnRlbnRUZXh0XCI+XG4gICAgICAgIHt7IGNvbnRlbnRUZXh0IH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZnctZGlhbG9nLWNvbnRlbnQ+XG4gIDxmdy1kaWFsb2ctYWN0aW9ucz5cbiAgICA8ZnctYnV0dG9uXG4gICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAqbmdJZj1cImNhbmNlbEJ1dHRvblRleHRcIlxuICAgICAgY29sb3I9XCJzbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xvc2VCdXR0b24oKVwiPlxuICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dCB9fVxuICAgIDwvZnctYnV0dG9uPlxuICAgIDxmdy1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJzb2xpZFwiXG4gICAgICAqbmdJZj1cImNvbmZpcm1CdXR0b25UZXh0XCJcbiAgICAgIFtjb2xvcl09XCJjb25maXJtQ29sb3JcIlxuICAgICAgW2xlZnRJY29uXT1cImNvbmZpcm1CdXR0b25JY29uXCJcbiAgICAgIChjbGljayk9XCJjb25maXJtLmVtaXQoKVwiPlxuICAgICAge3sgY29uZmlybUJ1dHRvblRleHQgfX1cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgPC9mdy1kaWFsb2ctYWN0aW9ucz5cbjwvZnctZGlhbG9nPlxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';
2
2
  import { DialogWidth } from './dialog.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/cdk/dialog";
@@ -8,8 +8,9 @@ import * as i4 from "./dialog-actions.component";
8
8
  import * as i5 from "./dialog.component";
9
9
  import * as i6 from "./dialog-content.component";
10
10
  export class FwDialogSimpleComponent {
11
- constructor(dialogRef) {
11
+ constructor(dialogRef, elementRef) {
12
12
  this.dialogRef = dialogRef;
13
+ this.elementRef = elementRef;
13
14
  this.width = DialogWidth.ExtraSmall;
14
15
  this.iconColor = 'primary';
15
16
  this.showClose = true;
@@ -17,20 +18,56 @@ export class FwDialogSimpleComponent {
17
18
  this.close = new EventEmitter();
18
19
  this.action = new EventEmitter();
19
20
  this.alternateAction = new EventEmitter();
21
+ this.isClosing = false;
22
+ }
23
+ get classes() {
24
+ const classes = {};
25
+ if (this.externalClasses) {
26
+ if (typeof this.externalClasses === 'string') {
27
+ this.externalClasses.split(' ').forEach((cls) => {
28
+ if (cls.trim()) {
29
+ classes[cls.trim()] = true;
30
+ }
31
+ });
32
+ }
33
+ else if (Array.isArray(this.externalClasses)) {
34
+ this.externalClasses.forEach((cls) => {
35
+ if (cls.trim()) {
36
+ classes[cls.trim()] = true;
37
+ }
38
+ });
39
+ }
40
+ else {
41
+ Object.assign(classes, this.externalClasses);
42
+ }
43
+ }
44
+ return classes;
45
+ }
46
+ get dialogClasses() {
47
+ return this.isClosing ? 'dialog-closing' : '';
20
48
  }
21
49
  handleCloseButton() {
22
- this.dialogRef.close();
23
- this.close.emit();
50
+ this.closeWithAnimation();
51
+ }
52
+ closeWithAnimation() {
53
+ if (this.isClosing) {
54
+ return;
55
+ }
56
+ this.isClosing = true;
57
+ setTimeout(() => {
58
+ this.dialogRef.close();
59
+ this.close.emit();
60
+ }, 300);
24
61
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, deps: [{ token: i1.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
26
- 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: i5.FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose"], outputs: ["close"] }, { kind: "component", type: i6.FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, deps: [{ token: i1.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwDialogActionsComponent, selector: "fw-dialog-actions" }, { kind: "component", type: i5.FwDialogComponent, selector: "fw-dialog", inputs: ["width", "title", "icon", "iconColor", "showClose", "class"], outputs: ["close"] }, { kind: "component", type: i6.FwDialogContentComponent, selector: "fw-dialog-content", inputs: ["padded"] }] }); }
27
64
  }
28
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogSimpleComponent, decorators: [{
29
66
  type: Component,
30
- 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"] }]
67
+ 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"] }]
31
68
  }], ctorParameters: () => [{ type: i1.DialogRef, decorators: [{
32
69
  type: Optional
33
- }] }], propDecorators: { width: [{
70
+ }] }, { type: i0.ElementRef }], propDecorators: { width: [{
34
71
  type: Input
35
72
  }], title: [{
36
73
  type: Input
@@ -52,11 +89,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
52
89
  type: Input
53
90
  }], contentText: [{
54
91
  type: Input
92
+ }], externalClasses: [{
93
+ type: Input,
94
+ args: ['class']
55
95
  }], close: [{
56
96
  type: Output
57
97
  }], action: [{
58
98
  type: Output
59
99
  }], alternateAction: [{
60
100
  type: Output
101
+ }], classes: [{
102
+ type: HostBinding,
103
+ args: ['class']
61
104
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLXNpbXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBT2pELE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFlBQStCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFoQjFDLFVBQUssR0FBa0UsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUc5RixjQUFTLEdBQW9FLFNBQVMsQ0FBQztRQUN2RixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBT3BDLDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckQsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RELG9CQUFlLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHekUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQXZCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwyZENYcEMsNjVCQTJCQTs7NEZEaEJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQXFCZixRQUFRO3lDQWhCWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcbmltcG9ydCB7IERpYWxvZ1dpZHRoIH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGlhbG9nLXNpbXBsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctc2ltcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ1NpbXBsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHdpZHRoPzogJ2V4dHJhLXNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZXh0cmEtbGFyZ2UnID0gRGlhbG9nV2lkdGguRXh0cmFTbWFsbDtcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNob3dDbG9zZT86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25JY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHRlcm5hdGVCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHRlcm5hdGVCdXR0b25JY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VGV4dD86IHN0cmluZztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBhbHRlcm5hdGVBY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWYpIHtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxmdy1kaWFsb2dcbiAgW3dpZHRoXT1cIndpZHRoXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFtpY29uQ29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgW3Nob3dDbG9zZV09XCJzaG93Q2xvc2VcIj5cbiAgPGZ3LWRpYWxvZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWRpYWxvZy1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDxwIGNsYXNzPVwidmlzaW9uLXAyIGRpYWxvZy1jb250ZW50LWRlZmF1bHRcIiAqbmdJZj1cImNvbnRlbnRUZXh0XCI+e3sgY29udGVudFRleHQgfX08L3A+XG4gIDwvZnctZGlhbG9nLWNvbnRlbnQ+XG4gIDxmdy1kaWFsb2ctYWN0aW9ucz5cbiAgICA8ZnctYnV0dG9uXG4gICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAqbmdJZj1cImFsdGVybmF0ZUJ1dHRvblRleHRcIlxuICAgICAgW2xlZnRJY29uXT1cImFsdGVybmF0ZUJ1dHRvbkljb25cIlxuICAgICAgKGNsaWNrKT1cImFsdGVybmF0ZUFjdGlvbi5lbWl0KClcIj5cbiAgICAgIHt7IGFsdGVybmF0ZUJ1dHRvblRleHQgfX1cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPjwvZGl2PlxuICAgIDxmdy1idXR0b24gdmFyaWFudD1cIm91dGxpbmVcIiAqbmdJZj1cImNhbmNlbEJ1dHRvblRleHRcIiAoY2xpY2spPVwiaGFuZGxlQ2xvc2VCdXR0b24oKVwiPlxuICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dCB9fVxuICAgIDwvZnctYnV0dG9uPlxuICAgIDxmdy1idXR0b24gdmFyaWFudD1cInNvbGlkXCIgKm5nSWY9XCJhY3Rpb25CdXR0b25UZXh0XCIgKGNsaWNrKT1cImFjdGlvbi5lbWl0KClcIj5cbiAgICAgIHt7IGFjdGlvbkJ1dHRvblRleHQgfX1cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgPC9mdy1kaWFsb2ctYWN0aW9ucz5cbjwvZnctZGlhbG9nPlxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLXNpbXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQU9qRCxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUErQixTQUFvQixFQUFVLFVBQXNCO1FBQXBELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBcEIxRSxVQUFLLEdBQWtFLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFHOUYsY0FBUyxHQUFvRSxTQUFTLENBQUM7UUFDdkYsY0FBUyxHQUFhLElBQUksQ0FBQztRQVNwQyw0REFBNEQ7UUFDbEQsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3JELFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN0RCxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpFLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFHMUIsQ0FBQztJQUVELElBQTBCLE9BQU87UUFDL0IsTUFBTSxPQUFPLEdBQStCLEVBQUUsQ0FBQztRQUUvQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7b0JBQ3RELElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7d0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDN0IsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUMzQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQzdCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzsrR0FuRVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsNmpCQ1hwQyw4N0JBNkJBOzs0RkRsQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBeUJmLFFBQVE7a0VBcEJaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSzt1QkFBQyxPQUFPO2dCQUVKLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFPbUIsT0FBTztzQkFBaEMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcbmltcG9ydCB7IERpYWxvZ1dpZHRoIH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGlhbG9nLXNpbXBsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctc2ltcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLXNpbXBsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ1NpbXBsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHdpZHRoPzogJ2V4dHJhLXNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZXh0cmEtbGFyZ2UnID0gRGlhbG9nV2lkdGguRXh0cmFTbWFsbDtcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNob3dDbG9zZT86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25JY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHRlcm5hdGVCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHRlcm5hdGVCdXR0b25JY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VGV4dD86IHN0cmluZztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdjbGFzcycpIGV4dGVybmFsQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWx0ZXJuYXRlQWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBpc0Nsb3NpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWYsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzc2VzKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICBjb25zdCBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxDbGFzc2VzKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZXh0ZXJuYWxDbGFzc2VzID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmV4dGVybmFsQ2xhc3Nlcy5zcGxpdCgnICcpLmZvckVhY2goKGNsczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGNscy50cmltKCkpIHtcbiAgICAgICAgICAgIGNsYXNzZXNbY2xzLnRyaW0oKV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leHRlcm5hbENsYXNzZXMpKSB7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxDbGFzc2VzLmZvckVhY2goKGNsczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGNscy50cmltKCkpIHtcbiAgICAgICAgICAgIGNsYXNzZXNbY2xzLnRyaW0oKV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKGNsYXNzZXMsIHRoaXMuZXh0ZXJuYWxDbGFzc2VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldCBkaWFsb2dDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNDbG9zaW5nID8gJ2RpYWxvZy1jbG9zaW5nJyA6ICcnO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2VCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZVdpdGhBbmltYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VXaXRoQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ2xvc2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNDbG9zaW5nID0gdHJ1ZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgIH0sIDMwMCk7XG4gIH1cbn1cbiIsIjxmdy1kaWFsb2dcbiAgW3dpZHRoXT1cIndpZHRoXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFtpY29uQ29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgW3Nob3dDbG9zZV09XCJzaG93Q2xvc2VcIlxuICBbbmdDbGFzc109XCJkaWFsb2dDbGFzc2VzXCI+XG4gIDxmdy1kaWFsb2ctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1kaWFsb2ctY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICA8cCBjbGFzcz1cInZpc2lvbi1wMiBkaWFsb2ctY29udGVudC1kZWZhdWx0XCIgKm5nSWY9XCJjb250ZW50VGV4dFwiPnt7IGNvbnRlbnRUZXh0IH19PC9wPlxuICA8L2Z3LWRpYWxvZy1jb250ZW50PlxuICA8ZnctZGlhbG9nLWFjdGlvbnM+XG4gICAgPGZ3LWJ1dHRvblxuICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxuICAgICAgKm5nSWY9XCJhbHRlcm5hdGVCdXR0b25UZXh0XCJcbiAgICAgIFtsZWZ0SWNvbl09XCJhbHRlcm5hdGVCdXR0b25JY29uXCJcbiAgICAgIChjbGljayk9XCJhbHRlcm5hdGVBY3Rpb24uZW1pdCgpXCI+XG4gICAgICB7eyBhbHRlcm5hdGVCdXR0b25UZXh0IH19XG4gICAgPC9mdy1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImZsZXhcIj48L2Rpdj5cbiAgICA8ZnctYnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lXCIgKm5nSWY9XCJjYW5jZWxCdXR0b25UZXh0XCIgKGNsaWNrKT1cImhhbmRsZUNsb3NlQnV0dG9uKClcIj5cbiAgICAgIHt7IGNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgICA8ZnctYnV0dG9uIHZhcmlhbnQ9XCJzb2xpZFwiICpuZ0lmPVwiYWN0aW9uQnV0dG9uVGV4dFwiIChjbGljayk9XCJhY3Rpb24uZW1pdCgpXCI+XG4gICAgICB7eyBhY3Rpb25CdXR0b25UZXh0IH19XG4gICAgPC9mdy1idXR0b24+XG4gIDwvZnctZGlhbG9nLWFjdGlvbnM+XG48L2Z3LWRpYWxvZz5cblxuIl19
@@ -13,30 +13,64 @@ export var DialogWidth;
13
13
  DialogWidth["ExtraLarge"] = "extra-large";
14
14
  })(DialogWidth || (DialogWidth = {}));
15
15
  export class FwDialogComponent {
16
- constructor(dialogRef) {
16
+ constructor(dialogRef, elementRef) {
17
17
  this.dialogRef = dialogRef;
18
+ this.elementRef = elementRef;
18
19
  this.width = DialogWidth.ExtraSmall;
19
20
  this.iconColor = 'primary';
20
21
  this.showClose = true;
21
22
  // eslint-disable-next-line @angular-eslint/no-output-native
22
23
  this.close = new EventEmitter();
24
+ this.isClosing = false;
23
25
  }
24
26
  get classes() {
25
- return 'dialog-width-' + this.width;
27
+ const classes = {
28
+ [`dialog-width-${this.width}`]: true,
29
+ 'dialog-closing': this.isClosing,
30
+ };
31
+ if (this.externalClasses) {
32
+ if (typeof this.externalClasses === 'string') {
33
+ this.externalClasses.split(' ').forEach((cls) => {
34
+ if (cls.trim()) {
35
+ classes[cls.trim()] = true;
36
+ }
37
+ });
38
+ }
39
+ else if (Array.isArray(this.externalClasses)) {
40
+ this.externalClasses.forEach((cls) => {
41
+ if (cls.trim()) {
42
+ classes[cls.trim()] = true;
43
+ }
44
+ });
45
+ }
46
+ else {
47
+ Object.assign(classes, this.externalClasses);
48
+ }
49
+ }
50
+ return classes;
26
51
  }
27
52
  handleCloseButton() {
28
- this.dialogRef.close();
29
- this.close.emit();
53
+ this.closeWithAnimation();
30
54
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogComponent, deps: [{ token: i1.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
32
- 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" }, outputs: { close: "close" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div class=\"dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
55
+ closeWithAnimation() {
56
+ if (this.isClosing) {
57
+ return;
58
+ }
59
+ this.isClosing = true;
60
+ setTimeout(() => {
61
+ this.dialogRef.close();
62
+ this.close.emit();
63
+ }, 300);
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogComponent, deps: [{ token: i1.DialogRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
66
+ 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
33
67
  }
34
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogComponent, decorators: [{
35
69
  type: Component,
36
- 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"] }]
70
+ 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"] }]
37
71
  }], ctorParameters: () => [{ type: i1.DialogRef, decorators: [{
38
72
  type: Optional
39
- }] }], propDecorators: { width: [{
73
+ }] }, { type: i0.ElementRef }], propDecorators: { width: [{
40
74
  type: Input
41
75
  }], title: [{
42
76
  type: Input
@@ -46,10 +80,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
46
80
  type: Input
47
81
  }], showClose: [{
48
82
  type: Input
83
+ }], externalClasses: [{
84
+ type: Input,
85
+ args: ['class']
49
86
  }], close: [{
50
87
  type: Output
51
88
  }], classes: [{
52
89
  type: HostBinding,
53
- args: ['attr.class']
90
+ args: ['class']
54
91
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUk5RixNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLHlDQUEwQixDQUFBO0lBQzFCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBZSxDQUFBO0lBQ2YseUNBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBT0QsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixZQUFrQyxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBUjdDLFVBQUssR0FBa0UsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUc5RixjQUFTLEdBQW9FLFNBQVMsQ0FBQztRQUN2RixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBQ3BDLDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHL0QsQ0FBQztJQUVELElBQStCLE9BQU87UUFDcEMsT0FBTyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQW5CVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixnUENsQjlCLHdxQkFvQkE7OzRGREZhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXOzswQkFhUixRQUFRO3lDQVJaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBS3dCLE9BQU87c0JBQXJDLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2ljb24vaWNvbi50eXBlcyc7XG5cbmV4cG9ydCBlbnVtIERpYWxvZ1dpZHRoIHtcbiAgRXh0cmFTbWFsbCA9ICdleHRyYS1zbWFsbCcsXG4gIFNtYWxsID0gJ3NtYWxsJyxcbiAgTWVkaXVtID0gJ21lZGl1bScsXG4gIExhcmdlID0gJ2xhcmdlJyxcbiAgRXh0cmFMYXJnZSA9ICdleHRyYS1sYXJnZSdcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHdpZHRoPzogJ2V4dHJhLXNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZXh0cmEtbGFyZ2UnID0gRGlhbG9nV2lkdGguRXh0cmFTbWFsbDtcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNob3dDbG9zZT86IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGRpYWxvZ1JlZjogRGlhbG9nUmVmKSB7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZGlhbG9nLXdpZHRoLScgKyB0aGlzLndpZHRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2dcIj5cbiAgPGZ3LWljb24tYnV0dG9uXG4gICAgKm5nSWY9XCJzaG93Q2xvc2VcIlxuICAgIHRhYmluZGV4PVwiLTFcIiBpY29uPVwiY2xvc2VcIiBjb2xvcj1cInNsYXRlXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2xvc2VCdXR0b24oKVwiPlxuICA8L2Z3LWljb24tYnV0dG9uPlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWRpYWxvZy1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImRpYWxvZy10aXRsZVwiICpuZ0lmPVwidGl0bGVcIj5cbiAgICAgIDxmdy1pY29uICpuZ0lmPVwiaWNvblwiIFtjb2xvcl09XCJpY29uQ29sb3JcIj57eyBpY29uIH19PC9mdy1pY29uPlxuICAgICAgPGgzIGNsYXNzPVwidmlzaW9uLWgzXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1ib2R5XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctZGlhbG9nLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWFjdGlvbnNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1kaWFsb2ctYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUkxRyxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLHlDQUEwQixDQUFBO0lBQzFCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBZSxDQUFBO0lBQ2YseUNBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBT0QsTUFBTSxPQUFPLGlCQUFpQjtJQWE1QixZQUFrQyxTQUFvQixFQUFVLFVBQXNCO1FBQXBELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBWjdFLFVBQUssR0FBa0UsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUc5RixjQUFTLEdBQW9FLFNBQVMsQ0FBQztRQUN2RixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBR3BDLDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdkQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUcxQixDQUFDO0lBRUQsSUFBMEIsT0FBTztRQUMvQixNQUFNLE9BQU8sR0FBK0I7WUFDMUMsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNwQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNqQyxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUN0RCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQzdCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtvQkFDM0MsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQzt3QkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUM3QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzsrR0ExRFUsaUJBQWlCO21HQUFqQixpQkFBaUIsMFJDbEI5QiwycUJBb0JBOzs0RkRGYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBaUJSLFFBQVE7a0VBWlosS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVVLGVBQWU7c0JBQTlCLEtBQUs7dUJBQUMsT0FBTztnQkFFSixLQUFLO3NCQUFkLE1BQU07Z0JBT21CLE9BQU87c0JBQWhDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2ljb24vaWNvbi50eXBlcyc7XG5cbmV4cG9ydCBlbnVtIERpYWxvZ1dpZHRoIHtcbiAgRXh0cmFTbWFsbCA9ICdleHRyYS1zbWFsbCcsXG4gIFNtYWxsID0gJ3NtYWxsJyxcbiAgTWVkaXVtID0gJ21lZGl1bScsXG4gIExhcmdlID0gJ2xhcmdlJyxcbiAgRXh0cmFMYXJnZSA9ICdleHRyYS1sYXJnZSdcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHdpZHRoPzogJ2V4dHJhLXNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZXh0cmEtbGFyZ2UnID0gRGlhbG9nV2lkdGguRXh0cmFTbWFsbDtcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNob3dDbG9zZT86IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NsYXNzJykgZXh0ZXJuYWxDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgaXNDbG9zaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGRpYWxvZ1JlZjogRGlhbG9nUmVmLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgY2xhc3NlcygpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgY29uc3QgY2xhc3NlczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7XG4gICAgICBbYGRpYWxvZy13aWR0aC0ke3RoaXMud2lkdGh9YF06IHRydWUsXG4gICAgICAnZGlhbG9nLWNsb3NpbmcnOiB0aGlzLmlzQ2xvc2luZyxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxDbGFzc2VzKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZXh0ZXJuYWxDbGFzc2VzID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmV4dGVybmFsQ2xhc3Nlcy5zcGxpdCgnICcpLmZvckVhY2goKGNsczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGNscy50cmltKCkpIHtcbiAgICAgICAgICAgIGNsYXNzZXNbY2xzLnRyaW0oKV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leHRlcm5hbENsYXNzZXMpKSB7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxDbGFzc2VzLmZvckVhY2goKGNsczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGNscy50cmltKCkpIHtcbiAgICAgICAgICAgIGNsYXNzZXNbY2xzLnRyaW0oKV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKGNsYXNzZXMsIHRoaXMuZXh0ZXJuYWxDbGFzc2VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zZUJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlV2l0aEFuaW1hdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZVdpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDbG9zaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0Nsb3NpbmcgPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfSwgMzAwKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3LWRpYWxvZ1wiPlxuICA8ZnctaWNvbi1idXR0b25cbiAgICAqbmdJZj1cInNob3dDbG9zZVwiXG4gICAgdGFiaW5kZXg9XCItMVwiIGljb249XCJjbG9zZVwiIGNvbG9yPVwic2xhdGVcIlxuICAgIChjbGljayk9XCJoYW5kbGVDbG9zZUJ1dHRvbigpXCI+XG4gIDwvZnctaWNvbi1idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctZGlhbG9nLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXRpdGxlXCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGZ3LWljb24gKm5nSWY9XCJpY29uXCIgW2NvbG9yXT1cImljb25Db2xvclwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgICA8aDMgY2xhc3M9XCJ2aXNpb24taDNcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWJvZHlcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1kaWFsb2ctY29udGVudFwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWRpYWxvZy1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -19,9 +19,42 @@ export class FwDialogService extends Dialog {
19
19
  const defaultSettings = {
20
20
  backdropClass: 'vision-overlay',
21
21
  positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),
22
+ disableClose: true, // Disable default backdrop close to handle it manually
22
23
  };
23
24
  config = { ...config, ...defaultSettings };
24
- return super.open(component, config);
25
+ const dialogRef = super.open(component, config);
26
+ // Handle backdrop clicks with animation
27
+ if (dialogRef.overlayRef.backdropElement) {
28
+ dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {
29
+ evt.stopPropagation();
30
+ this.closeWithAnimation(dialogRef);
31
+ });
32
+ }
33
+ // Handle ESC key with animation
34
+ dialogRef.overlayRef.keydownEvents().subscribe(event => {
35
+ if (event.key === 'Escape') {
36
+ this.closeWithAnimation(dialogRef);
37
+ }
38
+ });
39
+ return dialogRef;
40
+ }
41
+ closeWithAnimation(dialogRef) {
42
+ const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');
43
+ if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {
44
+ if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {
45
+ // For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element
46
+ const innerDialog = dialogElement.querySelector('fw-dialog');
47
+ if (innerDialog) {
48
+ innerDialog.classList.add('dialog-closing');
49
+ }
50
+ }
51
+ else {
52
+ dialogElement.classList.add('dialog-closing');
53
+ }
54
+ setTimeout(() => {
55
+ dialogRef.close();
56
+ }, 300);
57
+ }
25
58
  }
26
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i0.Injector }, { token: DEFAULT_DIALOG_CONFIG, optional: true }, { token: i1.OverlayContainer }, { token: DIALOG_SCROLL_STRATEGY }, { token: i2.Dialog, optional: true, skipSelf: true }, { token: i2.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
60
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwDialogService, providedIn: 'root' }); }
@@ -46,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
46
79
  }] }, { type: i2.DialogRef, decorators: [{
47
80
  type: Optional
48
81
  }] }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFFckgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUtqRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBQ3pDLFlBQW9CLE9BQWdCLEVBQ3hCLFNBQW1CLEVBQ1osUUFBa0IsRUFDa0IsYUFBMkIsRUFDL0Qsb0JBQXNDLEVBQ2IsY0FBbUIsRUFDM0IsYUFBcUIsRUFDMUIsU0FBeUI7UUFDdEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVI1RSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFrQjtRQUcxQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtJQUV4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUksU0FBMkIsRUFBRSxNQUFxQixFQUFFLFNBQWtCO1FBQ2xGLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixFQUFFO1NBQzVHLENBQUM7UUFFRixNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQzNDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdkMsQ0FBQzsrR0F4QlUsZUFBZSx5RkFJTSxxQkFBcUIsNkRBRWpDLHNCQUFzQjttSEFOL0IsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRXhDLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBERUZBVUxUX0RJQUxPR19DT05GSUcsIERpYWxvZywgRElBTE9HX1NDUk9MTF9TVFJBVEVHWSwgRGlhbG9nQ29uZmlnLCBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZ3RGlhbG9nU2VydmljZSBleHRlbmRzIERpYWxvZyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChERUZBVUxUX0RJQUxPR19DT05GSUcpIF9kaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgcHVibGljIF9vdmVybGF5Q29udGFpbmVyUmVmOiBPdmVybGF5Q29udGFpbmVyLFxuICAgICAgICAgICAgICBASW5qZWN0KERJQUxPR19TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5OiBhbnksXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIF9wYXJlbnREaWFsb2c6IERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4pIHtcbiAgICBzdXBlcihvdmVybGF5LCBfaW5qZWN0b3IsIF9kaWFsb2dDb25maWcsIF9wYXJlbnREaWFsb2csIF9vdmVybGF5Q29udGFpbmVyUmVmLCBzY3JvbGxTdHJhdGVneSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBhIGN1c3RvbSBjb21wb25lbnQgaW4gYW4gb3ZlcmxheSBhbmQgcG9zaXRpb25lZCBuZWFyIHRoZSB0b3BcbiAgICovXG4gIG9wZW5EaWFsb2c8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc/OiBEaWFsb2dDb25maWcsIHRvcE9mZnNldD86IHN0cmluZyk6IERpYWxvZ1JlZjx1bmtub3duLCBhbnk+IHtcbiAgICBjb25zdCBkZWZhdWx0U2V0dGluZ3MgPSB7XG4gICAgICBiYWNrZHJvcENsYXNzOiAndmlzaW9uLW92ZXJsYXknLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkudG9wKHRvcE9mZnNldCA/IHRvcE9mZnNldCA6ICcxMHZoJykuY2VudGVySG9yaXpvbnRhbGx5KCksXG4gICAgfTtcblxuICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5kZWZhdWx0U2V0dGluZ3MgfTtcbiAgICByZXR1cm4gc3VwZXIub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG5cbiAgfVxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFFckgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUtqRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBQ3pDLFlBQW9CLE9BQWdCLEVBQ3hCLFNBQW1CLEVBQ1osUUFBa0IsRUFDa0IsYUFBMkIsRUFDL0Qsb0JBQXNDLEVBQ2IsY0FBbUIsRUFDM0IsYUFBcUIsRUFDMUIsU0FBeUI7UUFDdEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVI1RSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFrQjtRQUcxQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtJQUV4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUksU0FBMkIsRUFBRSxNQUFxQixFQUFFLFNBQWtCO1FBQ2xGLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixFQUFFO1lBQzNHLFlBQVksRUFBRSxJQUFJLEVBQUUsdURBQXVEO1NBQzVFLENBQUM7UUFFRixNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWhELHdDQUF3QztRQUN4QyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFNBQXlCO1FBQ2xELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBRTNILElBQUksYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3pFLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDeEQsNkZBQTZGO2dCQUM3RixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNoQixXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDOytHQTdEVSxlQUFlLHlGQUlNLHFCQUFxQiw2REFFakMsc0JBQXNCO21IQU4vQixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFFeEMsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IERFRkFVTFRfRElBTE9HX0NPTkZJRywgRGlhbG9nLCBESUFMT0dfU0NST0xMX1NUUkFURUdZLCBEaWFsb2dDb25maWcsIERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgT3ZlcmxheSwgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRndEaWFsb2dTZXJ2aWNlIGV4dGVuZHMgRGlhbG9nIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERFRkFVTFRfRElBTE9HX0NPTkZJRykgX2RpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICBwdWJsaWMgX292ZXJsYXlDb250YWluZXJSZWY6IE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgICAgICAgIEBJbmplY3QoRElBTE9HX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueSxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgX3BhcmVudERpYWxvZzogRGlhbG9nLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pikge1xuICAgIHN1cGVyKG92ZXJsYXksIF9pbmplY3RvciwgX2RpYWxvZ0NvbmZpZywgX3BhcmVudERpYWxvZywgX292ZXJsYXlDb250YWluZXJSZWYsIHNjcm9sbFN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIGEgY3VzdG9tIGNvbXBvbmVudCBpbiBhbiBvdmVybGF5IGFuZCBwb3NpdGlvbmVkIG5lYXIgdGhlIHRvcFxuICAgKi9cbiAgb3BlbkRpYWxvZzxUPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZz86IERpYWxvZ0NvbmZpZywgdG9wT2Zmc2V0Pzogc3RyaW5nKTogRGlhbG9nUmVmPHVua25vd24sIGFueT4ge1xuICAgIGNvbnN0IGRlZmF1bHRTZXR0aW5ncyA9IHtcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICd2aXNpb24tb3ZlcmxheScsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS50b3AodG9wT2Zmc2V0ID8gdG9wT2Zmc2V0IDogJzEwdmgnKS5jZW50ZXJIb3Jpem9udGFsbHkoKSxcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSwgLy8gRGlzYWJsZSBkZWZhdWx0IGJhY2tkcm9wIGNsb3NlIHRvIGhhbmRsZSBpdCBtYW51YWxseVxuICAgIH07XG5cbiAgICBjb25maWcgPSB7IC4uLmNvbmZpZywgLi4uZGVmYXVsdFNldHRpbmdzIH07XG4gICAgY29uc3QgZGlhbG9nUmVmID0gc3VwZXIub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG5cbiAgICAvLyBIYW5kbGUgYmFja2Ryb3AgY2xpY2tzIHdpdGggYW5pbWF0aW9uXG4gICAgaWYgKGRpYWxvZ1JlZi5vdmVybGF5UmVmLmJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZXZ0ID0+IHtcbiAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlV2l0aEFuaW1hdGlvbihkaWFsb2dSZWYpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIEVTQyBrZXkgd2l0aCBhbmltYXRpb25cbiAgICBkaWFsb2dSZWYub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuY2xvc2VXaXRoQW5pbWF0aW9uKGRpYWxvZ1JlZik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZVdpdGhBbmltYXRpb24oZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQgPSBkaWFsb2dSZWYub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignZnctZGlhbG9nLCBmdy1kaWFsb2ctY29uZmlybSwgZnctZGlhbG9nLXNpbXBsZScpO1xuXG4gICAgaWYgKGRpYWxvZ0VsZW1lbnQgJiYgIWRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaWFsb2ctY2xvc2luZycpKSB7XG4gICAgICBpZiAoZGlhbG9nRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdmdy1kaWFsb2cnKSB7XG4gICAgICAgIC8vIEZvciBmdy1kaWFsb2ctY29uZmlybSBhbmQgZnctZGlhbG9nLXNpbXBsZSwgYXBwbHkgdGhlIGNsYXNzIHRvIHRoZSBpbm5lciBmdy1kaWFsb2cgZWxlbWVudFxuICAgICAgICBjb25zdCBpbm5lckRpYWxvZyA9IGRpYWxvZ0VsZW1lbnQucXVlcnlTZWxlY3RvcignZnctZGlhbG9nJyk7XG4gICAgICAgIGlmIChpbm5lckRpYWxvZykge1xuICAgICAgICAgIGlubmVyRGlhbG9nLmNsYXNzTGlzdC5hZGQoJ2RpYWxvZy1jbG9zaW5nJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGlhbG9nLWNsb3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==