ngx-form-draft 2.2.11 → 2.2.13

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.
@@ -1,84 +1,84 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class FormDraftBannerComponent {
5
- constructor() {
6
- this.visible = false;
7
- this.timeLabel = '';
8
- this.isRestored = false;
9
- this.restoredText = 'Draft restored';
10
- this.savedText = 'Draft saved';
11
- this.savedLabel = 'saved';
12
- this.discardText = 'Discard';
13
- this.discard = new EventEmitter();
14
- }
15
- }
16
- FormDraftBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- FormDraftBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormDraftBannerComponent, selector: "ngx-form-draft-banner", inputs: { visible: "visible", timeLabel: "timeLabel", isRestored: "isRestored", restoredText: "restoredText", savedText: "savedText", savedLabel: "savedLabel", discardText: "discardText" }, outputs: { discard: "discard" }, ngImport: i0, template: `
18
- <div class="form-draft-banner" *ngIf="visible">
19
- <div class="form-draft-banner__icon">
20
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
21
- <path d="M12 8V12L14.5 14.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
22
- <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2"/>
23
- </svg>
24
- </div>
25
- <div class="form-draft-banner__content">
26
- <span class="form-draft-banner__text">
27
- <span *ngIf="isRestored">{{ restoredText }}</span>
28
- <span *ngIf="!isRestored">{{ savedText }}</span>
29
- <span class="form-draft-banner__time" *ngIf="timeLabel && isRestored">
30
- &middot; {{ savedLabel }} {{ timeLabel }}
31
- </span>
32
- </span>
33
- </div>
34
- <div class="form-draft-banner__actions">
35
- <button class="form-draft-banner__btn form-draft-banner__btn--discard" (click)="discard.emit()" type="button">
36
- ✕ {{ discardText }}
37
- </button>
38
- </div>
39
- </div>
40
- `, isInline: true, styles: [":host{display:block;width:100%}.form-draft-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:linear-gradient(135deg,#eef6ff 0%,#f0f4ff 100%);border:1px solid #c5ddf8;box-shadow:0 2px 8px #128ad614;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-draft-banner__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#128ad6,#22b9ff);color:#fff;flex-shrink:0}.form-draft-banner__content{flex:1;min-width:0}.form-draft-banner__text{font-size:13px;font-weight:600;color:#1a3a5c}.form-draft-banner__time{font-weight:400;color:#6b8aaa;font-size:12px}.form-draft-banner__actions{flex-shrink:0}.form-draft-banner__btn{border:none;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-draft-banner__btn--discard{background:transparent;color:#8899a6;border:1px solid #d0dce6}.form-draft-banner__btn--discard:hover{background:#fef2f2;color:#e62e43;border-color:#e62e43}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftBannerComponent, decorators: [{
42
- type: Component,
43
- args: [{ selector: 'ngx-form-draft-banner', template: `
44
- <div class="form-draft-banner" *ngIf="visible">
45
- <div class="form-draft-banner__icon">
46
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
47
- <path d="M12 8V12L14.5 14.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
48
- <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2"/>
49
- </svg>
50
- </div>
51
- <div class="form-draft-banner__content">
52
- <span class="form-draft-banner__text">
53
- <span *ngIf="isRestored">{{ restoredText }}</span>
54
- <span *ngIf="!isRestored">{{ savedText }}</span>
55
- <span class="form-draft-banner__time" *ngIf="timeLabel && isRestored">
56
- &middot; {{ savedLabel }} {{ timeLabel }}
57
- </span>
58
- </span>
59
- </div>
60
- <div class="form-draft-banner__actions">
61
- <button class="form-draft-banner__btn form-draft-banner__btn--discard" (click)="discard.emit()" type="button">
62
- ✕ {{ discardText }}
63
- </button>
64
- </div>
65
- </div>
66
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%}.form-draft-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:linear-gradient(135deg,#eef6ff 0%,#f0f4ff 100%);border:1px solid #c5ddf8;box-shadow:0 2px 8px #128ad614;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-draft-banner__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#128ad6,#22b9ff);color:#fff;flex-shrink:0}.form-draft-banner__content{flex:1;min-width:0}.form-draft-banner__text{font-size:13px;font-weight:600;color:#1a3a5c}.form-draft-banner__time{font-weight:400;color:#6b8aaa;font-size:12px}.form-draft-banner__actions{flex-shrink:0}.form-draft-banner__btn{border:none;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-draft-banner__btn--discard{background:transparent;color:#8899a6;border:1px solid #d0dce6}.form-draft-banner__btn--discard:hover{background:#fef2f2;color:#e62e43;border-color:#e62e43}\n"] }]
67
- }], propDecorators: { visible: [{
68
- type: Input
69
- }], timeLabel: [{
70
- type: Input
71
- }], isRestored: [{
72
- type: Input
73
- }], restoredText: [{
74
- type: Input
75
- }], savedText: [{
76
- type: Input
77
- }], savedLabel: [{
78
- type: Input
79
- }], discardText: [{
80
- type: Input
81
- }], discard: [{
82
- type: Output
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcmFmdC1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm0tZHJhZnQtYmFubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF5RGhHLE1BQU0sT0FBTyx3QkFBd0I7SUF2RHJDO1FBd0RXLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNoQyxjQUFTLEdBQUcsYUFBYSxDQUFDO1FBQzFCLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDdkIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FDOUM7O3FIQVRZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDRSQXJEekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUOzJGQThCVSx3QkFBd0I7a0JBdkRwQyxTQUFTOytCQUNFLHVCQUF1QixZQUN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQsbUJBNEJnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZ3gtZm9ybS1kcmFmdC1iYW5uZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJcIiAqbmdJZj1cInZpc2libGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZHJhZnQtYmFubmVyX19pY29uXCI+XHJcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTEyIDhWMTJMMTQuNSAxNC41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX2NvbnRlbnRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tZHJhZnQtYmFubmVyX190ZXh0XCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVzdG9yZWRcIj57eyByZXN0b3JlZFRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1Jlc3RvcmVkXCI+e3sgc2F2ZWRUZXh0IH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWRyYWZ0LWJhbm5lcl9fdGltZVwiICpuZ0lmPVwidGltZUxhYmVsICYmIGlzUmVzdG9yZWRcIj5cclxuICAgICAgICAgICAgJm1pZGRvdDsge3sgc2F2ZWRMYWJlbCB9fSB7eyB0aW1lTGFiZWwgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX2FjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX2J0biBmb3JtLWRyYWZ0LWJhbm5lcl9fYnRuLS1kaXNjYXJkXCIgKGNsaWNrKT1cImRpc2NhcmQuZW1pdCgpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAg4pyVIHt7IGRpc2NhcmRUZXh0IH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICA6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLmZvcm0tZHJhZnQtYmFubmVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiAxMHB4IDE0cHg7IG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VlZjZmZiAwJSwgI2YwZjRmZiAxMDAlKTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M1ZGRmODsgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTgsIDEzOCwgMjE0LCAwLjA4KTtcclxuICAgICAgYW5pbWF0aW9uOiBzbGlkZURvd24gMjUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVEb3duIHtcclxuICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxyXG4gICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgfVxyXG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX19pY29uIHtcclxuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzEyOGFkNiwgIzIyYjlmZik7IGNvbG9yOiAjZmZmOyBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fY29udGVudCB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxyXG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX190ZXh0IHsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzFhM2E1YzsgfVxyXG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX190aW1lIHsgZm9udC13ZWlnaHQ6IDQwMDsgY29sb3I6ICM2YjhhYWE7IGZvbnQtc2l6ZTogMTJweDsgfVxyXG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX19hY3Rpb25zIHsgZmxleC1zaHJpbms6IDA7IH1cclxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fYnRuIHtcclxuICAgICAgYm9yZGVyOiBub25lOyBwYWRkaW5nOiA1cHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgIH1cclxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fYnRuLS1kaXNjYXJkIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiAjODg5OWE2OyBib3JkZXI6IDFweCBzb2xpZCAjZDBkY2U2OyB9XHJcbiAgICAuZm9ybS1kcmFmdC1iYW5uZXJfX2J0bi0tZGlzY2FyZDpob3ZlciB7IGJhY2tncm91bmQ6ICNmZWYyZjI7IGNvbG9yOiAjZTYyZTQzOyBib3JkZXItY29sb3I6ICNlNjJlNDM7IH1cclxuICBgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EcmFmdEJhbm5lckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpbWVMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzUmVzdG9yZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSByZXN0b3JlZFRleHQgPSAnRHJhZnQgcmVzdG9yZWQnO1xyXG4gIEBJbnB1dCgpIHNhdmVkVGV4dCA9ICdEcmFmdCBzYXZlZCc7XHJcbiAgQElucHV0KCkgc2F2ZWRMYWJlbCA9ICdzYXZlZCc7XHJcbiAgQElucHV0KCkgZGlzY2FyZFRleHQgPSAnRGlzY2FyZCc7XHJcbiAgQE91dHB1dCgpIGRpc2NhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbn1cclxuIl19
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class FormDraftBannerComponent {
5
+ constructor() {
6
+ this.visible = false;
7
+ this.timeLabel = '';
8
+ this.isRestored = false;
9
+ this.restoredText = 'Draft restored';
10
+ this.savedText = 'Draft saved';
11
+ this.savedLabel = 'saved';
12
+ this.discardText = 'Discard';
13
+ this.discard = new EventEmitter();
14
+ }
15
+ }
16
+ FormDraftBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ FormDraftBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormDraftBannerComponent, selector: "ngx-form-draft-banner", inputs: { visible: "visible", timeLabel: "timeLabel", isRestored: "isRestored", restoredText: "restoredText", savedText: "savedText", savedLabel: "savedLabel", discardText: "discardText" }, outputs: { discard: "discard" }, ngImport: i0, template: `
18
+ <div class="form-draft-banner" *ngIf="visible">
19
+ <div class="form-draft-banner__icon">
20
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
21
+ <path d="M12 8V12L14.5 14.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
22
+ <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2"/>
23
+ </svg>
24
+ </div>
25
+ <div class="form-draft-banner__content">
26
+ <span class="form-draft-banner__text">
27
+ <span *ngIf="isRestored">{{ restoredText }}</span>
28
+ <span *ngIf="!isRestored">{{ savedText }}</span>
29
+ <span class="form-draft-banner__time" *ngIf="timeLabel && isRestored">
30
+ &middot; {{ savedLabel }} {{ timeLabel }}
31
+ </span>
32
+ </span>
33
+ </div>
34
+ <div class="form-draft-banner__actions">
35
+ <button class="form-draft-banner__btn form-draft-banner__btn--discard" (click)="discard.emit()" type="button">
36
+ ✕ {{ discardText }}
37
+ </button>
38
+ </div>
39
+ </div>
40
+ `, isInline: true, styles: [":host{display:block;width:100%}.form-draft-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:linear-gradient(135deg,#eef6ff 0%,#f0f4ff 100%);border:1px solid #c5ddf8;box-shadow:0 2px 8px #128ad614;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-draft-banner__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#128ad6,#22b9ff);color:#fff;flex-shrink:0}.form-draft-banner__content{flex:1;min-width:0}.form-draft-banner__text{font-size:13px;font-weight:600;color:#1a3a5c}.form-draft-banner__time{font-weight:400;color:#6b8aaa;font-size:12px}.form-draft-banner__actions{flex-shrink:0}.form-draft-banner__btn{border:none;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-draft-banner__btn--discard{background:transparent;color:#8899a6;border:1px solid #d0dce6}.form-draft-banner__btn--discard:hover{background:#fef2f2;color:#e62e43;border-color:#e62e43}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormDraftBannerComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'ngx-form-draft-banner', template: `
44
+ <div class="form-draft-banner" *ngIf="visible">
45
+ <div class="form-draft-banner__icon">
46
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
47
+ <path d="M12 8V12L14.5 14.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
48
+ <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="2"/>
49
+ </svg>
50
+ </div>
51
+ <div class="form-draft-banner__content">
52
+ <span class="form-draft-banner__text">
53
+ <span *ngIf="isRestored">{{ restoredText }}</span>
54
+ <span *ngIf="!isRestored">{{ savedText }}</span>
55
+ <span class="form-draft-banner__time" *ngIf="timeLabel && isRestored">
56
+ &middot; {{ savedLabel }} {{ timeLabel }}
57
+ </span>
58
+ </span>
59
+ </div>
60
+ <div class="form-draft-banner__actions">
61
+ <button class="form-draft-banner__btn form-draft-banner__btn--discard" (click)="discard.emit()" type="button">
62
+ ✕ {{ discardText }}
63
+ </button>
64
+ </div>
65
+ </div>
66
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%}.form-draft-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:linear-gradient(135deg,#eef6ff 0%,#f0f4ff 100%);border:1px solid #c5ddf8;box-shadow:0 2px 8px #128ad614;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-draft-banner__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#128ad6,#22b9ff);color:#fff;flex-shrink:0}.form-draft-banner__content{flex:1;min-width:0}.form-draft-banner__text{font-size:13px;font-weight:600;color:#1a3a5c}.form-draft-banner__time{font-weight:400;color:#6b8aaa;font-size:12px}.form-draft-banner__actions{flex-shrink:0}.form-draft-banner__btn{border:none;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-draft-banner__btn--discard{background:transparent;color:#8899a6;border:1px solid #d0dce6}.form-draft-banner__btn--discard:hover{background:#fef2f2;color:#e62e43;border-color:#e62e43}\n"] }]
67
+ }], propDecorators: { visible: [{
68
+ type: Input
69
+ }], timeLabel: [{
70
+ type: Input
71
+ }], isRestored: [{
72
+ type: Input
73
+ }], restoredText: [{
74
+ type: Input
75
+ }], savedText: [{
76
+ type: Input
77
+ }], savedLabel: [{
78
+ type: Input
79
+ }], discardText: [{
80
+ type: Input
81
+ }], discard: [{
82
+ type: Output
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcmFmdC1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm0tZHJhZnQtYmFubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF5RGhHLE1BQU0sT0FBTyx3QkFBd0I7SUF2RHJDO1FBd0RXLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNoQyxjQUFTLEdBQUcsYUFBYSxDQUFDO1FBQzFCLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDdkIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FDOUM7O3FIQVRZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDRSQXJEekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUOzJGQThCVSx3QkFBd0I7a0JBdkRwQyxTQUFTOytCQUNFLHVCQUF1QixZQUN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQsbUJBNEJnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtZm9ybS1kcmFmdC1iYW5uZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWRyYWZ0LWJhbm5lclwiICpuZ0lmPVwidmlzaWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZHJhZnQtYmFubmVyX19pY29uXCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTIgOFYxMkwxNC41IDE0LjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIi8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWRyYWZ0LWJhbm5lcl9fdGV4dFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNSZXN0b3JlZFwiPnt7IHJlc3RvcmVkVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1Jlc3RvcmVkXCI+e3sgc2F2ZWRUZXh0IH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX3RpbWVcIiAqbmdJZj1cInRpbWVMYWJlbCAmJiBpc1Jlc3RvcmVkXCI+XG4gICAgICAgICAgICAmbWlkZG90OyB7eyBzYXZlZExhYmVsIH19IHt7IHRpbWVMYWJlbCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1kcmFmdC1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZvcm0tZHJhZnQtYmFubmVyX19idG4gZm9ybS1kcmFmdC1iYW5uZXJfX2J0bi0tZGlzY2FyZFwiIChjbGljayk9XCJkaXNjYXJkLmVtaXQoKVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICDinJUge3sgZGlzY2FyZFRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyB9XG4gICAgLmZvcm0tZHJhZnQtYmFubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgcGFkZGluZzogMTBweCAxNHB4OyBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWVmNmZmIDAlLCAjZjBmNGZmIDEwMCUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M1ZGRmODsgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTgsIDEzOCwgMjE0LCAwLjA4KTtcbiAgICAgIGFuaW1hdGlvbjogc2xpZGVEb3duIDI1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cbiAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgfVxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzEyOGFkNiwgIzIyYjlmZik7IGNvbG9yOiAjZmZmOyBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX19jb250ZW50IHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG4gICAgLmZvcm0tZHJhZnQtYmFubmVyX190ZXh0IHsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzFhM2E1YzsgfVxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fdGltZSB7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAjNmI4YWFhOyBmb250LXNpemU6IDEycHg7IH1cbiAgICAuZm9ybS1kcmFmdC1iYW5uZXJfX2FjdGlvbnMgeyBmbGV4LXNocmluazogMDsgfVxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fYnRuIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgcGFkZGluZzogNXB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDZweDsgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cbiAgICAuZm9ybS1kcmFmdC1iYW5uZXJfX2J0bi0tZGlzY2FyZCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogIzg4OTlhNjsgYm9yZGVyOiAxcHggc29saWQgI2QwZGNlNjsgfVxuICAgIC5mb3JtLWRyYWZ0LWJhbm5lcl9fYnRuLS1kaXNjYXJkOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZlZjJmMjsgY29sb3I6ICNlNjJlNDM7IGJvcmRlci1jb2xvcjogI2U2MmU0MzsgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1EcmFmdEJhbm5lckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGltZUxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGlzUmVzdG9yZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVzdG9yZWRUZXh0ID0gJ0RyYWZ0IHJlc3RvcmVkJztcbiAgQElucHV0KCkgc2F2ZWRUZXh0ID0gJ0RyYWZ0IHNhdmVkJztcbiAgQElucHV0KCkgc2F2ZWRMYWJlbCA9ICdzYXZlZCc7XG4gIEBJbnB1dCgpIGRpc2NhcmRUZXh0ID0gJ0Rpc2NhcmQnO1xuICBAT3V0cHV0KCkgZGlzY2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbn1cbiJdfQ==