@memberjunction/ng-dashboards 2.51.0 → 2.53.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 (38) hide show
  1. package/dist/AI/ai-dashboard.component.js +17 -19
  2. package/dist/AI/ai-dashboard.component.js.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +4 -6
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-editor.component.js +3 -5
  6. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  7. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -1
  8. package/dist/AI/components/prompts/prompt-management-v2.component.js +67 -64
  9. package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -1
  10. package/dist/AI/components/system/system-configuration.component.js +4 -6
  11. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  12. package/dist/Actions/actions-management-dashboard.component.js +14 -15
  13. package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
  14. package/dist/Actions/components/actions-list-view.component.js +5 -6
  15. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  16. package/dist/Actions/components/actions-overview.component.js +6 -7
  17. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  18. package/dist/Actions/components/code-management.component.js +3 -4
  19. package/dist/Actions/components/code-management.component.js.map +1 -1
  20. package/dist/Actions/components/entity-integration.component.js +3 -4
  21. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  22. package/dist/Actions/components/execution-monitoring.component.js +5 -6
  23. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  24. package/dist/Actions/components/executions-list-view.component.js +3 -4
  25. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  26. package/dist/Actions/components/scheduled-actions.component.js +3 -4
  27. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  28. package/dist/Actions/components/security-permissions.component.js +3 -4
  29. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  30. package/dist/EntityAdmin/components/erd-composite.component.js +6 -7
  31. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -1
  32. package/dist/EntityAdmin/entity-admin-dashboard.component.js +4 -6
  33. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  34. package/dist/public-api.d.ts +1 -0
  35. package/dist/public-api.d.ts.map +1 -1
  36. package/dist/public-api.js +1 -0
  37. package/dist/public-api.js.map +1 -1
  38. package/package.json +7 -7
@@ -156,64 +156,73 @@ function PromptManagementV2Component_Conditional_2_Conditional_26_Template(rf, c
156
156
  i0.ɵɵadvance();
157
157
  i0.ɵɵconditional(!ctx_r0.hasActiveFilters ? 6 : -1);
158
158
  } }
159
- function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵelementStart(0, "div", 66)(1, "h5");
161
- i0.ɵɵtext(2, "Description");
159
+ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
160
+ i0.ɵɵelementStart(0, "p", 62);
161
+ i0.ɵɵtext(1);
162
162
  i0.ɵɵelementEnd();
163
- i0.ɵɵelementStart(3, "p");
164
- i0.ɵɵtext(4);
165
- i0.ɵɵelementEnd()();
166
163
  } if (rf & 2) {
167
- const prompt_r8 = i0.ɵɵnextContext(2).$implicit;
168
- i0.ɵɵadvance(4);
164
+ const prompt_r8 = i0.ɵɵnextContext().$implicit;
165
+ i0.ɵɵadvance();
169
166
  i0.ɵɵtextInterpolate(prompt_r8.Description);
170
167
  } }
171
- function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_12_Template(rf, ctx) { if (rf & 1) {
172
- i0.ɵɵelement(0, "i", 75);
168
+ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Conditional_22_Template(rf, ctx) { if (rf & 1) {
169
+ i0.ɵɵelement(0, "i", 74);
173
170
  i0.ɵɵtext(1, " Yes ");
174
171
  } }
175
- function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_13_Template(rf, ctx) { if (rf & 1) {
176
- i0.ɵɵelement(0, "i", 76);
172
+ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Conditional_23_Template(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵelement(0, "i", 75);
177
174
  i0.ɵɵtext(1, " No ");
178
175
  } }
179
- function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
176
+ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
180
177
  const _r9 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "div", 65);
182
- i0.ɵɵtemplate(1, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_1_Template, 5, 1, "div", 66);
183
- i0.ɵɵelementStart(2, "div", 67)(3, "div", 68)(4, "span", 69);
184
- i0.ɵɵtext(5, "Status");
178
+ i0.ɵɵelementStart(0, "div", 64)(1, "div", 65)(2, "div", 66)(3, "span", 67);
179
+ i0.ɵɵtext(4, "Category");
185
180
  i0.ɵɵelementEnd();
186
- i0.ɵɵelementStart(6, "span", 70);
187
- i0.ɵɵtext(7);
181
+ i0.ɵɵelementStart(5, "span", 68);
182
+ i0.ɵɵtext(6);
183
+ i0.ɵɵelementEnd()();
184
+ i0.ɵɵelementStart(7, "div", 66)(8, "span", 67);
185
+ i0.ɵɵtext(9, "Type");
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementStart(10, "span", 68);
188
+ i0.ɵɵtext(11);
188
189
  i0.ɵɵelementEnd()();
189
- i0.ɵɵelementStart(8, "div", 68)(9, "span", 69);
190
- i0.ɵɵtext(10, "Template");
190
+ i0.ɵɵelementStart(12, "div", 66)(13, "span", 67);
191
+ i0.ɵɵtext(14, "Status");
192
+ i0.ɵɵelementEnd();
193
+ i0.ɵɵelementStart(15, "span", 69);
194
+ i0.ɵɵtext(16);
195
+ i0.ɵɵelementEnd()()();
196
+ i0.ɵɵelementStart(17, "div", 70)(18, "div", 66)(19, "span", 67);
197
+ i0.ɵɵtext(20, "Template");
191
198
  i0.ɵɵelementEnd();
192
- i0.ɵɵelementStart(11, "span", 71);
193
- i0.ɵɵtemplate(12, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_12_Template, 2, 0)(13, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Conditional_13_Template, 2, 0);
199
+ i0.ɵɵelementStart(21, "span", 68);
200
+ i0.ɵɵtemplate(22, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Conditional_22_Template, 2, 0)(23, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Conditional_23_Template, 2, 0);
194
201
  i0.ɵɵelementEnd()();
195
- i0.ɵɵelementStart(14, "div", 68)(15, "span", 69);
196
- i0.ɵɵtext(16, "Contents");
202
+ i0.ɵɵelementStart(24, "div", 66)(25, "span", 67);
203
+ i0.ɵɵtext(26, "Contents");
197
204
  i0.ɵɵelementEnd();
198
- i0.ɵɵelementStart(17, "span", 71);
199
- i0.ɵɵtext(18);
205
+ i0.ɵɵelementStart(27, "span", 68);
206
+ i0.ɵɵtext(28);
200
207
  i0.ɵɵelementEnd()()();
201
- i0.ɵɵelementStart(19, "div", 72)(20, "button", 73);
202
- i0.ɵɵlistener("click", function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Template_button_click_20_listener($event) { i0.ɵɵrestoreView(_r9); const prompt_r8 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(4); ctx_r0.openPrompt(prompt_r8.ID); return i0.ɵɵresetView($event.stopPropagation()); });
203
- i0.ɵɵelement(21, "i", 74);
204
- i0.ɵɵtext(22, " Edit ");
208
+ i0.ɵɵelementStart(29, "div", 71)(30, "button", 72);
209
+ i0.ɵɵlistener("click", function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Template_button_click_30_listener($event) { i0.ɵɵrestoreView(_r9); const prompt_r8 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(4); ctx_r0.openPrompt(prompt_r8.ID); return i0.ɵɵresetView($event.stopPropagation()); });
210
+ i0.ɵɵelement(31, "i", 73);
211
+ i0.ɵɵtext(32, " Edit ");
205
212
  i0.ɵɵelementEnd()()();
206
213
  } if (rf & 2) {
207
214
  const prompt_r8 = i0.ɵɵnextContext().$implicit;
208
215
  const ctx_r0 = i0.ɵɵnextContext(4);
209
- i0.ɵɵadvance();
210
- i0.ɵɵconditional(prompt_r8.Description ? 1 : -1);
216
+ i0.ɵɵadvance(6);
217
+ i0.ɵɵtextInterpolate(prompt_r8.CategoryName);
211
218
  i0.ɵɵadvance(5);
219
+ i0.ɵɵtextInterpolate(prompt_r8.TypeName);
220
+ i0.ɵɵadvance(4);
212
221
  i0.ɵɵclassMap(ctx_r0.getStatusClass(prompt_r8.Status));
213
222
  i0.ɵɵadvance();
214
223
  i0.ɵɵtextInterpolate1(" ", prompt_r8.Status, " ");
215
- i0.ɵɵadvance(5);
216
- i0.ɵɵconditional(prompt_r8.TemplateEntity ? 12 : 13);
224
+ i0.ɵɵadvance(6);
225
+ i0.ɵɵconditional(prompt_r8.TemplateEntity ? 22 : 23);
217
226
  i0.ɵɵadvance(6);
218
227
  i0.ɵɵtextInterpolate((prompt_r8.TemplateContents == null ? null : prompt_r8.TemplateContents.length) || 0);
219
228
  } }
@@ -224,18 +233,14 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_T
224
233
  i0.ɵɵelementStart(2, "div", 59);
