@memberjunction/ng-dashboard-viewer 6.2.0-edge.0 → 6.2.0-edge.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/lib/config-dialogs/confirm-dialog.component.d.ts +58 -8
  2. package/dist/lib/config-dialogs/confirm-dialog.component.d.ts.map +1 -1
  3. package/dist/lib/config-dialogs/confirm-dialog.component.js +119 -17
  4. package/dist/lib/config-dialogs/confirm-dialog.component.js.map +1 -1
  5. package/dist/lib/config-panels/artifact-config-panel.component.d.ts +63 -11
  6. package/dist/lib/config-panels/artifact-config-panel.component.d.ts.map +1 -1
  7. package/dist/lib/config-panels/artifact-config-panel.component.js +152 -48
  8. package/dist/lib/config-panels/artifact-config-panel.component.js.map +1 -1
  9. package/dist/lib/config-panels/query-config-panel.component.d.ts +57 -9
  10. package/dist/lib/config-panels/query-config-panel.component.d.ts.map +1 -1
  11. package/dist/lib/config-panels/query-config-panel.component.js +142 -46
  12. package/dist/lib/config-panels/query-config-panel.component.js.map +1 -1
  13. package/dist/lib/config-panels/view-config-panel.component.d.ts +69 -11
  14. package/dist/lib/config-panels/view-config-panel.component.d.ts.map +1 -1
  15. package/dist/lib/config-panels/view-config-panel.component.js +165 -49
  16. package/dist/lib/config-panels/view-config-panel.component.js.map +1 -1
  17. package/dist/lib/config-panels/weburl-config-panel.component.d.ts +42 -6
  18. package/dist/lib/config-panels/weburl-config-panel.component.d.ts.map +1 -1
  19. package/dist/lib/config-panels/weburl-config-panel.component.js +113 -41
  20. package/dist/lib/config-panels/weburl-config-panel.component.js.map +1 -1
  21. package/dist/lib/dashboard-browser/dashboard-browser.component.d.ts.map +1 -1
  22. package/dist/lib/dashboard-browser/dashboard-browser.component.js +7 -4
  23. package/dist/lib/dashboard-browser/dashboard-browser.component.js.map +1 -1
  24. package/dist/lib/dashboard-viewer/dashboard-viewer.component.d.ts +163 -12
  25. package/dist/lib/dashboard-viewer/dashboard-viewer.component.d.ts.map +1 -1
  26. package/dist/lib/dashboard-viewer/dashboard-viewer.component.js +332 -78
  27. package/dist/lib/dashboard-viewer/dashboard-viewer.component.js.map +1 -1
  28. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.d.ts +63 -9
  29. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.d.ts.map +1 -1
  30. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js +172 -66
  31. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js.map +1 -1
  32. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.d.ts +11 -1
  33. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.d.ts.map +1 -1
  34. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js +30 -10
  35. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js.map +1 -1
  36. package/dist/lib/models/dashboard-types.d.ts +8 -0
  37. package/dist/lib/models/dashboard-types.d.ts.map +1 -1
  38. package/dist/lib/models/dashboard-types.js +21 -5
  39. package/dist/lib/models/dashboard-types.js.map +1 -1
  40. package/dist/lib/parts/artifact-part.component.d.ts +63 -7
  41. package/dist/lib/parts/artifact-part.component.d.ts.map +1 -1
  42. package/dist/lib/parts/artifact-part.component.js +98 -22
  43. package/dist/lib/parts/artifact-part.component.js.map +1 -1
  44. package/dist/lib/parts/query-part.component.d.ts +26 -4
  45. package/dist/lib/parts/query-part.component.d.ts.map +1 -1
  46. package/dist/lib/parts/query-part.component.js +62 -18
  47. package/dist/lib/parts/query-part.component.js.map +1 -1
  48. package/dist/lib/parts/view-part.component.d.ts +21 -3
  49. package/dist/lib/parts/view-part.component.d.ts.map +1 -1
  50. package/dist/lib/parts/view-part.component.js +55 -19
  51. package/dist/lib/parts/view-part.component.js.map +1 -1
  52. package/dist/lib/parts/weburl-part.component.d.ts +29 -5
  53. package/dist/lib/parts/weburl-part.component.d.ts.map +1 -1
  54. package/dist/lib/parts/weburl-part.component.js +63 -15
  55. package/dist/lib/parts/weburl-part.component.js.map +1 -1
  56. package/dist/lib/services/golden-layout-wrapper.service.d.ts +65 -5
  57. package/dist/lib/services/golden-layout-wrapper.service.d.ts.map +1 -1
  58. package/dist/lib/services/golden-layout-wrapper.service.js +135 -27
  59. package/dist/lib/services/golden-layout-wrapper.service.js.map +1 -1
  60. package/package.json +13 -13