225
234
  i0.ɵɵelement(3, "i");
226
235
  i0.ɵɵelementEnd();
227
- i0.ɵɵelementStart(4, "div", 60)(5, "h4");
236
+ i0.ɵɵelementStart(4, "div", 60)(5, "h4", 61);
228
237
  i0.ɵɵtext(6);
229
238
  i0.ɵɵelementEnd();
230
- i0.ɵɵelementStart(7, "div", 61)(8, "span", 62);
231
- i0.ɵɵtext(9);
239
+ i0.ɵɵtemplate(7, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_7_Template, 2, 1, "p", 62);
232
240
  i0.ɵɵelementEnd();
233
- i0.ɵɵelementStart(10, "span", 63);
234
- i0.ɵɵtext(11);
235
- i0.ɵɵelementEnd()()();
236
- i0.ɵɵelement(12, "i", 64);
241
+ i0.ɵɵelement(8, "i", 63);
237
242
  i0.ɵɵelementEnd();
238
- i0.ɵɵtemplate(13, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_13_Template, 23, 6, "div", 65);
243
+ i0.ɵɵtemplate(9, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Conditional_9_Template, 33, 7, "div", 64);
239
244
  i0.ɵɵelementEnd();
240
245
  } if (rf & 2) {
241
246
  const prompt_r8 = ctx.$implicit;
@@ -244,19 +249,17 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_T
244
249
  i0.ɵɵadvance(3);
245
250
  i0.ɵɵclassMap(ctx_r0.getPromptIcon(prompt_r8));
246
251
  i0.ɵɵadvance(3);
247
- i0.ɵɵtextInterpolate(prompt_r8.Name);
248
- i0.ɵɵadvance(3);
249
- i0.ɵɵtextInterpolate(prompt_r8.CategoryName);
250
- i0.ɵɵadvance(2);
251
- i0.ɵɵtextInterpolate(prompt_r8.TypeName);
252
+ i0.ɵɵtextInterpolate(prompt_r8.Name || "Unnamed Prompt");
253
+ i0.ɵɵadvance();
254
+ i0.ɵɵconditional(prompt_r8.Description ? 7 : -1);
252
255
  i0.ɵɵadvance();
253
256
  i0.ɵɵclassProp("rotated", ctx_r0.expandedPromptId === prompt_r8.ID);
254
257
  i0.ɵɵadvance();
255
- i0.ɵɵconditional(ctx_r0.expandedPromptId === prompt_r8.ID ? 13 : -1);
258
+ i0.ɵɵconditional(ctx_r0.expandedPromptId === prompt_r8.ID ? 9 : -1);
256
259
  } }
257
260
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_Template(rf, ctx) { if (rf & 1) {
258
261
  i0.ɵɵelementStart(0, "div", 53);
259
- i0.ɵɵrepeaterCreate(1, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Template, 14, 10, "div", 56, _forTrack0);
262
+ i0.ɵɵrepeaterCreate(1, PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_For_2_Template, 10, 9, "div", 56, _forTrack0);
260
263
  i0.ɵɵelementEnd();
261
264
  } if (rf & 2) {
262
265
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -264,14 +267,14 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_0_Templat
264
267
  i0.ɵɵrepeater(ctx_r0.filteredPrompts);
265
268
  } }
266
269
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_13_Template(rf, ctx) { if (rf & 1) {
267
- i0.ɵɵelement(0, "i", 75);
270
+ i0.ɵɵelement(0, "i", 74);
268
271
  } }
269
272
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_14_Template(rf, ctx) { if (rf & 1) {
270
- i0.ɵɵelement(0, "i", 76);
273
+ i0.ɵɵelement(0, "i", 75);
271
274
  } }
272
275
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Template(rf, ctx) { if (rf & 1) {
273
276
  const _r10 = i0.ɵɵgetCurrentView();
274
- i0.ɵɵelementStart(0, "tr")(1, "td")(2, "div", 78);
277
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "div", 77);
275
278
  i0.ɵɵelement(3, "i");
276
279
  i0.ɵɵtext(4);
277
280
  i0.ɵɵelementEnd()();
@@ -281,15 +284,15 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_
281
284
  i0.ɵɵelementStart(7, "td");
282
285
  i0.ɵɵtext(8);
283
286
  i0.ɵɵelementEnd();
284
- i0.ɵɵelementStart(9, "td")(10, "span", 79);
287
+ i0.ɵɵelementStart(9, "td")(10, "span", 78);
285
288
  i0.ɵɵtext(11);
286
289
  i0.ɵɵelementEnd()();
287
290
  i0.ɵɵelementStart(12, "td");
288
- i0.ɵɵtemplate(13, PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_13_Template, 1, 0, "i", 75)(14, PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_14_Template, 1, 0, "i", 76);
291
+ i0.ɵɵtemplate(13, PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_13_Template, 1, 0, "i", 74)(14, PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Conditional_14_Template, 1, 0, "i", 75);
289
292
  i0.ɵɵelementEnd();
290
- i0.ɵɵelementStart(15, "td")(16, "button", 80);
293
+ i0.ɵɵelementStart(15, "td")(16, "button", 79);
291
294
  i0.ɵɵlistener("click", function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_Template_button_click_16_listener() { const prompt_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.openPrompt(prompt_r11.ID)); });
292
- i0.ɵɵelement(17, "i", 74);
295
+ i0.ɵɵelement(17, "i", 73);
293
296
  i0.ɵɵelementEnd()()();
294
297
  } if (rf & 2) {
295
298
  const prompt_r11 = ctx.$implicit;
@@ -310,7 +313,7 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_For_18_
310
313
  i0.ɵɵconditional(prompt_r11.TemplateEntity ? 13 : 14);
311
314
  } }
312
315
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_Template(rf, ctx) { if (rf & 1) {
313
- i0.ɵɵelementStart(0, "div", 54)(1, "table", 77)(2, "thead")(3, "tr")(4, "th");
316
+ i0.ɵɵelementStart(0, "div", 54)(1, "table", 76)(2, "thead")(3, "tr")(4, "th");
314
317
  i0.ɵɵtext(5, "Name");
315
318
  i0.ɵɵelementEnd();
316
319
  i0.ɵɵelementStart(6, "th");
@@ -338,7 +341,7 @@ function PromptManagementV2Component_Conditional_2_Conditional_27_Case_1_Templat
338
341
  } }
339
342
  function PromptManagementV2Component_Conditional_2_Conditional_27_Case_2_Template(rf, ctx) { if (rf & 1) {
340
343
  const _r12 = i0.ɵɵgetCurrentView();
341
- i0.ɵɵelementStart(0, "div", 55)(1, "app-model-prompt-priority-matrix", 81);
344
+ i0.ɵɵelementStart(0, "div", 55)(1, "app-model-prompt-priority-matrix", 80);
342
345
  i0.ɵɵlistener("promptSelected", function PromptManagementV2Component_Conditional_2_Conditional_27_Case_2_Template_app_model_prompt_priority_matrix_promptSelected_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.openPrompt($event.ID)); });
343
346
  i0.ɵɵelementEnd()();
344
347
  } if (rf & 2) {
@@ -522,8 +525,9 @@ export class PromptManagementV2Component {
522
525
  // Combine the data
523
526
  this.prompts = promptResults.Results.map(prompt => {
524
527
  const template = templateMap.get(prompt.ID);
528
+ // Use GetAll() to get all properties as a plain object since BaseEntity uses getters
525
529
  return {
526
- ...prompt,
530
+ ...prompt.GetAll(),
527
531
  TemplateEntity: template,
528
532
  TemplateContents: template ? (templateContentMap.get(template.ID) || []) : [],
529
533
  CategoryName: prompt.CategoryID ? categoryMap.get(prompt.CategoryID) || 'Unknown' : 'Uncategorized',
@@ -695,19 +699,18 @@ export class PromptManagementV2Component {
695
699
  this.applyFilters();
696
700
  }
697
701
  static ɵfac = function PromptManagementV2Component_Factory(t) { return new (t || PromptManagementV2Component)(i0.ɵɵdirectiveInject(i1.SharedService)); };
698
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PromptManagementV2Component, selectors: [["app-prompt-management-v2"]], inputs: { initialState: "initialState" }, outputs: { openEntityRecord: "openEntityRecord", stateChange: "stateChange" }, decls: 3, vars: 3, consts: [["mjFillContainer", "", 1, "prompt-management-v2", 3, "rightMargin", "bottomMargin"], [1, "loading-container"], [1, "loading-content"], [1, "loading-spinner"], [1, "spinner-ring"], [1, "loading-text"], [1, "dashboard-header", 2, "display", "flex !important", "justify-content", "space-between !important", "align-items", "center !important", "padding", "16px 24px !important", "background", "white !important"], [1, "header-info", 2, "display", "flex !important", "align-items", "center !important", "gap", "16px !important", "flex", "1 !important"], [1, "dashboard-title", 2, "margin", "0 !important", "display", "flex !important", "align-items", "center !important", "gap", "8px !important"], [1, "fa-solid", "fa-message"], ["type", "button", "title", "Toggle Filters", 1, "filter-toggle-btn", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "item-count"], [1, "header-controls", 2, "display", "flex !important", "align-items", "center !important", "gap", "16px !important"], [1, "view-toggle"], ["type", "button", "title", "Grid View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-grip"], ["type", "button", "title", "List View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["type", "button", "title", "Priority Matrix", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-chart-scatter"], ["type", "button", "title", "Create New Prompt", 1, "control-btn", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], ["mjFillContainer", "", "orientation", "horizontal"], ["size", "320", "min", "250", "max", "400"], [1, "content-area"], [1, "empty-state"], [1, "filter-panel"], [1, "filter-panel-header"], [1, "filter-summary-inline"], [1, "summary-value"], [1, "summary-label"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "filter-content"], [1, "filter-group"], [1, "filter-label"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search prompts...", 1, "filter-input", 3, "input", "value"], [1, "fa-solid", "fa-folder"], [1, "filter-select", 3, "change", "value"], ["value", "all"], [3, "value"], [1, "fa-solid", "fa-tag"], [1, "fa-solid", "fa-toggle-on"], ["value", "active"], ["value", "inactive"], [1, "filter-actions"], ["title", "Reset all filters", 1, "reset-btn", 3, "click"], [1, "fa-solid", "fa-undo"], [1, "fa-solid", "fa-comment-dots", "fa-4x"], [1, "primary-action"], [1, "primary-action", 3, "click"], [1, "prompt-grid"], [1, "prompt-list"], [1, "priority-matrix-container"], [1, "prompt-card", 3, "expanded"], [1, "prompt-card"], [1, "card-header", 3, "click"], [1, "card-icon"], [1, "card-info"], [1, "card-meta"], [1, "category"], [1, "type"], [1, "fa-solid", "fa-chevron-down", "expand-icon"], [1, "card-content"], [1, "description-section"], [1, "stats-grid"], [1, "stat"], [1, "stat-label"], [1, "stat-value", "status-badge"], [1, "stat-value"], [1, "card-footer"], [1, "action-button", 3, "click"], [1, "fa-solid", "fa-edit"], [1, "fa-solid", "fa-check-circle", "text-success"], [1, "fa-solid", "fa-times-circle", "text-muted"], [1, "data-table"], [1, "name-cell"], [1, "status-badge"], [1, "action-button", "small", 3, "click"], [3, "promptSelected", "selectedPrompts"]], template: function PromptManagementV2Component_Template(rf, ctx) { if (rf & 1) {
702
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PromptManagementV2Component, selectors: [["app-prompt-management-v2"]], inputs: { initialState: "initialState" }, outputs: { openEntityRecord: "openEntityRecord", stateChange: "stateChange" }, decls: 3, vars: 1, consts: [[1, "prompt-management-v2"], [1, "loading-container"], [1, "loading-content"], [1, "loading-spinner"], [1, "spinner-ring"], [1, "loading-text"], [1, "dashboard-header", 2, "display", "flex !important", "justify-content", "space-between !important", "align-items", "center !important", "padding", "16px 24px !important", "background", "white !important"], [1, "header-info", 2, "display", "flex !important", "align-items", "center !important", "gap", "16px !important", "flex", "1 !important"], [1, "dashboard-title", 2, "margin", "0 !important", "display", "flex !important", "align-items", "center !important", "gap", "8px !important"], [1, "fa-solid", "fa-message"], ["type", "button", "title", "Toggle Filters", 1, "filter-toggle-btn", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "item-count"], [1, "header-controls", 2, "display", "flex !important", "align-items", "center !important", "gap", "16px !important"], [1, "view-toggle"], ["type", "button", "title", "Grid View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-grip"], ["type", "button", "title", "List View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["type", "button", "title", "Priority Matrix", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-chart-scatter"], ["type", "button", "title", "Create New Prompt", 1, "control-btn", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], ["mjFillContainer", "", "orientation", "horizontal"], ["size", "320", "min", "250", "max", "400"], [1, "content-area"], [1, "empty-state"], [1, "filter-panel"], [1, "filter-panel-header"], [1, "filter-summary-inline"], [1, "summary-value"], [1, "summary-label"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "filter-content"], [1, "filter-group"], [1, "filter-label"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search prompts...", 1, "filter-input", 3, "input", "value"], [1, "fa-solid", "fa-folder"], [1, "filter-select", 3, "change", "value"], ["value", "all"], [3, "value"], [1, "fa-solid", "fa-tag"], [1, "fa-solid", "fa-toggle-on"], ["value", "active"], ["value", "inactive"], [1, "filter-actions"], ["title", "Reset all filters", 1, "reset-btn", 3, "click"], [1, "fa-solid", "fa-undo"], [1, "fa-solid", "fa-comment-dots", "fa-4x"], [1, "primary-action"], [1, "primary-action", 3, "click"], [1, "prompt-grid"], [1, "prompt-list"], [1, "priority-matrix-container"], [1, "prompt-card", 3, "expanded"], [1, "prompt-card"], [1, "card-header", 3, "click"], [1, "card-icon"], [1, "card-info"], [1, "prompt-name"], [1, "card-description"], [1, "fa-solid", "fa-chevron-down", "expand-icon"], [1, "card-content"], [1, "stats-grid"], [1, "stat"], [1, "stat-label"], [1, "stat-value"], [1, "stat-value", "status-badge"], [1, "stats-grid", 2, "margin-top", "12px"], [1, "card-footer"], [1, "action-button", 3, "click"], [1, "fa-solid", "fa-edit"], [1, "fa-solid", "fa-check-circle", "text-success"], [1, "fa-solid", "fa-times-circle", "text-muted"], [1, "data-table"], [1, "name-cell"], [1, "status-badge"], [1, "action-button", "small", 3, "click"], [3, "promptSelected", "selectedPrompts"]], template: function PromptManagementV2Component_Template(rf, ctx) { if (rf & 1) {
699
703
  i0.ɵɵelementStart(0, "div", 0);
700
704
  i0.ɵɵtemplate(1, PromptManagementV2Component_Conditional_1_Template, 8, 1, "div", 1)(2, PromptManagementV2Component_Conditional_2_Template, 28, 10);
701
705
  i0.ɵɵelementEnd();
702
706
  } if (rf & 2) {
703
- i0.ɵɵproperty("rightMargin", 8)("bottomMargin", 8);
704
707
  i0.ɵɵadvance();
705
708
  i0.ɵɵconditional(ctx.isLoading ? 1 : 2);
706
- } }, dependencies: [i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i3.SplitterComponent, i3.SplitterPaneComponent, i4.FillContainer, i5.ModelPromptPriorityMatrixComponent], styles: [".prompt-management-v2[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f7fa;\n}\n\n//[_ngcontent-%COMP%] Loading[_ngcontent-%COMP%] state\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: #f5f7fa;\n}\n\n.loading-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 80px;\n height: 80px;\n margin: 0 auto 20px;\n}\n\n.spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-top-color: #17a2b8;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;\n \n &:nth-child(2) {\n animation-delay: 0.15s;\n width: 70%;\n height: 70%;\n top: 15%;\n left: 15%;\n border-top-color: #28a745;\n }\n \n &:nth-child(3) {\n animation-delay: 0.3s;\n width: 40%;\n height: 40%;\n top: 30%;\n left: 30%;\n border-top-color: #ffc107;\n }\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n.loading-text[_ngcontent-%COMP%] {\n color: #6c757d;\n font-size: 16px;\n animation: _ngcontent-%COMP%_pulse 2s ease-in-out infinite;\n}\n\n@keyframes _ngcontent-%COMP%_pulse {\n 0%, 100% { opacity: 0.6; }\n 50% { opacity: 1; }\n}\n\n//[_ngcontent-%COMP%] Dashboard[_ngcontent-%COMP%] Header\n.dashboard-header[_ngcontent-%COMP%] {\n background: white;\n padding: 16px 24px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.dashboard-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dashboard-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #17a2b8;\n}\n\n.filter-toggle-btn[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 14px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.filter-toggle-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.item-count[_ngcontent-%COMP%] {\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n}\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n//[_ngcontent-%COMP%] View[_ngcontent-%COMP%] Toggle\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n background: #f8f9fa;\n border-radius: 6px;\n padding: 2px;\n border: 1px solid #dee2e6;\n}\n\n.view-btn[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n\n.view-btn[_ngcontent-%COMP%]:hover {\n color: #495057;\n}\n\n.view-btn.active[_ngcontent-%COMP%] {\n background: white;\n color: #17a2b8;\n box-shadow: 0 1px 2px rgba(0,0,0,0.08);\n}\n\n//[_ngcontent-%COMP%] Control[_ngcontent-%COMP%] Buttons\n.control-btn[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.control-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.control-btn.primary[_ngcontent-%COMP%] {\n background: #17a2b8;\n border-color: #17a2b8;\n color: white;\n}\n\n.control-btn.primary[_ngcontent-%COMP%]:hover {\n background: #138496;\n border-color: #117a8b;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);\n}\n\n//[_ngcontent-%COMP%] Splitter[_ngcontent-%COMP%] content\nkendo-splitter[_ngcontent-%COMP%] {\n flex: 1;\n background-color: #f5f7fa;\n margin-top: 8px;\n}\n\n//[_ngcontent-%COMP%] Filter[_ngcontent-%COMP%] panel\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: white;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n \n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 500;\n color: #333;\n flex: 1;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 12px;\n font-size: 12px;\n \n .summary-value {\n font-weight: 600;\n color: #2196f3;\n }\n \n .summary-label {\n color: #666;\n }\n }\n \n .close-btn {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s;\n \n &:hover {\n background: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 12px;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 500;\n color: #555;\n \n .fa-solid {\n font-size: 11px;\n color: #2196f3;\n width: 12px;\n }\n }\n}\n\n.filter-input[_ngcontent-%COMP%], .filter-select[_ngcontent-%COMP%] {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 12px;\n background: white;\n transition: border-color 0.2s;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #2196f3;\n }\n \n &::placeholder {\n color: #999;\n }\n}\n\n.filter-select[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.filter-actions[_ngcontent-%COMP%] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid #f0f0f0;\n \n .reset-btn {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s;\n box-sizing: border-box;\n \n &:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n \n .fa-solid {\n font-size: 11px;\n }\n }\n}\n\n//[_ngcontent-%COMP%] Content[_ngcontent-%COMP%] area\n.content-area[_ngcontent-%COMP%] {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: #f5f7fa;\n}\n\n//[_ngcontent-%COMP%] Empty[_ngcontent-%COMP%] state\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n color: #6c757d;\n \n i {\n margin-bottom: 24px;\n opacity: 0.3;\n }\n \n h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n }\n \n p {\n margin: 0 0 24px 0;\n font-size: 16px;\n }\n}\n\n//[_ngcontent-%COMP%] Grid[_ngcontent-%COMP%] view\n.prompt-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n}\n\n.prompt-card[_ngcontent-%COMP%] {\n margin: 20px; // instead of gap in grid, for some reason that didn't work\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n transition: all 0.3s ease;\n overflow: hidden;\n \n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n \n &.expanded {\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);\n .expand-icon {\n transform: rotate(180deg);\n }\n }\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 20px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n}\n\n.card-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n background-color: #e3f2fd;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n \n i {\n font-size: 24px;\n color: #17a2b8;\n }\n}\n\n.card-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n \n h4 {\n margin: 0 0 4px 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n font-size: 13px;\n color: #6c757d;\n \n .category, .type {\n display: flex;\n align-items: center;\n gap: 4px;\n \n &::before {\n content: '\u2022';\n color: #dee2e6;\n }\n \n &:first-child::before {\n display: none;\n }\n }\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n color: #adb5bd;\n transition: transform 0.3s ease;\n margin-left: 12px;\n}\n\n.card-content[_ngcontent-%COMP%] {\n padding: 0 20px 20px;\n animation: slideDown 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.description-section[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n \n h5 {\n margin: 0 0 8px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n \n p {\n margin: 0;\n font-size: 14px;\n color: #495057;\n line-height: 1.6;\n }\n}\n\n.stats-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 16px;\n}\n\n.stat[_ngcontent-%COMP%] {\n text-align: center;\n \n .stat-label {\n display: block;\n font-size: 12px;\n color: #6c757d;\n margin-bottom: 4px;\n }\n \n .stat-value {\n display: block;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n }\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n \n &.active {\n background-color: #d4edda;\n color: #155724;\n }\n \n &.inactive {\n background-color: #f8d7da;\n color: #721c24;\n }\n}\n\n.card-footer[_ngcontent-%COMP%] {\n padding-top: 16px;\n border-top: 1px solid #e9ecef;\n display: flex;\n gap: 8px;\n}\n\n.action-button[_ngcontent-%COMP%] {\n padding: 6px 12px;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n color: #495057;\n font-size: 13px;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e9ecef;\n border-color: #adb5bd;\n color: #212529;\n }\n \n &.small {\n padding: 4px 8px;\n font-size: 12px;\n }\n \n i {\n margin-right: 4px;\n }\n}\n\n//[_ngcontent-%COMP%] List[_ngcontent-%COMP%] view\n.prompt-list[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n overflow: hidden;\n}\n\n.data-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n \n thead {\n background-color: #f8f9fa;\n \n tr {\n border-bottom: 2px solid #dee2e6;\n }\n \n th {\n padding: 12px 16px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n }\n \n tbody {\n tr {\n border-bottom: 1px solid #e9ecef;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n \n td {\n padding: 16px;\n font-size: 14px;\n color: #495057;\n }\n }\n}\n\n.name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n color: #2c3e50;\n \n i {\n color: #17a2b8;\n }\n}\n\n//[_ngcontent-%COMP%] Priority[_ngcontent-%COMP%] matrix[_ngcontent-%COMP%] container\n.priority-matrix-container[_ngcontent-%COMP%] {\n height: 100%;\n background-color: white;\n border-radius: 12px;\n padding: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n}\n\n//[_ngcontent-%COMP%] Responsive\n@media[_ngcontent-%COMP%] (max-width:[_ngcontent-%COMP%] 768px)[_ngcontent-%COMP%] {\n .prompt-header {\n flex-wrap: wrap;\n gap: 16px;\n }\n \n .header-right {\n width: 100%;\n justify-content: space-between;\n }\n \n .prompt-grid {\n grid-template-columns: 1fr;\n }\n \n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n\n//[_ngcontent-%COMP%] Text[_ngcontent-%COMP%] utility[_ngcontent-%COMP%] classes\n.text-success[_ngcontent-%COMP%] {\n color: #28a745;\n}\n\n.text-muted[_ngcontent-%COMP%] {\n color: #6c757d;\n}"] });
709
+ } }, dependencies: [i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i3.SplitterComponent, i3.SplitterPaneComponent, i4.FillContainer, i5.ModelPromptPriorityMatrixComponent], styles: [".prompt-management-v2[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f7fa;\n}\n\n//[_ngcontent-%COMP%] Loading[_ngcontent-%COMP%] state\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: #f5f7fa;\n}\n\n.loading-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 80px;\n height: 80px;\n margin: 0 auto 20px;\n}\n\n.spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-top-color: #17a2b8;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;\n \n &:nth-child(2) {\n animation-delay: 0.15s;\n width: 70%;\n height: 70%;\n top: 15%;\n left: 15%;\n border-top-color: #28a745;\n }\n \n &:nth-child(3) {\n animation-delay: 0.3s;\n width: 40%;\n height: 40%;\n top: 30%;\n left: 30%;\n border-top-color: #ffc107;\n }\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n.loading-text[_ngcontent-%COMP%] {\n color: #6c757d;\n font-size: 16px;\n animation: _ngcontent-%COMP%_pulse 2s ease-in-out infinite;\n}\n\n@keyframes _ngcontent-%COMP%_pulse {\n 0%, 100% { opacity: 0.6; }\n 50% { opacity: 1; }\n}\n\n//[_ngcontent-%COMP%] Dashboard[_ngcontent-%COMP%] Header\n.dashboard-header[_ngcontent-%COMP%] {\n background: white;\n padding: 16px 24px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.dashboard-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dashboard-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #17a2b8;\n}\n\n.filter-toggle-btn[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 14px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.filter-toggle-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.item-count[_ngcontent-%COMP%] {\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n}\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n//[_ngcontent-%COMP%] View[_ngcontent-%COMP%] Toggle\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n background: #f8f9fa;\n border-radius: 6px;\n padding: 2px;\n border: 1px solid #dee2e6;\n}\n\n.view-btn[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n\n.view-btn[_ngcontent-%COMP%]:hover {\n color: #495057;\n}\n\n.view-btn.active[_ngcontent-%COMP%] {\n background: white;\n color: #17a2b8;\n box-shadow: 0 1px 2px rgba(0,0,0,0.08);\n}\n\n//[_ngcontent-%COMP%] Control[_ngcontent-%COMP%] Buttons\n.control-btn[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.control-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.control-btn.primary[_ngcontent-%COMP%] {\n background: #17a2b8;\n border-color: #17a2b8;\n color: white;\n}\n\n.control-btn.primary[_ngcontent-%COMP%]:hover {\n background: #138496;\n border-color: #117a8b;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);\n}\n\n//[_ngcontent-%COMP%] Splitter[_ngcontent-%COMP%] content\nkendo-splitter[_ngcontent-%COMP%] {\n flex: 1;\n background-color: #f5f7fa;\n margin-top: 8px;\n}\n\n//[_ngcontent-%COMP%] Filter[_ngcontent-%COMP%] panel\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: white;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n \n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 500;\n color: #333;\n flex: 1;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 12px;\n font-size: 12px;\n \n .summary-value {\n font-weight: 600;\n color: #2196f3;\n }\n \n .summary-label {\n color: #666;\n }\n }\n \n .close-btn {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s;\n \n &:hover {\n background: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 12px;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 500;\n color: #555;\n \n .fa-solid {\n font-size: 11px;\n color: #2196f3;\n width: 12px;\n }\n }\n}\n\n.filter-input[_ngcontent-%COMP%], .filter-select[_ngcontent-%COMP%] {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 12px;\n background: white;\n transition: border-color 0.2s;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #2196f3;\n }\n \n &::placeholder {\n color: #999;\n }\n}\n\n.filter-select[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.filter-actions[_ngcontent-%COMP%] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid #f0f0f0;\n \n .reset-btn {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s;\n box-sizing: border-box;\n \n &:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n \n .fa-solid {\n font-size: 11px;\n }\n }\n}\n\n//[_ngcontent-%COMP%] Content[_ngcontent-%COMP%] area\n.content-area[_ngcontent-%COMP%] {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: #f5f7fa;\n}\n\n//[_ngcontent-%COMP%] Empty[_ngcontent-%COMP%] state\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n color: #6c757d;\n \n i {\n margin-bottom: 24px;\n opacity: 0.3;\n }\n \n h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n }\n \n p {\n margin: 0 0 24px 0;\n font-size: 16px;\n }\n}\n\n//[_ngcontent-%COMP%] Grid[_ngcontent-%COMP%] view\n.prompt-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 20px;\n}\n\n.prompt-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n transition: all 0.3s ease;\n overflow: hidden;\n \n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n \n &.expanded {\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);\n .expand-icon {\n transform: rotate(180deg);\n }\n }\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 20px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n}\n\n.card-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n background-color: #e3f2fd;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n \n i {\n font-size: 24px;\n color: #17a2b8;\n }\n}\n\n.card-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n \n .prompt-name {\n margin: 0 0 4px 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n\n .card-description {\n margin: 0;\n font-size: 13px;\n color: #6c757d;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n line-height: 1.4;\n }\n}\n\n\n.expand-icon[_ngcontent-%COMP%] {\n color: #adb5bd;\n transition: transform 0.3s ease;\n margin-left: 12px;\n}\n\n.card-content[_ngcontent-%COMP%] {\n padding: 0 20px 20px;\n animation: _ngcontent-%COMP%_slideDown 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.description-section[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n \n h5 {\n margin: 0 0 8px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n \n p {\n margin: 0;\n font-size: 14px;\n color: #495057;\n line-height: 1.6;\n }\n}\n\n.stats-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 16px;\n}\n\n.stat[_ngcontent-%COMP%] {\n text-align: center;\n \n .stat-label {\n display: block;\n font-size: 12px;\n color: #6c757d;\n margin-bottom: 4px;\n }\n \n .stat-value {\n display: block;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n }\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n \n &.active {\n background-color: #d4edda;\n color: #155724;\n }\n \n &.inactive {\n background-color: #f8d7da;\n color: #721c24;\n }\n}\n\n.card-footer[_ngcontent-%COMP%] {\n padding-top: 16px;\n border-top: 1px solid #e9ecef;\n display: flex;\n gap: 8px;\n}\n\n.action-button[_ngcontent-%COMP%] {\n padding: 6px 12px;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n color: #495057;\n font-size: 13px;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e9ecef;\n border-color: #adb5bd;\n color: #212529;\n }\n \n &.small {\n padding: 4px 8px;\n font-size: 12px;\n }\n \n i {\n margin-right: 4px;\n }\n}\n\n//[_ngcontent-%COMP%] List[_ngcontent-%COMP%] view\n.prompt-list[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n overflow: hidden;\n}\n\n.data-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n \n thead {\n background-color: #f8f9fa;\n \n tr {\n border-bottom: 2px solid #dee2e6;\n }\n \n th {\n padding: 12px 16px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n }\n \n tbody {\n tr {\n border-bottom: 1px solid #e9ecef;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n \n td {\n padding: 16px;\n font-size: 14px;\n color: #495057;\n }\n }\n}\n\n.name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n color: #2c3e50;\n \n i {\n color: #17a2b8;\n }\n}\n\n//[_ngcontent-%COMP%] Priority[_ngcontent-%COMP%] matrix[_ngcontent-%COMP%] container\n.priority-matrix-container[_ngcontent-%COMP%] {\n height: 100%;\n background-color: white;\n border-radius: 12px;\n padding: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n}\n\n//[_ngcontent-%COMP%] Responsive\n@media[_ngcontent-%COMP%] (max-width[_ngcontent-%COMP%]: 768px)[_ngcontent-%COMP%] {\n .prompt-header {\n flex-wrap: wrap;\n gap: 16px;\n }\n \n .header-right {\n width: 100%;\n justify-content: space-between;\n }\n \n .prompt-grid {\n grid-template-columns: 1fr;\n }\n \n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n\n//[_ngcontent-%COMP%] Text[_ngcontent-%COMP%] utility[_ngcontent-%COMP%] classes\n.text-success[_ngcontent-%COMP%] {\n color: #28a745;\n}\n\n.text-muted[_ngcontent-%COMP%] {\n color: #6c757d;\n}"] });
707
710
  }