@@ -10,28 +10,78 @@ export type ConfirmDialogType = 'warning' | 'danger' | 'info';
10
10
  export declare class ConfirmDialogComponent {
11
11
  private cdr;
12
12
  /** Whether the dialog is visible */
13
- visible: boolean;
13
+ Visible: boolean;
14
+ /** @deprecated Use {@link Visible}. */
15
+ set visible(value: ConfirmDialogComponent['Visible']);
16
+ /** @deprecated Use {@link Visible}. */
17
+ get visible(): ConfirmDialogComponent['Visible'];
14
18
  /** Dialog type (affects icon and button styling) */
15
- type: ConfirmDialogType;
19
+ Type: ConfirmDialogType;
20
+ /** @deprecated Use {@link Type}. */
21
+ set type(value: ConfirmDialogType);
22
+ /** @deprecated Use {@link Type}. */
23
+ get type(): ConfirmDialogType;
16
24
  /** Dialog title */
17
- title: string;
25
+ Title: string;
26
+ /** @deprecated Use {@link Title}. */
27
+ set title(value: ConfirmDialogComponent['Title']);
28
+ /** @deprecated Use {@link Title}. */
29
+ get title(): ConfirmDialogComponent['Title'];
18
30
  /** Dialog message */
19
- message: string;
31
+ Message: string;
32
+ /** @deprecated Use {@link Message}. */
33
+ set message(value: ConfirmDialogComponent['Message']);
34
+ /** @deprecated Use {@link Message}. */
35
+ get message(): ConfirmDialogComponent['Message'];
20
36
  /** Confirm button text */
21
- confirmText: string;
37
+ ConfirmText: string;
38
+ /** @deprecated Use {@link ConfirmText}. */
39
+ set confirmText(value: ConfirmDialogComponent['ConfirmText']);
40
+ /** @deprecated Use {@link ConfirmText}. */
41
+ get confirmText(): ConfirmDialogComponent['ConfirmText'];
22
42
  /** Cancel button text */
23
- cancelText: string;
43
+ CancelText: string;
44
+ /** @deprecated Use {@link CancelText}. */
45
+ set cancelText(value: ConfirmDialogComponent['CancelText']);
46
+ /** @deprecated Use {@link CancelText}. */
47
+ get cancelText(): ConfirmDialogComponent['CancelText'];
24
48
  /** Custom icon class (optional, uses default based on type if not provided) */
25
- icon: string;
49
+ Icon: string;
50
+ /** @deprecated Use {@link Icon}. */
51
+ set icon(value: ConfirmDialogComponent['Icon']);
52
+ /** @deprecated Use {@link Icon}. */
53
+ get icon(): ConfirmDialogComponent['Icon'];
26
54
  /** Emitted when user confirms */
55
+ Confirmed: EventEmitter<void>;
56
+ /**
57
+ * @deprecated Use {@link Confirmed}.
58
+ *
59
+ * The same emitter under the old binding name, so a template still binding
60
+ * (confirmed) keeps working. Must stay AFTER Confirmed: class fields
61
+ * initialise in order, and the other way round this captures undefined.
62
+ */
27
63
  confirmed: EventEmitter<void>;
28
64
  /** Emitted when user cancels */
65
+ Cancelled: EventEmitter<void>;
66
+ /**
67
+ * @deprecated Use {@link Cancelled}.
68
+ *
69
+ * The same emitter under the old binding name, so a template still binding
70
+ * (cancelled) keeps working. Must stay AFTER Cancelled: class fields
71
+ * initialise in order, and the other way round this captures undefined.
72
+ */
29
73
  cancelled: EventEmitter<void>;
30
74
  constructor(cdr: ChangeDetectorRef);
75
+ GetIcon(): string;
76
+ /** @deprecated Use {@link GetIcon}. */
31
77
  getIcon(): string;
78
+ Confirm(): void;
79
+ /** @deprecated Use {@link Confirm}. */
32
80
  confirm(): void;
81
+ Cancel(): void;
82
+ /** @deprecated Use {@link Cancel}. */
33
83
  cancel(): void;
34
84
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDialogComponent, "mj-confirm-dialog", never, { "visible": { "alias": "visible"; "required": false; }; "type": { "alias": "type"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, false, never>;
85
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDialogComponent, "mj-confirm-dialog", never, { "Visible": { "alias": "Visible"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "Type": { "alias": "Type"; "required": false; }; "type": { "alias": "type"; "required": false; }; "Title": { "alias": "Title"; "required": false; }; "title": { "alias": "title"; "required": false; }; "Message": { "alias": "Message"; "required": false; }; "message": { "alias": "message"; "required": false; }; "ConfirmText": { "alias": "ConfirmText"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "CancelText": { "alias": "CancelText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "Icon": { "alias": "Icon"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "Confirmed": "Confirmed"; "confirmed": "confirmed"; "Cancelled": "Cancelled"; "cancelled": "cancelled"; }, never, never, false, never>;
36
86
  }
37
87
  //# sourceMappingURL=confirm-dialog.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;;AAE1F;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,qBAMa,sBAAsB;IA4BnB,OAAO,CAAC,GAAG;IA3BvB,oCAAoC;IAC3B,OAAO,UAAS;IAEzB,oDAAoD;IAC3C,IAAI,EAAE,iBAAiB,CAAa;IAE7C,mBAAmB;IACV,KAAK,SAAoB;IAElC,qBAAqB;IACZ,OAAO,SAAuC;IAEvD,0BAA0B;IACjB,WAAW,SAAa;IAEjC,yBAAyB;IAChB,UAAU,SAAY;IAE/B,+EAA+E;IACtE,IAAI,SAAM;IAEnB,iCAAiC;IACvB,SAAS,qBAA4B;IAE/C,gCAAgC;IACtB,SAAS,qBAA4B;gBAE3B,GAAG,EAAE,iBAAiB;IAEnC,OAAO,IAAI,MAAM;IAajB,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;yCA/CZ,sBAAsB;2CAAtB,sBAAsB;CAkDlC"}
1
+ {"version":3,"file":"confirm-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;;AAE1F;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,qBAMa,sBAAsB;IA6GnB,OAAO,CAAC,GAAG;IA5GvB,oCAAoC;IAC3B,OAAO,UAAS;IAEzB,uCAAuC;IACvC,IAAa,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAE5D;IACD,uCAAuC;IACvC,IAAI,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAE/C;IAED,oDAAoD;IAC3C,IAAI,EAAE,iBAAiB,CAAa;IAE7C,oCAAoC;IACpC,IAAa,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAEzC;IACD,oCAAoC;IACpC,IAAI,IAAI,IAAI,iBAAiB,CAE5B;IAED,mBAAmB;IACV,KAAK,SAAoB;IAElC,qCAAqC;IACrC,IAAa,KAAK,CAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAExD;IACD,qCAAqC;IACrC,IAAI,KAAK,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAE3C;IAED,qBAAqB;IACZ,OAAO,SAAuC;IAEvD,uCAAuC;IACvC,IAAa,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAE5D;IACD,uCAAuC;IACvC,IAAI,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAE/C;IAED,0BAA0B;IACjB,WAAW,SAAa;IAEjC,2CAA2C;IAC3C,IAAa,WAAW,CAAC,KAAK,EAAE,sBAAsB,CAAC,aAAa,CAAC,EAEpE;IACD,2CAA2C;IAC3C,IAAI,WAAW,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAEvD;IAED,yBAAyB;IAChB,UAAU,SAAY;IAE/B,0CAA0C;IAC1C,IAAa,UAAU,CAAC,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,EAElE;IACD,0CAA0C;IAC1C,IAAI,UAAU,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAErD;IAED,+EAA+E;IACtE,IAAI,SAAM;IAEnB,oCAAoC;IACpC,IAAa,IAAI,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAEtD;IACD,oCAAoC;IACpC,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAEzC;IAED,iCAAiC;IACvB,SAAS,qBAA4B;IAE/C;;;;;;OAMG;IACO,SAAS,qBAAkB;IAErC,gCAAgC;IACtB,SAAS,qBAA4B;IAE/C;;;;;;OAMG;IACO,SAAS,qBAAkB;gBAEjB,GAAG,EAAE,iBAAiB;IAEnC,OAAO,IAAI,MAAM;IAaxB,uCAAuC;IAChC,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,IAAI;IAItB,uCAAuC;IAChC,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAIrB,sCAAsC;IAC/B,MAAM,IAAI,IAAI;yCA/IZ,sBAAsB;2CAAtB,sBAAsB;CAkJlC"}
@@ -46,30 +46,102 @@ function ConfirmDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
46
46
  export class ConfirmDialogComponent {
47
47
  cdr;
48
48
  /** Whether the dialog is visible */
49
- visible = false;
49
+ Visible = false;
50
+ /** @deprecated Use {@link Visible}. */
51
+ set visible(value) {
52
+ this.Visible = value;
53
+ }
54
+ /** @deprecated Use {@link Visible}. */
55
+ get visible() {
56
+ return this.Visible;
57
+ }
50
58
  /** Dialog type (affects icon and button styling) */
51
- type = 'warning';
59
+ Type = 'warning';
60
+ /** @deprecated Use {@link Type}. */
61
+ set type(value) {
62
+ this.Type = value;
63
+ }
64
+ /** @deprecated Use {@link Type}. */
65
+ get type() {
66
+ return this.Type;
67
+ }
52
68
  /** Dialog title */
53
- title = 'Confirm Action';
69
+ Title = 'Confirm Action';
70
+ /** @deprecated Use {@link Title}. */
71
+ set title(value) {
72
+ this.Title = value;
73
+ }
74
+ /** @deprecated Use {@link Title}. */
75
+ get title() {
76
+ return this.Title;
77
+ }
54
78
  /** Dialog message */
55
- message = 'Are you sure you want to proceed?';
79
+ Message = 'Are you sure you want to proceed?';
80
+ /** @deprecated Use {@link Message}. */
81
+ set message(value) {
82
+ this.Message = value;
83
+ }
84
+ /** @deprecated Use {@link Message}. */
85
+ get message() {
86
+ return this.Message;
87
+ }
56
88
  /** Confirm button text */
57
- confirmText = 'Confirm';
89
+ ConfirmText = 'Confirm';
90
+ /** @deprecated Use {@link ConfirmText}. */
91
+ set confirmText(value) {
92
+ this.ConfirmText = value;
93
+ }
94
+ /** @deprecated Use {@link ConfirmText}. */
95
+ get confirmText() {
96
+ return this.ConfirmText;
97
+ }
58
98
  /** Cancel button text */
59
- cancelText = 'Cancel';
99
+ CancelText = 'Cancel';
100
+ /** @deprecated Use {@link CancelText}. */
101
+ set cancelText(value) {
102
+ this.CancelText = value;
103
+ }
104
+ /** @deprecated Use {@link CancelText}. */
105
+ get cancelText() {
106
+ return this.CancelText;
107
+ }
60
108
  /** Custom icon class (optional, uses default based on type if not provided) */
61
- icon = '';
109
+ Icon = '';
110
+ /** @deprecated Use {@link Icon}. */
111
+ set icon(value) {
112
+ this.Icon = value;
113
+ }
114
+ /** @deprecated Use {@link Icon}. */
115
+ get icon() {
116
+ return this.Icon;
117
+ }
62
118
  /** Emitted when user confirms */
63
- confirmed = new EventEmitter();
119
+ Confirmed = new EventEmitter();
120
+ /**
121
+ * @deprecated Use {@link Confirmed}.
122
+ *
123
+ * The same emitter under the old binding name, so a template still binding
124
+ * (confirmed) keeps working. Must stay AFTER Confirmed: class fields
125
+ * initialise in order, and the other way round this captures undefined.
126
+ */
127
+ confirmed = this.Confirmed;
64
128
  /** Emitted when user cancels */
65
- cancelled = new EventEmitter();
129
+ Cancelled = new EventEmitter();
130
+ /**
131
+ * @deprecated Use {@link Cancelled}.
132
+ *
133
+ * The same emitter under the old binding name, so a template still binding
134
+ * (cancelled) keeps working. Must stay AFTER Cancelled: class fields
135
+ * initialise in order, and the other way round this captures undefined.
136
+ */
137
+ cancelled = this.Cancelled;
66
138
  constructor(cdr) {
67
139
  this.cdr = cdr;
68
140
  }
69
- getIcon() {
70
- if (this.icon)
71
- return this.icon;
72
- switch (this.type) {
141
+ GetIcon() {
142
+ if (this.Icon)
143
+ return this.Icon;
144
+ switch (this.Type) {
73
145
  case 'danger':
74
146
  return 'fa-solid fa-trash';
75
147
  case 'info':
@@ -78,14 +150,26 @@ export class ConfirmDialogComponent {
78
150
  return 'fa-solid fa-exclamation-triangle';
79
151
  }
80
152
  }
153
+ /** @deprecated Use {@link GetIcon}. */
154
+ getIcon() {
155
+ return this.GetIcon();
156
+ }
157
+ Confirm() {
158
+ this.Confirmed.emit();
159
+ }
160
+ /** @deprecated Use {@link Confirm}. */
81
161
  confirm() {
82
- this.confirmed.emit();
162
+ return this.Confirm();
83
163
  }
164
+ Cancel() {
165
+ this.Cancelled.emit();
166
+ }
167
+ /** @deprecated Use {@link Cancel}. */
84
168
  cancel() {
85
- this.cancelled.emit();
169
+ return this.Cancel();
86
170
  }
87
171
  static ɵfac = function ConfirmDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConfirmDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
88
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmDialogComponent, selectors: [["mj-confirm-dialog"]], inputs: { visible: "visible", type: "type", title: "title", message: "message", confirmText: "confirmText", cancelText: "cancelText", icon: "icon" }, outputs: { confirmed: "confirmed", cancelled: "cancelled" }, standalone: false, decls: 1, vars: 1, consts: [[1, "config-dialog-overlay"], [1, "config-dialog-overlay", 3, "click"], [1, "config-dialog", "confirm-dialog", 3, "click"], [1, "dialog-content"], [1, "confirm-icon"], [1, "confirm-title"], [1, "confirm-message"], [1, "dialog-footer"], [3, "click"], [1, "btn-secondary", 3, "click"]], template: function ConfirmDialogComponent_Template(rf, ctx) { if (rf & 1) {
172
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmDialogComponent, selectors: [["mj-confirm-dialog"]], inputs: { Visible: "Visible", visible: "visible", Type: "Type", type: "type", Title: "Title", title: "title", Message: "Message", message: "message", ConfirmText: "ConfirmText", confirmText: "confirmText", CancelText: "CancelText", cancelText: "cancelText", Icon: "Icon", icon: "icon" }, outputs: { Confirmed: "Confirmed", confirmed: "confirmed", Cancelled: "Cancelled", cancelled: "cancelled" }, standalone: false, decls: 1, vars: 1, consts: [[1, "config-dialog-overlay"], [1, "config-dialog-overlay", 3, "click"], [1, "config-dialog", "confirm-dialog", 3, "click"], [1, "dialog-content"], [1, "confirm-icon"], [1, "confirm-title"], [1, "confirm-message"], [1, "dialog-footer"], [3, "click"], [1, "btn-secondary", 3, "click"]], template: function ConfirmDialogComponent_Template(rf, ctx) { if (rf & 1) {
89
173
  i0.ɵɵconditionalCreate(0, ConfirmDialogComponent_Conditional_0_Template, 14, 12, "div", 0);
90
174
  } if (rf & 2) {
91
175
  i0.ɵɵconditional(ctx.visible ? 0 : -1);
@@ -94,22 +178,40 @@ export class ConfirmDialogComponent {
94
178
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmDialogComponent, [{
95
179
  type: Component,
96
180
  args: [{ standalone: false, selector: 'mj-confirm-dialog', template: "<!-- Confirm Dialog -->\n@if (visible) {\n <div class=\"config-dialog-overlay\" (click)=\"cancel()\">\n <div class=\"config-dialog confirm-dialog\" (click)=\"$event.stopPropagation()\">\n <!-- Content -->\n <div class=\"dialog-content\">\n <div class=\"confirm-icon\" [class.warning]=\"type === 'warning'\" [class.danger]=\"type === 'danger'\">\n <i [class]=\"getIcon()\"></i>\n </div>\n <h3 class=\"confirm-title\">{{ title }}</h3>\n <p class=\"confirm-message\">{{ message }}</p>\n </div>\n <!-- Footer - Action button on left, Cancel on right -->\n <div class=\"dialog-footer\">\n <button\n [class]=\"type === 'danger' ? 'btn-danger' : 'btn-primary'\"\n (click)=\"confirm()\">\n {{ confirmText }}\n </button>\n <button class=\"btn-secondary\" (click)=\"cancel()\">{{ cancelText }}</button>\n </div>\n </div>\n </div>\n}\n", styles: ["/**\n * Shared styles for Config Dialogs\n */\n\n/* ========================================\n Overlay\n ======================================== */\n\n.config-dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ========================================\n Dialog Container\n ======================================== */\n\n.config-dialog {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n border-radius: 16px;\n box-shadow: 0 25px 80px rgba(0, 0, 0, 0.35);\n width: 520px;\n max-width: 90vw;\n max-height: 85vh;\n overflow: hidden;\n animation: slideUp 0.2s ease;\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.98);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n/* ========================================\n Header\n ======================================== */\n\n.dialog-header {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 24px;\n border-bottom: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface));\n}\n\n.header-icon {\n width: 48px;\n height: 48px;\n border-radius: 12px;\n background: var(--mj-brand-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 20px;\n flex-shrink: 0;\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.dialog-header h3 {\n flex: 1;\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.close-button {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 10px;\n background: transparent;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.close-button:hover {\n background: rgba(0, 0, 0, 0.08);\n color: var(--mj-text-primary);\n}\n\n.close-button i {\n font-size: 18px;\n}\n\n/* ========================================\n Content\n ======================================== */\n\n.dialog-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* ========================================\n Form Groups\n ======================================== */\n\n.form-group {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.form-group > label {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.form-group > label i {\n color: var(--mj-brand-primary);\n font-size: 14px;\n width: 16px;\n}\n\n.form-group > label .required {\n color: var(--mj-status-error);\n}\n\n/* ========================================\n Form Inputs\n ======================================== */\n\n.form-input {\n padding: 14px 16px;\n border: 2px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 15px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n transition: all 0.2s ease;\n width: 100%;\n box-sizing: border-box;\n}\n\n.form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n\n.form-input::placeholder {\n color: var(--mj-text-disabled);\n}\n\n.form-input.error {\n border-color: var(--mj-status-error);\n}\n\n.form-input.error:focus {\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--mj-status-error) 12%, transparent);\n}\n\n.input-with-action {\n display: flex;\n gap: 8px;\n}\n\n.input-with-action .form-input {\n flex: 1;\n}\n\n.input-action-btn {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--mj-border-default);\n border-radius: 10px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n}\n\n.input-action-btn:hover {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n/* ========================================\n Form Hints & Errors\n ======================================== */\n\n.form-hint {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.form-error {\n font-size: 13px;\n color: var(--mj-status-error);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.form-error::before {\n content: '\\f071';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n font-size: 12px;\n}\n\n/* ========================================\n Radio Group\n ======================================== */\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.radio-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.radio-option:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n background: var(--mj-bg-surface-card);\n}\n\n.radio-option.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.radio-option input[type=\"radio\"] {\n display: none;\n}\n\n.radio-mark {\n width: 20px;\n height: 20px;\n border: 2px solid var(--mj-border-strong);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: all 0.2s ease;\n}\n\n.radio-option.selected .radio-mark {\n border-color: var(--mj-brand-primary);\n}\n\n.radio-option.selected .radio-mark::after {\n content: '';\n width: 10px;\n height: 10px;\n background: var(--mj-brand-primary);\n border-radius: 50%;\n}\n\n.radio-content {\n flex: 1;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.radio-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.radio-badge {\n font-size: 11px;\n font-weight: 600;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n}\n\n.radio-badge.recommended {\n background: color-mix(in srgb, var(--mj-status-success) 10%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n}\n\n.radio-badge.secure {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.radio-badge.warning {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n}\n\n/* ========================================\n Checkbox Group\n ======================================== */\n\n.checkbox-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.checkbox-option {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 14px 16px;\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.checkbox-option:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n background: var(--mj-bg-surface-card);\n}\n\n.checkbox-option input[type=\"checkbox\"] {\n display: none;\n}\n\n.checkbox-mark {\n width: 22px;\n height: 22px;\n border: 2px solid var(--mj-border-strong);\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: all 0.2s ease;\n margin-top: 2px;\n}\n\n.checkbox-option input:checked + .checkbox-mark {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n}\n\n.checkbox-option input:checked + .checkbox-mark::after {\n content: '\\f00c';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n font-size: 12px;\n color: var(--mj-text-inverse);\n}\n\n.checkbox-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.checkbox-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.checkbox-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* ========================================\n Select/Dropdown\n ======================================== */\n\n.form-select {\n padding: 14px 40px 14px 16px;\n border: 2px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 15px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n transition: all 0.2s ease;\n width: 100%;\n box-sizing: border-box;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n}\n\n.form-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n\n/* ========================================\n Footer\n ======================================== */\n\n.dialog-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 20px 24px;\n border-top: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n background: var(--mj-bg-surface-card);\n}\n\n.btn-secondary {\n padding: 12px 24px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n border: 2px solid var(--mj-border-strong);\n color: var(--mj-text-primary);\n}\n\n.btn-secondary:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-strong);\n}\n\n.btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 28px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-brand-primary);\n border: none;\n color: var(--mj-text-inverse);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.btn-primary:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 16px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n}\n\n.btn-primary i {\n font-size: 12px;\n}\n\n/* ========================================\n Confirmation Dialog\n ======================================== */\n\n.confirm-dialog {\n width: 400px;\n}\n\n.confirm-dialog .dialog-content {\n text-align: center;\n padding: 32px 24px;\n}\n\n.confirm-icon {\n width: 64px;\n height: 64px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 20px;\n}\n\n.confirm-icon.warning {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, var(--mj-bg-surface));\n}\n\n.confirm-icon.warning i {\n font-size: 28px;\n color: var(--mj-status-warning);\n}\n\n.confirm-icon.danger {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.confirm-icon.danger i {\n font-size: 28px;\n color: var(--mj-status-error);\n}\n\n.confirm-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 12px 0;\n}\n\n.confirm-message {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n line-height: 1.5;\n}\n\n.confirm-dialog .dialog-footer {\n justify-content: center;\n}\n\n.btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 28px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-status-error);\n border: none;\n color: var(--mj-text-inverse);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n}\n\n.btn-danger:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 16px color-mix(in srgb, var(--mj-status-error) 40%, transparent);\n}\n"] }]
97
- }], () => [{ type: i0.ChangeDetectorRef }], { visible: [{
181
+ }], () => [{ type: i0.ChangeDetectorRef }], { Visible: [{
182
+ type: Input
183
+ }], visible: [{
184
+ type: Input
185
+ }], Type: [{
98
186
  type: Input
99
187
  }], type: [{
100
188
  type: Input
189
+ }], Title: [{
190
+ type: Input
101
191
  }], title: [{
102
192
  type: Input
193
+ }], Message: [{
194
+ type: Input
103
195
  }], message: [{
104
196
  type: Input
197
+ }], ConfirmText: [{
198
+ type: Input
105
199
  }], confirmText: [{
106
200
  type: Input
201
+ }], CancelText: [{
202
+ type: Input
107
203
  }], cancelText: [{
108
204
  type: Input
205
+ }], Icon: [{
206
+ type: Input
109
207
  }], icon: [{
110
208
  type: Input
209
+ }], Confirmed: [{
210
+ type: Output
111
211
  }], confirmed: [{
112
212
  type: Output
213
+ }], Cancelled: [{
214
+ type: Output
113
215
  }], cancelled: [{
114
216
  type: Output
115
217
  }] }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts","../../../src/lib/config-dialogs/confirm-dialog.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;;;;ICExF,8BAAsD;IAAnB,uLAAS,eAAQ,KAAC;IACnD,8BAA6E;IAAnC,oHAAS,wBAAwB,IAAC;IAGxE,AADF,8BAA4B,aACwE;IAChG,oBAA2B;IAC7B,iBAAM;IACN,6BAA0B;IAAA,YAAW;IAAA,iBAAK;IAC1C,4BAA2B;IAAA,YAAa;IAC1C,AAD0C,iBAAI,EACxC;IAGJ,AADF,8BAA2B,iBAGH;IAApB,2LAAS,gBAAS,KAAC;IACnB,aACF;IAAA,iBAAS;IACT,kCAAiD;IAAnB,2LAAS,eAAQ,KAAC;IAAC,aAAgB;IAGvE,AADE,AADE,AADmE,iBAAS,EACtE,EACF,EACF;;;IAhB0B,eAAoC;IAAC,AAArC,oDAAoC,oCAAmC;IAC5F,cAAmB;IAAnB,+BAAmB;IAEE,eAAW;IAAX,kCAAW;IACV,eAAa;IAAb,oCAAa;IAKtC,eAA0D;IAA1D,sEAA0D;IAE1D,cACF;IADE,mDACF;IACiD,eAAgB;IAAhB,uCAAgB;;ADZzE;;GAEG;AAOH,MAAM,OAAO,sBAAsB;IA4BX;IA3BpB,oCAAoC;IAC3B,OAAO,GAAG,KAAK,CAAC;IAEzB,oDAAoD;IAC3C,IAAI,GAAsB,SAAS,CAAC;IAE7C,mBAAmB;IACV,KAAK,GAAG,gBAAgB,CAAC;IAElC,qBAAqB;IACZ,OAAO,GAAG,mCAAmC,CAAC;IAEvD,0BAA0B;IACjB,WAAW,GAAG,SAAS,CAAC;IAEjC,yBAAyB;IAChB,UAAU,GAAG,QAAQ,CAAC;IAE/B,+EAA+E;IACtE,IAAI,GAAG,EAAE,CAAC;IAEnB,iCAAiC;IACvB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,gCAAgC;IACtB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAEvC,OAAO;QACV,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEhC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACT,OAAO,mBAAmB,CAAC;YAC/B,KAAK,MAAM;gBACP,OAAO,yBAAyB,CAAC;YACrC;gBACI,OAAO,kCAAkC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;gHAjDQ,sBAAsB;6DAAtB,sBAAsB;YCfnC,0FAAe;;YAAf,sCAsBC;;;iFDPY,sBAAsB;cANlC,SAAS;6BACI,KAAK,YACL,mBAAmB;;kBAM5B,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,MAAM;;kBAGN,MAAM;;kFA1BE,sBAAsB","sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\n\n/**\n * Confirmation dialog types\n */\nexport type ConfirmDialogType = 'warning' | 'danger' | 'info';\n\n/**\n * A nice confirmation dialog to replace browser confirm().\n */\n@Component({\n standalone: false,\n selector: 'mj-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./config-dialog.component.css']\n})\nexport class ConfirmDialogComponent {\n /** Whether the dialog is visible */\n @Input() visible = false;\n\n /** Dialog type (affects icon and button styling) */\n @Input() type: ConfirmDialogType = 'warning';\n\n /** Dialog title */\n @Input() title = 'Confirm Action';\n\n /** Dialog message */\n @Input() message = 'Are you sure you want to proceed?';\n\n /** Confirm button text */\n @Input() confirmText = 'Confirm';\n\n /** Cancel button text */\n @Input() cancelText = 'Cancel';\n\n /** Custom icon class (optional, uses default based on type if not provided) */\n @Input() icon = '';\n\n /** Emitted when user confirms */\n @Output() confirmed = new EventEmitter<void>();\n\n /** Emitted when user cancels */\n @Output() cancelled = new EventEmitter<void>();\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n public getIcon(): string {\n if (this.icon) return this.icon;\n\n switch (this.type) {\n case 'danger':\n return 'fa-solid fa-trash';\n case 'info':\n return 'fa-solid fa-info-circle';\n default:\n return 'fa-solid fa-exclamation-triangle';\n }\n }\n\n public confirm(): void {\n this.confirmed.emit();\n }\n\n public cancel(): void {\n this.cancelled.emit();\n }\n}\n","<!-- Confirm Dialog -->\n@if (visible) {\n <div class=\"config-dialog-overlay\" (click)=\"cancel()\">\n <div class=\"config-dialog confirm-dialog\" (click)=\"$event.stopPropagation()\">\n <!-- Content -->\n <div class=\"dialog-content\">\n <div class=\"confirm-icon\" [class.warning]=\"type === 'warning'\" [class.danger]=\"type === 'danger'\">\n <i [class]=\"getIcon()\"></i>\n </div>\n <h3 class=\"confirm-title\">{{ title }}</h3>\n <p class=\"confirm-message\">{{ message }}</p>\n </div>\n <!-- Footer - Action button on left, Cancel on right -->\n <div class=\"dialog-footer\">\n <button\n [class]=\"type === 'danger' ? 'btn-danger' : 'btn-primary'\"\n (click)=\"confirm()\">\n {{ confirmText }}\n </button>\n <button class=\"btn-secondary\" (click)=\"cancel()\">{{ cancelText }}</button>\n </div>\n </div>\n </div>\n}\n"]}
1
+ {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts","../../../src/lib/config-dialogs/confirm-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\n\n/**\n * Confirmation dialog types\n */\nexport type ConfirmDialogType = 'warning' | 'danger' | 'info';\n\n/**\n * A nice confirmation dialog to replace browser confirm().\n */\n@Component({\n standalone: false,\n selector: 'mj-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./config-dialog.component.css']\n})\nexport class ConfirmDialogComponent {\n /** Whether the dialog is visible */\n @Input() Visible = false;\n\n /** @deprecated Use {@link Visible}. */\n @Input() set visible(value: ConfirmDialogComponent['Visible']) {\n this.Visible = value;\n }\n /** @deprecated Use {@link Visible}. */\n get visible(): ConfirmDialogComponent['Visible'] {\n return this.Visible;\n }\n\n /** Dialog type (affects icon and button styling) */\n @Input() Type: ConfirmDialogType = 'warning';\n\n /** @deprecated Use {@link Type}. */\n @Input() set type(value: ConfirmDialogType) {\n this.Type = value;\n }\n /** @deprecated Use {@link Type}. */\n get type(): ConfirmDialogType {\n return this.Type;\n }\n\n /** Dialog title */\n @Input() Title = 'Confirm Action';\n\n /** @deprecated Use {@link Title}. */\n @Input() set title(value: ConfirmDialogComponent['Title']) {\n this.Title = value;\n }\n /** @deprecated Use {@link Title}. */\n get title(): ConfirmDialogComponent['Title'] {\n return this.Title;\n }\n\n /** Dialog message */\n @Input() Message = 'Are you sure you want to proceed?';\n\n /** @deprecated Use {@link Message}. */\n @Input() set message(value: ConfirmDialogComponent['Message']) {\n this.Message = value;\n }\n /** @deprecated Use {@link Message}. */\n get message(): ConfirmDialogComponent['Message'] {\n return this.Message;\n }\n\n /** Confirm button text */\n @Input() ConfirmText = 'Confirm';\n\n /** @deprecated Use {@link ConfirmText}. */\n @Input() set confirmText(value: ConfirmDialogComponent['ConfirmText']) {\n this.ConfirmText = value;\n }\n /** @deprecated Use {@link ConfirmText}. */\n get confirmText(): ConfirmDialogComponent['ConfirmText'] {\n return this.ConfirmText;\n }\n\n /** Cancel button text */\n @Input() CancelText = 'Cancel';\n\n /** @deprecated Use {@link CancelText}. */\n @Input() set cancelText(value: ConfirmDialogComponent['CancelText']) {\n this.CancelText = value;\n }\n /** @deprecated Use {@link CancelText}. */\n get cancelText(): ConfirmDialogComponent['CancelText'] {\n return this.CancelText;\n }\n\n /** Custom icon class (optional, uses default based on type if not provided) */\n @Input() Icon = '';\n\n /** @deprecated Use {@link Icon}. */\n @Input() set icon(value: ConfirmDialogComponent['Icon']) {\n this.Icon = value;\n }\n /** @deprecated Use {@link Icon}. */\n get icon(): ConfirmDialogComponent['Icon'] {\n return this.Icon;\n }\n\n /** Emitted when user confirms */\n @Output() Confirmed = new EventEmitter<void>();\n\n /**\n * @deprecated Use {@link Confirmed}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (confirmed) keeps working. Must stay AFTER Confirmed: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() confirmed = this.Confirmed;\n\n /** Emitted when user cancels */\n @Output() Cancelled = new EventEmitter<void>();\n\n /**\n * @deprecated Use {@link Cancelled}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (cancelled) keeps working. Must stay AFTER Cancelled: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() cancelled = this.Cancelled;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n public GetIcon(): string {\n if (this.Icon) return this.Icon;\n\n switch (this.Type) {\n case 'danger':\n return 'fa-solid fa-trash';\n case 'info':\n return 'fa-solid fa-info-circle';\n default:\n return 'fa-solid fa-exclamation-triangle';\n }\n }\n\n /** @deprecated Use {@link GetIcon}. */\n public getIcon(): string {\n return this.GetIcon();\n }\n\n public Confirm(): void {\n this.Confirmed.emit();\n }\n\n /** @deprecated Use {@link Confirm}. */\n public confirm(): void {\n return this.Confirm();\n }\n\n public Cancel(): void {\n this.Cancelled.emit();\n }\n\n /** @deprecated Use {@link Cancel}. */\n public cancel(): void {\n return this.Cancel();\n }\n}\n","<!-- Confirm Dialog -->\n@if (visible) {\n <div class=\"config-dialog-overlay\" (click)=\"cancel()\">\n <div class=\"config-dialog confirm-dialog\" (click)=\"$event.stopPropagation()\">\n <!-- Content -->\n <div class=\"dialog-content\">\n <div class=\"confirm-icon\" [class.warning]=\"type === 'warning'\" [class.danger]=\"type === 'danger'\">\n <i [class]=\"getIcon()\"></i>\n </div>\n <h3 class=\"confirm-title\">{{ title }}</h3>\n <p class=\"confirm-message\">{{ message }}</p>\n </div>\n <!-- Footer - Action button on left, Cancel on right -->\n <div class=\"dialog-footer\">\n <button\n [class]=\"type === 'danger' ? 'btn-danger' : 'btn-primary'\"\n (click)=\"confirm()\">\n {{ confirmText }}\n </button>\n <button class=\"btn-secondary\" (click)=\"cancel()\">{{ cancelText }}</button>\n </div>\n </div>\n </div>\n}\n"]}
@@ -10,20 +10,64 @@ import * as i0 from "@angular/core";
10
10
  * Uses tree dropdown for collection-based artifact selection.
11
11
  */
12
12
  export declare class ArtifactConfigPanelComponent extends BaseConfigPanel implements OnInit {
13
- artifactDropdown: TreeDropdownComponent;
13
+ ArtifactDropdown: TreeDropdownComponent;
14
+ /** @deprecated Use {@link ArtifactDropdown}. */
15
+ get artifactDropdown(): TreeDropdownComponent;
16
+ /** @deprecated Use {@link ArtifactDropdown}. */
17
+ set artifactDropdown(value: TreeDropdownComponent);
14
18
  title: string;
15
19
  artifactId: string;
16
- artifactName: string;
17
- versionNumber: number | null;
18
- showHeader: boolean;
19
- showTabs: boolean;
20
- showVersionSelector: boolean;
21
- showMetadata: boolean;
22
- versions: MJArtifactVersionEntity[];
23
- isLoadingVersions: boolean;
20
+ ArtifactName: string;
21
+ /** @deprecated Use {@link ArtifactName}. */
22
+ get artifactName(): string;
23
+ /** @deprecated Use {@link ArtifactName}. */
24
+ set artifactName(value: string);
25
+ VersionNumber: number | null;
26
+ /** @deprecated Use {@link VersionNumber}. */
27
+ get versionNumber(): number | null;
28
+ /** @deprecated Use {@link VersionNumber}. */
29
+ set versionNumber(value: number | null);
30
+ ShowHeader: boolean;
31
+ /** @deprecated Use {@link ShowHeader}. */
32
+ get showHeader(): boolean;
33
+ /** @deprecated Use {@link ShowHeader}. */
34
+ set showHeader(value: boolean);
35
+ ShowTabs: boolean;
36
+ /** @deprecated Use {@link ShowTabs}. */
37
+ get showTabs(): boolean;
38
+ /** @deprecated Use {@link ShowTabs}. */
39
+ set showTabs(value: boolean);
40
+ ShowVersionSelector: boolean;
41
+ /** @deprecated Use {@link ShowVersionSelector}. */
42
+ get showVersionSelector(): boolean;
43
+ /** @deprecated Use {@link ShowVersionSelector}. */
44
+ set showVersionSelector(value: boolean);
45
+ ShowMetadata: boolean;
46
+ /** @deprecated Use {@link ShowMetadata}. */
47
+ get showMetadata(): boolean;
48
+ /** @deprecated Use {@link ShowMetadata}. */
49
+ set showMetadata(value: boolean);
50
+ Versions: MJArtifactVersionEntity[];
51
+ /** @deprecated Use {@link Versions}. */
52
+ get versions(): MJArtifactVersionEntity[];
53
+ /** @deprecated Use {@link Versions}. */
54
+ set versions(value: MJArtifactVersionEntity[]);
55
+ IsLoadingVersions: boolean;
56
+ /** @deprecated Use {@link IsLoadingVersions}. */
57
+ get isLoadingVersions(): boolean;
58
+ /** @deprecated Use {@link IsLoadingVersions}. */
59
+ set isLoadingVersions(value: boolean);
24
60
  private previousArtifactName;
25
- showOptions: boolean;
26
- artifactError: string;
61
+ ShowOptions: boolean;
62
+ /** @deprecated Use {@link ShowOptions}. */
63
+ get showOptions(): boolean;
64
+ /** @deprecated Use {@link ShowOptions}. */
65
+ set showOptions(value: boolean);
66
+ ArtifactError: string;
67
+ /** @deprecated Use {@link ArtifactError}. */
68
+ get artifactError(): string;
69
+ /** @deprecated Use {@link ArtifactError}. */
70
+ set artifactError(value: string);
27
71
  CollectionConfig: TreeBranchConfig;
28
72
  ArtifactLeafConfig: TreeLeafConfig;
29
73
  constructor(cdr: ChangeDetectorRef);
@@ -40,16 +84,24 @@ export declare class ArtifactConfigPanelComponent extends BaseConfigPanel implem
40
84
  };
41
85
  getDefaultTitle(): string;
42
86
  getTitle(): string;
87
+ OnTitleChange(): void;
88
+ /** @deprecated Use {@link OnTitleChange}. */
43
89
  onTitleChange(): void;
44
90
  /**
45
91
  * Handle artifact selection from tree dropdown
46
92
  */
93
+ OnArtifactSelection(node: TreeNode | TreeNode[] | null): Promise<void>;
94
+ /** @deprecated Use {@link OnArtifactSelection}. */
47
95
  onArtifactSelection(node: TreeNode | TreeNode[] | null): Promise<void>;
48
96
  /**
49
97
  * Load all versions for a given artifact
50
98
  */
51
99
  private loadVersionsForArtifact;
100
+ OnVersionChange(): void;
101
+ /** @deprecated Use {@link OnVersionChange}. */
52
102
  onVersionChange(): void;
103
+ OnOptionChange(): void;
104
+ /** @deprecated Use {@link OnOptionChange}. */
53
105
  onOptionChange(): void;
54
106
  static ɵfac: i0.ɵɵFactoryDeclaration<ArtifactConfigPanelComponent, never>;
55
107
  static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactConfigPanelComponent, "mj-artifact-config-panel", never, {}, {}, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-config-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/config-panels/artifact-config-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAW,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,qBAAqB,EACxB,MAAM,0BAA0B,CAAC;;AAElC;;;GAGG;AACH,qBAOa,4BAA6B,SAAQ,eAAgB,YAAW,MAAM;IAEhD,gBAAgB,EAAG,qBAAqB,CAAC;IAGjE,KAAK,SAAM;IACX,UAAU,SAAM;IAChB,YAAY,SAAM;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,UAAU,UAAS;IACnB,QAAQ,UAAQ;IAChB,mBAAmB,UAAQ;IAC3B,YAAY,UAAS;IAGrB,QAAQ,EAAE,uBAAuB,EAAE,CAAM;IACzC,iBAAiB,UAAS;IACjC,OAAO,CAAC,oBAAoB,CAAM;IAG3B,WAAW,UAAS;IAGpB,aAAa,SAAM;IAGnB,gBAAgB,EAAG,gBAAgB,CAAC;IACpC,kBAAkB,EAAG,cAAc,CAAC;gBAE/B,GAAG,EAAE,iBAAiB;IAIlC,QAAQ,IAAI,IAAI;IA+ChB;;OAEG;IACH,IAAW,eAAe,IAAI,YAAY,GAAG,IAAI,CAEhD;IAEY,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/D,WAAW,IAAI,WAAW;IAYjB,QAAQ,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAazD,eAAe,IAAI,MAAM;IAOzB,QAAQ,IAAI,MAAM;IAKlB,aAAa,IAAI,IAAI;IAI5B;;OAEG;IACU,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnF;;OAEG;YACW,uBAAuB;IA6B9B,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,IAAI;yCApOpB,4BAA4B;2CAA5B,4BAA4B;CAuOxC"}
1
+ {"version":3,"file":"artifact-config-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/config-panels/artifact-config-panel.component.ts"],"names":[],"mappings":"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"}