708
711
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PromptManagementV2Component, [{
709
712
  type: Component,
710
- args: [{ selector: 'app-prompt-management-v2', template: "<div class=\"prompt-management-v2\" mjFillContainer [rightMargin]=\"8\" [bottomMargin]=\"8\">\n @if (isLoading) {\n <div class=\"loading-container\">\n <div class=\"loading-content\">\n <div class=\"loading-spinner\">\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n </div>\n <div class=\"loading-text\">{{ currentLoadingMessage }}</div>\n </div>\n </div>\n } @else {\n <div class=\"dashboard-header\" style=\"display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 16px 24px !important; background: white !important;\">\n <div class=\"header-info\" style=\"display: flex !important; align-items: center !important; gap: 16px !important; flex: 1 !important;\">\n <h2 class=\"dashboard-title\" style=\"margin: 0 !important; display: flex !important; align-items: center !important; gap: 8px !important;\">\n <i class=\"fa-solid fa-message\"></i>\n AI Prompts\n </h2>\n <button \n type=\"button\" \n class=\"filter-toggle-btn\"\n (click)=\"toggleFilters()\"\n title=\"Toggle Filters\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (showFilters) {\n Hide Filters\n } @else {\n Show Filters\n }\n </button>\n <span class=\"item-count\">{{ filteredPrompts.length }} prompts</span>\n </div>\n \n <div class=\"header-controls\" style=\"display: flex !important; align-items: center !important; gap: 16px !important;\">\n <div class=\"view-toggle\">\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"setViewMode('grid')\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"setViewMode('list')\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'priority-matrix'\"\n (click)=\"setViewMode('priority-matrix')\"\n title=\"Priority Matrix\">\n <i class=\"fa-solid fa-chart-scatter\"></i>\n </button>\n </div>\n \n <button \n type=\"button\" \n class=\"control-btn primary\"\n (click)=\"createNewPrompt()\"\n title=\"Create New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n New Prompt\n </button>\n </div>\n </div>\n\n <kendo-splitter mjFillContainer orientation=\"horizontal\">\n @if (showFilters) {\n <kendo-splitter-pane size=\"320\" min=\"250\" max=\"400\">\n <div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Prompt Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredPrompts.length }}</span>\n <span class=\"summary-label\">of {{ prompts.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Name\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n placeholder=\"Search prompts...\"\n [value]=\"searchTerm\"\n (input)=\"onSearchChange($any($event.target).value)\"\n />\n </div>\n\n <!-- Category Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-folder\"></span>\n Category\n </label>\n <select class=\"filter-select\" [value]=\"selectedCategory\" (change)=\"onCategoryChange($any($event.target).value)\">\n <option value=\"all\">All Categories</option>\n @for (category of categories; track category.ID) {\n <option [value]=\"category.ID\">{{ category.Name }}</option>\n }\n </select>\n </div>\n\n <!-- Type Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-tag\"></span>\n Type\n </label>\n <select class=\"filter-select\" [value]=\"selectedType\" (change)=\"onTypeChange($any($event.target).value)\">\n <option value=\"all\">All Types</option>\n @for (type of types; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n\n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-toggle-on\"></span>\n Status\n </label>\n <select class=\"filter-select\" [value]=\"selectedStatus\" (change)=\"onStatusChange($any($event.target).value)\">\n <option value=\"all\">All Statuses</option>\n <option value=\"active\">Active</option>\n <option value=\"inactive\">Inactive</option>\n </select>\n </div>\n\n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"clearFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n </div>\n </kendo-splitter-pane>\n }\n\n <kendo-splitter-pane>\n <div class=\"content-area\">\n @if (filteredPrompts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-comment-dots fa-4x\"></i>\n <h3>No prompts found</h3>\n <p>{{ hasActiveFilters ? 'Try adjusting your filters' : 'Create your first AI prompt to get started' }}</p>\n @if (!hasActiveFilters) {\n <button class=\"primary-action\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create First Prompt\n </button>\n }\n </div>\n } @else {\n @switch (viewMode) {\n @case ('grid') {\n <div class=\"prompt-grid\">\n @for (prompt of filteredPrompts; track prompt.ID) {\n <div class=\"prompt-card\" [class.expanded]=\"expandedPromptId === prompt.ID\">\n <div class=\"card-header\" (click)=\"togglePromptExpansion(prompt.ID)\">\n <div class=\"card-icon\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div class=\"card-info\">\n <h4>{{ prompt.Name }}</h4>\n <div class=\"card-meta\">\n <span class=\"category\">{{ prompt.CategoryName }}</span>\n <span class=\"type\">{{ prompt.TypeName }}</span>\n </div>\n </div>\n <i class=\"fa-solid fa-chevron-down expand-icon\" [class.rotated]=\"expandedPromptId === prompt.ID\"></i>\n </div>\n\n @if (expandedPromptId === prompt.ID) {\n <div class=\"card-content\">\n @if (prompt.Description) {\n <div class=\"description-section\">\n <h5>Description</h5>\n <p>{{ prompt.Description }}</p>\n </div>\n }\n\n <div class=\"stats-grid\">\n <div class=\"stat\">\n <span class=\"stat-label\">Status</span>\n <span class=\"stat-value status-badge\" [class]=\"getStatusClass(prompt.Status)\">\n {{ prompt.Status }}\n </span>\n </div>\n <div class=\"stat\">\n <span class=\"stat-label\">Template</span>\n <span class=\"stat-value\">\n @if (prompt.TemplateEntity) {\n <i class=\"fa-solid fa-check-circle text-success\"></i> Yes\n } @else {\n <i class=\"fa-solid fa-times-circle text-muted\"></i> No\n }\n </span>\n </div>\n <div class=\"stat\">\n <span class=\"stat-label\">Contents</span>\n <span class=\"stat-value\">{{ prompt.TemplateContents?.length || 0 }}</span>\n </div>\n </div>\n\n <div class=\"card-footer\">\n <button class=\"action-button\" (click)=\"openPrompt(prompt.ID); $event.stopPropagation()\">\n <i class=\"fa-solid fa-edit\"></i>\n Edit\n </button>\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n \n @case ('list') {\n <div class=\"prompt-list\">\n <table class=\"data-table\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Category</th>\n <th>Type</th>\n <th>Status</th>\n <th>Template</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (prompt of filteredPrompts; track prompt.ID) {\n <tr>\n <td>\n <div class=\"name-cell\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n {{ prompt.Name }}\n </div>\n </td>\n <td>{{ prompt.CategoryName }}</td>\n <td>{{ prompt.TypeName }}</td>\n <td>\n <span class=\"status-badge\" [class]=\"getStatusClass(prompt.Status)\">\n {{ prompt.Status }}\n </span>\n </td>\n <td>\n @if (prompt.TemplateEntity) {\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n } @else {\n <i class=\"fa-solid fa-times-circle text-muted\"></i>\n }\n </td>\n <td>\n <button class=\"action-button small\" (click)=\"openPrompt(prompt.ID)\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n \n @case ('priority-matrix') {\n <div class=\"priority-matrix-container\">\n <app-model-prompt-priority-matrix \n [selectedPrompts]=\"filteredPromptsAsEntities\"\n (promptSelected)=\"openPrompt($event.ID)\">\n </app-model-prompt-priority-matrix>\n </div>\n }\n }\n }\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n }\n</div>", styles: [".prompt-management-v2 {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f7fa;\n}\n\n// Loading state\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: #f5f7fa;\n}\n\n.loading-content {\n text-align: center;\n}\n\n.loading-spinner {\n position: relative;\n width: 80px;\n height: 80px;\n margin: 0 auto 20px;\n}\n\n.spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-top-color: #17a2b8;\n border-radius: 50%;\n animation: spin 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;\n \n &:nth-child(2) {\n animation-delay: 0.15s;\n width: 70%;\n height: 70%;\n top: 15%;\n left: 15%;\n border-top-color: #28a745;\n }\n \n &:nth-child(3) {\n animation-delay: 0.3s;\n width: 40%;\n height: 40%;\n top: 30%;\n left: 30%;\n border-top-color: #ffc107;\n }\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n.loading-text {\n color: #6c757d;\n font-size: 16px;\n animation: pulse 2s ease-in-out infinite;\n}\n\n@keyframes pulse {\n 0%, 100% { opacity: 0.6; }\n 50% { opacity: 1; }\n}\n\n// Dashboard Header\n.dashboard-header {\n background: white;\n padding: 16px 24px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-info {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.dashboard-title {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dashboard-title i {\n color: #17a2b8;\n}\n\n.filter-toggle-btn {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 14px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.filter-toggle-btn:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.item-count {\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n}\n\n.header-controls {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n// View Toggle\n.view-toggle {\n display: flex;\n background: #f8f9fa;\n border-radius: 6px;\n padding: 2px;\n border: 1px solid #dee2e6;\n}\n\n.view-btn {\n background: transparent;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n\n.view-btn:hover {\n color: #495057;\n}\n\n.view-btn.active {\n background: white;\n color: #17a2b8;\n box-shadow: 0 1px 2px rgba(0,0,0,0.08);\n}\n\n// Control Buttons\n.control-btn {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.control-btn:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.control-btn.primary {\n background: #17a2b8;\n border-color: #17a2b8;\n color: white;\n}\n\n.control-btn.primary:hover {\n background: #138496;\n border-color: #117a8b;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);\n}\n\n// Splitter content\nkendo-splitter {\n flex: 1;\n background-color: #f5f7fa;\n margin-top: 8px;\n}\n\n// Filter panel\n.filter-panel {\n height: 100%;\n background: white;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.filter-panel-header {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n \n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 500;\n color: #333;\n flex: 1;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 12px;\n font-size: 12px;\n \n .summary-value {\n font-weight: 600;\n color: #2196f3;\n }\n \n .summary-label {\n color: #666;\n }\n }\n \n .close-btn {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s;\n \n &:hover {\n background: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}\n\n.filter-content {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 12px;\n}\n\n.filter-group {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 500;\n color: #555;\n \n .fa-solid {\n font-size: 11px;\n color: #2196f3;\n width: 12px;\n }\n }\n}\n\n.filter-input, .filter-select {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 12px;\n background: white;\n transition: border-color 0.2s;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #2196f3;\n }\n \n &::placeholder {\n color: #999;\n }\n}\n\n.filter-select {\n cursor: pointer;\n}\n\n.filter-actions {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid #f0f0f0;\n \n .reset-btn {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s;\n box-sizing: border-box;\n \n &:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n \n .fa-solid {\n font-size: 11px;\n }\n }\n}\n\n// Content area\n.content-area {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: #f5f7fa;\n}\n\n// Empty state\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n color: #6c757d;\n \n i {\n margin-bottom: 24px;\n opacity: 0.3;\n }\n \n h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n }\n \n p {\n margin: 0 0 24px 0;\n font-size: 16px;\n }\n}\n\n// Grid view\n.prompt-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n}\n\n.prompt-card {\n margin: 20px; // instead of gap in grid, for some reason that didn't work\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n transition: all 0.3s ease;\n overflow: hidden;\n \n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n \n &.expanded {\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);\n .expand-icon {\n transform: rotate(180deg);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n padding: 20px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n}\n\n.card-icon {\n width: 48px;\n height: 48px;\n background-color: #e3f2fd;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n \n i {\n font-size: 24px;\n color: #17a2b8;\n }\n}\n\n.card-info {\n flex: 1;\n min-width: 0;\n \n h4 {\n margin: 0 0 4px 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-meta {\n display: flex;\n gap: 12px;\n font-size: 13px;\n color: #6c757d;\n \n .category, .type {\n display: flex;\n align-items: center;\n gap: 4px;\n \n &::before {\n content: '\u2022';\n color: #dee2e6;\n }\n \n &:first-child::before {\n display: none;\n }\n }\n}\n\n.expand-icon {\n color: #adb5bd;\n transition: transform 0.3s ease;\n margin-left: 12px;\n}\n\n.card-content {\n padding: 0 20px 20px;\n animation: slideDown 0.3s ease;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.description-section {\n margin-bottom: 16px;\n \n h5 {\n margin: 0 0 8px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n \n p {\n margin: 0;\n font-size: 14px;\n color: #495057;\n line-height: 1.6;\n }\n}\n\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 16px;\n}\n\n.stat {\n text-align: center;\n \n .stat-label {\n display: block;\n font-size: 12px;\n color: #6c757d;\n margin-bottom: 4px;\n }\n \n .stat-value {\n display: block;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n }\n}\n\n.status-badge {\n display: inline-block;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n \n &.active {\n background-color: #d4edda;\n color: #155724;\n }\n \n &.inactive {\n background-color: #f8d7da;\n color: #721c24;\n }\n}\n\n.card-footer {\n padding-top: 16px;\n border-top: 1px solid #e9ecef;\n display: flex;\n gap: 8px;\n}\n\n.action-button {\n padding: 6px 12px;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n color: #495057;\n font-size: 13px;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e9ecef;\n border-color: #adb5bd;\n color: #212529;\n }\n \n &.small {\n padding: 4px 8px;\n font-size: 12px;\n }\n \n i {\n margin-right: 4px;\n }\n}\n\n// List view\n.prompt-list {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n overflow: hidden;\n}\n\n.data-table {\n width: 100%;\n border-collapse: collapse;\n \n thead {\n background-color: #f8f9fa;\n \n tr {\n border-bottom: 2px solid #dee2e6;\n }\n \n th {\n padding: 12px 16px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n }\n \n tbody {\n tr {\n border-bottom: 1px solid #e9ecef;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n \n td {\n padding: 16px;\n font-size: 14px;\n color: #495057;\n }\n }\n}\n\n.name-cell {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n color: #2c3e50;\n \n i {\n color: #17a2b8;\n }\n}\n\n// Priority matrix container\n.priority-matrix-container {\n height: 100%;\n background-color: white;\n border-radius: 12px;\n padding: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n}\n\n// Responsive\n@media (max-width: 768px) {\n .prompt-header {\n flex-wrap: wrap;\n gap: 16px;\n }\n \n .header-right {\n width: 100%;\n justify-content: space-between;\n }\n \n .prompt-grid {\n grid-template-columns: 1fr;\n }\n \n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n\n// Text utility classes\n.text-success {\n color: #28a745;\n}\n\n.text-muted {\n color: #6c757d;\n}"] }]
713
+ args: [{ selector: 'app-prompt-management-v2', template: "<div class=\"prompt-management-v2\">\n @if (isLoading) {\n <div class=\"loading-container\">\n <div class=\"loading-content\">\n <div class=\"loading-spinner\">\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n </div>\n <div class=\"loading-text\">{{ currentLoadingMessage }}</div>\n </div>\n </div>\n } @else {\n <div class=\"dashboard-header\" style=\"display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 16px 24px !important; background: white !important;\">\n <div class=\"header-info\" style=\"display: flex !important; align-items: center !important; gap: 16px !important; flex: 1 !important;\">\n <h2 class=\"dashboard-title\" style=\"margin: 0 !important; display: flex !important; align-items: center !important; gap: 8px !important;\">\n <i class=\"fa-solid fa-message\"></i>\n AI Prompts\n </h2>\n <button \n type=\"button\" \n class=\"filter-toggle-btn\"\n (click)=\"toggleFilters()\"\n title=\"Toggle Filters\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (showFilters) {\n Hide Filters\n } @else {\n Show Filters\n }\n </button>\n <span class=\"item-count\">{{ filteredPrompts.length }} prompts</span>\n </div>\n \n <div class=\"header-controls\" style=\"display: flex !important; align-items: center !important; gap: 16px !important;\">\n <div class=\"view-toggle\">\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"setViewMode('grid')\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"setViewMode('list')\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'priority-matrix'\"\n (click)=\"setViewMode('priority-matrix')\"\n title=\"Priority Matrix\">\n <i class=\"fa-solid fa-chart-scatter\"></i>\n </button>\n </div>\n \n <button \n type=\"button\" \n class=\"control-btn primary\"\n (click)=\"createNewPrompt()\"\n title=\"Create New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n New Prompt\n </button>\n </div>\n </div>\n\n <kendo-splitter mjFillContainer orientation=\"horizontal\">\n @if (showFilters) {\n <kendo-splitter-pane size=\"320\" min=\"250\" max=\"400\">\n <div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Prompt Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredPrompts.length }}</span>\n <span class=\"summary-label\">of {{ prompts.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Name\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n placeholder=\"Search prompts...\"\n [value]=\"searchTerm\"\n (input)=\"onSearchChange($any($event.target).value)\"\n />\n </div>\n\n <!-- Category Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-folder\"></span>\n Category\n </label>\n <select class=\"filter-select\" [value]=\"selectedCategory\" (change)=\"onCategoryChange($any($event.target).value)\">\n <option value=\"all\">All Categories</option>\n @for (category of categories; track category.ID) {\n <option [value]=\"category.ID\">{{ category.Name }}</option>\n }\n </select>\n </div>\n\n <!-- Type Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-tag\"></span>\n Type\n </label>\n <select class=\"filter-select\" [value]=\"selectedType\" (change)=\"onTypeChange($any($event.target).value)\">\n <option value=\"all\">All Types</option>\n @for (type of types; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n\n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-toggle-on\"></span>\n Status\n </label>\n <select class=\"filter-select\" [value]=\"selectedStatus\" (change)=\"onStatusChange($any($event.target).value)\">\n <option value=\"all\">All Statuses</option>\n <option value=\"active\">Active</option>\n <option value=\"inactive\">Inactive</option>\n </select>\n </div>\n\n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"clearFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n </div>\n </kendo-splitter-pane>\n }\n\n <kendo-splitter-pane>\n <div class=\"content-area\">\n @if (filteredPrompts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-comment-dots fa-4x\"></i>\n <h3>No prompts found</h3>\n <p>{{ hasActiveFilters ? 'Try adjusting your filters' : 'Create your first AI prompt to get started' }}</p>\n @if (!hasActiveFilters) {\n <button class=\"primary-action\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create First Prompt\n </button>\n }\n </div>\n } @else {\n @switch (viewMode) {\n @case ('grid') {\n <div class=\"prompt-grid\">\n @for (prompt of filteredPrompts; track prompt.ID) {\n <div class=\"prompt-card\" [class.expanded]=\"expandedPromptId === prompt.ID\">\n <div class=\"card-header\" (click)=\"togglePromptExpansion(prompt.ID)\">\n <div class=\"card-icon\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div class=\"card-info\">\n <h4 class=\"prompt-name\">{{ prompt.Name || 'Unnamed Prompt' }}</h4>\n @if (prompt.Description) {\n <p class=\"card-description\">{{ prompt.Description }}</p>\n }\n </div>\n <i class=\"fa-solid fa-chevron-down expand-icon\" [class.rotated]=\"expandedPromptId === prompt.ID\"></i>\n </div>\n\n @if (expandedPromptId === prompt.ID) {\n <div class=\"card-content\">\n <div class=\"stats-grid\">\n <div class=\"stat\">\n <span class=\"stat-label\">Category</span>\n <span class=\"stat-value\">{{ prompt.CategoryName }}</span>\n </div>\n <div class=\"stat\">\n <span class=\"stat-label\">Type</span>\n <span class=\"stat-value\">{{ prompt.TypeName }}</span>\n </div>\n <div class=\"stat\">\n <span class=\"stat-label\">Status</span>\n <span class=\"stat-value status-badge\" [class]=\"getStatusClass(prompt.Status)\">\n {{ prompt.Status }}\n </span>\n </div>\n </div>\n\n <div class=\"stats-grid\" style=\"margin-top: 12px;\">\n <div class=\"stat\">\n <span class=\"stat-label\">Template</span>\n <span class=\"stat-value\">\n @if (prompt.TemplateEntity) {\n <i class=\"fa-solid fa-check-circle text-success\"></i> Yes\n } @else {\n <i class=\"fa-solid fa-times-circle text-muted\"></i> No\n }\n </span>\n </div>\n <div class=\"stat\">\n <span class=\"stat-label\">Contents</span>\n <span class=\"stat-value\">{{ prompt.TemplateContents?.length || 0 }}</span>\n </div>\n </div>\n\n <div class=\"card-footer\">\n <button class=\"action-button\" (click)=\"openPrompt(prompt.ID); $event.stopPropagation()\">\n <i class=\"fa-solid fa-edit\"></i>\n Edit\n </button>\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n \n @case ('list') {\n <div class=\"prompt-list\">\n <table class=\"data-table\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Category</th>\n <th>Type</th>\n <th>Status</th>\n <th>Template</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (prompt of filteredPrompts; track prompt.ID) {\n <tr>\n <td>\n <div class=\"name-cell\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n {{ prompt.Name }}\n </div>\n </td>\n <td>{{ prompt.CategoryName }}</td>\n <td>{{ prompt.TypeName }}</td>\n <td>\n <span class=\"status-badge\" [class]=\"getStatusClass(prompt.Status)\">\n {{ prompt.Status }}\n </span>\n </td>\n <td>\n @if (prompt.TemplateEntity) {\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n } @else {\n <i class=\"fa-solid fa-times-circle text-muted\"></i>\n }\n </td>\n <td>\n <button class=\"action-button small\" (click)=\"openPrompt(prompt.ID)\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n \n @case ('priority-matrix') {\n <div class=\"priority-matrix-container\">\n <app-model-prompt-priority-matrix \n [selectedPrompts]=\"filteredPromptsAsEntities\"\n (promptSelected)=\"openPrompt($event.ID)\">\n </app-model-prompt-priority-matrix>\n </div>\n }\n }\n }\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n }\n</div>", styles: [".prompt-management-v2 {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #f5f7fa;\n}\n\n// Loading state\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: #f5f7fa;\n}\n\n.loading-content {\n text-align: center;\n}\n\n.loading-spinner {\n position: relative;\n width: 80px;\n height: 80px;\n margin: 0 auto 20px;\n}\n\n.spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-top-color: #17a2b8;\n border-radius: 50%;\n animation: spin 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;\n \n &:nth-child(2) {\n animation-delay: 0.15s;\n width: 70%;\n height: 70%;\n top: 15%;\n left: 15%;\n border-top-color: #28a745;\n }\n \n &:nth-child(3) {\n animation-delay: 0.3s;\n width: 40%;\n height: 40%;\n top: 30%;\n left: 30%;\n border-top-color: #ffc107;\n }\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n.loading-text {\n color: #6c757d;\n font-size: 16px;\n animation: pulse 2s ease-in-out infinite;\n}\n\n@keyframes pulse {\n 0%, 100% { opacity: 0.6; }\n 50% { opacity: 1; }\n}\n\n// Dashboard Header\n.dashboard-header {\n background: white;\n padding: 16px 24px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-info {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.dashboard-title {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dashboard-title i {\n color: #17a2b8;\n}\n\n.filter-toggle-btn {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 14px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.filter-toggle-btn:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.item-count {\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n}\n\n.header-controls {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n// View Toggle\n.view-toggle {\n display: flex;\n background: #f8f9fa;\n border-radius: 6px;\n padding: 2px;\n border: 1px solid #dee2e6;\n}\n\n.view-btn {\n background: transparent;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n\n.view-btn:hover {\n color: #495057;\n}\n\n.view-btn.active {\n background: white;\n color: #17a2b8;\n box-shadow: 0 1px 2px rgba(0,0,0,0.08);\n}\n\n// Control Buttons\n.control-btn {\n background: #f8f9fa;\n border: 1px solid #dee2e6;\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.control-btn:hover {\n background: #e9ecef;\n border-color: #ced4da;\n}\n\n.control-btn.primary {\n background: #17a2b8;\n border-color: #17a2b8;\n color: white;\n}\n\n.control-btn.primary:hover {\n background: #138496;\n border-color: #117a8b;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);\n}\n\n// Splitter content\nkendo-splitter {\n flex: 1;\n background-color: #f5f7fa;\n margin-top: 8px;\n}\n\n// Filter panel\n.filter-panel {\n height: 100%;\n background: white;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.filter-panel-header {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n \n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 500;\n color: #333;\n flex: 1;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 12px;\n font-size: 12px;\n \n .summary-value {\n font-weight: 600;\n color: #2196f3;\n }\n \n .summary-label {\n color: #666;\n }\n }\n \n .close-btn {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s;\n \n &:hover {\n background: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}\n\n.filter-content {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 12px;\n}\n\n.filter-group {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 500;\n color: #555;\n \n .fa-solid {\n font-size: 11px;\n color: #2196f3;\n width: 12px;\n }\n }\n}\n\n.filter-input, .filter-select {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 12px;\n background: white;\n transition: border-color 0.2s;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #2196f3;\n }\n \n &::placeholder {\n color: #999;\n }\n}\n\n.filter-select {\n cursor: pointer;\n}\n\n.filter-actions {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid #f0f0f0;\n \n .reset-btn {\n width: calc(100% - 4px);\n max-width: 100%;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s;\n box-sizing: border-box;\n \n &:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n \n .fa-solid {\n font-size: 11px;\n }\n }\n}\n\n// Content area\n.content-area {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: #f5f7fa;\n}\n\n// Empty state\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n color: #6c757d;\n \n i {\n margin-bottom: 24px;\n opacity: 0.3;\n }\n \n h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n }\n \n p {\n margin: 0 0 24px 0;\n font-size: 16px;\n }\n}\n\n// Grid view\n.prompt-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 20px;\n}\n\n.prompt-card {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n transition: all 0.3s ease;\n overflow: hidden;\n \n &:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n \n &.expanded {\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);\n .expand-icon {\n transform: rotate(180deg);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n padding: 20px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n}\n\n.card-icon {\n width: 48px;\n height: 48px;\n background-color: #e3f2fd;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n \n i {\n font-size: 24px;\n color: #17a2b8;\n }\n}\n\n.card-info {\n flex: 1;\n min-width: 0;\n \n .prompt-name {\n margin: 0 0 4px 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n\n .card-description {\n margin: 0;\n font-size: 13px;\n color: #6c757d;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n line-height: 1.4;\n }\n}\n\n\n.expand-icon {\n color: #adb5bd;\n transition: transform 0.3s ease;\n margin-left: 12px;\n}\n\n.card-content {\n padding: 0 20px 20px;\n animation: slideDown 0.3s ease;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.description-section {\n margin-bottom: 16px;\n \n h5 {\n margin: 0 0 8px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n \n p {\n margin: 0;\n font-size: 14px;\n color: #495057;\n line-height: 1.6;\n }\n}\n\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 16px;\n}\n\n.stat {\n text-align: center;\n \n .stat-label {\n display: block;\n font-size: 12px;\n color: #6c757d;\n margin-bottom: 4px;\n }\n \n .stat-value {\n display: block;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n }\n}\n\n.status-badge {\n display: inline-block;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n \n &.active {\n background-color: #d4edda;\n color: #155724;\n }\n \n &.inactive {\n background-color: #f8d7da;\n color: #721c24;\n }\n}\n\n.card-footer {\n padding-top: 16px;\n border-top: 1px solid #e9ecef;\n display: flex;\n gap: 8px;\n}\n\n.action-button {\n padding: 6px 12px;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n color: #495057;\n font-size: 13px;\n cursor: pointer;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e9ecef;\n border-color: #adb5bd;\n color: #212529;\n }\n \n &.small {\n padding: 4px 8px;\n font-size: 12px;\n }\n \n i {\n margin-right: 4px;\n }\n}\n\n// List view\n.prompt-list {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid #e0e6ed;\n overflow: hidden;\n}\n\n.data-table {\n width: 100%;\n border-collapse: collapse;\n \n thead {\n background-color: #f8f9fa;\n \n tr {\n border-bottom: 2px solid #dee2e6;\n }\n \n th {\n padding: 12px 16px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n }\n \n tbody {\n tr {\n border-bottom: 1px solid #e9ecef;\n transition: background-color 0.2s ease;\n \n &:hover {\n background-color: #f8f9fa;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n \n td {\n padding: 16px;\n font-size: 14px;\n color: #495057;\n }\n }\n}\n\n.name-cell {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n color: #2c3e50;\n \n i {\n color: #17a2b8;\n }\n}\n\n// Priority matrix container\n.priority-matrix-container {\n height: 100%;\n background-color: white;\n border-radius: 12px;\n padding: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n}\n\n// Responsive\n@media (max-width: 768px) {\n .prompt-header {\n flex-wrap: wrap;\n gap: 16px;\n }\n \n .header-right {\n width: 100%;\n justify-content: space-between;\n }\n \n .prompt-grid {\n grid-template-columns: 1fr;\n }\n \n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n\n// Text utility classes\n.text-success {\n color: #28a745;\n}\n\n.text-muted {\n color: #6c757d;\n}"] }]
711
714
  }], () => [{ type: i1.SharedService }], { openEntityRecord: [{
712
715
  type: Output
713
716
  }], stateChange: [{
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-management-v2.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-management-v2.component.ts","../../../../src/AI/components/prompts/prompt-management-v2.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-management-v2.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-management-v2.component.ts","../../../../src/AI/components/prompts/prompt-management-v2.component.html"],"names":[],"mappings":"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"}